text:
Wildfires and power cuts plague Europeans as heatwave breaks records
7:25 am on 30 June 2019
Hundreds of firefighters brought wildfires under control in southern France as a stifling heatwave brought record-breaking temperatures to parts of Europe, killing at least six people.
French firefighters extinguish a fire after brushfire hit the countryside around Saint Gilles. Photo: AFP
In the worst-hit Gard region, where France's highest-ever temperature was registered on Friday at 45.9 degrees Celsius scores of overnight fires burned some 550 hectares of land and destroyed several houses and vehicles.
"We came very close to a disaster," Didier Lauga, prefect of the Gard, told reporters. "There are still firefighters in place in case fires break out again."
A psychologically unstable man was arrested after starting a blaze in one village, but the extreme heat was likely to blame for many of the fires, Lauga said.
Fifteen firefighters and several police officers were injured in the Gard, where 700 firefighters and 10 aircraft were mobilised to contain the flames, emergency services said.
In the neighbouring Vaucluse region, authorities said a man who had been cycling in a mountainous area had died after collapsing due to the heat.
The sweltering conditions were expected to ease over the weekend in southern France but highs were still forecast at close to 40 degrees. Further north, Paris was due to experience its hottest day of the heatwave with a high of 37-38 degrees predicted.
As huge crowds took to the streets of the capital for the annual gay pride parade, firefighters sprayed water on revellers, some of whom used rainbow-coloured fans and umbrellas to counter the heat.
In Germany, organisers of Sunday's Frankfurt Ironman made contingency plans to keep athletes from overheating in temperatures expected to reach up to 38 degrees.
'Extreme risk'
The World Meteorological Organization said this week that 2019 was on track to be among the world's hottest years, and 2015-2019 would then be the hottest five-year period on record.
It said the European heatwave was "absolutely consistent" with extremes linked to the impact of greenhouse gas emissions.
Britain experienced its hottest day of the year so far with temperatures set to reach up 35 degrees, the Met Office said.
A burnt van and debris after a bushfire hit the countryside around Saint Gilles, in the south of France. Photo: AFP
In Spain, unusually hot conditions were registered for a fourth consecutive day.
The mercury reached 43.3 degrees at a meteorological station between the Catalan towns of Vinebre and Masroig in northeastern Spain, close to an area hit by wildfires, officials said.
Forty of Spain's 50 regions have been placed on weather alert, with seven of them considered to be at extreme risk, the national meteorological agency said.
Two people died on Friday due to heat-related complications, and the sizzling temperatures fuelled several wildfires.
New blazes started on Saturday in southern and central areas, though firefighters managed to contain 90% of the wildfires that raged across 60 square kilometres in the northeastern Tarragona province, the Catalan government said.
Maximum daytime and minimum overnight temperature records tumble in European #heatwave, which poses risks to health, agriculture and environment (#wildfires). WMO has compiled a summary at https://t.co/HhUbAceICn. Map @esa pic.twitter.com/xC0zS5YFp8
— WMO | OMM (@WMO) June 28, 2019
Two other fires in the central Castilla La Mancha and Madrid regions were still burning, affecting more than 30 sq km of land, officials said.
At least three people died in central and northern Italy, while hospitals in the financial capital Milan saw a 35% rise in emergency visits due to heat-related conditions, local media reported.
Demand for power in the city surged as people cranked up air conditioning causing sporadic blackouts in stores and restaurants. Temperatures are forecast to ease in the coming days but it will remain hot.
Next story in World
Black rhino dies on way to release in wild
Europe heatwave: Schools closed as temperatures soar
France announced school closures and traffic restrictions as a sizzling heatwave was expected to push temperatures above 40C in some regions.
Europe in grip of powerful heatwave
UK basks in warmest February day on record
Britain is experiencing its warmest February day since records began - the first time a temperature of over 20C has been recorded in winter.
India swelters as temperatures top 50 degrees
Temperatures have passed 50 degrees Celsius in northern India as an unrelenting heatwave triggered warnings of water shortages and heatstroke.
Deaths, drought fears as India swelters in heatwave
France hits record temperature of 45.9C
France has hit its highest recorded temperature - 45.9C - amid a heatwave in Europe that has claimed several lives.
European heatwave: France hits record temperature of 45.9C


text:
Motor vehicle crashes in Oregon increase
Five crashes killed nine people over the weekend.
Posted By: Jessica Babb
WESTERN OREGON -- Over the weekend, there were five motorcycle and vehicle crashes that killed nine people.
Oregon State Police said there have already been 15 percent more fatalities due to motor vehicle crashes in Oregon compared to this time last year.
Based on data from the National Highway Traffic Safety Administration, the number of fatalities on Oregon roads have been increasing over the years.
In 2013 there were 313 fatalities. There were 357 in 2014, 446 in 2015 and 495 in 2016.
"We want to reverse that trend," Lt. Vonn Schleicher with Oregon State Police said. "That's always been our goal, to reduce fatal motor vehicle crashes."
ODOT spokesperson Lou Torres said part of the reason for the increase in crashes is a better economy.
"A lot of that is related to the recovery of the economy," Torres said. "More people are driving, so there are more vehicles on the road and there are more vehicle miles being driven."
He said this can often lead to more congestion on the roadways.
Community member Edie Fry said she has plans for Memorial Day weekend and will be going out of town. She said the amount of recent crashes is concerning.
"It makes me kind of apprehensive," Fry said.
However, like many others, she won't be canceling her plans this weekend.
Officials said to stay safe. It's important to plan ahead and make sure your vehicle is safe to drive. They said you should communicate with friends and family to let them know where you are. They also stressed the importance of not driving impaired or distracted.
"You just have to be alert and be aware of what's going on around you," Fry said.
Salem man sentenced for crashing motor home into patrol cars
Oregon roads see a 13 percent increase in fatal crashes
Multiple-vehicle crash in Eugene
Warm spring increases Oregon's wildfire potential
Oregon's minimum wage increased on Sunday
Oregon minimum wage increases by 50 cents
Oregon lawmakers withdraw autonomous vehicle proposal
Central Oregon crash kills three
Northwest Expressway reopens after two-vehicle crash

redpajama_set_name: RedPajamaCommonCrawl


Bahawal Khan, the leader of the Mullah Nazir Group who is considered to be part of the "good Taliban" by Pakistani officials, continues to support al Qaeda, runs training camps, and conducts operations in Afghanistan.
Spokesman Ihsanullah Ihsan said that Waliur Rehman was indeed killed yesterday in a drone strike in North Waziristan. Rehman was wanted by the US for involvement in terror plots, including the failed Times Square bombing.
After sheltering and supporting al Qaeda for nearly a decade, the South Waziristan-based Mullah Nazir Group and one it its deputy leaders, Commander Malang, have finally been added to the State Department's terrorism list.


text:
from . import BIFFRecords
from . import Bitmap
from . import Style
from .Row import Row
from .Column import Column
from .compat import unicode, itervalues
import tempfile

