text:
Module:Math

--[[

This module provides a number of basic mathematical operations.

]]

local yesno, getArgs -- lazily initialized

local p = {} -- Holds functions to be returned from #invoke, and functions to make available to other Lua modules. local wrap = {} -- Holds wrapper functions that process arguments from #invoke. These act as intemediary between functions meant for #invoke and functions meant for Lua.

-- Helper functions used to avoid redundant code.

local function err(msg) -- Generates wikitext error messages. return mw.ustring.format(' Formatting error: %s ', msg) end

local function unpackNumberArgs(args) -- Returns an unpacked list of arguments specified with numerical keys. local ret = {} for k, v in pairs(args) do		if type(k) == 'number' then table.insert(ret, v)		end end return unpack(ret) end

local function makeArgArray(...) -- Makes an array of arguments from a list of arguments that might include nils. local args = {...} -- Table of arguments. It might contain nils or non-number values, so we can't use ipairs. local nums = {} -- Stores the numbers of valid numerical arguments. local ret = {} for k, v in pairs(args) do		v = p._cleanNumber(v) if v then nums[#nums + 1] = k			args[k] = v		end end table.sort(nums) for i, num in ipairs(nums) do		ret[#ret + 1] = args[num] end return ret end

local function fold(func, ...) -- Use a function on all supplied arguments, and return the result. The function must accept two numbers as parameters, -- and must return a number as an output. This number is then supplied as input to the next function call. local vals = makeArgArray(...) local count = #vals -- The number of valid arguments if count == 0 then return -- Exit if we have no valid args, otherwise removing the first arg would cause an error. nil, 0 end local ret = table.remove(vals, 1) for _, val in ipairs(vals) do		ret = func(ret, val) end return ret, count end

-- Fold arguments by selectively choosing values (func should return when to choose the current "dominant" value). local function binary_fold(func, ...) local value = fold((function(a, b) if func(a, b) then return a else return b end end), ...) return value end

--[[ random

Generate a random number

Usage:

]]

function wrap.random(args) local first = p._cleanNumber(args[1]) local second = p._cleanNumber(args[2]) return p._random(first, second) end

function p._random(first, second) math.randomseed(mw.site.stats.edits + mw.site.stats.pages + os.time + math.floor(os.clock * 1000000000)) -- math.random will throw an error if given an explicit nil parameter, so we need to use if statements to check the params. if first and second then if first <= second then -- math.random doesn't allow the first number to be greater than the second. return math.random(first, second) end elseif first then return math.random(first) else return math.random end end

--[[ order

Determine order of magnitude of a number

Usage:

]]

function wrap.order(args) local input_string = (args[1] or args.x or '0'); local input_number = p._cleanNumber(input_string); if input_number == nil then return err('order of magnitude input appears non-numeric') else return p._order(input_number) end end

function p._order(x) if x == 0 then return 0 end return math.floor(math.log10(math.abs(x))) end

--[[ precision

Detemines the precision of a number using the string representation

Usage:

]]

function wrap.precision(args) local input_string = (args[1] or args.x or '0'); local trap_fraction = args.check_fraction; local input_number;

if not yesno then yesno = require('Module:Yesno') end if yesno(trap_fraction, true) then -- Returns true for all input except nil, false, "no", "n", "0" and a few others. See Module:Yesno. local pos = string.find(input_string, '/', 1, true); if pos ~= nil then if string.find(input_string, '/', pos + 1, true) == nil then local denominator = string.sub(input_string, pos+1, -1); local denom_value = tonumber(denominator); if denom_value ~= nil then return math.log10(denom_value); end end end end

input_number, input_string = p._cleanNumber(input_string); if input_string == nil then return err('precision input appears non-numeric') else return p._precision(input_string) end end

function p._precision(x) if type(x) == 'number' then x = tostring(x) end x = string.upper(x)

local decimal = x:find('%.') local exponent_pos = x:find('E') local result = 0;

if exponent_pos ~= nil then local exponent = string.sub(x, exponent_pos + 1) x = string.sub(x, 1, exponent_pos - 1) result = result - tonumber(exponent) end

if decimal ~= nil then result = result + string.len(x) - decimal return result end

local pos = string.len(x); while x:byte(pos) == string.byte('0') do		pos = pos - 1 result = result - 1 if pos <= 0 then return 0 end end

return result end

--[[ max

Finds the maximum argument

Usage:

Note, any values that do not evaluate to numbers are ignored. ]]

function wrap.max(args) return p._max(unpackNumberArgs(args)) end

function p._max(...) local max_value = binary_fold((function(a, b) return a > b end), ...) if max_value then return max_value end end

--[[ median

Find the median of set of numbers

Usage:

OR

]]

function wrap.median(args) return p._median(unpackNumberArgs(args)) end

function p._median(...) local vals = makeArgArray(...) local count = #vals table.sort(vals)

if count == 0 then return 0 end

if p._mod(count, 2) == 0 then return (vals[count/2] + vals[count/2+1])/2 else return vals[math.ceil(count/2)] end end

--[[ min

Finds the minimum argument

Usage:

OR

When used with no arguments, it takes its input from the parent frame. Note, any values that do not evaluate to numbers are ignored. ]]

function wrap.min(args) return p._min(unpackNumberArgs(args)) end

function p._min(...) local min_value = binary_fold((function(a, b) return a < b end), ...) if min_value then return min_value end end

--[[ sum

Finds the sum

Usage:

OR

Note, any values that do not evaluate to numbers are ignored. ]]

function wrap.sum(args) return p._sum(unpackNumberArgs(args)) end

function p._sum(...) local sums, count = fold((function(a, b) return a + b end), ...) if not sums then return 0 else return sums end end

--[[ average

Finds the average

Usage:

OR

Note, any values that do not evaluate to numbers are ignored. ]]

function wrap.average(args) return p._average(unpackNumberArgs(args)) end

function p._average(...) local sum, count = fold((function(a, b) return a + b end), ...) if not sum then return 0 else return sum / count end end

--[[ round

Rounds a number to specified precision

Usage:

--]]

function wrap.round(args) local value = p._cleanNumber(args[1] or args.value or 0) local precision = p._cleanNumber(args[2] or args.precision or 0) if value == nil or precision == nil then return err('round input appears non-numeric') else return p._round(value, precision) end end

function p._round(value, precision) local rescale = math.pow(10, precision or 0); return math.floor(value * rescale + 0.5) / rescale; end

--[[ log10

returns the log (base 10) of a number

Usage:

]]

function wrap.log10(args) return math.log10(args[1]) end

--[[ mod

Implements the modulo operator

Usage:

--]]

function wrap.mod(args) local x = p._cleanNumber(args[1]) local y = p._cleanNumber(args[2]) if not x then return err('first argument to mod appears non-numeric') elseif not y then return err('second argument to mod appears non-numeric') else return p._mod(x, y)	end end

function p._mod(x, y)	local ret = x % y	if not (0 <= ret and ret < y) then ret = 0 end return ret end

--[[ gcd

Calculates the greatest common divisor of multiple numbers

Usage:

--]]

function wrap.gcd(args) return p._gcd(unpackNumberArgs(args)) end

function p._gcd(...) local function findGcd(a, b)		local r = b		local oldr = a		while r ~= 0 do			local quotient = math.floor(oldr / r)			oldr, r = r, oldr - quotient * r		end if oldr < 0 then oldr = oldr * -1 end return oldr end local result, count = fold(findGcd, ...) return result end

--[[ precision_format

Rounds a number to the specified precision and formats according to rules originally used for. Output is a string.

Usage:

]]

function wrap.precision_format(args) local value_string = args[1] or 0 local precision = args[2] or 0 return p._precision_format(value_string, precision) end

function p._precision_format(value_string, precision) -- For access to Mediawiki built-in formatter. local lang = mw.getContentLanguage;

local value value, value_string = p._cleanNumber(value_string) precision = p._cleanNumber(precision)

-- Check for non-numeric input if value == nil or precision == nil then return err('invalid input when rounding') end

local current_precision = p._precision(value) local order = p._order(value)

-- Due to round-off effects it is neccesary to limit the returned precision under -- some circumstances because the terminal digits will be inaccurately reported. if order + precision >= 14 then if order + p._precision(value_string) >= 14 then precision = 13 - order; end end

-- If rounding off, truncate extra digits if precision < current_precision then value = p._round(value, precision) current_precision = p._precision(value) end

local formatted_num = lang:formatNum(math.abs(value)) local sign

-- Use proper unary minus sign rather than ASCII default if value < 0 then sign = '−' else sign = '' end

-- Handle cases requiring scientific notation if string.find(formatted_num, 'E', 1, true) ~= nil or math.abs(order) >= 9 then value = value * math.pow(10, -order) current_precision = current_precision + order precision = precision + order formatted_num = lang:formatNum(math.abs(value)) else order = 0; end formatted_num = sign .. formatted_num

-- Pad with zeros, if needed if current_precision < precision then local padding if current_precision <= 0 then if precision > 0 then local zero_sep = lang:formatNum(1.1) formatted_num = formatted_num .. zero_sep:sub(2,2)

padding = precision if padding > 20 then padding = 20 end

formatted_num = formatted_num .. string.rep('0', padding) end else padding = precision - current_precision if padding > 20 then padding = 20 end formatted_num = formatted_num .. string.rep('0', padding) end end

-- Add exponential notation, if necessary. if order ~= 0 then -- Use proper unary minus sign rather than ASCII default if order < 0 then order = '−' .. lang:formatNum(math.abs(order)) else order = lang:formatNum(order) end

formatted_num = formatted_num .. ' × 10' .. order .. ''	end

return formatted_num end

--[[ divide

Implements the division operator

Usage:

--]] function wrap.divide(args) local x = args[1] local y = args[2] local round = args.round local precision = args.precision if not yesno then yesno = require('Module:Yesno') end return p._divide(x, y, yesno(round), precision) end