class Worksheet(object):
    """
    This is a class
    representing the contents of a sheet in a workbook.

    .. warning::

      You don't normally create instances of this class yourself.
      They are returned from calls to :meth:`~xlwt.Workbook.Workbook.add_sheet`.
    """
    # a safe default value, 3 is always valid!
    active_pane = 3

    #################################################################
    ## Constructor
    #################################################################
    def __init__(self, sheetname, parent_book, cell_overwrite_ok=False):
        self.Row = Row
        self.Column = Column

        self.__name = sheetname
        self.__parent = parent_book
        self._cell_overwrite_ok = cell_overwrite_ok

        self.__rows = {}
        self.__cols = {}
        self.__merged_ranges = []
        self.__bmp_rec = b''

        self.__show_formulas = 0
        self.__show_grid = 1
        self.__show_headers = 1
        self.__panes_frozen = 0
        self.show_zero_values = 1
        self.__auto_colour_grid = 1
        self.__cols_right_to_left = 0
        self.__show_outline = 1
        self.__remove_splits = 0
        # Multiple sheets can be selected, but only one can be active
        # (hold down Ctrl and click multiple tabs in the file in OOo)
        self.__selected = 0
        # "sheet_visible" should really be called "sheet_active"
        # and is 1 when this sheet is the sheet displayed when the file
        # is open. More than likely only one sheet should ever be set as
        # visible.
        # The same sheet should be specified in Workbook.active_sheet
        # (that way, both the WINDOW1 record in the book and the WINDOW2
        # records in each sheet will be in agreement)
        # The visibility of the sheet is found in the "visibility"
        # attribute obtained from the BOUNDSHEET record.
        self.__sheet_visible = 0
        self.__page_preview = 0

        self.__first_visible_row = 0
        self.__first_visible_col = 0
        self.__grid_colour = 0x40
        self.__preview_magn = 0 # use default (60%)
        self.__normal_magn = 0 # use default (100%)
        self.__scl_magn = None
        self.explicit_magn_setting = False

        self.visibility = 0 # from/to BOUNDSHEET record.

        self.__vert_split_pos = None
        self.__horz_split_pos = None
        self.__vert_split_first_visible = None
        self.__horz_split_first_visible = None

        # This is a caller-settable flag:

        self.split_position_units_are_twips = False

        # Default is False for backward compatibility with pyExcelerator
        # and previous versions of xlwt.
        #   if panes_frozen:
        #       vert/horz_split_pos are taken as number of rows/cols
        #   else: # split
        #       if split_position_units_are_twips:
        #           vert/horz_split_pos are taken as number of twips
        #       else:
        #           vert/horz_split_pos are taken as
        #           number of rows(cols) * default row(col) height (width) (i.e. 12.75 (8.43) somethings)
        #           and converted to twips by approximate formulas
        # Callers who are copying an existing file should use
        #     xlwt_worksheet.split_position_units_are_twips = True
        # because that's what's actually in the file.

		# There are 20 twips to a point. There are 72 points to an inch.

        self.__row_gut_width = 0
        self.__col_gut_height = 0

        self.__show_auto_page_breaks = 1
        self.__dialogue_sheet = 0
        self.__auto_style_outline = 0
        self.__outline_below = 0
        self.__outline_right = 0
        self.__fit_num_pages = 0
        self.__show_row_outline = 1
        self.__show_col_outline = 1
        self.__alt_expr_eval = 0
        self.__alt_formula_entries = 0

        self.__row_default_height = 0x00FF
        self.row_default_height_mismatch = 0
        self.row_default_hidden = 0
        self.row_default_space_above = 0
        self.row_default_space_below = 0

        self.__col_default_width = 0x0008

        self.__calc_mode = 1
        self.__calc_count = 0x0064
        self.__RC_ref_mode = 1
        self.__iterations_on = 0
        self.__delta = 0.001
        self.__save_recalc = 0

        self.__print_headers = 0
        self.__print_grid = 0
        self.__grid_set = 1
        self.__vert_page_breaks = []
        self.__horz_page_breaks = []
        self.__header_str = '&P'
        self.__footer_str = '&F'
        self.__print_centered_vert = 0
        self.__print_centered_horz = 1
        self.__left_margin = 0.3 #0.5
        self.__right_margin = 0.3 #0.5
        self.__top_margin = 0.61 #1.0
        self.__bottom_margin = 0.37 #1.0
        self.__paper_size_code = 9 # A4
        self.__print_scaling = 100
        self.__start_page_number = 1
        self.__fit_width_to_pages = 1
        self.__fit_height_to_pages = 1
        self.__print_in_rows = 1
        self.__portrait = 1
        self.__print_not_colour = 0
        self.__print_draft = 0
        self.__print_notes = 0
        self.__print_notes_at_end = 0
        self.__print_omit_errors = 0
        self.__print_hres = 0x012C # 300 dpi
        self.__print_vres = 0x012C # 300 dpi
        self.__header_margin = 0.1
        self.__footer_margin = 0.1
        self.__copies_num = 1

        self.__wnd_protect = 0
        self.__obj_protect = 0
        self.__protect = 0
        self.__scen_protect = 0
        self.__password = ''

        self.last_used_row = 0
        self.first_used_row = 65535
        self.last_used_col = 0
        self.first_used_col = 255
        self.row_tempfile = None
        self.__flushed_rows = {}
        self.__row_visible_levels = 0

    #################################################################
    ## Properties, "getters", "setters"
    #################################################################

    def set_name(self, value):
        self.__name = value

    def get_name(self):
        return self.__name

    name = property(get_name, set_name)

    #################################################################

    def get_parent(self):
        return self.__parent

    parent = property(get_parent)

    #################################################################

    def get_rows(self):
        return self.__rows

    rows = property(get_rows)

    #################################################################

    def get_cols(self):
        return self.__cols

    cols = property(get_cols)

    #################################################################

    def get_merged_ranges(self):
        return self.__merged_ranges

    merged_ranges = property(get_merged_ranges)

    #################################################################

    def get_bmp_rec(self):
        return self.__bmp_rec

    bmp_rec = property(get_bmp_rec)

    #################################################################

    def set_show_formulas(self, value):
        self.__show_formulas = int(value)

    def get_show_formulas(self):
        return bool(self.__show_formulas)

    show_formulas = property(get_show_formulas, set_show_formulas)

    #################################################################

    def set_show_grid(self, value):
        self.__show_grid = int(value)

    def get_show_grid(self):
        return bool(self.__show_grid)

    show_grid = property(get_show_grid, set_show_grid)

    #################################################################

    def set_show_headers(self, value):
        self.__show_headers = int(value)

    def get_show_headers(self):
        return bool(self.__show_headers)

    show_headers = property(get_show_headers, set_show_headers)

    #################################################################

    def set_panes_frozen(self, value):
        self.__panes_frozen = int(value)

    def get_panes_frozen(self):
        return bool(self.__panes_frozen)

    panes_frozen = property(get_panes_frozen, set_panes_frozen)

    #################################################################

    ### def set_show_empty_as_zero(self, value):
    ###     self.__show_empty_as_zero = int(value)

    ### def get_show_empty_as_zero(self):
    ###     return bool(self.__show_empty_as_zero)

    ### show_empty_as_zero = property(get_show_empty_as_zero, set_show_empty_as_zero)

    #################################################################

    def set_auto_colour_grid(self, value):
        self.__auto_colour_grid = int(value)

    def get_auto_colour_grid(self):
        return bool(self.__auto_colour_grid)

    auto_colour_grid = property(get_auto_colour_grid, set_auto_colour_grid)

    #################################################################

    def set_cols_right_to_left(self, value):
        self.__cols_right_to_left = int(value)

    def get_cols_right_to_left(self):
        return bool(self.__cols_right_to_left)

    cols_right_to_left = property(get_cols_right_to_left, set_cols_right_to_left)

    #################################################################

    def set_show_outline(self, value):
        self.__show_outline = int(value)

    def get_show_outline(self):
        return bool(self.__show_outline)

    show_outline = property(get_show_outline, set_show_outline)

    #################################################################

    def set_remove_splits(self, value):
        self.__remove_splits = int(value)

    def get_remove_splits(self):
        return bool(self.__remove_splits)

    remove_splits = property(get_remove_splits, set_remove_splits)

    #################################################################

    def set_selected(self, value):
        self.__selected = int(value)

    def get_selected(self):
        return bool(self.__selected)

    selected = property(get_selected, set_selected)

    #################################################################

    def set_sheet_visible(self, value):
        self.__sheet_visible = int(value)

    def get_sheet_visible(self):
        return bool(self.__sheet_visible)

    sheet_visible = property(get_sheet_visible, set_sheet_visible)

    #################################################################

    def set_page_preview(self, value):
        self.__page_preview = int(value)

    def get_page_preview(self):
        return bool(self.__page_preview)

    page_preview = property(get_page_preview, set_page_preview)

    #################################################################

    def set_first_visible_row(self, value):
        self.__first_visible_row = value

    def get_first_visible_row(self):
        return self.__first_visible_row

    first_visible_row = property(get_first_visible_row, set_first_visible_row)

    #################################################################

    def set_first_visible_col(self, value):
        self.__first_visible_col = value

    def get_first_visible_col(self):
        return self.__first_visible_col

    first_visible_col = property(get_first_visible_col, set_first_visible_col)

    #################################################################

    def set_grid_colour(self, value):
        self.__grid_colour = value

    def get_grid_colour(self):
        return self.__grid_colour

    grid_colour = property(get_grid_colour, set_grid_colour)

    #################################################################

    def set_preview_magn(self, value):
        self.__preview_magn = value

    def get_preview_magn(self):
        return self.__preview_magn

    preview_magn = property(get_preview_magn, set_preview_magn)

    #################################################################

    def set_normal_magn(self, value):
        self.__normal_magn = value

    def get_normal_magn(self):
        return self.__normal_magn

    normal_magn = property(get_normal_magn, set_normal_magn)

    #################################################################

    def set_scl_magn(self, value):
        self.__scl_magn = value

    def get_scl_magn(self):
        return self.__scl_magn

    scl_magn = property(get_scl_magn, set_scl_magn)

    #################################################################

    def set_vert_split_pos(self, value):
        self.__vert_split_pos = abs(value)

    def get_vert_split_pos(self):
        return self.__vert_split_pos

    vert_split_pos = property(get_vert_split_pos, set_vert_split_pos)

    #################################################################

    def set_horz_split_pos(self, value):
        self.__horz_split_pos = abs(value)

    def get_horz_split_pos(self):
        return self.__horz_split_pos

    horz_split_pos = property(get_horz_split_pos, set_horz_split_pos)

    #################################################################

    def set_vert_split_first_visible(self, value):
        self.__vert_split_first_visible = abs(value)

    def get_vert_split_first_visible(self):
        return self.__vert_split_first_visible

    vert_split_first_visible = property(get_vert_split_first_visible, set_vert_split_first_visible)

    #################################################################

    def set_horz_split_first_visible(self, value):
        self.__horz_split_first_visible = abs(value)

    def get_horz_split_first_visible(self):
        return self.__horz_split_first_visible

    horz_split_first_visible = property(get_horz_split_first_visible, set_horz_split_first_visible)

    #################################################################

    #def set_row_gut_width(self, value):
    #    self.__row_gut_width = value
    #
    #def get_row_gut_width(self):
    #    return self.__row_gut_width
    #
    #row_gut_width = property(get_row_gut_width, set_row_gut_width)
    #
    #################################################################
    #
    #def set_col_gut_height(self, value):
    #    self.__col_gut_height = value
    #
    #def get_col_gut_height(self):
    #    return self.__col_gut_height
    #
    #col_gut_height = property(get_col_gut_height, set_col_gut_height)
    #
    #################################################################

    def set_show_auto_page_breaks(self, value):
        self.__show_auto_page_breaks = int(value)

    def get_show_auto_page_breaks(self):
        return bool(self.__show_auto_page_breaks)

    show_auto_page_breaks = property(get_show_auto_page_breaks, set_show_auto_page_breaks)

    #################################################################

    def set_dialogue_sheet(self, value):
        self.__dialogue_sheet = int(value)

    def get_dialogue_sheet(self):
        return bool(self.__dialogue_sheet)

    dialogue_sheet = property(get_dialogue_sheet, set_dialogue_sheet)

    #################################################################

    def set_auto_style_outline(self, value):
        self.__auto_style_outline = int(value)

    def get_auto_style_outline(self):
        return bool(self.__auto_style_outline)

    auto_style_outline = property(get_auto_style_outline, set_auto_style_outline)

    #################################################################

    def set_outline_below(self, value):
        self.__outline_below = int(value)

    def get_outline_below(self):
        return bool(self.__outline_below)

    outline_below = property(get_outline_below, set_outline_below)

    #################################################################

    def set_outline_right(self, value):
        self.__outline_right = int(value)

    def get_outline_right(self):
        return bool(self.__outline_right)

    outline_right = property(get_outline_right, set_outline_right)

    #################################################################

    def set_fit_num_pages(self, value):
        self.__fit_num_pages = value

    def get_fit_num_pages(self):
        return self.__fit_num_pages

    fit_num_pages = property(get_fit_num_pages, set_fit_num_pages)

    #################################################################

    def set_show_row_outline(self, value):
        self.__show_row_outline = int(value)

    def get_show_row_outline(self):
        return bool(self.__show_row_outline)

    show_row_outline = property(get_show_row_outline, set_show_row_outline)

    #################################################################

    def set_show_col_outline(self, value):
        self.__show_col_outline = int(value)

    def get_show_col_outline(self):
        return bool(self.__show_col_outline)

    show_col_outline = property(get_show_col_outline, set_show_col_outline)

    #################################################################

    def set_alt_expr_eval(self, value):
        self.__alt_expr_eval = int(value)

    def get_alt_expr_eval(self):
        return bool(self.__alt_expr_eval)

    alt_expr_eval = property(get_alt_expr_eval, set_alt_expr_eval)

    #################################################################

    def set_alt_formula_entries(self, value):
        self.__alt_formula_entries = int(value)

    def get_alt_formula_entries(self):
        return bool(self.__alt_formula_entries)

    alt_formula_entries = property(get_alt_formula_entries, set_alt_formula_entries)

    #################################################################

    def set_row_default_height(self, value):
        self.__row_default_height = value

    def get_row_default_height(self):
        return self.__row_default_height

    row_default_height = property(get_row_default_height, set_row_default_height)

    #################################################################

    def set_col_default_width(self, value):
        self.__col_default_width = value

    def get_col_default_width(self):
        return self.__col_default_width

    col_default_width = property(get_col_default_width, set_col_default_width)

    #################################################################

    def set_calc_mode(self, value):
        self.__calc_mode = value & 0x03

    def get_calc_mode(self):
        return self.__calc_mode

    calc_mode = property(get_calc_mode, set_calc_mode)

    #################################################################

    def set_calc_count(self, value):
        self.__calc_count = value

    def get_calc_count(self):
        return self.__calc_count

    calc_count = property(get_calc_count, set_calc_count)

    #################################################################

    def set_RC_ref_mode(self, value):
        self.__RC_ref_mode = int(value)

    def get_RC_ref_mode(self):
        return bool(self.__RC_ref_mode)

    RC_ref_mode = property(get_RC_ref_mode, set_RC_ref_mode)

    #################################################################

    def set_iterations_on(self, value):
        self.__iterations_on = int(value)

    def get_iterations_on(self):
        return bool(self.__iterations_on)

    iterations_on = property(get_iterations_on, set_iterations_on)

    #################################################################

    def set_delta(self, value):
        self.__delta = value

    def get_delta(self):
        return self.__delta

    delta = property(get_delta, set_delta)

    #################################################################

    def set_save_recalc(self, value):
        self.__save_recalc = int(value)

    def get_save_recalc(self):
        return bool(self.__save_recalc)

    save_recalc = property(get_save_recalc, set_save_recalc)

    #################################################################

    def set_print_headers(self, value):
        self.__print_headers = int(value)

    def get_print_headers(self):
        return bool(self.__print_headers)

    print_headers = property(get_print_headers, set_print_headers)

    #################################################################

    def set_print_grid(self, value):
        self.__print_grid = int(value)

    def get_print_grid(self):
        return bool(self.__print_grid)

    print_grid = property(get_print_grid, set_print_grid)

    #################################################################
    #
    #def set_grid_set(self, value):
    #    self.__grid_set = int(value)
    #
    #def get_grid_set(self):
    #    return bool(self.__grid_set)
    #
    #grid_set = property(get_grid_set, set_grid_set)
    #
    #################################################################

    def set_vert_page_breaks(self, value):
        self.__vert_page_breaks = value

    def get_vert_page_breaks(self):
        return self.__vert_page_breaks

    vert_page_breaks = property(get_vert_page_breaks, set_vert_page_breaks)

    #################################################################

    def set_horz_page_breaks(self, value):
        self.__horz_page_breaks = value

    def get_horz_page_breaks(self):
        return self.__horz_page_breaks

    horz_page_breaks = property(get_horz_page_breaks, set_horz_page_breaks)

    #################################################################

    def set_header_str(self, value):
        if isinstance(value, str):
            value = unicode(value, self.__parent.encoding)
        self.__header_str = value

    def get_header_str(self):
        return self.__header_str

    header_str = property(get_header_str, set_header_str)

    #################################################################

    def set_footer_str(self, value):
        if isinstance(value, str):
            value = unicode(value, self.__parent.encoding)
        self.__footer_str = value

    def get_footer_str(self):
        return self.__footer_str

    footer_str = property(get_footer_str, set_footer_str)

    #################################################################

    def set_print_centered_vert(self, value):
        self.__print_centered_vert = int(value)

    def get_print_centered_vert(self):
        return bool(self.__print_centered_vert)

    print_centered_vert = property(get_print_centered_vert, set_print_centered_vert)

    #################################################################

    def set_print_centered_horz(self, value):
        self.__print_centered_horz = int(value)

    def get_print_centered_horz(self):
        return bool(self.__print_centered_horz)

    print_centered_horz = property(get_print_centered_horz, set_print_centered_horz)

    #################################################################

    def set_left_margin(self, value):
        self.__left_margin = value

    def get_left_margin(self):
        return self.__left_margin

    left_margin = property(get_left_margin, set_left_margin)

    #################################################################

    def set_right_margin(self, value):
        self.__right_margin = value

    def get_right_margin(self):
        return self.__right_margin

    right_margin = property(get_right_margin, set_right_margin)

    #################################################################

    def set_top_margin(self, value):
        self.__top_margin = value

    def get_top_margin(self):
        return self.__top_margin

    top_margin = property(get_top_margin, set_top_margin)

    #################################################################

    def set_bottom_margin(self, value):
        self.__bottom_margin = value

    def get_bottom_margin(self):
        return self.__bottom_margin

    bottom_margin = property(get_bottom_margin, set_bottom_margin)

    #################################################################

    def set_paper_size_code(self, value):
        self.__paper_size_code = value

    def get_paper_size_code(self):
        return self.__paper_size_code

    paper_size_code = property(get_paper_size_code, set_paper_size_code)

    #################################################################

    def set_print_scaling(self, value):
        self.__print_scaling = value

    def get_print_scaling(self):
        return self.__print_scaling

    print_scaling = property(get_print_scaling, set_print_scaling)

    #################################################################

    def set_start_page_number(self, value):
        self.__start_page_number = value

    def get_start_page_number(self):
        return self.__start_page_number

    start_page_number = property(get_start_page_number, set_start_page_number)

    #################################################################

    def set_fit_width_to_pages(self, value):
        self.__fit_width_to_pages = value

    def get_fit_width_to_pages(self):
        return self.__fit_width_to_pages

    fit_width_to_pages = property(get_fit_width_to_pages, set_fit_width_to_pages)

    #################################################################

    def set_fit_height_to_pages(self, value):
        self.__fit_height_to_pages = value

    def get_fit_height_to_pages(self):
        return self.__fit_height_to_pages

    fit_height_to_pages = property(get_fit_height_to_pages, set_fit_height_to_pages)

    #################################################################

    def set_print_in_rows(self, value):
        self.__print_in_rows = int(value)

    def get_print_in_rows(self):
        return bool(self.__print_in_rows)

    print_in_rows = property(get_print_in_rows, set_print_in_rows)

    #################################################################

    def set_portrait(self, value):
        self.__portrait = int(value)

    def get_portrait(self):
        return bool(self.__portrait)

    portrait = property(get_portrait, set_portrait)

    #################################################################

    def set_print_colour(self, value):
        self.__print_not_colour = int(not value)

    def get_print_colour(self):
        return not bool(self.__print_not_colour)

    print_colour = property(get_print_colour, set_print_colour)

    #################################################################

    def set_print_draft(self, value):
        self.__print_draft = int(value)

    def get_print_draft(self):
        return bool(self.__print_draft)

    print_draft = property(get_print_draft, set_print_draft)

    #################################################################

    def set_print_notes(self, value):
        self.__print_notes = int(value)

    def get_print_notes(self):
        return bool(self.__print_notes)

    print_notes = property(get_print_notes, set_print_notes)

    #################################################################

    def set_print_notes_at_end(self, value):
        self.__print_notes_at_end = int(value)

    def get_print_notes_at_end(self):
        return bool(self.__print_notes_at_end)

    print_notes_at_end = property(get_print_notes_at_end, set_print_notes_at_end)

    #################################################################

    def set_print_omit_errors(self, value):
        self.__print_omit_errors = int(value)

    def get_print_omit_errors(self):
        return bool(self.__print_omit_errors)

    print_omit_errors = property(get_print_omit_errors, set_print_omit_errors)

    #################################################################

    def set_print_hres(self, value):
        self.__print_hres = value

    def get_print_hres(self):
        return self.__print_hres

    print_hres = property(get_print_hres, set_print_hres)

    #################################################################

    def set_print_vres(self, value):
        self.__print_vres = value

    def get_print_vres(self):
        return self.__print_vres

    print_vres = property(get_print_vres, set_print_vres)

    #################################################################

    def set_header_margin(self, value):
        self.__header_margin = value

    def get_header_margin(self):
        return self.__header_margin

    header_margin = property(get_header_margin, set_header_margin)

    #################################################################

    def set_footer_margin(self, value):
        self.__footer_margin = value

    def get_footer_margin(self):
        return self.__footer_margin

    footer_margin = property(get_footer_margin, set_footer_margin)

    #################################################################

    def set_copies_num(self, value):
        self.__copies_num = value

    def get_copies_num(self):
        return self.__copies_num

    copies_num = property(get_copies_num, set_copies_num)

    ##################################################################

    def set_wnd_protect(self, value):
        self.__wnd_protect = int(value)

    def get_wnd_protect(self):
        return bool(self.__wnd_protect)

    wnd_protect = property(get_wnd_protect, set_wnd_protect)

    #################################################################

    def set_obj_protect(self, value):
        self.__obj_protect = int(value)

    def get_obj_protect(self):
        return bool(self.__obj_protect)

    obj_protect = property(get_obj_protect, set_obj_protect)

    #################################################################

    def set_protect(self, value):
        self.__protect = int(value)

    def get_protect(self):
        return bool(self.__protect)

    protect = property(get_protect, set_protect)

    #################################################################

    def set_scen_protect(self, value):
        self.__scen_protect = int(value)

    def get_scen_protect(self):
        return bool(self.__scen_protect)

    scen_protect = property(get_scen_protect, set_scen_protect)

    #################################################################

    def set_password(self, value):
        self.__password = value

    def get_password(self):
        return self.__password

    password = property(get_password, set_password)

    ##################################################################
    ## Methods
    ##################################################################

    def get_parent(self):
        return self.__parent

    def write(self, r, c, label="", style=Style.default_style):
        """
        This method is used to write a cell to a :class:`Worksheet`.

        :param r:

           The zero-relative number of the row in the worksheet to which
           the cell should be written.

        :param c:

           The zero-relative number of the column in the worksheet to which
           the cell should be written.

        :param label:

           The data value to be written.

           An :class:`int`, :class:`long`, or
           :class:`~decimal.Decimal` instance is converted to :class:`float`.

           A :class:`unicode` instance is written as is. A :class:`bytes`
           instance is converted to :class:`unicode` using the
           encoding, which defaults to ``ascii``, specified when the
           :class:`Workbook` instance was created.

           A :class:`~datetime.datetime`, :class:`~datetime.date` or
           :class:`~datetime.time` instance is converted into Excel date format
           (a float representing the number of days since (typically)
           ``1899-12-31T00:00:00``, under the pretence that
           1900 was a leap year).

           A :class:`bool` instance will show up as ``TRUE`` or ``FALSE`` in
           Excel.

           ``None`` causes the cell to be blank: no data, only formatting.

           An :class:`xlwt.Formula` instance causes an Excel formula to be
           written.

        :param style:

           A style, also known as an XF (extended format), is an
           :class:`~xlwt.Style.XFStyle` object, which encapsulates the
           formatting applied to the cell and its contents.

           :class:`~xlwt.Style.XFStyle` objects are best set up using the
           :func:`~xlwt.Style.easyxf` function. They may also be set up by
           setting attributes in :class:`Alignment`, :class:`Borders`,
           :class:`Pattern`, :class:`Font` and :class:`Protection` objects then
           setting those objects and a format string as attributes of an
           :class:`~xlwt.Style.XFStyle` object.
        """
        self.row(r).write(c, label, style)

    def write_rich_text(self, r, c, rich_text_list, style=Style.default_style):
        self.row(r).set_cell_rich_text(c, rich_text_list, style)

    def merge(self, r1, r2, c1, c2, style=Style.default_style):
        # Stand-alone merge of previously written cells.
        # Problems: (1) style to be used should be existing style of
        # the top-left cell, not an arg.
        # (2) should ensure that any previous data value in
        # non-top-left cells is nobbled.
        # Note: if a cell is set by a data record then later
        # is referenced by a [MUL]BLANK record, Excel will blank
        # out the cell on the screen, but OOo & Gnu will not
        # blank it out. Need to do something better than writing
        # multiple records. In the meantime, avoid this method and use
        # write_merge() instead.
        if c2 > c1:
            self.row(r1).write_blanks(c1 + 1, c2,  style)
        for r in range(r1+1, r2+1):
            self.row(r).write_blanks(c1, c2,  style)
        self.__merged_ranges.append((r1, r2, c1, c2))

    def write_merge(self, r1, r2, c1, c2, label="", style=Style.default_style):
        assert 0 <= c1 <= c2 <= 255
        assert 0 <= r1 <= r2 <= 65535
        self.write(r1, c1, label, style)
        if c2 > c1:
            self.row(r1).write_blanks(c1 + 1, c2,  style) # skip (r1, c1)
        for r in range(r1+1, r2+1):
            self.row(r).write_blanks(c1, c2,  style)
        self.__merged_ranges.append((r1, r2, c1, c2))

    def insert_bitmap(self, filename, row, col, x = 0, y = 0, scale_x = 1, scale_y = 1):
        bmp = Bitmap.ImDataBmpRecord(filename)
        obj = Bitmap.ObjBmpRecord(row, col, self, bmp, x, y, scale_x, scale_y)

        self.__bmp_rec += obj.get() + bmp.get()

    def insert_bitmap_data(self, data, row, col, x = 0, y = 0, scale_x = 1, scale_y = 1):
        bmp = Bitmap.ImRawDataBmpRecord(data)
        obj = Bitmap.ObjBmpRecord(row, col, self, bmp, x, y, scale_x, scale_y)

        self.__bmp_rec += obj.get() + bmp.get()

    def col(self, indx):
        if indx not in self.__cols:
            self.__cols[indx] = self.Column(indx, self)
        return self.__cols[indx]

    def row(self, indx):
        if indx not in self.__rows:
            if indx in self.__flushed_rows:
                raise Exception("Attempt to reuse row index %d of sheet %r after flushing" % (indx, self.__name))
            self.__rows[indx] = self.Row(indx, self)
            if indx > self.last_used_row:
                self.last_used_row = indx
            if indx < self.first_used_row:
                self.first_used_row = indx
        return self.__rows[indx]

    def row_height(self, row): # in pixels
        if row in self.__rows:
            return self.__rows[row].get_height_in_pixels()
        else:
            return 17

    def col_width(self, col): # in pixels
        if col in self.__cols:
            return self.__cols[col].width_in_pixels()
        else:
            return 64

    ##################################################################
    ## BIFF records generation
    ##################################################################

    def __bof_rec(self):
        return BIFFRecords.Biff8BOFRecord(BIFFRecords.Biff8BOFRecord.WORKSHEET).get()

    def __update_row_visible_levels(self):
        if self.__rows:
            temp = max([self.__rows[r].level for r in self.__rows]) + 1
            self.__row_visible_levels = max(temp, self.__row_visible_levels)

    def __guts_rec(self):
        self.__update_row_visible_levels()
        col_visible_levels = 0
        if len(self.__cols) != 0:
            col_visible_levels = max([self.__cols[c].level for c in self.__cols]) + 1
        return BIFFRecords.GutsRecord(
            self.__row_gut_width, self.__col_gut_height, self.__row_visible_levels, col_visible_levels).get()

    def __defaultrowheight_rec(self):
        options = 0x0000
        options |= (self.row_default_height_mismatch & 1) << 0
        options |= (self.row_default_hidden & 1) << 1
        options |= (self.row_default_space_above & 1) << 2
        options |= (self.row_default_space_below & 1) << 3
        defht = self.__row_default_height
        return BIFFRecords.DefaultRowHeightRecord(options, defht).get()

    def __wsbool_rec(self):
        options = 0x00
        options |= (self.__show_auto_page_breaks & 0x01) << 0
        options |= (self.__dialogue_sheet & 0x01) << 4
        options |= (self.__auto_style_outline & 0x01) << 5
        options |= (self.__outline_below & 0x01) << 6
        options |= (self.__outline_right & 0x01) << 7
        options |= (self.__fit_num_pages & 0x01) << 8
        options |= (self.__show_row_outline & 0x01) << 10
        options |= (self.__show_col_outline & 0x01) << 11
        options |= (self.__alt_expr_eval & 0x01) << 14
        options |= (self.__alt_formula_entries & 0x01) << 15

        return BIFFRecords.WSBoolRecord(options).get()

    def __eof_rec(self):
        return BIFFRecords.EOFRecord().get()

    def __colinfo_rec(self):
        result = b''
        for col in self.__cols:
            result += self.__cols[col].get_biff_record()
        return result

    def __dimensions_rec(self):
        return BIFFRecords.DimensionsRecord(
            self.first_used_row, self.last_used_row,
            self.first_used_col, self.last_used_col
            ).get()

    def __window2_rec(self):
        # Appends SCL record.
        options = 0
        options |= (self.__show_formulas        & 0x01) << 0
        options |= (self.__show_grid            & 0x01) << 1
        options |= (self.__show_headers         & 0x01) << 2
        options |= (self.__panes_frozen         & 0x01) << 3
        options |= (self.show_zero_values       & 0x01) << 4
        options |= (self.__auto_colour_grid     & 0x01) << 5
        options |= (self.__cols_right_to_left   & 0x01) << 6
        options |= (self.__show_outline         & 0x01) << 7
        options |= (self.__remove_splits        & 0x01) << 8
        options |= (self.__selected             & 0x01) << 9
        options |= (self.__sheet_visible        & 0x01) << 10
        options |= (self.__page_preview         & 0x01) << 11
        if self.explicit_magn_setting:
            # Experimentation: caller can set the scl magn.
            # None -> no SCL record written
            # Otherwise 10 <= scl_magn <= 400 or scl_magn == 0
            # Note: value 0 means use 100 for normal view, 60 for page break preview
            # BREAKING NEWS: Excel interprets scl_magn = 0 very literally, your
            # sheet appears like a tiny dot on the screen
            scl_magn = self.__scl_magn
        else:
            if self.__page_preview:
                scl_magn = self.__preview_magn
                magn_default = 60
            else:
                scl_magn = self.__normal_magn
                magn_default = 100
            if scl_magn == magn_default or scl_magn == 0:
                # Emulate what we think MS does
                scl_magn = None # don't write an SCL record
        return BIFFRecords.Window2Record(
            options, self.__first_visible_row, self.__first_visible_col,
            self.__grid_colour,
            self.__preview_magn, self.__normal_magn, scl_magn).get()

    def __panes_rec(self):
        if self.__vert_split_pos is None and self.__horz_split_pos is None:
            return b""

        if self.__vert_split_pos is None:
            self.__vert_split_pos = 0
        if self.__horz_split_pos is None:
            self.__horz_split_pos = 0

        if self.__panes_frozen:
            if self.__vert_split_first_visible is None:
                self.__vert_split_first_visible = self.__vert_split_pos
            if self.__horz_split_first_visible is None:
                self.__horz_split_first_visible = self.__horz_split_pos

            # when frozen, the active pane has to be specifically set:
            if self.__vert_split_pos > 0 and self.__horz_split_pos > 0:
                active_pane = 0
            elif self.__vert_split_pos > 0 and self.__horz_split_pos == 0:
                active_pane = 1
            elif self.__vert_split_pos == 0 and self.__horz_split_pos > 0:
                active_pane = 2
            else:
                active_pane = 3
        else:
            if self.__vert_split_first_visible is None:
                self.__vert_split_first_visible = 0
            if self.__horz_split_first_visible is None:
                self.__horz_split_first_visible = 0
            if not self.split_position_units_are_twips:
                # inspired by pyXLWriter
                if self.__horz_split_pos > 0:
                    self.__horz_split_pos = 20 * self.__horz_split_pos + 255
                if self.__vert_split_pos > 0:
                    self.__vert_split_pos = 113.879 * self.__vert_split_pos + 390

            # when split, the active pain can be set as required:
            active_pane = self.active_pane

        result = BIFFRecords.PanesRecord(*map(int, (
            self.__vert_split_pos,
            self.__horz_split_pos,
            self.__horz_split_first_visible,
            self.__vert_split_first_visible,
            active_pane
            ))).get()

        return result

    def __row_blocks_rec(self):
        result = []
        for row in itervalues(self.__rows):
            result.append(row.get_row_biff_data())
            result.append(row.get_cells_biff_data())
        return b''.join(result)

    def __merged_rec(self):
        return BIFFRecords.MergedCellsRecord(self.__merged_ranges).get()

    def __bitmaps_rec(self):
        return self.__bmp_rec

    def __calc_settings_rec(self):
        result = b''
        result += BIFFRecords.CalcModeRecord(self.__calc_mode & 0x01).get()
        result += BIFFRecords.CalcCountRecord(self.__calc_count & 0xFFFF).get()
        result += BIFFRecords.RefModeRecord(self.__RC_ref_mode & 0x01).get()
        result += BIFFRecords.IterationRecord(self.__iterations_on & 0x01).get()
        result += BIFFRecords.DeltaRecord(self.__delta).get()
        result += BIFFRecords.SaveRecalcRecord(self.__save_recalc & 0x01).get()
        return result

    def __print_settings_rec(self):
        result = b''
        result += BIFFRecords.PrintHeadersRecord(self.__print_headers).get()
        result += BIFFRecords.PrintGridLinesRecord(self.__print_grid).get()
        result += BIFFRecords.GridSetRecord(self.__grid_set).get()
        result += BIFFRecords.HorizontalPageBreaksRecord(self.__horz_page_breaks).get()
        result += BIFFRecords.VerticalPageBreaksRecord(self.__vert_page_breaks).get()
        result += BIFFRecords.HeaderRecord(self.__header_str).get()
        result += BIFFRecords.FooterRecord(self.__footer_str).get()
        result += BIFFRecords.HCenterRecord(self.__print_centered_horz).get()
        result += BIFFRecords.VCenterRecord(self.__print_centered_vert).get()
        result += BIFFRecords.LeftMarginRecord(self.__left_margin).get()
        result += BIFFRecords.RightMarginRecord(self.__right_margin).get()
        result += BIFFRecords.TopMarginRecord(self.__top_margin).get()
        result += BIFFRecords.BottomMarginRecord(self.__bottom_margin).get()

        setup_page_options =  (self.__print_in_rows & 0x01) << 0
        setup_page_options |=  (self.__portrait & 0x01) << 1
        setup_page_options |=  (0x00 & 0x01) << 2
        setup_page_options |=  (self.__print_not_colour & 0x01) << 3
        setup_page_options |=  (self.__print_draft & 0x01) << 4
        setup_page_options |=  (self.__print_notes & 0x01) << 5
        setup_page_options |=  (0x00 & 0x01) << 6
        setup_page_options |=  (0x01 & 0x01) << 7
        setup_page_options |=  (self.__print_notes_at_end & 0x01) << 9
        setup_page_options |=  (self.__print_omit_errors & 0x03) << 10

        result += BIFFRecords.SetupPageRecord(self.__paper_size_code,
                                self.__print_scaling,
                                self.__start_page_number,
                                self.__fit_width_to_pages,
                                self.__fit_height_to_pages,
                                setup_page_options,
                                self.__print_hres,
                                self.__print_vres,
                                self.__header_margin,
                                self.__footer_margin,
                                self.__copies_num).get()
        return result

    def __protection_rec(self):
        result = b''
        result += BIFFRecords.ProtectRecord(self.__protect).get()
        result += BIFFRecords.ScenProtectRecord(self.__scen_protect).get()
        result += BIFFRecords.WindowProtectRecord(self.__wnd_protect).get()
        result += BIFFRecords.ObjectProtectRecord(self.__obj_protect).get()
        result += BIFFRecords.PasswordRecord(self.__password).get()
        return result

    def get_biff_data(self):
        result = [
            self.__bof_rec(),
            self.__calc_settings_rec(),
            self.__guts_rec(),
            self.__defaultrowheight_rec(),
            self.__wsbool_rec(),
            self.__colinfo_rec(),
            self.__dimensions_rec(),
            self.__print_settings_rec(),
            self.__protection_rec(),
            ]
        if self.row_tempfile:
            self.row_tempfile.flush()
            self.row_tempfile.seek(0)
            result.append(self.row_tempfile.read())
            self.row_tempfile.seek(0, 2) # to EOF
            # Above seek() is necessary to avoid a spurious IOError
            # with Errno 0 if the caller continues on writing rows
            # and flushing row data after the save().
            # See http://bugs.python.org/issue3207
        result.extend([
            self.__row_blocks_rec(),
            self.__merged_rec(),
            self.__bitmaps_rec(),
            self.__window2_rec(),
            self.__panes_rec(),
            self.__eof_rec(),
            ])
        return b''.join(result)

    def flush_row_data(self):
        if self.row_tempfile is None:
            self.row_tempfile = tempfile.TemporaryFile()
        self.row_tempfile.write(self.__row_blocks_rec())
        for rowx in self.__rows:
            self.__flushed_rows[rowx] = 1
        self.__update_row_visible_levels()
        self.__rows = {}