function p._divide(x, y, round, precision) if y == nil or y == "" then return err("Empty divisor") elseif not tonumber(y) then if type(y) == 'string' and string.sub(y, 1, 1) == '<' then return y		else return err("Not a number: " .. y)		end elseif x == nil or x == "" then return err("Empty dividend") elseif not tonumber(x) then if type(x) == 'string' and string.sub(x, 1, 1) == '<' then return x		else return err("Not a number: " .. x)		end else local z = x / y		if round then return p._round(z, 0) elseif precision then return p._round(z, precision) else return z			end end end

-- Helper function that interprets the input numerically. If the input does not appear to be a number, attempts evaluating it as a parser functions expression.

function p._cleanNumber(number_string) if type(number_string) == 'number' then -- We were passed a number, so we don't need to do any processing. return number_string, tostring(number_string) elseif type(number_string) ~= 'string' or not number_string:find('%S') then -- We were passed a non-string or a blank string, so exit. return nil, nil; end

-- Attempt basic conversion local number = tonumber(number_string)

-- If failed, attempt to evaluate input as an expression if number == nil then local success, result = pcall(mw.ext.ParserFunctions.expr, number_string) if success then number = tonumber(result) number_string = tostring(number) else number = nil number_string = nil end else number_string = number_string:match("^%s*(.-)%s*$") -- String is valid but may contain padding, clean it. number_string = number_string:match("^%+(.*)$") or number_string -- Trim any leading + signs. if number_string:find('^%-?0[xX]') then -- Number is using 0xnnn notation to indicate base 16; use the number that Lua detected instead. number_string = tostring(number) end end

return number, number_string end

-- Wrapper function that does basic argument processing. This ensures that all functions from

local mt = { __index = function(t, k)	return function(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return wrap[k](getArgs(frame)) -- Argument processing is left to Module:Arguments. Whitespace is trimmed and blank arguments are removed. end end }

return setmetatable(p, mt)

title: Module:Math


text:
Module:Weather box/row

local math_mod = require('Module:Math')

local traceText local Value Value = { lang = mw.getContentLanguage, getDisplay = function (self, second) if not self:isValid then return nil end local display = self.string if display == 'trace' then if second then -- If a cell displays "cm (inch)", show "trace" not "trace (trace)". return nil end return traceText or 'trace' end if math.abs(self.number) >= 1000 then display = self.lang:formatNum(math.abs(self.number)) if self.number < 0 then display = '−' .. display end elseif self.number < 0 then display = '−' .. display:sub(2) end return display end, getPrecision = function (self) local result = rawget(self, 'precision') if not result then if self:isValid then result = math.max(0, math_mod._precision(self.string)) else result = 0 end rawset(self, 'precision', result) end return result end, isValid = function (self) return self.number ~= nil and self.number ~= -9999 end, new = function (v) local val, str, precision if type(v) == 'string' then if v == 'trace' then val, str, precision = 0, 'trace', 0 else val, str = math_mod._cleanNumber(v) end elseif type(v) == 'number' then val, str = v, tostring(v) end if not val then val, str = -9999, '' end return setmetatable({			number = val,			string = str,			precision = precision,		}, Value) end, converts = { in2cm = { factor = 2.54             }, in2mm = { factor = 25.4             }, cm2in = { factor = 1/2.54, p2max = 1 }, mm2in = { factor = 1/25.4, p2max = 0 }, },	setConvert = function (self, invalue, units) -- Use method modified from Module:Convert to determine precision. if invalue.string == 'trace' then self.number, self.string, self.precision = 0, 'trace', 0 return end local convert = self.converts[units] or error('Unknown units') local outnum = invalue.number * convert.factor local precision = invalue:getPrecision if outnum > 0 then local adjust = math.log10(1/convert.factor) + math.log10(2) local p1 = math.floor(precision + adjust) local p2 = 1 - math.floor(math.log10(outnum)) if convert.p2max then p2 = math.min(p2, convert.p2max) end precision = math.max(p1, p2) end self:setNumberRounded(outnum, precision) end, setNumberRounded = function (self, number, precision) if precision > 2 then precision = 2 end self.number = math_mod._round(number, precision) if precision < 0 then self.string = tostring(self.number) else local fmt = '%.' .. string.format('%d', precision) .. 'f'			self.string = string.format(fmt, self.number) end end, } Value.__index = Value

local function checkFlag(flag, default) if flag == nil then return default elseif type(flag) == 'boolean' then return flag elseif type(flag) == 'string' then flag = flag:lower if flag == '0' or flag == 'false' or				flag == '' or flag == 'no' or				flag == 'n' then return false else return true end else return error('Flag type not valid') end end

local function makeLine(label, first_values, second_values, color_values) local result = {'|- style="text-align: center;"\n! scope="row" style="height: 16px;" | ', label, "\n"} for i = 1, 13 do		local color_str = color_values[i] if i == 13 then table.insert(result, table.concat( {'|style="', color_str, ' border-left-width:medium" class="notheme"| '} )) else table.insert(result, table.concat( {'|style="', color_str, '" class="notheme"| '} )) end local display = first_values[i]:getDisplay if display then table.insert(result, display) if second_values ~= nil then display = second_values[i]:getDisplay(true) if display then table.insert(result, " (" .. display .. ")")				end end else table.insert(result, '—') end table.insert(result, "\n") end return table.concat(result) end

local function getInputs(args, group_name, suffix, include_space) local month_names = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'year' } local str local values = {} if suffix == nil then for i, mon in ipairs(month_names) do			if include_space then str = args[ mon .. ' ' .. group_name ] or '' else str = args[ mon .. group_name ] or '' end values[i] = Value.new(str) end else for i, mon in ipairs(month_names) do			local value, updated for var, suf in ipairs(suffix) do				if include_space then str = args[ mon .. ' ' .. group_name .. ' ' .. suf ] else str = args[ mon .. group_name .. ' ' .. suf ] end if str ~= nil and str ~= '' then value = Value.new(str) value.variant = var updated = true break end end if not updated then value = Value.new value.variant = 0 end values[i] = value end end return values end

local function getAnnualValue(values, mode) if mode == 'avg' or mode == 'sum' then local total = 0 local p1, p2, variant p1 = 0 for i = 1, 12 do			if not values[i]:isValid then return Value.new end if not variant then local var = values[i].variant if var and var ~= 0 then variant = var end end p2 = values[i]:getPrecision if p2 > p1 then p1 = p2			end total = total + values[i].number end local value = Value.new(total) if mode == 'avg' then value:setNumberRounded(total / 12, p1) end value.variant = variant return value elseif mode == 'min' then local target for i = 1, 12 do			if values[i]:isValid then if target == nil or values[i].number < target.number then target = values[i] end end end return target or Value.new elseif mode == 'max' then local target for i = 1, 12 do			if values[i]:isValid then if target == nil or values[i].number > target.number then target = values[i] end end end return target or Value.new else error('Unrecognized Annual Mode') end end

local function reconcileTemperature(C_values, F_values) for i = 1, 13 do		local p		if C_values[i].string == '' then if F_values[i]:isValid then p = F_values[i]:getPrecision C_values[i]:setNumberRounded((F_values[i].number - 32)*5/9, p)			end elseif F_values[i].string == '' then if C_values[i]:isValid then p = C_values[i]:getPrecision F_values[i]:setNumberRounded(C_values[i].number*9/5 + 32, p)			end end end end

local function reconcilePrecipitation(M_values, I_values, prefer_cm) local v_class = 0 for i = 1, 13 do		if M_values[i].variant == 1 then v_class = 1 elseif M_values[i].variant == 2 then v_class = 2 end end if v_class == 0 then if prefer_cm then v_class = 1 else v_class = 2 end end for i = 1, 13 do		local units if M_values[i].string == '' then if I_values[i]:isValid then if v_class == 1 then units = 'in2cm' else units = 'in2mm' end M_values[i]:setConvert(I_values[i], units) M_values[i].variant = v_class end elseif I_values[i].string == '' then if M_values[i]:isValid then if M_values[i].variant == 1 then units = 'cm2in' else units = 'mm2in' end I_values[i]:setConvert(M_values[i], units) end end end end

local function _buildRow(definition, args, options) options = options or {} local wbc = require('Module:Weather box/colors' .. (options.sandbox or '')) local mode = (definition.mode or 'basic'):lower local group_name = definition.group_name local first_values, second_values local color_values local color_scheme = definition.color_scheme or 't'	local scale_factor = math_mod._cleanNumber(definition.scale_factor) or 1 local date_mode = checkFlag(definition.date_mode, false) local label = definition.label or '' local annual_mode = (definition.annual_mode or 'avg'):lower local include_space = checkFlag(definition.include_space, true) local second_line = checkFlag(definition.second_line, false) local prefer_cm = checkFlag(definition.prefer_cm, false) local imperial_first = checkFlag(args['imperial first']) local metric_first = checkFlag(args['metric first']) local wantSingleLine = options.wantSingleLine or checkFlag(args['single line']) local trace = args.trace if trace and trace ~= '' then traceText = trace end if imperial_first == nil then imperial_first = metric_first == nil and true or not metric_first end if mode == 'basic' then first_values = getInputs(args, group_name, nil, include_space) second_values = nil elseif mode == 'temperature' then first_values = getInputs(args, group_name, {'C'}, include_space) second_values = getInputs(args, group_name, {'F'}, include_space) reconcileTemperature(first_values, second_values) elseif mode == "precipitation" then first_values = getInputs(args, group_name, {'cm', 'mm'}, include_space) second_values = getInputs(args, group_name, {'inch'}, include_space) reconcilePrecipitation(first_values, second_values, prefer_cm) else error('Requested mode not recognized') end local good = false for i = 1, 13 do		if first_values[i].string ~= '' then good = true break end end if not good then return '' end if first_values[13].string == '' then first_values[13] = getAnnualValue(first_values, annual_mode) end if second_values ~= nil then if second_values[13].string == '' then second_values[13] = getAnnualValue(second_values, annual_mode) end end color_scheme = wbc.interpret_color_code(color_scheme) color_values = {} local month_adj = { 31/30, 28.25/30, 31/30, 1, 31/30, 1, 31/30, 31/30, 1, 31/30, 1, 31/30, 365.25/30 }	for i = 1, 13 do		if first_values[i]:isValid then local adj = scale_factor if date_mode then adj = adj / month_adj[i] end if mode == "precipitation" then if first_values[i].variant == 1 then adj = adj * 10 end end table.insert(color_values, color_scheme(first_values[i].number * adj)) else table.insert(color_values, color_scheme(nil)) end end if imperial_first and second_values ~= nil then first_values, second_values = second_values, first_values end if not wantSingleLine then if second_line and second_values ~= nil then first_values = second_values end second_values = nil end return makeLine(label, first_values, second_values, color_values) end

local function buildRow(frame) return _buildRow(frame.args, frame:getParent.args) -- row definition, template parameters end

return { buildRow = buildRow, _buildRow = _buildRow, }

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Module:Weather box/row


text:
Module:Weather box/colors

local w = {} local math_mod = require('Module:Math')

local function hex( value ) return string.format("%02X", value) end

local function format_line( background, text_color ) return "background: #" .. background .. "; color:#" .. text_color .. ";" end

local function range_pos( value, start, stop ) if start < stop then if value < start then return 0 elseif value > stop then return 1 else return (value - start) / (stop - start) end else if value < stop then return 1 elseif value > start then return 0 else return (start - value) / (start - stop) end end end

function w.color_d( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._days_color( val ) end function w.color_pastel( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._pastel_color( val ) end function w.color_t( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._temperature_color( val ) end function w.color_green( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._green_color( val ) end function w.color_s( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._sunshine_color( val ) end function w.color_h( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._humidity_color( val ) end function w.color_p( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._precipitation_color( val ) end function w.color_u( frame ) local val = math_mod._cleanNumber( frame.args[1] ) return w._uv_color( val ) end

function w._days_color( val ) local item, background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

item = hex( range_pos( val, 20, 0 )*255 ) background = item .. item

item = hex( range_pos( val, 40, 20 )*255 ) background = background .. item

if val >= 12 then text_color = "FFFFFF" else text_color = "000000" end

return format_line( background, text_color ) end

function w._green_color( val ) local item1, item2, background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

item1 = hex( range_pos( val, 165.6, 0 )*255 ) item2 = hex( range_pos( val, 300, 165.61 )*207 + 48 ) background = item1 .. item2 .. item1 if val >= 200 then text_color = "FFFFFF" else text_color = "000000" end

return format_line( background, text_color ) end

function w._temperature_color( val ) local item, background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

if val < 4.5 then item = range_pos( val, -42.75, 4.5 )*255 background = hex( item ) else item = range_pos( val, 60, 41.5 )*255 background = hex( item ) end

if val <= 4.5 then item = range_pos( val, -42.75, 4.5 )*255 background = background .. hex( item ) else item = range_pos( val, 41.5, 4.5 )*255 background = background .. hex( item ) end

if val < -42.78 then item = range_pos( val, -90, -42.78 )*255 background = background .. hex( item ) else item = range_pos( val, 23, 4.5 )*255 background = background .. hex( item ) end

if val < -23.3 or val >= 37.8 then text_color = "FFFFFF" else text_color = "000000" end

return format_line( background, text_color ) end

function w._precipitation_color( val ) local item, background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

item = hex( range_pos( val, 165.6, 0 )*255 ) background = item .. item

item = hex( range_pos( val, 300, 165.61 )*207 + 48 ) background = background .. item

if val > 90 then text_color = "FFFFFF" else text_color = "000000" end

return format_line( background, text_color ) end

function w._humidity_color( val ) local item, background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

item = hex( range_pos( val, 66.67, 0 )*255 ) background = item .. item

item = hex( range_pos( val, 133.33, 66.667 )*255 ) background = background .. item

if val >= 40 then text_color = "FFFFFF" else text_color = "000000" end

return format_line( background, text_color ) end

function w._sunshine_color( val ) local item, background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

if val < 90 then item = hex( range_pos( val, 0, 90 )*170 ) elseif val < 180 then item = hex( range_pos( val, 90, 180 )*42.5 + 170 ) else item = hex( range_pos( val, 180, 360 )*42.5 + 212.5 ) end background = item .. item

if val < 90 then item = hex( range_pos( val, 0, 90 )*170 ) elseif val < 270 then item = hex( range_pos( val, 150, 90 )*170 ) else item = hex( range_pos( val, 270, 720 )*255 ) end background = background .. item

if val < 80 then text_color = "FFFFFF" else text_color = "000000" end

return format_line( background, text_color ) end

function w._pastel_color( val ) local background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

if val < -15 or val >= 39 then text_color = "FFFFFF" else text_color = "000000" end

if val >= 51 then background = 'EE2200' else val = math_mod._round( (val + 25.5)/3, 0 ) if val == 1 then background = 'BB00CC' elseif val == 2 then background = 'CC00EE' elseif val == 3 then background = 'CC33EE' elseif val == 4 then background = 'CC55EE' elseif val == 5 then background = 'DD66EE' elseif val == 6 then background = 'DD77EE' elseif val == 7 then background = 'DD99EE' elseif val == 8 then background = 'DDAAEE' elseif val == 9 then background = 'DDBBEE' elseif val == 10 then background = 'EECCFF' elseif val == 11 then background = 'FFDDFF' elseif val == 12 then background = 'F1F1F1' elseif val == 13 then background = 'FFEEBB' elseif val == 14 then background = 'FFFFCC' elseif val == 15 then background = 'FFFFBB' elseif val == 16 then background = 'FFFFAA' elseif val == 17 then background = 'FFFF88' elseif val == 18 then background = 'FFCC33' elseif val == 19 then background = 'FFBB33' elseif val == 20 then background = 'FF9900' elseif val == 21 then background = 'FF8844' elseif val == 22 then background = 'FF6633' elseif val == 23 then background = 'FF5522' elseif val == 24 then background = 'FF4422' elseif val == 25 then background = 'EE4400' else background = 'AA00AA' end end

return format_line( background, text_color ) end

function w._uv_color( val ) local background, text_color

if val == nil then return format_line( "FFFFFF", "000000" ) end

if val < 3 then background = "3EA72D" elseif val >= 3 and val < 6 then background = "FFF300" elseif val >= 6 and val < 8 then background = "F18B00" elseif val >= 8 and val < 11 then background = "E53210" else background = "B567A4" end

if val < 3 then text_color = "FFFFFF" elseif val >= 3 and val < 8 then text_color = "000000" else text_color = "FFFFFF" end

return format_line( background, text_color ) end

function w._none_color return format_line( "FAFAFA", "000000" ) end

function w.interpret_color_code( code ) code = code:lower if code == 't' then return w._temperature_color elseif code == 'pastel' then return w._pastel_color elseif code == 'green' then return w._green_color elseif code == 'h' then return w._humidity_color elseif code == 's' then return w._sunshine_color elseif code == 'p' then return w._precipitation_color elseif code == 'd' then return w._days_color elseif code == 'u' then return w._uv_color elseif code == 'none' then return w._none_color else error( 'Unknown color scheme option' ) end end

return w

title: Module:Weather box/colors


text: Template:Template reference list

title: Template:Template reference list


text:
History of Sylhet/References

|Back to Table of Contents

title: History of Sylhet/References


text: Category:Book:History of Sylhet

title: Category:Book:History of Sylhet


text:
Chess Opening Theory/1. g3/1...b6/2. Bg2

= Benko Opening=

2. Bg2
This is the expected continuation. White has fianchettoed their king’s bishop, and Black is practically forced to either play the logical 2…Nc6 (preparing …Bb7), or a move like 2…d5, which takes up the centre and protects the threatened rook, but reduces the scope of Black’s bishop. Of course, 2…c6 is playable but very passive, and all other moves are blunders that fail to 3. Bxa8.

Theory table
.

1.g3 b6 2.Bg2


text:
History of Sylhet/Significance of Sylhet in South Asian history

Introduction

History of the Sylhet region
References


text: History of Sylhet/Printable version

title: History of Sylhet/Printable version


text:
Cookbook:Croissant

| Pastry

Croissants, originating from France, are a culinary delight renowned for their buttery richness and flaky layers. Characterized by laminated dough with multiple layers of butter, croissants stand out with their crescent shape and airy texture, enjoyed worldwide in various forms and flavours.

Serve your homemade croissants warm with butter, jam, or cheese. They are perfect for breakfast, brunch, or as a snack!

Ingredients

 * 1¼ cups warm milk (about 110°F or 45°C)
 * 2 tablespoons active dry yeast
 * ¼ cup white granulated sugar
 * 4 cups all-purpose flour, more for dusting
 * 1 teaspoon salt
 * 1¼ cups unsalted butter, cold
 * 1 egg (for egg wash)

Equipment

 * Mixing bowls
 * Rolling pin
 * Baking sheet
 * Pastry brush
 * Sharp knife or dough cutter
 * Parchment paper

Dough

 * 1) In a bowl, combine warm milk, active dry yeast, and sugar. Let it sit for about 5 minutes until it becomes frothy.
 * 2) In a large mixing bowl, combine flour and salt. Gradually add the yeast mixture and mix until a dough forms.

Lamination

 * 1) Flatten the butter between 2 sheets of parchment paper into a thin sheet.
 * 2) Roll out the dough on a floured surface into a large rectangle.
 * 3) Place the butter sheet on half of the dough rectangle and fold the other half over it.
 * 4) Roll out the dough again and fold it into thirds. Repeat this process 3–4 times, chilling the dough between each fold.

Shaping

 * 1) Roll out the laminated dough into a large rectangle.
 * 2) Cut the dough into triangles using a sharp knife.
 * 3) Roll each triangle from the base to the tip to form a croissant shape.