redpajama_set_name: RedPajamaGithub


Joshua Santa is the President and Chief Executive Officer of KirE Builders, Inc. located in San Diego, CA. The development company was formed in 2012 during the most recent economic recession when KirE saw the opportunity to bring homes to the greater San Diego market at a tremendous value for the buyer.
Under Mr. Santa's guidance, KirE has built over 200 homes and completed 9 new communities all the way from East County to South County San Diego. The development company currently has 35 homes in the process of construction and 152 units planned for the future. KirE has gone on to win the title of Best of San Diego New Home Builder Winner 2016 (by the San Diego Union Tribune Readers Poll).
Josh notes that the name KirE (which rhymes with fire), is a unique company that brings together well-seasoned construction professionals from all trades that recognize the current and ever-changing development and home building challenges while remaining passionate about building innovative home communities built for the future.
Mr. Santa has several plans to begin developments and new home construction in East County and South County areas of San Diego. Recently breaking ground on the new single-family residential home development, known as Willow Ridge Estates, in Ramona, CA and the multifamily residential project known as Mariner's Landing in National City, CA., his company continues to grow and offer new affordable communities to the area.
Previously, Mr. Santa owned and operated JNL Development, originating back in 2002. He was the Vice President of Frame Construction, a privately held framing company, prior to opening JNL.
Josh has over 25 years of experience in the construction industry beginning as a carpenter in his teens. During his tenure at JNL, he oversaw all aspects of the company including negotiation and estimating and acquisition of all new residential spec home projects for the company. He also drafts and designs many of the architectural aspects of several of their homes while also permitting and processing the development areas along the way.
Since founding JNL Development, Inc., Mr. Santa was the sole contributor to its success by helping direct the company's growth and stability. In addition to acquisition and management of further homebuilding activities, Mr. Santa has been responsible for raising large sums of equity and partnering with investors while managing those relationships both domestically and internationally for the company. JNL also completed a multi-unit townhome community project in Ramona, CA, featuring 11 luxury homes with alley-loaded garages bringing the first of its kind to the local area.
Mr. Santa is a current member of the Building Trades Association, the Better Business Bureau and the West Coast Contractors Group. Mr. Santa retains a California contractor's license as a General Contractor.