Proof and bake

 * 1) Place the shaped croissants on a baking sheet and let them proof for about 1–2 hours, or until puffy.
 * 2) Preheat the oven to 400°F (200°C).
 * 3) Beat the egg and brush it over the croissants for a golden finish.
 * 4) Bake the croissants for 15–20 minutes, or until golden brown and flaky.

title: Cookbook:Croissant


text:
Cookbook:Dough cutter

| Bakeware

A dough cutter, also known as a bench scraper or pastry scraper, is a versatile baking tool used for cutting, lifting, and manipulating dough. With a broad, flat, and usually rectangular metal blade and a handle across the top, it allows bakers to easily divide dough into portions, scrape excess flour or dough from work surfaces, and transfer dough pieces without deformation.

These cutters come in a few different materials, including stainless steel, plastic, and wood. Some even have little measurements on the blade to help you get uniform pieces of dough.

title: Cookbook:Dough cutter


text:
Module:Sylheti/Digits

-- Return input text after converting en digits and month names. Testing compatibility, Unicode can be updated later. The Sylheti numeral system has similarities with Indo-Arabic (0,1,2,3,7,8,9), Mongolian (flipped 4 & 6) and Quarter moon (5) shapes.

local en_digits = { ['0'] = ,	['1'] = ,	['2'] = ,	['3'] = ,	['4'] = ,	['5'] = ,	['6'] = ,	['7'] = ,	['8'] = ,	['9'] = , }

local en_months = { ['January'] = 'ꠎꠣꠘꠃꠀꠞꠤ', ['january'] = 'ꠎꠣꠘꠃꠀꠞꠤ', ['February'] = 'ꠚꠦꠛꠃꠀꠞꠤ', ['february'] = 'ꠚꠦꠛꠃꠀꠞꠤ', ['March'] = 'ꠝꠣꠞ꠆ꠌ', ['march'] = 'ꠝꠣꠞ꠆ꠌ', ['April'] = 'ꠄꠙ꠆ꠞꠤꠟ', ['april'] = 'ꠄꠙ꠆ꠞꠤꠟ', ['May'] = 'ꠝꠦ', ['may'] = 'ꠝꠦ', ['June'] = 'ꠎꠥꠘ', ['june'] = 'ꠎꠥꠘ', ['July'] = 'ꠎꠥꠟꠣꠁ', ['july'] = 'ꠎꠥꠟꠣꠁ', ['August'] = 'ꠀꠉꠡꠐ', ['august'] = 'ꠀꠉꠡꠐ', ['September'] = 'ꠍꠦꠙꠐꠦꠝꠛꠞ', ['september'] = 'ꠍꠦꠙꠐꠦꠝꠛꠞ', ['October'] = 'ꠅꠇꠐꠥꠛꠞ', ['october'] = 'ꠅꠇꠐꠥꠛꠞ', ['November'] = 'ꠘꠜꠦꠝꠛꠞ', ['november'] = 'ꠘꠜꠦꠝꠛꠞ', ['December'] = 'ꠒꠤꠡꠦꠝꠛꠞ', ['december'] = 'ꠒꠤꠡꠦꠝꠛꠞ', }

local function _main(input) -- Callable from another module. input = input or '' return (input:gsub('%a+', en_months):gsub('%d', en_digits)) end

local function main(frame) -- Callable from #invoke or from a template. return _main(frame.args[1] or frame:getParent.args[1]) end

return { main = main, _main = _main }

title: Module:Sylheti/Digits


text: Template:Sylheti/Digits

title: Template:Sylheti/Digits


text: Template:Sylheti/Digits/doc

title: Template:Sylheti/Digits/doc


text:
UNO/House Rules

There are many house rules out there for UNO. This article will go over three of the most common ones.

Stacking
When this house rule is being played Draw Two and Wild Draw Four cards are allowed to "stack" on each other, adding their penalties together.

When this house rule is being used and a player plays a Draw Two card, the next player in turn order may, if they have one, play a Draw Two of their own on top of the already-played Draw Two, with the result that the two cards' penalties will "stack" and add together. Then the stacked penalty is passed to the next player, who must play a Draw Two of their own or draw the total penalty number of cards.

Wild Draw Fours may be stacked in a similar manner, and Wild Draw Fours may be stacked on top of Draw Twos, but not vice versa.

7-0
This house rule effectively turns the 7 and 0 cards into action cards.

With this house rule, if a player plays a card with a 7 on it that player must choose another player and the two players exchange their hands. If via this exchange a player receives a hand of only one card they must still call "UNO" or risk drawing two penalty cards.

If a player plays a card with a 0 on it every player must pass their hand one player in the current direction of play.

Jump-In
With this house rule active, if a player encounters the situation where the card on top of the discard pile is exactly the same as a card in their hand, then the player may "jump-in" and play said matching card immediately without waiting for their turn. Gameplay then passes from them as normal.

title: UNO/House Rules


text: User talk:Innocentjohn1978

title: User talk:Innocentjohn1978


text: Category:Wikibooks semi-protected templates


text:
Talk:Bash Shell Scripting/Conditional Expressions

Bad explanation of if statement
As, apparently, the only explanation of if statements, this page is questionable. It makes it seem like the syntax is: if some test  ; then where the syntax is actually if some command ; then   just happens to be a useful builtin command.  One could equivalently write test, leave off the , and get some boolean operations too.

-- Divad27182 (discuss • contribs) 13:00, 24 September 2023 (UTC)


text:
User talk:Physikinger

Welcome!
Welcome, Physikinger!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. —Atcovi (Talk - Contribs) 14:06, 24 September 2023 (UTC)

Question about reversion
Hi @Physikinger. In your reversion at Special:Diff/4383777, you reinstated links to enWp, saying dewikification is "no improvement while the information is not yet available in wikibooks". I'm hoping you can explain what you mean by this—books should not regularly wikilink out to other projects or to other books. If the information is necessary to understand the content, it should be incorporated into the book itself, as books are standalone units. Please let me know if you have any questions! Cheers —Kittycataclysm (discuss • contribs) 21:28, 30 June 2024 (UTC)

 * What I mean is that simply removing the wiki links without including the information in the book is not an improvement for the reader. What I expect from every author is that every edit should be a small step towards a better text, to give more and more useful information. Your editing was not an improvement for any reader trying to learn and apply this rather complicated math. If you are an expert in this field, feel free to insert more useful explanations to the text. Okay, there seem to be some goals of wikibooks that I'm not quite meeting. But my priority is not to fulfill wikibooks guidelines in the first place and then maybe making the text usefull. I have accumulated knowledge abut this topic during more than a decade of working with it, and I just want to help people who are engineers or physicists who have the same problems I had 10 years ago. If the guidelines do not support this knowledge transfer, I will take the freedom to interpret these guidelines more flexibly, as recommendations. My goal is not to optimize the text for people who want to print it as a book to put it in a book shelf. For 99% of readers, the online version is very fine as is.--Physikinger (discuss • contribs) 18:52, 2 July 2024 (UTC)

title: User talk:Physikinger


text:
Wikijunior:Raspberry Pi/Minecraft Dungeon Maze

Raspberry Pi Minecraft Dungeon Maze

Tutorial by Steve Martin and Andrew Oakley

Public Domain 17 May 2018 www.cotswoldjam.org

To start Minecraft, click the Pi menu - Games - Minecraft Pi

Click Start Game then click an existing game or click Create New

Tab key to switch between the Minecraft world and the normal mouse on the desktop. The Tab key is to the left of the letter Q.

Esc for the game menu.

To code with Minecraft, leave Minecraft running. Press the Tab key to release the mouse from the game, so you can use the mouse on the desktop.

Click Pi menu - Programming - Python3 (IDLE) File menu - Open - python/minecraft-dungeon/myDungeon.py

Run the program with Run menu - Run module. You should see a staircase down to a room.

Add more rooms to the program, for example:

Make a maze!

Cjam-minecraft-dungeon.pdf
The original PDF for this tutorial is on Wikimedia Commons:


text:
AI Art Generation Handbook/Archive

Stable Diffusion / AI Art in general are moving so fast that some of the information here are outdated. I create this page is to let other people dig for outdated info's here.

Fashion Bra SD1.5

Fashion Patterns SDXL

Camera Types (Out of Date infos)

Artist Style (Out of Date infos) Framing (Out of Date infos)

AI Art Generation Handbook/Archive/Model List (Out of Date infos)

AI Art Generation Handbook/Archive/Settings

title: AI Art Generation Handbook/Archive


text:
Mathematical Proof/Preface

Sometimes people read mathematical proofs and think they are reading a foreign language. This book describes the language used in a mathematical proof and also the different types of proofs used in math. This knowledge is essential to develop rigorous mathematics. As such, rigorous knowledge of math is not a prerequisite to reading this book. This book will use some and  notations for communication, and you should be familiar with those notations after learning more about set theory and logic in the first two chapters.

After introducing informally (i.e. not emphasizing on axioms in set theory) and logic, we will be prepared to study methods of mathematical proof. After that, we will be discussing some fundamental concepts that are important for more advanced topics in mathematics.

title: Mathematical Proof/Preface


text:
User talk:2001:E60:D401:BE1:2DD9:ECAF:FA0F:AADE

Warning
—Atcovi (Talk - Contribs) 01:10, 25 September 2023 (UTC)


text:
User talk:2001:E60:D301:1BA:9176:1D74:38E8:3251

Welcome
—Atcovi (Talk - Contribs) 01:10, 25 September 2023 (UTC)


text:
User talk:2603:8001:2F03:C200:29F1:140A:D05B:E504

--Xania   talk 05:59, 25 September 2023 (UTC)


text:
User talk:41.85.221.50

Warning
—Atcovi (Talk - Contribs) 11:04, 25 September 2023 (UTC)

title: User talk:41.85.221.50


text:
Chess Opening Theory/1. e4/1...c5/2. d4/2...d5

=Berg Countergambit= The Berg Countergambit is a uncommon opening that can be played in the Smith-Morra Gambit (1. e4 c5 2. d4 d5) or the Blackmar-Diemer Gambit (1. d4 d5 2. e4 c5)

the idea is to open the D file and quickly change the queens and then have a very changing game with interesting positions

White has to make the decision to capture the c5-pawn or the d5-pawn.

The main line is 3. dxc5 Nf6:

if white captures the d-pawn the queens are exchanged with 4 Qxd5 5. Qxd5 Nxd5

If White advances the pawn to e5, the knight is advanced to e4 and the position is equal and dynamic

The Scandinavian Variation is 3. exd5 Qxd5

In this variation Black will be able to open the D file unless White plays Ne2 where Black has to return the queen to d8 and White gets a slight advantage in development.

Theory table
.

 * 1. e4 c5 2. d4 d5
 * 1. d4 d5 2. e4 c5


text:
User talk:Jevoy55072

Blocked
You cannot edit for indefinite due to disruptive editing. You are welcome to contribute constructively when editing privileges are restored. You may appeal this action with a reasonable argument by adding the text below. —Atcovi (Talk - Contribs) 22:14, 25 September 2023 (UTC)

title: User talk:Jevoy55072


text:
Talk:Shelf:History

Globalization Education Reform in Thailand
I would like to create the page about Globalization Education Reform in Thailand

https://unesdoc.unesco.org/ark:/48223/pf0000113535?

On page 13 was The effect of the reform in 1995

THER2023 (discuss • contribs) 02:45, 26 September 2023 (UTC)

title: Talk:Shelf:History


text:
Cookbook:Cuisine of Sylhet

| South Asian cuisines

Sylheti cuisine is often described as unique and distinctive, bearing both similarities and differences to the culinary traditions of other regions of our global village. This flavorful cuisine, rooted in the Sylhet region and embraced by the Sylheti diaspora in places like the UK, has an intriguing history and a range of distinctive dishes.

History
During the Second World War, the Sylheti cuisine experienced a resurgence in Britain, thanks in part to the war itself. The war created a demand for labour, leading to an influx of Sylheti immigrants to the UK who brought their culinary traditions with them. Its resurgence in the UK, driven by historical events and the efforts of passionate restaurateurs, has brought Sylheti cuisine to a wider audience, making it a distinctive and cherished culinary tradition.

Ingredients
The cuisine of Sylhet is a fascinating fusion of flavours and traditions, marked by the inclusion of unique ingredients.

One prominent ingredient that characterizes Sylheti cuisine is the naga chilli, which holds a special place in the hearts of Sylhetis. It has been incorporated into various dishes, despite its unconventional spiciness for the British palate. This adaptation of flavours is credited with making naga-infused dishes a crowd favourite in Sylheti restaurants in the UK.

Hatxora, a type of citrus macroptera commonly pronounced as "hatxora" by locals, is a source of pride and a hallmark of Sylheti cuisine. It is traditionally paired with mutton or beef, creating a unique and tangy flavour that is beloved by those who appreciate Sylheti flavours. One iconic dish of Sylheti cuisine is Hatxora Mangsho, featured at The Dining Room.

Sylhetis also savour other sour foods like hog plum.

This diverse use of sour ingredients showcases the complexity and variety of flavours within Sylheti cuisine.

title: Cookbook:Cuisine of Sylhet


text:
Category:Wikibooks message box parameter needs fixing

__HIDDENCAT__


text: Category:Book:Religion of Shia Islam

title: Category:Book:Religion of Shia Islam


text: Category:Book:Sylheti/Templates

title: Category:Book:Sylheti/Templates


text:
Cookbook:Blue Cheese Dressing

| American

Adapted from the Buttermilk Ranch Dressing recipe.

Ingredients

 * 2 tbsp (30 ml) lemon juice or vinegar (cider or white wine)
 * 2/3 cup (160 ml) buttermilk
 * 1 cup (230 g) mayonnaise
 * ¾ cup (180 g) sour cream
 * ½ tsp salt
 * ½ tsp black pepper
 * ½ tsp garlic powder
 * ½ tsp onion powder
 * 4 oz (115 g) any variety of blue cheese

Procedure

 * 1) Combine all ingredients except the blue cheese and whisk until smooth and homogeneous.
 * 2) Dice the blue cheese into approximately ½ inch (1 cm) cubes. Most blue cheese is crumbly, so you'll wind up with a lot of crumbs as well as larger chunks.
 * 3) Pour the mayonnaise mixture into a serving container and stir in the cubes and crumbs of cheese.

title: Cookbook:Blue Cheese Dressing


text: Subject talk:Biology

title: Subject talk:Biology


text:
360 Assembly/360 Instructions/MVZ

MVZ   (MOVE ZONES)

Instruction Type:  Machine Instruction

Machine Format:  SS Instruction

D3 L B1 D1 B2 D2

Symbolic Format:   [symbolic name]  MVZ D1(L,B1),D2(B2)

[symbolic name)  MVZ  name1,name2

*     The zone portion (high order 4 bits) of each byte from the second operand is placed in the zone portion of the corresponding byte of the first operand field.

*     The instruction moves the data one byte at a time left to right. The zone portion of the leftmost (high-order) byte of the sending field is moved first.

*     The operands may overlap in memory.

*     The numeric portion (low-order 4 bits) of each byte are unchanged in either field.

*     The first and second operands may overlap.

*     A maximum of 256 bytes may be moved.

The condition code is unchanged.

title: 360 Assembly/360 Instructions/MVZ


text:
AI Art Generation Handbook/Archive/Fashion Pattern SDXL

There are hundreds of fabric patterns here but we use  this web list  to select the more popular fabric patterns as of now (Sept 2023)

Methodology to ensure fair scoring :

One prompt are generated twice in a row and takes the slightly better result to see comparisons.

All images are generated in base SDXL.

All images are generated in 1024 by 1024 to take advantage of its true to prompt rendering.

All seeds are randomly selected.

Sampling Steps are increased to 40.

Table below sorted by alphabetical order of all the "possible" patterns of the common fabric patterns commonly found in fashion world

Please add in the Discussion tab above if you found any well known patterns are missing from this list


text:
AI Art Generation Handbook/Archive/SD 1.5 Fashion Pattern Bra

Double click image below for zoom in details.


text: User talk:24.244.102.84

title: User talk:24.244.102.84


text:
AI Art Generation Handbook/VACT/Camera Types

Introductions
In this chapter, we are going to see the effect of camera and the lenses

Camera Type
To ensure consistency between images, following prompt was used :

Note 1: As usual, if there are missing camera , you may want can propose the missing camera to be added in Discussion tab above.

Note 2: If anyone knows how to use the standard prompts for use on all camera in SDXL (Preferably Fooocus), you can share the prompts with me too inside Discussion tab

Lenses Type
To ensure consistency between images, following prompt was used :

Note 1: As usual, if there are missing camera , you may want can propose the missing lenses to be added in Discussion tab above.

Note 2: If anyone knows how to use the standard prompts for use on all lenses in SDXL (Preferably Fooocus), you can share the prompts with me too inside Discussion tab


text: Category:Filling recipes

title: Category:Filling recipes


text:
User talk:2409:4052:D93:7A9D:F97E:413C:F7D3:706E

Your edits to Homeopathy/Introduction have been undone. Please do not remove disclaimers from pages which advise readers about potential dangers.--Xania   talk 05:16, 28 September 2023 (UTC)


text:
User talk:Railykenny

Edits to Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...Nf6/5. O-O/5...Be7/6. Re1/6...b5/7. Bb3/7...d6 have been undone. Changing genders used in a page is not constructive.--Xania   talk 05:21, 28 September 2023 (UTC)

title: User talk:Railykenny


text:
AI Art Generation Handbook/VACT/Camera Shots & Framing Techniques

Introductions
In this chapter, we are going to see the effect of camera shots and some of the framing techniques lenses

Camera Type
To ensure consistency between images, following prompt was used :

Note 1: As usual, if there are missing camera techniques, you may want can propose the missing techniques to be added in Discussion tab above.

Note 2: If anyone knows how to use the standard prompts for use on all shot in SDXL (Preferably Fooocus), you can share the prompts with me too inside Discussion tab


text:
Talk:AI Art Generation Handbook/VCAT/Artist Style

Italy Caravaggio - Paintings - Baroque Alessandro Algardi - Sculptures - Baroque Artemisia Gentileschi - Paintings - Baroque

Giorgio de Chirico - Paintings - Surrealism Antonio Canova - Sculptures - Neoclassicism

Giotto di Bondone - Frescoes - Late Gothic / Proto-Renaissance

Luca Giordano - Paintings - Baroque

Donatello - Sculptures - Renaissance Michelangelo - Painting - Renaissance Raphael - Painting - Renaissance Leonardo - Painting - Renaissance Tintoretto - Painting - Renaissance Sandro Botticelli - Painting - Renaissance

Piero della Francesca - Painting - Renaissance Giovanni Boldini -Painting - Macchiaioli

Netherland Peter Paul Rubens - Painting -Baroque Pieter Bruegel - Painting - Renaissance Hieronymus Bosch - Painting - Renaissance Jan van Eyck - Painting - Renaissance

Anthony van Dyck- Paintings - Baroque Frans Hals - Paintings - Baroque Johannes Vermeer - Paintings - Baroque