text:
Biblical, Exodus
The Stations of the Exodus
As I sat down to write about my characters' time in Elim, I realized I needed to decide how long they were staying. Torah doesn't say. We know they probably stayed at least a couple of days, but it could be a couple of weeks. To figure out the range, I needed to look at my sources and map out where they need to be when.
I've done this one stop at a time since they left their village in Egypt. But the timeline is more muddled now and I need to sort it all out. So let's start from the beginning and go through to the end.
The Exodus story appears, unsurprisingly, in the Book of Exodus. Forty chapters.
The Book of Exodus
Chapters 1-6 — The Hebrews in Egypt.
Chapters 7-12 — The Ten Plagues.
Chapters 13-14 — Leaving Egypt to crossing the Red Sea.
Chapters 15-18 — From the Red Sea to Mount Sinai.
Chapters 19-20 — At Mount Sinai, people experience God by the mountain.
Chapters 21-23 — At Mount Sinai, giving of ordinances.
Chapter 24 — At Mount Sinai, Moses ascends mountain.
Chapters 25-31 — At Mount Sinai, instructions for Mishkan (ending with giving of first set of tablets).
Chapter 32 — At Mount Sinai, the Golden Calf.
Chapter 33 — At Mount Sinai, Moses communes with God, returns to mountain.
Chapter 34 — At Mount Sinai, the second set of tablets.
Chapters 35-40 — At Mount Sinai, making of the Mishkan.
The story continues in the Book of Leviticus, and on through Numbers and Deuteronomy. For all 40 years that the Hebrews wandered between leaving slavery and entering the land of Israel.
A map of Exodus, The National Library of Israel Collections, Map of the Exodus of the Israelites from Egypt, 1585, Heinrich Bunting.
The Campsites (Stations) of the Exodus
The narrative in Exodus has many details of what the Hebrews experienced, but does not delineate every stop. This you can find in Numbers 33. A list of every place the Hebrews set up camp for at least one night, from leaving Egypt until entering the Holy Land.
Most of the stations come after the Hebrews leave Mount Sinai. I will annotate those verses in reference to the journey to Mount Sinai only.
These are the journeys of the children of Israel who left the land of Egypt in their legions, under the charge of Moses and Aaron. Moses recorded their starting points for their journeys according to the word of the Lord, and these were their journeys with their starting points.
The Hebrews lived in the eastern Nile Delta of lower (Northern) Egypt. In an area referred to both as Rameses and Goshen.
Succoth
They journeyed from Rameses in the first month, on the fifteenth day of the first month; on the day following the Passover sacrifice, the children of Israel left triumphantly before the eyes of all the Egyptians. And the Egyptians were busy burying because the Lord had struck down their firstborn and had wrought vengeance against their deities. The children of Israel journeyed from Rameses and camped in Succoth.
Exodus confirms the date, which is 15 Nissan, in the instructions to Moses about leaving. For the actual leg, it merely says "The children of Israel journeyed from Rameses to Succoth" (Exodus 12:37). Though it adds a bit about the route in general.
It came to pass when Pharaoh let the people go, that God did not lead them [by] way of the land of the Philistines for it was near, because God said, Lest the people reconsider when they see war and return to Egypt. So God led the people around [by] way of the desert [to] the Red Sea.
I discuss the overall route in The Road to Succoth. The Hebrews are moving quickly but they do not yet have the cloud during the day or the fire at night to guide them. They are not traveling day and night. We can interpret this as saying that they make the journey between Rameses and Succoth in one day, or we can say that they did stop at night, but briefly, not a full camp.
Etham
They journeyed from Succoth and camped in Etham, at the edge of the desert.
Numbers 33:6
Now we have the cloud and the fire, because the Hebrews do not stop until they reach Etham. The cloud/fire stays with them all 40 years. Exodus doesn't tell us how long this leg took, only that they traveled "day and night," which implies at least 2 days total.
Pi hahiroth & the Red Sea (the crossing)
They journeyed from Etham and camped in Pi hahiroth, which faces Baal zephon; and they camped in front of Migdol.
They could not move forward at Etham and had to turn back.
The Lord spoke to Moses, saying, Speak to the children of Israel, and let them turn back and encamp in front of Pi hahiroth, between Migdol and the sea; in front of Baal Zephon, you shall encamp opposite it, by the sea. And Pharaoh will say about the children of Israel, They are trapped in the land. The desert has closed in upon them.
Exodus 14:1-3
This leg is quite short because Pharaoh catches up with them here. The Red Sea is split in two for an entire night and the Hebrews finish crossing in the morning.
According to midrash, Rashi, and other sages, the crossing took place one week after leaving Goshen. On 21 Nissan.
They journeyed from Penei hahiroth and crossed in the midst of the sea to the desert. They walked for three days in the desert of Etham and camped in Marah.
Exodus does not mention any stay on the Eastern side of the Red Sea longer than it took to sing about it. Midrash tells us Moses was eager to get out of there because the Hebrews were mesmerized by the jewels from the drowned horses and chariots.
Exodus also states this leg took three days (which I interpret as inclusive of the day they left the Red Sea and the day they arrive in Marah). But with more dire consequences.
Moses led Israel away from the Red Sea, and they went out into the desert of Shur; they walked for three days in the desert but did not find water. They came to Marah, but they could not drink water from Marah because it was bitter; therefore, it was named Marah.
We don't know how long the Hebrews stayed in Marah. Only that, after telling Moses how to make the water drinkable, God "gave them a statute and an ordinance, and there He tested them" (Exodus 15:25). Commentaries state that the Hebrews were given teachings there to prepare them for the giving of Torah. So it's reasonable to assume they stayed a few days.
They journeyed from Marah and arrived in Elim, and in Elim there were twelve springs of water and seventy palm trees, and they camped there.
Exodus's account is similar.
They came to Elim, and there were twelve water fountains and seventy palms, and they encamped there by the water.
Again, we have no idea how long they stayed in Elim, but they have a couple weeks before they get manna, and this is a comfortable place with not just water but food (palms give dates, among other things). Given that they are safe from Pharaoh and in no particular hurry, Elim appears to be the perfect place to rest and rejuvenate.
The Red Sea (not the crossing)
They journeyed from Elim and camped by the Red Sea.
There is no mention of this stop in Exodus. We just know that it isn't the same place where they crossed.
The Desert of Sin
They journeyed from the Red Sea and camped in the desert of Sin.
Also known as the Wilderness of Sin or of Zin (with no relationship to the English word "sin"). Exodus gives us a date for this campsite.
They journeyed from Elim, and the entire community of the children of Israel came to the desert of Sin, which is between Elim and Sinai, on the fifteenth day of the second month after their departure from the land of Egypt.
They arrive on 15 Iyyar, which is the Sabbath. It is 24 days after crossing the Red Sea.
This is where the Hebrews run out of food (the food they brought from Egypt and anything they managed to gather in Elim or other places they passed through). That evening and every evening (except for the Sabbath) they had quail to eat. The next morning and every morning (except for the Sabbath) they had manna to gather and eat.
We know that the Hebrews stayed in the Desert of Sin at least a week (though it may not have been in the same camp). They are there on 22 Iyyar, the first official Sabbath they celebrated. They probably leave on 23 Iyyar, though it could be later.
Dophkah
They journeyed from the desert of Sin and camped in Dophkah.
There is no mention of this stop in Exodus.
Alush
They journeyed from Dophkah and camped in Alush.
Rephidim
They journeyed from Alush and camped in Rephidim, but there there was no water for the people to drink.
The previous two stops may have been waypoints within the Desert of Sin, after the initial stop where they were introduced to manna. Exodus describes it as a single leg.
The entire community of the children of Israel journeyed from the desert of Sin to their travels by the mandate of the Lord. They encamped in Rephidim, and there was no water for the people to drink.
This is where Moses strikes the rock and gets water. Then they discover that Amalek has come to fight. This battle takes place the entire following day, until sunset. So we can assume they spent at least two nights camping in Rephidim.
They journeyed from Rephidim and camped in the Sinai desert.
Now they have arrived to the camp where they will settle for a good long time, about a year. Exodus gives us a date, 1 Sivan.
In the third month of the children of Israel's departure from Egypt, on this day they arrived in the desert of Sinai. They journeyed from Rephidim, and they arrived in the desert of Sinai, and they encamped in the desert, and Israel encamped there opposite the mountain.
This gives them seven days to get from the Desert of Sin to Mount Sinai, though it might be less if they stayed longer in the Desert.
A Scene from Exodus – Moses separating the red sea to free Israelites from bondage of Egyptians, Ramesh Raju, 1997.
Book of Numbers, Encyclopaedia Judaica.
Stations of the Exodus (Wikipedia)
Parshat Massei In-Depth, Numbers 33:1-36:13 (Chabad)
Parashat Shelah 5760/2000, The Eight Strands in the Tzitzit — We Follow the Thought, Boaz Spiegel, Bar-Ilan University's Parashat Hashavua Study Center
calendar geography religion setting travel
Ancient World, Exodus
From Succoth to Etham
Ancient World, Biblical, Exodus, Science & Tech
Goldwork for the Golden Calf