Constant Permeke - Paintings - Expressionism

Piet Mondrian - Paintings - Abstract Art/ De Stijl Theo van Doesburg - Paintings - Abstract Art/ De Stijl

France Georges Seurat - Paintings - Impressionism, Pointillism

Claude Monet - Paintings - Impressionism

Belgium René Magritte - Paintings -Surrealism

Russia Ilya Bolotowsky - Paintings - Geometric abstraction

America Burgoyne Diller - Paintings - Abstract Art

Théo van Rysselberghe - Paintings - Impressionism


text: Cybersecurity

title: Cybersecurity


text:
AI Art Generation Handbook/VCAT/Artist Style

There are too many artiste to be covered here, so we focus on the past and present , we divide the sections by countries.

The criteria that we included have passed away (at least more than 10 years) and quite famous in artist world


text:
Cookbook:Sour Mix (With Egg)

This recipe for homemade sour mix uses lemon juice with an egg white for texture.

Ingredients

 * 1 cup superfine sugar
 * 1 egg white
 * 2 cups water
 * 2 cups lemon juice, preferably freshly squeezed

Procedure

 * 1) Whisk egg white in a medium-sized bowl until frothy.
 * 2) Stir in the sugar and water or simple syrup.
 * 3) Add the lemon juice, and stir all ingredients well.
 * 4) Store the mix refrigerated, and use within 3 days of making it.

title: Cookbook:Sour Mix (With Egg)


text:
Cookbook:Sour Mix (Vegan)

This homemade recipe for sour mix includes three different kinds of citrus and no egg.

Ingredients

 * 2 parts lime juice
 * 2 parts simple syrup
 * 1 part orange juice
 * 1 part lemon juice

Procedure

 * 1) Combine all ingredients together.
 * 2) Store in the fridge until use.

title: Cookbook:Sour Mix (Vegan)


text:
Cookbook:South Side Fizz

A south side fizz is the same as a traditional south side, but with soda water.

Ingredients

 * 1¼ oz gin
 * ½ oz lime juice
 * ½ oz simple syrup
 * 2 sprigs mint
 * Club soda

Procedure

 * 1) In a shaker, muddle the mint, lime juice and simple syrup.
 * 2) Add the gin and fill with ice.
 * 3) Shake, and strain into a highball glass filled with crushed ice.
 * 4) Stir until frost appears on the outside of the glass.
 * 5) Fill with club soda and garnish with another mint sprig.

title: Cookbook:South Side Fizz


text: Category:Cocktail recipes

title: Category:Cocktail recipes


text:
Cookbook:Quick Finnish Lemon Mead (Sima)

This recipe is quicker than traditional sima, optimized for simplicity and short preparation time, makes it easier to try making sima: the only equipment needed are a 3 litre open container (a saucepan or small bucket perhaps), a 2 litre soda bottle and a funnel. The result is still undoubtably sima.

Making 2 litres at a time is very fast and a good way to practice without fear of losing a large batch to an error. On the first day it takes only about as long as it takes for the water to boil, and on the second day the bottling can be done in five minutes. Making a new small batch every 2–3 days lets you drink fresh sima daily without worrying about it spoiling, and takes hardly any time at all.

Ingredients

 * 250 g brown sugar
 * 1 lemon, juiced
 * Small amount of dry yeast
 * Raisins (optional)

First day

 * 1) Boil 1–2 litres water.
 * 2) While the water is boiling, wash a 3-liter container and squeeze the juice from the lemon into a glass.
 * 3) Set aside 1 litre of hot water for the sima. Rinse the container with the rest to sterilize it.
 * 4) Put sugar and lemon juice into the container.
 * 5) Pour 1 litre hot water onto the sugar and lemon juice and mix until sugar dissolves.
 * 6) Add 1 litre cold water.
 * 7) Add a very small amount of yeast (up to ¼ teaspoon).
 * 8) Let it stand overnight.

Second day

 * 1) Wash a 2 litre soda bottle and rinse it with boiling water.
 * 2) Add 1 teaspoon sugar into the bottle and a few raisins if you want to.
 * 3) Pour the sima into the bottle with a funnel.
 * 4) Leave in a dark place in room temperature for 2 days.
 * 5) Move the bottle into the refrigerator; the sima is ready.


text:
User:Innocentjohn1977/sandbox

User pages Innocentjohn1977/sandbox

title: User:Innocentjohn1977/sandbox


text:
Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...d6/4. d4

d4 opens up the bishop to recapture the pawn, and grabs more central space. Black usually responds with g5, temporarily defending the pawn while planning ...g4 to trap the f3 knight. Believe me when there is a line where white sacrifices the knight on f3. :)

Compared to 4.Bc4, white usually castles QUEENSIDE with this variation, since white develops their queenside pieces and moves their queen usually.


text:
Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4/3. Nf3/3...d6/4. d4/4...g5

The most popular move in this reason. It serves 2 purposes. 1 is to defend the f4 pawn temporarily, and the next purpose is to march to g4 next move and attack the knight. White can continue in multiple ways here, such as Nc3 and h3


text:
Infrastructure Past, Present, and Future Casebook/Texas Power Grid

This casebook is a case study on the Texas Power Grid by Seiry Vasquez, Hawwa Khan, and Trinity McDonald, as part of the Infrastructure Past, Present and Future: GOVT 490-004 (Synthesis Seminar for Policy & Government) / CEIE 499-002 (Special Topics in Civil Engineering) Fall 2023 course at George Mason University's Schar School of Policy and Government and the Volgenau School of Engineering, and Sid and Reva Dewberry Department of Civil, Environmental, and Infrastructure Engineering. Under the instruction of Professor Jonathan Gifford.

Summary
The Texas Power Grid is a electricity system that independently supports 90% of the electricity that currently sustains its residents and businesses alike. There are several parties that come together to ensure the functionality of this system that millions depend on everyday. Those involved in the system's upkeep also have the high responsibility of ensuring its success in the future.

The grid system is composed of many individual groups that work together to to allow the buying and selling of electricity through the grid. Generators produce the electricity, companies sell the power to families and businesses, and the transmission is handled by another subset who guarantee power is supplied to the correct places.

This power grid sustains the livelihood of millions of individuals and involves many actors, covers thousands of miles of the state of Texas, and is an essential aspect of the Texan economy. The power grid has taken decades to develop sustainably, to organize its funding, and the regulations for day to day rules have advanced to uphold this intricate power system.

List of Actors
There are many different actors involved in Texas's power grid. The following actors help us understand each party involved in the grids upkeep and what they do.

Texas Electricity Legislation

1992 Energy Policy Act:

 * This federal act introduced greater competition in the electricity sector, by lifting legal barriers in power generation markets. It offered the possibility for new power generators to acquire open access to transmission and distribution systems and to sell within region-wide markets. The passing of this Act was a first step towards establishing the conditions for future deregulation by states.

1995 Senate Bill 373:

 * This bill marked the beginning of the deregulation process in Texas. Senate Bill 373 required utilities in Texas to provide transmission service on a non-discriminatory basis, thereby allowing independent generators to compete in the wholesale electricity market. In 1996 the Public Utilities Commission of Texas (PUC) adopted the rules that would implement this bill, and established the Electric Reliability Council of Texas (ERCOT) as the independent systems operator of the Texas competitive wholesale electricity market.

1999 State Bill 7:

 * State Bill 7 continued the deregulation process, and called for the introduction of "Texas Choice" for electricity to begin in January 2002. SB 7 required investor-owned utilities within the ERCOT service area to separate their business activities into different companies for generation, transmission, and retail services. Independent retail electric providers were permitted to compete with former utilities to provide service to residential and small commercial customers throughout the state.
 * From 2002 to 2007 the newly-created retail electric providers associated with the former utilities were required to sell electricity at a mid-range price that was regulated by the PUC, known as the "price to beat". This was intended to promote customer switching and competition in the Texas retail electricity market, and was eliminated on January 1st, 2007.

Actors in the Electricity Generation & Wholesale Markets

Electric Reliability Council (ERCOT)

 * ERCOT is the independent system operator for the ERCOT grid, which covers most of Texas (about 75% of Texas land area, and 90% of the state's power load), including more than 43,000 miles of transmission lines and 567 generation units. ERCOT's responsibilities can be separated into four main areas: ERCOT-logo-122x45.svg
 * It has four primary activities:

 * 1) Operating the wholesale market upon which power is bought and sold
 * 2) Ensuring open access to transmission within its territory
 * 3) Long-term planning for system reliability
 * 4) Administrating the retail switching process

Regulatory Agencies

Public Utilities Commission (PUC):

 * Created by Texas legislature in 1975, the Public Utilities Commission of Texas (PUC) is the state agency responsible for regulating Texas's electric transmission and distribution utilities. Along with regulating electric TDU rates, the PUC is also responsible for overseeing competitive markets and enforcing compliance for the competitive retail electricity market. The PUC is responsible for disseminating educational information and can assist customers to resolve disputes with their utility. It also operates an electricity price comparison platform that is available to all retail electric providers to list their offers.

Electricity Transmission & Distribution Utilities

As electricity generation facilities are often located in areas far away from where it is consumed, electricity is transferred across high-voltage power lines before it reaches the distribution network. It then passes to lower voltage distribution lines before reaching its final point of consumption. Transmission & distribution facility owners in Texas are private, for-profit entities, but their rates and terms of service are regulated by the PUC.

There are five PUC-regulated utilities in Texas:

 * AEP Texas: AEP Texas (which stands for: American Electric Power) is an investor-owned electricity utility company based in Corpus Christi, Texas. As one of the big five T&D Utility companies, AEP Texas operates on the deregulated ERCOT grid. AEP Texas (AEP Texas North & AEP Texas Central) service area covers Corpus Christi, San Angelo, Victoria, and many more. AEP Texas works with more than 70 retail electric providers (REPs) to deliver electricity to Texans. The AEP Texas power outage map and AEP Texas customer service number is available for customers to report an outage and view restoration times.
 * CenterPoint Energy: CenterPoint Energy is an investor-owned electricity utility company that is based in Houston, Texas. CenterPoint is one of the big five Transmission & Distribution Utility (TDU) companies operating in Texas on the deregulated ERCOT grid. CenterPoint Energy Houston works with over 70 different retail electric providers (REPs) to deliver electricity to Texans. CenterPoint Energy customer service is available to help residents with project development, a CenterPoint Energy outage or gas leak, and have a specific CenterPoint Energy phone number for each type of customer service enquiry.
 * Oncor: Oncor Electric Delivery, often just referred to as Oncor, is a Texas investor-owned electricity utility company based in Dallas, Texas. Oncor, which is sometimes mistaken for EnCore Energy (not currently operating in Texas), is one of the big five Transmission & Distribution Utility (TDU) companies operating in Texas on the deregulated ERCOT grid. Oncor works with over 70 different retail electric providers (REPs) to power Texan homes and businesses. The Oncor customer service number is available to assist consumers with power outages or project development, and have a specific Oncor phone number for each type of customer service enquiry. New residents moving into an Oncor service area will likely not need to contact Oncor to start electricity service.
 * Sharyland Utilities: Sharyland Utilities is an electric transmission utility company that is based in Texas and regulated by the Pubic Utility Commission of Texas. Sharyland Utilities has experienced major acquisitions in recent years, which shifted ownership of Sharyland electric infrastructure to Oncor Electric Delivery. Sharyland Utilities LLC exists today on a much smaller scale and is concentrated in the far south of Texas.
 * Texas-New Mexico Power: Texas-New Mexico Power is a Texas investor-owned electric utility company based in Dallas, Texas. As one of the five major Utility companies, Texas-New Mexico Power operates on the deregulated ERCOT grid. Texas-New Mexico Power works with more than 70 retail electric providers (REPs) to deliver electricity across Texas. Swipe (or scroll) down to find the Texas-New Mexico Power service area for consumers and their customer service contact phone numbers. Find, below, a few Texas-New Mexico Power outage resources that include the Texas-New Mexico Power outage map and contact information to report a Texas-New Mexico Power outage.

Electricity transmission & distribution utilities are responsible for maintaining and operating the transmission and local distribution lines. They start or stop electricity service, perform meter readings and are responsible for responding to emergencies such as power outages and downed lines.

Retail Electricity Providers

 * Since 2002, Texans have had a choice of who provides their electricity. Retail electricity providers (REP) are responsible for providing electricity supply to consumers (residential, small commercial, or industrial), along with related customer service (billing, etc). In Texas, the retail electricity provider is the first point of contact for setting up a new account, or for questions about billing or electricity consumption (except for in an emergency such as a power outage, in which case the transmission & distribution utility should be contacted). You can find out more information about what's on offer in Texas in our retail electric provider profile pages.

Timeline of Events

 * 1800s: The first electric companies in the US were created. There were no federal regulations for the electric industry when it was new. Utility companies throughout Texas were formed to generate electricity for ice plants. Those companies then began to sell their excess electricity to businesses and homes around their facility.
 * 1924: Dallas-area Texas Power & Light Company built the first true interconnection in the state in 1924. In 1926, HL&P started building interconnections to sell excess power, and linked its network of transmission lines to the Gulf States Utilities system just east of Huffman, Texas, in 1927.
 * 1930s: Electrification in Texas resembled electrification in many other parts of the country, apart from the regulatory relationships within the state.
 * 1935: The Texas Interconnected system was created due to northern and southern Texas coming together to form one electricity transfer in the state. However, President Franklin D. Roosevelt passed the Federal Power Act in 1935, which regulated any electric company with operations across state borders. To avoid regulation, Texas energy companies from that time decided to operate without interstate connections, and this continues today.
 * 1941: The creation of the Texas Interconnected System was made, which allowed for any excess generation to be transferred to the Gulf Coast region.
 * 1942: Most significantly for Texas power companies, the FPC issued an order that relieved utilities of federal regulation if they joined interstate interconnections for the purpose of providing electricity to the war industries.
 * 1965: Came the worst power outage in U.S. history. While it didn’t impact Texas, it did prompt a national policy change: new federal regulations were introduced to ensure the reliability of the nation’s power grid.
 * 1966: Electric Reliability Council of Texas(ERCOT) was appointed to facilitate the power flows and exchanges between emerging utilities and became the country’s first independent system operator, otherwise known as an ISO.
 * 1970: The Electric reliability council of Texas was formed. Texas utilities organized ERCOT in 1970 as part of a nationwide effort by power companies to address reliability concerns while protecting their relative autonomy from federal oversight.
 * 1990s: Texas deregulates their electricity market which would allow more competition between electricity companies in which there main goal was to increase the efficiency and reduce consumer costs. In 1999, the Senate Bill 7 was passed in Senate as this was a reform policy to improve the quality of the grids and along with the consumers satisfaction for the reliable energy resources they have.
 * 2000s: Many electricity failures shortly occurred after the time of deregulation and the passing of Senate Bill 7 as prices increased drastically and many blackouts occurred across the state.
 * 2010s: Winter storms occurred in Texas which resulted in blackouts caused by the Texas Power Grid which left 3.2 millions of homes without any electricity.
 * February 2021: As Winter Storm Uri wreaked havoc across Texas in February, pundits, politicians and the public reflected on the unique status of the state’s isolated electric power grid. The electricity is provided by two sources natural gas and wind power. Natural gas is the main source and wind power is the second source. These sources aren't weatherized, which caused the disruption in 2021. In general, natural gas wells and wind turbines in Texas are not weatherized for the extreme cold. As a result, the 2021 winter storm disrupted the two largest electricity sources in the state.
 * March 2021: Investigations into the incident reveal a combination of factors contributing to the grid failure, including insufficient winterization of power generation facilities, natural gas supply shortages, and equipment failures.
 * April: Texas Governor Greg Abbott calls for legislative action to reform and strengthen the state's power grid and energy infrastructure.
 * May 2021: The Texas Legislature passes Senate Bill 3 and House Bill 1520, aimed at addressing the issues that led to the power grid failure and implementing reforms in ERCOT's governance and operations.

Maps & Location
Texas Power Grid Location The Electric Reliability Council of Texas (ERCOT) operates the electric grid for 75% of the state.

The Panhandle, South Plains, and the corner Northeast Texas fall under the Southwest Power Pool (SPP).

El Paso and the far West corner of Trans Pecos fall under the Western Electric Coordinating Council (WECC).

The Southeast corner of Texas falls under the Southeastern Electric Reliability Corporation (SERC).

(If map is has been taken down, please reference this link: here)

Funding and Financing
The Electric Reliability Council of Texas (ERCOT) manages close to 90% of Texas' electricity flows and payments. The electricity supply for more than 24 million Texan homes comes from 550 power stations connected across the Texas Power Grid. ERCOT is funded by a System Administration fee of 55.5 cents per MWh (megawatt hour) to cover system costs. It costs an average 50-60 cents per month, around$7 per year, for an average residential home in Texas.

As far as the entirety of the Texas Power Grid, most if it is operated by federal funding. The Texas division of Emergency Management will receive $60.6 million in 2023 from the federal government to aid in strengthening the infrastructure of the electricity grid. These funds will help improve the grid to withstand extreme wether conditions and natural disasters, such as the power outage incident son February 15, 2021.

Funds are split up and used accordingly throughout different necessary tasks to ensure smooth operation of the grid and reinforce it. These funds will be put towards various programs that include trimming trees around power lines, improving equipment functions in extreme temperatures, and other infrastructure improvements. The Department of Energy is planning on funding $2.3 billion over the next five years to address power grid resilience issues in many states, Texas being one of them.

The Public Utility Commission (PUC) of Texas is responsible for regulating billing and taxpayer funds in many sectors of Texas, one of them being the electricity bills and matters regarding the Power Grid. ERCOT and PUC work together, along with the Texas Commission on Environmental Quality, to align federal proceedings and ensure efficient use of resources/funds. Thus, the primary source of funding for the Power Grid is federal funding.

To date, approximately $173 million in funding has been allocated to Texas in 2022 for weatherization and $30.3 million to prevent outages and make the grid more resilient. An approximate $525 million has been allocated to Texas for infrastructure resilience in 2022.

Institutional Arrangements
The flow of power that governs the Texas Power Grid currently follows a structure that is essentially a hierarchy, starting with the governor of the state, currently Greg Abbott, who has the power to select those in charge of running the system. Those that he appoints make up the Public Utility Commission, who from there regulate the Electric Reliability Council of Texas (ERCOT). ERCOT then is responsible for managing the power grid. The positions that make up the council then are in control of overseeing the day to to day operations.

Because no one entity has complete control of the entire system, certain companies are responsible for producing power through electricity generators while others act as retail electric providers then sell the power to residents of Texas and businesses. Lastly transmission companies who direct that power are also compensated through customers' electricity bills. So, while ERCOT is a part of the regulation and decision making for the grid, there are many parties that are also able to influence the decision making surrounding the Texas Power grid.

The more specific day to day tasks which help to regulate the grid include:

Market Systems

 * 1) Market Administration: operates the efficient and fair wholesale of electricity between the generators of electricity and the providers who sell it.
 * 2) Operations: responsible for the balancing of the grid system. At any given time electricity within the Texas Power grid is being created, used, and sold. This means ERCOT must continuously monitor the grid to be sure that stability is maintained while the demand is also met.