Readers who have been following The Catholic Astronomer for a while may recall a post from 2017 about Dang Nguyen and his efforts to photograph the August 2017 total solar eclipse (click here for that post). Nguyen is a student at my college (Jefferson Community & Technical College in Louisville, Kentucky), in the Communication Arts Technology program (a very cool program—their students win awards on a regular basis), studying photography. Well during the January 2019 total lunar eclipse, he got out the camera and went to work again. Check out the photos below!
Compare Dang Nguyen's photograph from Kentucky to Deirdre Kelleghan's sketch made from Ireland at approximately the same time. Note the stars that appear in both (arrowed).
Dang Nguyen (right) with his sister and father, near Hopkinsville, Kentucky, for the August 2017 total solar eclipse.


You know you have a unique gift that would benefit others, but you keep playing small: procrastinating, entertaining negative thoughts or other engaging in other self-sabotaging behaviors.
You're passionate about your business, but your marketing efforts just aren't working. Either your promotions are bringing in no clients or they are bringing in the wrong clients.
You feel like you're alone in creating your marketing strategy and just need a plan that works.
Hello, my name is Dequiana Brooks Jackson. I'm passionate about marketing now, but I didn't start out that way. In fact, I was in your shoes when I started my first company in 2003. Back then I was a web designer who loved transforming a client's business vision into something for the world wide web. Unfortunately, I didn't know the first thing about marketing. My "plan" was so bad that I didn't get a single client for SIX MONTHS! During those months of waiting, doubt crept in, and I wondered whether I should even be in business in the first place. Thankfully, after tapping into my network again, researching I scored my first clients and had a steady stream of them going forward.
Though my business was moving along, I knew there was more to learn about marketing. Rather than try and get the knowledge on my own, I went back to school and got an MBA in Marketing Strategy and Entrepreneur. I then took it a step further and worked in Brand Management for $1 billion brands at a top consumer packaged goods company. Now I have a thorough understanding of marketing (and a technology background), I want to pass on all that I've learned with you. For nearly a decade now, I've been teaching women entrepreneurs how to monetize their message so they can make more money from their expertise. That starts with having a solid foundation.
I'd like to introduce you to my home study series called Get the SPARK™! In this series, I walk entrepreneurs through those crucial steps needed to achieve business marketing success and start attracting your ideal clients.
We'll cover all of this!
This module alone is worth $197.
Once your confidence is high and you have a mindset for success, it's time to learn some solid marketing fundamentals. This is introduced in the 2nd module of the Get the SPARK™ home study course: Know Your Business. We get knee deep into marketing, starting from getting you grounded in what you really sell to your customers (it's probably not what you think). You'll discover the keywords that get your ideal clients to buy. Know Your Business will also help you tap into your unique gift – that "thing" that sets you apart from the competition. I'll even share my formula for creating the perfect elevator pitch. Like Know Yourself, this module also contains worksheets, step-by-step marketing advice and action items that you can apply in your business immediately.
Check out what we cover in this section.
Does Your Business Offer Solutions?
Both modules also include a marketing glossary of the most popular terms. You'll be speaking like a marketing guru. 🙂 The PDF worksheets are full-sized, so you can print them and follow along.
The Know Your Business module is worth $297 by itself.
Yes, Send Me the Get the SPARK Marketing Bundle!
Not only will you get the two workbooks, complete with worksheets, marketing glossary and full audio for on-the-go learning, but you'll also receive these three bonuses!
Creating a solid marketing plan for your business just got easier. This guide gives you the tools, worksheets and advice needed to jumpstart marketing efforts in your business. Take what you learn in Know Yourself & Know Your Business and turn it into a marketing plan.
Did you know that you don't need a college degree to be considered an expert? You have all the tools necessary to be an expert in your field at your disposal RIGHT NOW! I'll teach you 16 different tips on how you can establish yourself as a credible expert in your industry. If you're ready to learn how to set yourself apart from the competition and showcase your expertise to a market of hungry clients, then you'll enjoy this bonus item!
Sometimes all you need is an idea to kick start your marketing efforts. Use this guide of 50 marketing promotion ideas to jump start your marketing plans today!
This package (80+ pages of marketing training, actionable worksheets, an audio version of the trainings for on-the-go-learning, AND three bonus items) is easily worth over $600, but it's available now for an investment of only $197!
I'm ready to master my mindset and achieve my small business marketing goals! I would like to purchase Know Yourself & Know Your Business from the Get the SPARK™ Small Business Marketing Home Study System.
If you are ready to see positive marketing results in your business, then purchase this home study system now. Please note all digital sales are final.
Pingback:It's June! Do You Know Where Your Goals Are?


text:
Q: Threading when excluding subprocess I wrote a program that catches keyboard events on tetris, which was opened via a subprocess. no when i only want to catch events without opening Tetris my keyboard handler (pyHook) won't catch the events:
# open Tetris
#Tetris = subprocess.Popen (["C:\\Program Files (x86)\Tetris\Tetris.exe"])
#start game by sending "F2" key
#for hwnd in get_hwnds_for_pid (Tetris.pid):
    #win32gui.PostMessage (hwnd, win32con.WM_KEYDOWN, win32con.VK_F2, 0)

keyH = KeyHandler()
ToneT = ToneTimer()

keyH.setDaemon(True)
ToneT.setDaemon(True)

keyH.start()
ToneT.start()

this worked fine when using another subprocess but i do not know why this is stuck now. KeyHandler won't pick up the keys.
class KeyHandler(threading.Thread):

    def run(self):
        # watch for all keyboard events
        KeyHandler.hm.KeyDown = self.OnKeyboardCharEvent
        # set the hook
        KeyHandler.hm.HookKeyboard()
        # activate message pipeline
        print "keyboardhooked"
        pythoncom.PumpMessages()
        print "thisshouldnotbeprinted"

all but the last statement gets printed, but evoked keys are not printed, but instead when i press a key the app freezes (I have a function to catch events that works fine with the subprocess included...)
I guess there is something wrong with the threading when leaving out the subprocess.
I found out that if I switch to another GUI window before pressing a key, and then press a key, keys get accepted and keyevents printed.
More precise info: This probably has to do with running the script inside of OpenSesame (experimental software) as somehow pyhook does not retrieve keyboard responses from his window / windows in general but only from gui windows?! Thus I might need to seek an alternative for pyhook here ?