Planning

 * 1) Upgrades and Planning: regularly ERCOT measures through assessments the potential need for additional transmission units and generators to meet and anticipate electricity demand. This means additional infrastructure has the potential to be added in the future to help further support the grid.
 * 2) Emergency Management: like in the case of the 2021 grid disaster, ERCOT is responsible for doing all they can to ensure that grid failure does not occur. In the case that it does, ensuring that ERCOT is more prepared to respond to disaster.
 * 3) Consumer Protections: additional legislation is currently in the works to offer additional protection for families and businesses, so that in the case of grid failure, residents still have the necessary tools to keep themselves safe.

==Narrative of Case == The Texas Power Grid was officially formalized in 1970 when the Electric Reliability Council of Texas (ERCOT) was established to ensure the functionality of the electricity system throughout the state. This power grid is largely separate from the rest of the country making it unique in the way that it functions and upholds itself. The isolation of Texas’s power grid is due to many factors, largely the number of interested parties or companies that contribute to and profit from the system.

The term ‘grid’ is meant to reference the many miles of generating facilities and the transmission lines throughout the state of Texas that produce electricity and then ship it to vast distances to be utilized. This grid can deliver power to individual customers, be it a family of residents or independent businesses. The Texas power grid did not start very differently from the rest of the country as it adjusted to incorporating electricity into citizens’ everyday lives.

In the early days, (the 1880s- early 1900s) many companies operating at the time to upload and create the grid dealt with company mergers, takeovers, and bankruptcies as well as maintenance challenges, and frustrations working with the city government. Around World War II, two systems referred to as the North and South Texas Interconnected Systems were organized by power companies at the time to meet the needs of the defense industries. Over several decades (until the creation of ERCOT in 1970) the system grew and became a more connected and isolated system until it was known as the Texas Power Grid. The companies today that are responsible for selling, producing, and transferring electricity throughout Texas still have significant influence over the future of the power grid.

In 2021, the Texas Power Grid gained national attention when the power grid failed, in the wake of serious winter weather that Texas was not prepared to handle. The vulnerabilities of this system were well known by its regulators and Texas lawmakers who instead prioritized the profit of these large companies. This electricity failure resulted in thousands going without power. As a result  246 people would lose their lives due to going without heat for a number of days. An infrastructure system that supports millions was unable to sustain itself and support citizens. This has raised questions and concerns as to its functionality and ability to uphold itself, citing the need for repairs and upgrades across the board to ensure its success in the future.

Policy Issues
Following the deadly winter storm in February of 2021 that knocked out power for millions of citizens in Texas and hundreds of deaths, CPS Energy (the municipal electric utility serving San Antonio) came forward strongly in favor of ending Texas’ “solo” approach to its power grid. The Federal Energy Regulatory Commission (FERC) is considering taking actions that could force Texas power grids and other states’ grids to connect with each other to reduce the chances of having a large-scale blackout again. The regulatory body has authority to set reliability standards for the Energy Reliability Council of Texas (ERCOT), which operates the grid. Texas is reluctant to take this drastic step of connecting their power grid with other states because they are concerned it will put them under more federal regulation. However, CPS Energy and others say that if they had the option to import power from other states in cases of emergency, like the storm in 2021, the power outages would not be as severe. They could not only prevent the effects of the 2021 power outage, but also increase revenue by selling excess power outside of Texas. According to ERCOT, Texas added more than 3,000 megawatts of solar and another 1,000 megawatts in wind generation, which results in plenty of surplus of energy. Power companies like CPS could sell this surplus of energy to others outside the state, while getting energy from them in times that they need it, which results in new revenue and a reduction of rates paid by customers.

In Congress, lawmakers are working on policies that would result in expanding power grids and increasing interconnectivity among states. Senator John Hickenlooper and Representative Scott Peters introduce new legislation that would require all power grids nationwide to maintain interconnections with neighboring grids. This would mean Texas would construct transmission lines capable of delivering 25 gigawatts of electricity to Louisiana, Arkansas, Oklahoma, and New Mexico – which is enough power to supple 22 million homes. Initially, the legislation stipulated that FERC’s authority not be expanded over the state’s power grid but have changed the bill to make Texas’ participation voluntary. The issues with this idea of connecting the grids across the nation is that some of the neighboring states also do not have the energy capability to deliver power to Texas in a state of emergency/blackout. Thus, many are arguing that it is pointless to connect with local grids, when there is no guarantee that either one can deliver the energy needed in a time such as the 2021 blackout.

Some of the proposed bills to the power grid:

 * Senate Bill 6: This would direct the state to hire one company or more to build up to 10,000 megawatts of new gas-fueled power generation that can be activated during emergencies – a “backup” system. This would create state-backed, low-cost loan program to cover maintenance/modernization of current power generators.

 * Senate Bill 7: This would allow power generators to bid a day ahead of providing specific services separate from everyday energy market. So, generators that need four hours in time of need to provide power can turn on within two hours of being needed. This will also fix “market distortions” from federal tax credits what wind and solar power generators receive.

 * Senate Bill 2012: Incentivize companies to build more dispatchable power/keep existing dispatchable power online. It would also create a legislative oversight committee to oversee its implementation.

 * Senate Bill 1287: Require the Public Utility Commission (PUC) to set a cap for how much Texans pay for power producers to connects the state’s power grid and require companies to pick up the remaining cost. This will encourage companies to build new power plants close to their customers/existing infrastructure rather than picking the cheapest land.

The biggest issue/reason why these bills, legislation, and policies have not been passed/implemented in highly based on Texas' cooperation. Texas does not want to increase federal regulation of the power grid because it decreases their reach across the power sector and their stake. Additionally, the biggest reason for these regulations is to prevent the events of February 2021 from happening again, however, many believe interconnections of grids among neighboring states is not the solution because most of the neighboring states do not have the capacity to provide power to Texas when needed and most suffer from power outages/lack of energy themselves.

Takeways
The Texas Power Grid is a prime example of the interconnectivity of infrastructure throughout a region. The grid expands throughout more than 90% of the state of Texas and is ever expanding in order to improve the flow of electricity throughout Texas. The system, in and of itself, is a relatively well functioning system, however, it is susceptible to extreme weather conditions, natural disasters, and the impacts of these conditions can be drastic to large regions of Texans, resulting in power outages across the state. Remaining knowledgeable about Texas’s power grid system is the key first step to ensuring its success in the future.The power grid, through its generating and transmission facilities produce electricity and ensure that Texas continues to function.

Discussion Questions

 * 1) When it comes to the Texas Power Grid and the money that is generated for various companies, does the interest big business out the customers needs and safety?
 * 2) In what ways does the function of the Texas Power Grid allow for a continuous flow of commerce?
 * 3) How could the Texas Power Grid improve its efficiency?
 * 4) How beneficial is it to connect power grids among neighboring states? Is it a viable solution?
 * 5) How can the production of power be improved within a state, as well as between connected state power grids?


text:
United States Postage Meter Stamp Catalog/GROUP REV: Non-postal franks used to collect tax

SRV-RI01 "Rhode Island"     Pitney Bowes.

 * Cigarette Tax
 * Rectangular, framed with pseudo perforations
 * STATE OF / RHODE [SHIELD] ISLAND / 2¢ 2¢ / CIGARETTE TAX / PB METER 00000
 * Meter numbers:  20222

 * V/F: 2¢ (violet)


text:
Canadian Refugee Procedure/153 - Chairperson and other members

IRPA Section 153
Section 153 of the Immigration and Refugee Protection Act reads: Chairperson and other members 153 (1) The Chairperson and members of the Refugee Appeal Division and Immigration Appeal Division (a) are appointed to the Board by the Governor in Council, to hold office during good behaviour for a term not exceeding seven years, subject to removal by the Governor in Council at any time for cause, to serve in a regional or district office of the Board; (b) [Repealed, 2010, c. 8, s. 18] (c) are eligible for reappointment in the same or another capacity; (d) shall receive the remuneration that may be fixed by the Governor in Council; (e) are entitled to be paid reasonable travel and living expenses incurred while absent in the course of their duties, in the case of a full-time member, from their ordinary place of work or, in the case of a part-time member, while absent from their ordinary place of residence; (f) are deemed to be employed in the public service for the purposes of the Public Service Superannuation Act and in the federal public administration for the purposes of the Government Employees Compensation Act and any regulations made under section 9 of the Aeronautics Act; (g) may not accept or hold any office or employment or carry on any activity inconsistent with their duties and functions under this Act; and (h) if appointed as full-time members, must devote the whole of their time to the performance of their duties under this Act. (1.1) [Repealed, 2012, c. 17, s. 84]

Deputy Chairperson and Assistant Deputy Chairpersons (2) One Deputy Chairperson for each Division referred to in subsection (1) and not more than 10 Assistant Deputy Chairpersons are to be designated by the Governor in Council from among the full-time members of those Divisions.

Full-time and part-time appointments (3) The Chairperson and the Deputy Chairpersons and Assistant Deputy Chairpersons of the Divisions referred to in subsection (1) are appointed on a full-time basis and the other members are appointed on a full-time or part-time basis.

Qualification (4) The Deputy Chairperson of the Immigration Appeal Division and a majority of the Assistant Deputy Chairpersons of that Division and at least 10 per cent of the members of the Divisions referred to in subsection (1) must be members of at least five years standing at the bar of a province or notaries of at least five years standing at the Chambre des notaires du Québec.

One Deputy Chairperson for each Division is to be designated
The IRB states that each Division is headed by a Deputy Chair who manages the members of the Appeal Division and Refugee Division respectively. The Deputy Chairs set and oversee performance and productivity standards for members and provide leadership in the conduct of hearings and in ensuring philosophical and operational consistency.


text:
User talk:Ashtontameirao120

Please unblock me, I am not a stupid duck and sockpuppet Ashtontameirao120 (discuss • contribs) 00:18, 30 September 2023 (UTC)

title: User talk:Ashtontameirao120