A: It's not working due to Qt bypassing the windows message loop -- pyHook relies on the message loop to function.

Modern graphical interface frameworks, such as Windows Forms, Windows
  Presentation Foundation, MFC, Delphi, Qt and others do not
  typically require applications to directly access the Windows message
  loop, but instead automatically route events such as key presses and
  mouse clicks to their appropriate handlers as defined within the
  framework.

From Message Loop in MS Windows

A: The run method needs to have a loop. The thread ends once it leaves the run method.
class KeyHandler(threading.Thread):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.running = True
    # end

    def run(self):

        while self.running:
            # watch for all keyboard events
            KeyHandler.hm.KeyDown = self.OnKeyboardCharEvent
            # set the hook
            KeyHandler.hm.HookKeyboard()
            # activate message pipeline
            print "keyboardhooked"
            pythoncom.PumpMessages()
            print "thisshouldnotbeprinted"

    # end run

or You don't have to subclass it at all.
def catch_key(keyboard):
    # watch for all keyboard events
    KeyHandler.hm.KeyDown = keyboard.OnKeyboardCharEvent
    # set the hook
    KeyHandler.hm.HookKeyboard()
    # activate message pipeline
    print "keyboardhooked"
    pythoncom.PumpMessages()
    print "thisshouldnotbeprinted"

thread = threading.Thread(target=catch_key, args=(Keyboard()))
thread.start()
# Remember to use thread.join() to safely close the thread.

redpajama_set_name: RedPajamaStackExchange


Below is a reply I wrote to an amazing post about a young man whose mom has been a huge advocate of his greatness. She has fearlessly moved forward to get him into a school program that celebrates his greatness and fosters a culture where all students learn. There were some teachers and administrators at the old school who really focused on and defined behaviors as negative and reacted punitively towards this young man.
"Many teachers and administrators have been hurt by the system themselves and have lost their passion and motivation. When I was going through teacher training myself, I was taught methods of "classroom management" that I later learned actually made behaviors worse and did not work for my students.
There is a common mainstream belief that a teacher should keep "control" of her students. I learned quickly that my students needed to be recognized and energized for their greatness, for what makes them awesome. Kids labeled as "discipline problems" became leaders, kids who were squirrelly had high physical intelligence. I started helping other teachers, and many parents, learn to change the lenses they looked through. This is no small feat, this is monumental! It is completely different then what the mainstream model is pressuring teachers to do. IEP meetings would be set up as battles to prove whose fault it was, and how "broken" or "messed up" a kid was.
Thankfully I found the Nurtured Heart Approach® and became a certified trainer.
The vast majority of mainstream conventional models only work a little with some kids. They are based on the idea of control and punishment, and on making kids (as well as teachers and parents) get in line and follow directions.
We can and we are changing this. If any of you would like to watch one of my FREE 1 hour live webinars that explain more about the Nurtured Heart Approach, there are two coming up: Wed Nov 11 at 10am (PT) or Mon Nov 16 at 5pm (PT), register at http://alignededucation.com/services/ and/or I'd love to strategize about getting NHA into places like the school that is mistreating kids.
Thank you for being such an incredible advocate, I can feel the love, intelligence and compassion radiating from this community!


text:
Category: Biology
2017-18, Biology, Genetics
Controlling Mitochondria to Stop the Clocks
By Meghan Bialt-DeCelie '19 The respiratory function of the mitochondrion, the energy producing organelle found in the cell, can decline over time. This is because of how the mitochondrion enlarge and assume a more elongated shape. Typically, that mitochondrion will eventually break down and get removed processes called mitochondrial fission and mitophagy respectively. Accumulation of the ineffective mitochondria and inability to remove them are major … Continue reading Controlling Mitochondria to Stop the Clocks
Young Investigators Review September 21, 2017 September 21, 2017 Leave a comment
2017-18, Biology
New Model Predicts How Genetics Affects Heart Structure
By Gene Yang '19 Congenital heart disease is the most common birth defect in the world. This broad group of genetic conditions affect the heart's structure and function in different ways, with symptoms ranging from harmless to fatal. However, very little is known about how a human's genetic makeup affects cardiovascular development. A recent study, which constructed a model that predicts correlations between genetics and … Continue reading New Model Predicts How Genetics Affects Heart Structure
2016-17, Biology, Psychology
Disrupting Enzyme To Tackle Alzheimer's Disease
By Rideeta Raquib '19 From histone modifications to DNA alterations, epigenetic processes play a major role in various physiological systems. Histones are proteins in eukaryotic cells that package DNA strands into nucleosomes. Gene regulation processes include histone acetylation, whereby an acetyl group is transferred from one molecule to another. This eventually removes the positive charge on the histones, giving nucleosomes a relaxed structure and allowing … Continue reading Disrupting Enzyme To Tackle Alzheimer's Disease
Young Investigators Review August 25, 2017 August 19, 2017 Leave a comment
2016-17, Biology, Health
Gut microbe as Potential Treatment for Multiple Sclerosis
By Rideeta Raquib '19 The human gut is colonized by many microorganisms and each of them plays a role in maintaining various physiological functions, such as regulating digestion and fat absorption. It has been found that a vast number of inflammatory diseases around the world are associated with an instability of the gut microbiome. Researchers at the Mayo Clinic and University of Iowa suggest that … Continue reading Gut microbe as Potential Treatment for Multiple Sclerosis
Improved Zika Vaccine Produced by Tobacco Plant extract
By Rideeta Raquib '19 The Zika virus (ZIKV) is a deadly virus transmitted through mosquito bites that at its climax has infected more than 1.5 million people in Brazil in 2015. The virus continues to spread with approximately 200 ZIKV cases reported in the United States this year. In order to combat the epidemic, new ZIKV vaccines have been developed to inactivate the virus. However, … Continue reading Improved Zika Vaccine Produced by Tobacco Plant extract
2016-17, Biology, Neuroscience
Restoring Auditory Cortex Plasticity in Adults
By Anna Tarasova '19 Being able to form, maintain, and strengthen neural connections within the auditory cortex is an important part of language acquisition. Neural plasticity, or the ability of the brain to establish new connections, is especially high in childhood, but decreases with age. A discovery made by Dr. Jay Blundon and his colleagues at the St. Jude Children's Research Hospital has the potential … Continue reading Restoring Auditory Cortex Plasticity in Adults
Young Investigators Review July 31, 2017 July 30, 2017 Leave a comment
Sleep and Its Impact on Alzheimer's Disease
By Meghan Bialt-DeCelie '19 A good night's rest is hard to come by these days, however a study led by Yo-El S. Ju MD from Washington University suggests that it is more important than one may realize. They found that inadequate sleep causes the Alzheimer's related protein, amyloid beta, to increase. They tested the amyloid beta levels from the cerebral spinal fluid of 22 middle … Continue reading Sleep and Its Impact on Alzheimer's Disease
2016-17, Astronomy, Biology
Tardigrade and Its Impact on Survivability
By Meghan Bialt-DeCelie '19 Whether the world ends in asteroids or radiation, the big question is what, if anything, will survive. Researchers lead by Dr. David Sloan from the University of Oxford assessed the resilience of species when against three astrophysical catastrophes (asteroids, supernovas, and gamma-ray bursts) that could sterilize the planet. These events threaten the survival of species with radiation and by deterioration of … Continue reading Tardigrade and Its Impact on Survivability
2016-17, Biology, Chemistry
The Anti-CRISPR
By Meghan Bialt-DeCelie '19 Since the explosion of CRISPR-Cas 9, a gene editing technology, researchers have been further exploring its mechanisms and ways of improving the system. AcrIIA4 is a known anti-CRISPR protein that inhibits the CRISPR-Cas 9 complex, but the mechanism and residues involved were not as explored. Researchers lead by Jiyung Shin, PhD from The University of California Berkley investigated AcrIIA4 to … Continue reading The Anti-CRISPR
Cancer Therapy Employing Lipid-coated Gold Nanorod
By Rideeta Raquib '19 Gene regulation induced by light has potential for noninvasive control over the function of target cells. One such method involves the delivery of photothermal heaters and heat shock protein (HSP) promoter-driven protein expression vectors into the cells and then illuminating them to activate the cells. HSP promoters are controlled by heat shock factor, which is a transcription factor in the cytosol … Continue reading Cancer Therapy Employing Lipid-coated Gold Nanorod