| Author | William Welch Copyright © 2009, all rights reserved. |
| Adapted-by | |
| Compiler | 2.4m |
The MCP2515 is an external CAN controller with Slave SPI interface. The controller has 3 transmit buffers and 2 receive buffers.
No dependency found
const CAN_TX1IF = 0x08
const CAN_TXB1D2 = 0x48
const CAN_CLKOUT_PS8 = 0x03
const CAN_CLKOUT_PS4 = 0x02
const CAN_TXB2D7 = 0x5D
const CAN_RXB1D1 = 0x77
const CAN_RXB0D6 = 0x6C
const CAN_RXM1SIDL = 0x25
const CAN_LOAD_TX0 = 0x40
const CAN_RXF5EID0 = 0x1B
const CAN_RXB0DLC = 0x65
const CAN_RXB1SIDH = 0x71
const CAN_TXB1D3 = 0x49
const CAN_SJW1 = 0x00
const CAN_RXB0SIDL = 0x62
const CAN_MODE_SLEEP = 0x20
const CAN_TXB2D0 = 0x56
const CAN_SOF_ENABLE = 0x80
const CAN_CLKOUT_DISABLE = 0x00
const CAN_TXB0SIDH = 0x31
const CAN_TXB2DLC = 0x55
const CAN_RXB1EID0 = 0x74
const CAN_TXB0D1 = 0x37
const CAN_RXF2SIDL = 0x09
const CAN_RXM1EID8 = 0x26
const CAN_ERRIE = 0x20
const CAN_SJW2 = 0x40
const CAN_TX0IF = 0x04
const CAN_MODE_CONFIG = 0x80
const CAN_CNF3 = 0x28
const CAN_TXB0EID0 = 0x34
const CAN_TXB0D7 = 0x3D
const CAN_RXB0EID8 = 0x63
const CAN_RXF5SIDL = 0x19
const CANINTE = 0x2B
const CAN_TXB1CTRL = 0x40
const CAN_ERRIF = 0x20
const CAN_WRITE_CMD = 0x02
const CAN_RX1IE = 0x02
const CAN_TXB1SIDL = 0x42
const CAN_MODE_MASK = 0xE0
const CAN_RXB0D7 = 0x6D
const CAN_RXF1EID8 = 0x06
const CAN_READ_RX1_DATA = 0x96
const CAN_TXB2EID0 = 0x54
const CAN_RXB1D5 = 0x7B
const CAN_RTS_TX2 = 0x84
const CANINTF = 0x2C
const CAN_TXB2SIDH = 0x51
const CANSTAT = 0x0E
const CAN_TXB1D7 = 0x4D
const CAN_TXB2SIDL = 0x52
const CAN_TXB2D6 = 0x5C
const CAN_RX_STATUS_CMD = 0xB0
const CAN_RXB1D2 = 0x78
const CAN_SJW4 = 0xC0
const CAN_MERRF = 0x80
const CAN_EFLG = 0x2D
const CAN_TXB0D4 = 0x3A
const CAN_TXB2D3 = 0x59
const CAN_TEC = 0x1C
const CAN_RXF3EID0 = 0x13
const CAN_RXM0EID0 = 0x23
const CAN_RXB1SIDL = 0x72
const CAN_RXB0D0 = 0x66
const CAN_TXB1D5 = 0x4B
const CAN_TXB2D1 = 0x57
const CAN_RXM1EID0 = 0x27
const CAN_RXB0D5 = 0x6B
const CAN_LOAD_TX2 = 0x44
const CAN_TXB1SIDH = 0x41
const CAN_RXF1SIDL = 0x05
const CAN_WAKFIL_ENABLE = 0x40
const CAN_RXF2EID0 = 0x0B
const CAN_RXM0SIDL = 0x21
const CAN_RX1IF = 0x02
const CAN_TXB1EID8 = 0x43
const CAN_RXM0EID8 = 0x22
const CAN_TXB0D3 = 0x39
const CAN_SJW3 = 0x80
const CAN_RXF4EID0 = 0x17
const CAN_CNF1 = 0x2A
const CAN_MODE_ONESHOT = 0x08
const CAN_RXB0D2 = 0x68
const CAN_RXF3EID8 = 0x12
const CAN_RXB1D7 = 0x7D
const CAN_TXB1D4 = 0x4A
const CAN_RXB1D0 = 0x76
const CAN_RXF4SIDL = 0x15
const CAN_TXB1D0 = 0x46
const CAN_RTS_ALL = 0x87
const CAN_TXB0SIDL = 0x32
const CAN_RX0IE = 0x01
const CAN_CLKOUT_ENABLE = 0x04
const CAN_TXB0DLC = 0x35
const CAN_RXB1EID8 = 0x73
const CAN_RXB1DLC = 0x75
const CAN_RXF4EID8 = 0x16
const CAN_TXB0D0 = 0x36
const CAN_REC = 0x1D
const CAN_SAMPLE_3X = 0x40
const CAN_WAKIE = 0x40
const CAN_RXB1CTRL = 0x70
const CAN_CNF2 = 0x29
const CAN_RXB0CTRL = 0x60
const CAN_TX0IE = 0x04
const CAN_WAKIF = 0x40
const CAN_TXB1D6 = 0x4C
const CAN_RXB1D3 = 0x79
const CAN_TX1IE = 0x08
const CAN_BTLMODE = 0x80
const CAN_SAMPLE_1X = 0x00
const CAN_SOF_DISABLE = 0x00
const CAN_TXB0D6 = 0x3C
const CAN_TX2IF = 0x10
const CAN_RXB1D4 = 0x7A
const CAN_RXF1EID0 = 0x07
const CAN_RXF0EID0 = 0x03
const CAN_RXF5SIDH = 0x18
const CAN_RXF3SIDH = 0x10
const CAN_RXF0EID8 = 0x02
const CAN_CLKOUT_PS1 = 0x00
const CAN_RXF3SIDL = 0x11
const CAN_RXB0D3 = 0x69
const CAN_CLKOUT_PS2 = 0x01
const CAN_ABORT_TX = 0x10
const CAN_RXM0SIDH = 0x20
const CAN_READ_CMD = 0x03
const CAN_READ_STATUS_CMD = 0xA0
const CAN_TXB0EID8 = 0x33
const CAN_TXB1D1 = 0x47
const CAN_RXB1D6 = 0x7C
const CAN_TXB2D5 = 0x5B
const CAN_LOAD_TX1 = 0x42
const CAN_RXF1SIDH = 0x04
const CAN_TXB1DLC = 0x45
const CAN_RXM1SIDH = 0x24
const CAN_READ_RX0_DATA = 0x92
const CAN_RXF5EID8 = 0x1A
const CAN_RXB0SIDH = 0x61
const CAN_TXB2EID8 = 0x53
const CAN_TXB1EID0 = 0x44
const CANCTRL = 0x0F
const CAN_TXB2CTRL = 0x50
const CAN_BITMOD = 0x05
const CAN_RTS_TX1 = 0x82
const CAN_TXB2D2 = 0x58
const CAN_RXB0D1 = 0x67
const CAN_RXF0SIDL = 0x01
const CAN_RXF0SIDH = 0x00
const CAN_RXF2SIDH = 0x08
const CAN_TXB0D2 = 0x38
const CAN_RX0IF = 0x01
const CAN_MERRE = 0x80
const CAN_MODE_LOOPBACK = 0x40
const CAN_TXB2D4 = 0x5A
const CAN_TXB0D5 = 0x3B
const CAN_RXB0EID0 = 0x64
const CAN_MODE_NORMAL = 0x00
const CAN_WAKFIL_DISABLE = 0x00
const CAN_RXB0D4 = 0x6A
const CAN_TXB0CTRL = 0x30
const CAN_RXF4SIDH = 0x14
const CAN_TX2IE = 0x10
const CAN_RESET_CMD = 0xC0
const CAN_MODE_LISTENONLY = 0x60
const CAN_MODE_POWERUP = 0xE0
const CAN_RTS_TX0 = 0x81
const CAN_RXF2EID8 = 0x0A
can_encode_std_id(dword in out can_id)
can_set_rxb1_filter3(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_encode_ext_id(dword in out can_id)
can_encode_rtr_id(dword in out can_id)
can_set_rxb0_filter0(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_write(byte in addr, byte in data)
can_set_rxb1_filter4(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_set_rxb0_filter1(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_set_rxb1_filter2(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_set_rxb1_filter5(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_set_rxb1_mask(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_reset()
can_set_config(byte in p1, byte in p2, byte in p3)
can_set_rxb0_mask(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
can_send(byte in buf_no, dword in can_id, byte in buf[8], byte in len) return bit
can_is_ext_id(dword in can_id) return bit
can_is_rtr_id(dword in can_id) return bit
can_rx_status() return byte
can_read_status() return byte
can_is_error_id(dword in can_id) return bit
can_read(byte in addr) return byte
can_is_std_id(dword in can_id) return bit
can_receive(byte in buf_no, dword out can_id, byte out buf[8], byte out len) return bit
const CAN_TX1IF = 0x08
No documentation found
const CAN_TXB1D2 = 0x48
No documentation found
const CAN_CLKOUT_PS8 = 0x03
No documentation found
const CAN_CLKOUT_PS4 = 0x02
No documentation found
const CAN_TXB2D7 = 0x5D
No documentation found
const CAN_RXB1D1 = 0x77
No documentation found
const CAN_RXB0D6 = 0x6C
No documentation found
const CAN_RXM1SIDL = 0x25
No documentation found
const CAN_LOAD_TX0 = 0x40
No documentation found
const CAN_RXF5EID0 = 0x1B
No documentation found
const CAN_RXB0DLC = 0x65
No documentation found
const CAN_RXB1SIDH = 0x71
No documentation found
const CAN_TXB1D3 = 0x49
No documentation found
const CAN_SJW1 = 0x00
No documentation found
const CAN_RXB0SIDL = 0x62
No documentation found
const CAN_MODE_SLEEP = 0x20
No documentation found
const CAN_TXB2D0 = 0x56
No documentation found
const CAN_SOF_ENABLE = 0x80
No documentation found
const CAN_CLKOUT_DISABLE = 0x00
No documentation found
const CAN_TXB0SIDH = 0x31
No documentation found
const CAN_TXB2DLC = 0x55
No documentation found
const CAN_RXB1EID0 = 0x74
No documentation found
const CAN_TXB0D1 = 0x37
No documentation found
const CAN_RXF2SIDL = 0x09
No documentation found
const CAN_RXM1EID8 = 0x26
No documentation found
const CAN_ERRIE = 0x20
No documentation found
const CAN_SJW2 = 0x40
No documentation found
const CAN_TX0IF = 0x04
No documentation found
const CAN_MODE_CONFIG = 0x80
No documentation found
const CAN_CNF3 = 0x28
CNF3 and fields
const CAN_TXB0EID0 = 0x34
No documentation found
const CAN_TXB0D7 = 0x3D
No documentation found
const CAN_RXB0EID8 = 0x63
No documentation found
const CAN_RXF5SIDL = 0x19
No documentation found
const CANINTE = 0x2B
CANINTE register and fields
const CAN_TXB1CTRL = 0x40
No documentation found
const CAN_ERRIF = 0x20
No documentation found
const CAN_WRITE_CMD = 0x02
MCP2515 Instructions ( SPI interface )
const CAN_RX1IE = 0x02
No documentation found
const CAN_TXB1SIDL = 0x42
No documentation found
const CAN_MODE_MASK = 0xE0
No documentation found
const CAN_RXB0D7 = 0x6D
No documentation found
const CAN_RXF1EID8 = 0x06
No documentation found
const CAN_READ_RX1_DATA = 0x96
No documentation found
const CAN_TXB2EID0 = 0x54
No documentation found
const CAN_RXB1D5 = 0x7B
No documentation found
const CAN_RTS_TX2 = 0x84
No documentation found
const CANINTF = 0x2C
CANINTF register and fields
const CAN_TXB2SIDH = 0x51
No documentation found
const CANSTAT = 0x0E
other misc registers
const CAN_TXB1D7 = 0x4D
No documentation found
const CAN_TXB2SIDL = 0x52
No documentation found
const CAN_TXB2D6 = 0x5C
No documentation found
const CAN_RX_STATUS_CMD = 0xB0
No documentation found
const CAN_RXB1D2 = 0x78
No documentation found
const CAN_SJW4 = 0xC0
No documentation found
const CAN_MERRF = 0x80
No documentation found
const CAN_EFLG = 0x2D
No documentation found
const CAN_TXB0D4 = 0x3A
No documentation found
const CAN_TXB2D3 = 0x59
No documentation found
const CAN_TEC = 0x1C
No documentation found
const CAN_RXF3EID0 = 0x13
No documentation found
const CAN_RXM0EID0 = 0x23
No documentation found
const CAN_RXB1SIDL = 0x72
No documentation found
const CAN_RXB0D0 = 0x66
No documentation found
const CAN_TXB1D5 = 0x4B
No documentation found
const CAN_TXB2D1 = 0x57
No documentation found
const CAN_RXM1EID0 = 0x27
No documentation found
const CAN_RXB0D5 = 0x6B
No documentation found
const CAN_LOAD_TX2 = 0x44
No documentation found
const CAN_TXB1SIDH = 0x41
No documentation found
const CAN_RXF1SIDL = 0x05
No documentation found
const CAN_WAKFIL_ENABLE = 0x40
No documentation found
const CAN_RXF2EID0 = 0x0B
No documentation found
const CAN_RXM0SIDL = 0x21
No documentation found
const CAN_RX1IF = 0x02
No documentation found
const CAN_TXB1EID8 = 0x43
No documentation found
const CAN_RXM0EID8 = 0x22
No documentation found
const CAN_TXB0D3 = 0x39
No documentation found
const CAN_SJW3 = 0x80
No documentation found
const CAN_RXF4EID0 = 0x17
No documentation found
const CAN_CNF1 = 0x2A
Bit-rate and related registers and fields. Big topic. See datasheet. CNF1 register and fields
const CAN_MODE_ONESHOT = 0x08
No documentation found
const CAN_RXB0D2 = 0x68
No documentation found
const CAN_RXF3EID8 = 0x12
No documentation found
const CAN_RXB1D7 = 0x7D
No documentation found
const CAN_TXB1D4 = 0x4A
No documentation found
const CAN_RXB1D0 = 0x76
No documentation found
const CAN_RXF4SIDL = 0x15
No documentation found
const CAN_TXB1D0 = 0x46
No documentation found
const CAN_RTS_ALL = 0x87
No documentation found
const CAN_TXB0SIDL = 0x32
No documentation found
const CAN_RX0IE = 0x01
No documentation found
const CAN_CLKOUT_ENABLE = 0x04
No documentation found
const CAN_TXB0DLC = 0x35
No documentation found
const CAN_RXB1EID8 = 0x73
No documentation found
const CAN_RXB1DLC = 0x75
No documentation found
const CAN_RXF4EID8 = 0x16
No documentation found
const CAN_TXB0D0 = 0x36
No documentation found
const CAN_REC = 0x1D
No documentation found
const CAN_SAMPLE_3X = 0x40
No documentation found
const CAN_WAKIE = 0x40
No documentation found
const CAN_RXB1CTRL = 0x70
No documentation found
const CAN_CNF2 = 0x29
CNF2 register and fields
const CAN_RXB0CTRL = 0x60
Each receive buffer has a control register, header registers, length register and (up to ) eight bytes of payload.
const CAN_TX0IE = 0x04
No documentation found
const CAN_WAKIF = 0x40
No documentation found
const CAN_TXB1D6 = 0x4C
No documentation found
const CAN_RXB1D3 = 0x79
No documentation found
const CAN_TX1IE = 0x08
No documentation found
const CAN_BTLMODE = 0x80
No documentation found
const CAN_SAMPLE_1X = 0x00
No documentation found
const CAN_SOF_DISABLE = 0x00
No documentation found
const CAN_TXB0D6 = 0x3C
No documentation found
const CAN_TX2IF = 0x10
No documentation found
const CAN_RXB1D4 = 0x7A
No documentation found
const CAN_RXF1EID0 = 0x07
No documentation found
const CAN_RXF0EID0 = 0x03
No documentation found
const CAN_RXF5SIDH = 0x18
RXB1 filter #5
const CAN_RXF3SIDH = 0x10
RXB1 filter #3
const CAN_RXF0EID8 = 0x02
No documentation found
const CAN_CLKOUT_PS1 = 0x00
No documentation found
const CAN_RXF3SIDL = 0x11
No documentation found
const CAN_RXB0D3 = 0x69
No documentation found
const CAN_CLKOUT_PS2 = 0x01
No documentation found
const CAN_ABORT_TX = 0x10
No documentation found
const CAN_RXM0SIDH = 0x20
RXB0 mask
const CAN_READ_CMD = 0x03
No documentation found
const CAN_READ_STATUS_CMD = 0xA0
No documentation found
const CAN_TXB0EID8 = 0x33
No documentation found
const CAN_TXB1D1 = 0x47
No documentation found
const CAN_RXB1D6 = 0x7C
No documentation found
const CAN_TXB2D5 = 0x5B
No documentation found
const CAN_LOAD_TX1 = 0x42
No documentation found
const CAN_RXF1SIDH = 0x04
RXB0 filter #1
const CAN_TXB1DLC = 0x45
No documentation found
const CAN_RXM1SIDH = 0x24
RXB1 mask
const CAN_READ_RX0_DATA = 0x92
No documentation found
const CAN_RXF5EID8 = 0x1A
No documentation found
const CAN_RXB0SIDH = 0x61
No documentation found
const CAN_TXB2EID8 = 0x53
No documentation found
const CAN_TXB1EID0 = 0x44
No documentation found
const CANCTRL = 0x0F
CANCTRL register and fields
const CAN_TXB2CTRL = 0x50
No documentation found
const CAN_BITMOD = 0x05
No documentation found
const CAN_RTS_TX1 = 0x82
No documentation found
const CAN_TXB2D2 = 0x58
No documentation found
const CAN_RXB0D1 = 0x67
No documentation found
const CAN_RXF0SIDL = 0x01
No documentation found
const CAN_RXF0SIDH = 0x00
RXB0 filter #0
const CAN_RXF2SIDH = 0x08
RXB1 filter #2
const CAN_TXB0D2 = 0x38
No documentation found
const CAN_RX0IF = 0x01
No documentation found
const CAN_MERRE = 0x80
No documentation found
const CAN_MODE_LOOPBACK = 0x40
No documentation found
const CAN_TXB2D4 = 0x5A
No documentation found
const CAN_TXB0D5 = 0x3B
No documentation found
const CAN_RXB0EID0 = 0x64
No documentation found
const CAN_MODE_NORMAL = 0x00
No documentation found
const CAN_WAKFIL_DISABLE = 0x00
No documentation found
const CAN_RXB0D4 = 0x6A
No documentation found
const CAN_TXB0CTRL = 0x30
Three transmit buffers. Each transmit buffer has a control register, header registers, length register and (up to ) eight bytes of payload.
const CAN_RXF4SIDH = 0x14
RXB1 filter #4
const CAN_TX2IE = 0x10
No documentation found
const CAN_RESET_CMD = 0xC0
No documentation found
const CAN_MODE_LISTENONLY = 0x60
No documentation found
const CAN_MODE_POWERUP = 0xE0
No documentation found
const CAN_RTS_TX0 = 0x81
No documentation found
const CAN_RXF2EID8 = 0x0A
No documentation found
can_encode_std_id(dword in out can_id)
No documentation found
can_set_rxb1_filter3(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RXB1 acceptance filter #3
can_encode_ext_id(dword in out can_id)
No documentation found
can_encode_rtr_id(dword in out can_id)
No documentation found
can_set_rxb0_filter0(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RXB0 acceptance filter #0
can_write(byte in addr, byte in data)
mcp2515 write instruction (single byte) writes the value to the specified register
can_set_rxb1_filter4(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RXB1 acceptance filter #4
can_set_rxb0_filter1(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RXB0 acceptance filter #1
can_set_rxb1_filter2(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RXB1 acceptance filter #2
can_set_rxb1_filter5(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RXB1 acceptance filter #5
can_set_rxb1_mask(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RX acceptance mask for buffer RXB1 N.B. calling with 0,0,0,0 will pass all messages
can_reset()
mcp2515 Reset instruction. Puts the mcp2515 in Configuration Mode.
can_set_config(byte in p1, byte in p2, byte in p3)
set bit-rate and related can bus configuration. see datasheet for details. N.B. The chip must already be in 'configuration mode'.
can_set_rxb0_mask(byte in sidh, byte in sidl, byte in eid8, byte in eid0)
set RX acceptance mask for buffer RXB0 N.B. calling with 0,0,0,0 will pass all messages
can_send(byte in buf_no, dword in can_id, byte in buf[8], byte in len) return bit
send CAN frame Non-blocking -- function returns immediately if buffer is busy (in-use) FIXME. this is ugly code
can_is_ext_id(dword in can_id) return bit
No documentation found
can_is_rtr_id(dword in can_id) return bit
No documentation found
can_rx_status() return byte
mcp2515 RX status instruction
can_read_status() return byte
mcp2515 read status instruction
can_is_error_id(dword in can_id) return bit
FIXME: will we ever need this?
can_read(byte in addr) return byte
mcp2515 read instruction (single byte) returns the current value of the specified register
can_is_std_id(dword in can_id) return bit
No documentation found
can_receive(byte in buf_no, dword out can_id, byte out buf[8], byte out len) return bit
receive CAN frame, sets can_id flag bits as to standard/extended, error, and remote. Non-blocking -- function returns immediately if no message is available. FIXME. this is ugly code
| 16f819 | 16f819_mcp2515_can_monitor.jal |
| 16f819 | 16f819_canopen_mcp2515_txhb.jal |
| 16f819 | 16f819_mcp2515_canid4_monitor.jal |


A Camera see what is there, they we won’t usually see dust or baseboard dirt but there are some areas that will stick out. Here are some tips to make the shoot a good one.
- Remove knick·knack: Get all knick·knack, stacks of paper, remote controls, extraneous furniture, family photos, pet stuff & toys out of sight.
- Surfaces: The counter tops in the bathrooms and kitchen should be as clean and as empty as possible.
- Bathroom: Hide all your personal bath and shower effects.
- Bins and Cans: Hide the trash cans, power cords and cables as much as you can.
- Lights: Replace any light bulbs that are out.
- Upholstery: All bedding, comforters, pillows and bed skirts should be properly aligned.
- Color: Bring some color; a flower arrangement on the dining room table or a large bathroom. Or a bowl of oranges, apples or lemons in the kitchen.
- Outdoors: Have the lawn mowed, leaves raked, bushes trimmed.
- Vehicles: Remove all vehicles from the driveway and front of the house.


| MODIFY_LDT(2) | Linux Programmer's Manual | MODIFY_LDT(2) |
#include <sys/types.h>
int modify_ldt(int func, void *ptr, unsigned long bytecount);
Note: There is no glibc wrapper for this system call; see NOTES.
When func is 0, modify_ldt() reads the LDT into the memory pointed to by ptr. The number of bytes read is the smaller of bytecount and the actual size of the LDT, although the kernel may act as though the LDT is padded with additional trailing zero bytes. On success, modify_ldt() will return the number of bytes read.
When func is 1 or 0x11, modify_ldt() modifies the LDT entry indicated by ptr->entry_number. ptr points to a user_desc structure and bytecount must equal the size of this structure.
The user_desc structure is defined in <asm/ldt.h> as:
struct user_desc { unsigned int entry_number; unsigned int base_addr; unsigned int limit; unsigned int seg_32bit:1; unsigned int contents:2; unsigned int read_exec_only:1; unsigned int limit_in_pages:1; unsigned int seg_not_present:1; unsigned int useable:1; };
In Linux 2.4 and earlier, this structure was named modify_ldt_ldt_s.
The contents field is the segment type (data, expand-down data, non-conforming code, or conforming code). The other fields match their descriptions in the CPU manual, although modify_ldt() cannot set the hardware-defined "accessed" bit described in the CPU manual.
A user_desc is considered "empty" if read_exec_only and seg_not_present are set to 1 and all of the other fields are 0. An LDT entry can be cleared by setting it to an "empty" user_desc or, if func is 1, by setting both base and limit to 0.
A conforming code segment (i.e., one with contents==3) will be rejected if func is 1 or if seg_not_present is 0.
When func is 2, modify_ldt() will read zeros. This appears to be a leftover from Linux 2.4.
modify_ldt() should not be used for thread-local storage, as it slows down context switches and only supports a limited number of threads. Threading libraries should use set_thread_area(2) or arch_prctl(2) instead, except on extremely old kernels that do not support those system calls.
The normal use for modify_ldt() is to run legacy 16-bit or segmented 32-bit code. Not all kernels allow 16-bit segments to be installed, however.
Even on 64-bit kernels, modify_ldt() cannot be used to create a long mode (i.e., 64-bit) code segment. The undocumented field "lm" in user_desc is not useful, and, despite its name, does not result in a long mode segment.
| 2020-02-09 | Linux |


Quickstart¶
This page should give you all the information needed to create something in blender very quickly
First you need to download and install Blender. This can be done from https://www.blender.org/download/
Next copy the files from Blogo/src/ into <blender_install_dir>/scripts/ (there are two directories in /src/ which should both already exist in scripts, the contents should be merged in)
Then run Blender, choose “New File/General” and you should see a cube floating in the middle of a pair of axes.
Hit Shift+F4 on your keyboard to take you to the python console. (There is a scripting section which will let you edit code in Blender, I prefer to edit code outside Blender)
Create a file somewhere which contains
from blogo import * from blogo_utils import * BlogoUtils.start_fresh() BlogoUtils.add_light_area() turtle = Blogo() turtle.set_texture("yellow") for i in range(10): turtle.circle(6) turtle.rt(36)
Let’s assume this file is called “c:/dev/first.py”
Back in the Blender python console type
show("c:/dev/first.py")
and press ENTER.
After a short pause you should see a pretty yellow flower. You can click on the X/Y/Z in the top right corner of the view to rotate round it and use the magnifying glass to zoom in or out, the hand to pan around it.
Now either play around with the files in examples/ or adding some more code to first.py


| |
Your Creative Cloud membership has increased from 100GB of cloud storage to 1TB per user at no additional charge. |
|
| |
To learn more about this enhanced service, see our FAQ. |
|
| |
Sincerely,
The Adobe Creative Cloud team |
|
|
| |
Adobe, the Adobe logo, Creative Cloud, and the Creative Cloud logo are either registered trademarks or trademarks of Adobe in the United States and/or other countries. All other trademarks are the property of their respective owners.
Registered Office: Adobe Systems Software Ireland Limited, 4-6 Riverwalk, Citywest Business Park, Dublin 24, Ireland. Registered number: 344992 |
|
|


{{eventAggregate.event.name}} - {{eventAggregate.event.dateandtime}}
{{eventAggregate.reservations.length}} NUMBER OF RESERVATIONS LABEL
{{eventAggregate.boxofficePurchases.length}} NUMBER OF BOXOFFICE PURCHASES LABEL
{{eventAggregate.customerPurchases.length}} NUMBER OF CUSTOMER PURCHASES LABEL


This field is required
Value must be a number
Value must be an integer
{{field.constraint_message}}
Value does not match specified pattern
{{field.constraint_message}}
Outside lower bound of valid range
{{field.constraint_message}}
Outside upper bound of valid range


Home
Test
Wednesday, Febuary 14th, 2018
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Test2
Wednesday, Febuary 15th, 2018
Lorem ipsum dolor sit amet, consectetur adipiscing elit.


20 November is Black Awareness Day in Brazil. A day of celebration for the resistance of Afro-Brazilians. Today, as always, Brazil white supremacy has strong voice in our education and literature. Afro-Brazilian great symbols are unknown to most Brazilians. Paradoxically, Brazil is the largest black country outside the African continent. A population of about 52% Afro-Brazilians and very few, if not none of Brazil’s black heroes, are presented to our children. Black Awareness Day fights to break this strategy of making black people considered slave by nature.
This year black movement groups in Brazil are launching a campaign to make Black Awareness day a national holiday in Brazil.
Who is Zumbi?
Zumbi is considered one of the greatest black heroes in the history of Brazil. But why Zumbi and not the others? Zumbi was the last leader of the Republic of Palmares, Palmares was the first independent republic in the Americas. Zumbi mastery in war gave him the nickname of immortal negro by the white colonizers. Besides all the oppression that Africans lived in colonial Brazil, in Palmares: Africans, Europeans and native Americans enjoyed peace and liberty in a true communalist society for almost a century.
Zumbi is today considered the symbol of Black Awareness Day in Brazil. 20 November 1695 is the believed date of Zumbi death by decapitation.
Palmares
In early 1597, some of the enslaved Africans in Brazil broke the shackles of slavery and fled to the jungle between the states of Pernambuco and Alagoas. Initially it was a small band of escapees. But this group grew little by little until it became a community of nearly thirty thousands "rebel" Africans. They established the first government of free Africans in the "New World", indisputably a true African State, known as the Republic of Palmares.
At more or less the same time it happened that, in Angola, the African Queen N’Zingha was valiantly resisting, in armed struggle, the invasion of her territories by the Portuguese.
The republic of Palmares, with its immense population by the standards of the epoch, dominated a territorial area more or less one third the size of Portugal. This was the property of all. The fruits of collective labor were the property of all. The free Africans planted and harvested a wide variety of products and bartered with their white and indigenous Brazilian neighbors. They were very effectively both socially and politically, in their African manner and tradition, and were highly skilled in the art of war.
Palmares put into question the entire colonial structure: the army, the land tenure system of the Portuguese patriarchs and the Catholic Church. it withstood some twenty-seven wars of destruction, waged by both the Portuguese and the Dutch colonial military structures established in Pernambuco. Palmares resisted in armed struggle for almost one century.
These are only two historic examples out of the long history of resistance and struggle against foreign domination that is an integral part of our African heritage both in the continent and the Diaspora.
Zumbi, the last of Palmares is celebrated in the Pan-African experience of Brazil as the first hero of Pan-Africanism. We hope that he and his people of Palmares will be recognized and remembered by the rest of the Pan-African world as exemplary militants and forefathers of Pan-Africanism itself.
Some major symbols of black resistance fights in Brazil
Dandara
She was the Queen of Palmares, commander of Palmares’ military. She was the main individual leading the resistance of the unsurpassed new republic and a symbol of audacity and bravery
Luisa Mahin
She was the leader of the Revolta dos Males(Male Revolt), a black revolt, planned by muslim enslaved Africans in the 19th century.
João Candido
He was the leader of the Revolta da Chibata(Revolt of the Lashes). Revolta da Chibata was a multi-racial revolt against corporal punishment in the Brazilian navy in 22 November 1910.
National holiday
None of those black Brazilians that fought for liberty and justice has a holiday in Brazil. Most of them are not even known to Brazilians, and most of those who’ve heard about them, doesn’t even know they were black.
It is unacceptable that Zumbi or any of those other symbols haven’t a national holiday while a white supremacist and slave owner called Tiradentes, a man that fought without success for liberty, have a national holiday with military marches every year on 21th April.
What could we do to facilitate black awareness in Brazil?
- First of all make sure that people recognize they live in a black country.
- Never call the blacks a minority in Brazil.
- Tell them about the glory and bravery of black people in the history of Brazil.
- Make sure that people understand that Brazil was a country built by Africans and not Europeans.
- Show them that almost every folklore, music, culinary, accents in Brazil was developed by the Africans.
- Explain to them that they don’t see black people on TV because they are marginalized and inferiorized.
- Study with them that in terms of politics, Brazil was in a dictatorship or in a democracy lead by either white supremacists or some members of the white dominating minority.
- Fight to make Black Awareness Day a national holiday in Brazil.
- Above all, help people being proud of being black and proud of being born in a country where their forefathers have built.
Zumbi está vivo!
[1] NASCIMENTO, Abdias. (1989). Brazil, Mixture or Massacre. Dover : Majority Press.


Table of Contents
- Introduction
- Lab Assumptions
- Section 1-Login to the Oracle Cloud
- Section 2-Create an SSH key pair
- Section 3-Download Marketplace Initialization Zip
- Section 4-Create Networking and Select Region
- Section 5-Create Compute Instance
- Section 6-Setup OCI CLI
- Section 7-Finish Environment Setup
Introduction
This lab will show you how to login to the cloud and setup a compute instance using the Oracle Database image in the Oracle Cloud Marketplace. You will then setup the Oracle Cloud Command Line Interface (CLI) to download files necessary for the lab.
The Oracle Cloud Marketplace is an online store dedicated to marketing cloud business apps and professional services offered by Oracle and it’s cloud partners.
The automation is driven by the same framework that powers the decade long Oracle VM Templates for Oracle Database which have thousands of downloads and customers using it.
 The deployment allows for basic customization of the environment, further configurations, like adding extra disks and NICs, is possible post-deployment.
Lab Assumptions
- Each participant has been provided an account on the c4u03 tenancy and the network (VCN) has been pre-created.
- Each participant has been sent two emails, one from<EMAIL_ADDRESS>with their username and another from the Database PM gmail account with their temporary password.
Lab Settings
- Tenancy: c4u03
- Username/Password: Follow instructions below to access
- Compartment: <Provided by Oracle>
- VCN: <Provided by Oracle>
- Region: <Provided by Oracle>
Lab Preview
Section 1-Login to the Oracle Cloud
-
You should have received an email from Oracle Cloud with your tenancy and username. Click on the Sign In to Oracle Cloud link.
-
For this event, we are using OCI IAM users. You should have received a 2nd email with your one-time password. Enter your username (found in the first email) and your password (second email from DB PM). You will then be taken to a screen to change your password. Choose a new password that you can remember and click Sign In
-
Once you successfully login, you will be presented with the Oracle Cloud homepage. If you get an Email Activation Unsuccessful message, check to see if you can still access the cloud by looking for the hamburger menu to the left.
Section 2-Create an SSH key pair
MAC Users
- Open up a terminal and type the following commands. When prompted for a passphrase click enter. Do not enter a passphrase.
cd ~ cd .ssh ssh-keygen -b 2048 -t rsa -f optionskey
-
Inspect your .ssh directory. You should see two files. optionskey and optionskey.pub. Copy the contents of the pub file
optionskey.pub
into notepad. Your key file should be one line. You will need this to access your instance in Section 5.ls -l .ssh more optionskey.pub
For Windows: Using GitBash or Windows Subsystem for Linux (WSL)
- Open the terminal tool of your choice
- Type the following command at the prompt to generate keys for your instance.
ssh-keygen -f optionskey
- Press enter to accept the default values
- Do not assign a password for this exercise. (note you should always assign an SSH key password in production)
- Type the following to retrieve your public key. You will need this to access your instance in Section 5.
cat ~/.ssh/optionskey.pub
For Windows: Using PuttyGen
- Open PuttyGen
-
Click the [Generate] button
- Move your mouse around the screen randomly until the progress bar reaches 100%
-
Click the [Save private key] button. Name the file
optionskey
. This file will not have an extension. -
Save the public key (displayed in the text field) by copying it to the clipboard and saving it manually to a new text file. Name the file
optionskey.pub
. You will need this to access your instance in Section 5. - Note: Sometimes PuttyGen does not save the public key in the correct format. The text string displayed in the window is correct so we just copy/paste.
Section 3-Download Marketplace Initialization Zip
-
Click <here> to download the marketplace initialization zip file.
-
Save it to your downloads folder
-
Unzip the folder and locate the
StandardIO-db.cloud-init
file. You will need this later when you create your compute instance.
Section 4-Create Networking and Select Region
The VCN, Virtual Cloud Network, has been precreated for you.
-
Change your region to ensure you are creating your objects in the correct region.
-
Click on the US East(Ashburn) drop down. Select the region that you are instructed by the PM team.
Section 5-Create Compute Instance
-
Go back to your browser to the tab with your logged in access to the Oracle Cloud. Click on the hamburger menu.
-
Select Compute -> Instances to go to the screen to create your instance.
-
Before creating your instance, it is important you select the correct compartment. If you are in a PM sponsored roadshow, this will be provided to you. Do NOT select the c4u03 compartment, objects here will be deleted.
-
Click the Create Instance button.
-
Enter your desired instance name. Use your first initial, middle initial and last name. Do NOT enter kdmishra, that is for example purposes only. Click on the Change Image Source button.
-
This is the OCI Marketplace library of images. In the Browse All Images screen, click on Oracle Images to select your Oracle Database Marketplace image. Select the Oracle Database app name in the marketplace. Click the down arrow to select the database version.
-
Select the 19c version. 18c is selected by default. Ensure you choose 19c. Version numbers subject to change from image.
-
Scroll down, accept the standards and conditions and click the Select Image button.
- Click Show Shape, Network, Storage Options if it is hidden.
- AD: Instances will need to be balanced across Availability Domains (ADs) to accomodate limits in the tenancy.
- If your last name is:
- A-I -> select
AD1
- J-M -> select
AD2
- N-Z -> select
AD3
- A-I -> select
- Each availability domain has a limit on the number of instances that can be created. This ensures a balance across ADs.
- Instance Type: The instance type we are creating is a Virtual Machine.
- Instance Shape: Select the change shape button and select
VMStandard 2.2
. Click the Select Shape button to apply the change.
-
In the Configure networking section, select the dboptions compartment and the VCN you created in an earlier section. If you are in a Roadshow, use the VCN precreated by Product Management. Click on the radio button to Assign a public address. This is important. DO NOT OVERLOOK THIS STEP!!!!!!!
-
Paste your SSH key pub file contents from the earlier section into this window. It should be one line.
-
Click on Show Advanced Options. Choose the dboptions compartment. Click on the Choose cloud-init script file. Click Choose File.
-
Select the extracted
StandardIO-cloud-init
script. There are multiple scripts dependent on the shape you want. For this lab, we will be using the Standard IO. -
Once your script is loaded, you should see it in the window.
-
Click the Create button to create your instance. Your instance will be in the provisioning state for about 4 minutes. Verify that you chose the correct image. In a few minutes you can also verify that you have a public IP address. View the Work Requests at the bottom, this will show where your instance is.
- Once the instance moves to the
Running
state, locate your public IP address and jot it down.
Section 6-Setup OCI CLI
Now that you have your instance, once you are able to ssh in, you will set up the OCI Command Line interface.  This means you will not be able to login until the ssh daemon is started. This could take around 5-7 minutes. Once 5 minutes has passed, you should be able to ssh into the instance. YOU MAY NOT BE ABLE TO SSH INTO YOUR INSTANCE UNTIL THE INIT SCRIPT IS COMPLETE, PLEASE BE PATIENT AND DO NOT CREATE ANOTHER INSTANCE
Connecting via MAC or Windows CYGWIN Emulator
-
Open up a terminal (MAC) or cygwin emulator as the opc user. Enter yes when prompted.
ssh -i ~/.ssh/optionskey opc@<Your Compute Instance Public IP Address>
-
Proceed to the Install CLI section.
Connecting via Windows
-
Open up putty and create a new connection.
ssh -i ~/.ssh/optionskey opc@<Your Compute Instance Public IP Address>
-
Enter a name for the session and click Save.
-
Click Connection > Data in the left navigation pane and set the Auto-login username to root.
-
Click Connection > SSH > Auth in the left navigation pane and configure the SSH private key to use by clicking Browse under Private key file for authentication.
-
Navigate to the location where you saved your SSH private key file, select the file, and click Open.
-
The file path for the SSH private key file now displays in the Private key file for authentication field.
-
Click Session in the left navigation pane, then click Save in the Load, save or delete a stored session section.
-
Click Open to begin your session with the instance.
Install Python3
In the default Oracle Linux 7, we have Python version 2.7 installed. This version will reach the end of its life on Jnauary 1st, 2020. Fortunately it is easy to install Pyhton version 3 which is automatically used by our Oracle Cloud CLI script.
sudo yum -y install python3
Your VM will now download the required packages
Running transaction
Installing : python3-pip-9.0.3-5.el7.noarch1/4
Installing : python3-setuptools-39.2.0-10.el7.noarch 2/4
Installing : python3-3.6.8-10.0.1.el7.x86_64 3/4
Installing : python3-libs-3.6.8-10.0.1.el7.x86_64 4/4
Verifying : python3-libs-3.6.8-10.0.1.el7.x86_64 1/4
Verifying : python3-pip-9.0.3-5.el7.noarch2/4
Verifying : python3-setuptools-39.2.0-10.el7.noarch 3/4
Verifying : python3-3.6.8-10.0.1.el7.x86_64 4/4
Installed:
python3.x86_64 0:3.6.8-10.0.1.el7
Dependency Installed:
python3-libs.x86_64 0:3.6.8-10.0.1.el7python3-pip.noarch 0:9.0.3-5.el7python3-setuptools.noarch 0:39.2.0-10.el7
Complete!
Install CLI
Next step is to install the Oracle Cloud CLI. This can be done manually (see documentation) or through an automated script.
-
Download the Oracle Cloud CLI install script.
bash -c "$(curl -s –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
****************************************************************************** You have started the OCI CLI Installer in interactive mode. If you do not wish to run this in interactive mode, please include the --accept-all-defaults option. If you have the script locally and would like to know more about input options for this script, then you can run: ./install.sh -h If you would like to know more about input options for this script, refer to: https://github.com/oracle/oci-cli/blob/master/scripts/install/README.rst ****************************************************************************** Downloading Oracle Cloud Infrastructure CLI install script from https://raw.githubusercontent.com/oracle/oci-cli/v2.6.12/scripts/install/install.py to /tmp/oci_cli_install_tmp_ri6V. ######################################################################## 100.0% Running install script. python3 /tmp/oci_cli_install_tmp_ri6V -- Verifying Python version. -- Python version 3.6.8 okay.
-
Accept all the defaults. This will install packages like python, configparser, etc. Do not install any additional scripts. When prompted to Modify profile to update your $PATH and enable shell/tab completion now? (Y/n) enter Y to update your $PATH and enable shell/tab completion.
- You will be prompted at the end to run an exec command to restart your shell. Do that now.
exec -l $SHELL
-
Once you verify installation is successful, verify the install by running the oci command with the -v option. This will tell you the version of oci installed (2.6.10 and later)
oci -v
-
To setup OCI CLI you will need to provide your instance with your OCI ID and Tenancy ID. To locate your user details, go to the upper left corner and click on the circular icon-> User Settings. Note the region in which you are working (upper left corner).
-
Now that the binaries are complete. You will need to provide your tenancy id and user id. Go back to your browswer and click on the hamburger menu.
-
Click Administration -> Tenancy Details
-
Click Show to show the full tenancy id. This is the unique identifier for the tenancy you are working in. Click Copy and copy that to your notepad.
 Accept the default location when prompted. Enter Y to generate an RSA key pair (no passphrase needed).
oci setup config
- Location for your config: Press enter
- User OCID: Paste your OCI ID from the previous step
- Tenancy OCID: Paste your tenancy ID from the previous step
- Enter a region: Find your region in your browser in the top right
- Generate a new RSA Key Pair: Y
- Press enter for the last 3 questions accepting the defaults
BE SURE TO PASTE THE CORRECT VALUES OR SETUP WILL NOT WORK
-
Go to the hidden .oci directory and examime the public key file and the config file.
cd /home/opc/.oci more config more /home/opc/.oci/oci_api_key_public.pem
-
Now that you have installed cli and configured it, you need to add an API key to your user profile. Go back to your browswer and click the user icon (top Rrght of your browswer) and click User Settings. Click API Keys and Add Public Key.
- Paste the content of oci_api_key_public.pem copied earlier and
click Add.A new finger print will be generated. Switch to the SSH
terminal session and type:
more /home/opc/.oci/config
Compare the fingerprint in the output of config file to the one in OCI console window and make sure they match.
-
Now let’s test. Enter the following command. Ignore any python related errors. The –output table formats the cli to return the command results in table format.
Enter the DBOptions Bucket Name that matches your compartment. (e.g. dboptionsCN1203 or dboptionsUS-REST1211, etc)
```` oci os object list -bn <<Enter DBOptions Bucket Name>> --output table ```` ![](/learning-library/data-management-library/database/options/img/ssbdmp.png)
Section 7-Finish Environment Setup
-
Congrats! You have Oracle Cloud command line access to your newly created instance! Let’s download the files you will need for these labs from object storage. A storage bucket
DBOptions
has been created that has all the files you need for the series of labs in this roadshow. YOu will be downloading the files directly to the instance you just created using the oci clibulk-download
command. It may take some time (2-3 mins), please be patient.Enter the DBOptions Bucket Name that matches your compartment. (e.g. dboptionsCN1203 or dboptionsUS-REST1211, etc)
cd /home/opc/ oci os object bulk-download -bn <<Enter DBOptions Bucket Name>> --download-dir /home/opc
- Now that your files are downloaded, run the scripts to import the schemas to prepare for the In-Memory lab.
cd /home/opc/ sudo mv labs.zip /home/oracle sudo mv ssb.dmp /home/oracle sudo chown oracle:oinstall /home/oracle/labs.zip sudo chown oracle:oinstall /home/oracle/ssb.dmp sudo su - oracle unzip labs.zip
- The next two labs, In-Memory and Multitenant need additional
schemas and pluggable databases created. Run the scripts in the
background to create them as the oracle user. Let’s run the multitenant
script. This script takes approximately 15-30 minutes to complete and
runs as a unix job in the background. Ignore the error about the SYS
password. To check status you can use the jobs command.
cd /home/oracle/labs nohup /home/oracle/labs/multitenant/createCDBs.sh &> nohupmultitenant.out&
- Now let’s run the script to setup the In-Memory lab. This script
takes approximately 10 minutes to complete. This script also runs in
the background.
nohup /home/oracle/labs/inmemory/importssb.sh &> nohupinmemory.out&
- Type jobs to see the two scripts running. Tail -f each output file to check the status.
jobs more nohupinmemory.out tail -f nohupmultitenant.out
- The 1st Multitenant setup script creates two additional listeners
and 2 container databases, CDB1 and CDB2. After 20 minutes, go back to
your terminal and check to see if the scripts completed using the
comnands below,
ps -ef | grep tns ps -ef | grep pmon
-
Set the databases to start upon boot. Exit the oracle shell and modify the oratab file.
exit sudo sed -i 's/:N/:Y/g' /etc/oratab
-
Congratulations, you finished! This is the end of the environment setup lab!  You wil start it back up when the Roadshow begins.
-
Go back to your instance in the web by clicking on the hamburger icon and selecting Compute->Instances.
-
Click the Stop button.
- Click OK
- Once you confirm your instance has stopped, you can close your browser.


Waterloo Fire Rescue celebrated a century of public service in 2004 as a professional organization of emergency services providers. For some 40 years prior to 1904, several volunteer fire companies provided fire protection for the steadily growing city. The first piece of motorized fire apparatus (REO) in the state of Iowa was purchased just after the turn of the 20th century for the Waterloo fire department. At the time, REO replaced a team of horses at the department headquarters.
Chief of Fire Services
Pat Treloar
(319) 291-4459
<EMAIL_ADDRESS>Fire Marshal
Steve Jordan
(319) 291-4460
Medical Supervisor
Barb McBride
(319) 291-4460
Waterloo Fire Rescue currently employs just over 100 uniformed and 4 civilian professionals, all of whom are highly skilled and passionate. Through their dedication, fortitude, adaptability, and ongoing training, these professionals are able to expertly provide service around-the-clock to over 70,000 citizens and visitors of Waterloo. The bargaining unit for personnel is the IAFF, local 66. Check out the latest from their Twitter feed.
In addition to its role in fire suppression and rescue, the department provides fire-service based Emergency Medical Services (EMS). In our system, ambulances are staged at firehouses and are staffed by cross-trained firefighter-paramedics. This affords considerable efficiency and flexibility to its operations, especially for incidents in which medical and fire professionals must dovetail (e.g., motor vehicle accidents or other rescues with injury).
Interlocal (28E) response agreements exist to provide fire protection for the East Waterloo and Cedar townships and for Elk Run Heights. Ambulance agreements provide emergency medical assistance for several nearby cities: Allison, Denver, Dunkerton, Dysart, Evansdale, Fairbank, Gladbrook, Grundy Center, Hudson, Jesup, La Porte City, Reinbeck, Traer, Vinton, and Wellsburg. Hazardous materials response and training is provided for nearly all populations in 11 counties of northeastern Iowa through 28E agreements, covering 6,291 square miles: Allamakee, Black Hawk, Bremer, Butler, Chickasaw, Grundy, Hardin, Howard, Poweshiek, Tama, and Winneshiek.
Emergency services are provided with 22 frontline apparatus, ranging from aerial ladders to ambulances to rescue boats, staffed by an average of 29 personnel per shift at 6 different stations. The department comprises three battalions (shifts). The budget for 2014-2015 was roughly $13.5M. In 2014, the department had a total of 12,086 responses over a territory of 80 square miles; details are given below. Unless otherwise noted, apparatus are staffed 24 hours a day. There were 195 fires in 2014. Nearly half of these incidents were for structure fires (91), and there were substantial numbers of both passenger-vehicle (46) and wildland fires (36).
| Unit | Station | Apparatus | Personnel | Unit Responses |
|---|---|---|---|---|
| 300 | 1 | battalion chief | 1 | 270 |
| 301 | 1 | rescue pumper | 3 | 1125 |
| 311 | 1 | aerial truck | 2 | 83 |
| 331 | 1 | medic | 2 | 2702 |
| 321* | 1 | fire chief | 1 | 11 |
| 323* | 1 | training officer | 1 | 1 |
| 326* | 1 | fire marshal | 1 | 16 |
| 349* | 1 | rescue gator | 2 | 1 |
| 360* | 1 | brush truck | 3 | 8 |
| 371* | 1 | rescue boat | 3 | 1 |
| 302 | 2 | rescue pumper | 3 | 1077 |
| 332 | 2 | medic | 2 | 2173 |
| 303 | 3 | engine | 3 | 622 |
| 333* | 3 | medic | 3 | 71 |
| 304 | 4 | engine | 3 | 751 |
| 334 | 4 | medic | 2 | 1760 |
| 374* | 4 | rescue boat | 3 | 1 |
| 305 | 5 | engine | 3 | 721 |
| 375* | 5 | rescue boat | 3 | 0 |
| 306 | 6 | rescue pumper | 3 | 661 |
| 336* | 6 | medic | 3 | 19 |
| 380* | HMRTC | hazmat trailer | 2 | 3 |
| 381* | HMRTC | hazmat semitrailer | 2 | 0 |
In 1967, citizens of Waterloo approved a $1.1 million bond issue to build five new stations for the city. Station 1 (Fire Rescue headquarters) moved from 315 E 5th St to the current location at 425 E 3rd St. At the time, station 2 moved from 716 Commercial St to 1906 Randolph St (and its current location is at 1812 LaPorte Rd). Station 3 moved from 834 Logan Ave to 222 W Donald St. Station 4 moved from the corner of Oaklawn and Falls Avenues to 1200 Ansborough Ave. Station 6 was located to 3233 Ansborough Ave. These five new locations opened in 1969. Fire station 5 was built in 1948 at 617 Nevada St and currently serves from the same location.


{% extends "base_generic.html" %} {% block content %} {% load widget_tweaks %}
Are you sure you want to delete {{ bestiary }}? This action will not delete any creatures.


{% url 'events' as events_url %}
{% url 'events' 'all' timespan as events_all_url %}
All
{% url 'events' 'none' timespan as events_none_url %}
None
{% for group in groups %}
{% url 'events' group.id timespan as events_group_url %}
{{ group.name }}
{% endfor %}
Timespan
{% url 'events' as events_url %}
{% url 'events' filter 'future' as events_future_url %}
Future
{% url 'events' filter 'past' as events_past_url %}
Past
{% url 'events' filter 'all' as events_all_url %}
All


Hypertext Markup Language (HTML) is the standard markup language for creating web pages and
web applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad of cornerstone technologies
for the World Wide Web. Web browsers receive HTML documents from a web server or from
local storage and render the documents into multimedia web pages.
HTML describes the structure of a web page semantically and originally included cues for the appearance
of the document.
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a
document written in a markup language like HTML. CSS is a cornerstone technology of the World Wide Web,
alongside HTML and JavaScript. CSS is designed to enable the separation of presentation and content,
including layout, colors, and fonts. This separation can improve content accessibility, provide more
flexibility and control in the specification of presentation characteristics, enable multiple web pages
to share formatting by specifying the relevant CSS in a separate .css file,
and reduce complexity and repetition in the structural content.
Bootstrap is a free and open-source CSS framework directed at responsive,
mobile-first front-end web development. It contains CSS- and (optionally) JavaScript-based design templates for
typography, forms, buttons, navigation and other interface components. Bootstrap is the third-most-starred project
on GitHub, with more than 131,000 stars, behind only freeCodeCamp (almost 300,000 stars) and marginally
behind Vue.js framework. According to Alexa Rank, Bootstrap getbootstrap.com is in the top-2000 in
US while vuejs.org is in top-7000 in US.


Connect with Us:
Facebook
Twitter
Google+
Contact Info:
Phone:
TELEPHONE_NUMBER
Email:
EMAIL_DISPLAY
Terms
|
Privacy
|
Unsubscribe


Its Lit!
Menu
Home
Lit right now!
Contact
Spark up a conversation!
Jash
1h ago
Its Lit rep
ONLINE
Bestie
1min ago
It's Lit
2
It's Lit
Your source for everything that is hot RIGHT NOW
See whats lit
Ignite(record)
Fire
IT's LIT
Ignite your Night


Contents
lists
available
at
Seminars
in
Cell
&
Developmental
Biology
j
o u r n a
l
h
o
m e
p a g e :
w w w . e l s e v i e r . c o m / l o c a t e / s e m c d b
Review
Telocytes
in
their
context
with
other
intercellular
communication
agents
Lawrence
Edelstein a,∗,
Kjell
Fuxe b,
Michael
Levin c,
Bogdan
O.
Popescu d,
John
Smythies e
a P.O.
Box
2316,
Del
Mar,
CA,
USA
b Department
of
Neuroscience,
Retzius
väg
8,
Karolinska
Institutet,
Stockholm,
Sweden
c Biology
Department
and
Tufts
Center
for
Regenerative
and
Developmental
Biology,
Tufts
University,
Medford,
MA,
USA
d Laboratory
of
Neuroscience
and
Experimental
Miology,
‘Victor
Babes’
National
Institute
of
Pathology
and
Department
of
Clinical
Neurosciences,
‘Carol
Davila’
University
of
Medicine
and
Pharmacy,
Bucharest,
Romania
e Center
for
Brain
and
Cognition,
Department
of
Psychology,
UC
San
Diego,
La
Jolla,
CA,
USA
a
r
t
i
c
l
e
i
n
f
o
Article
history:
Received
27
January
2016
Received
in
revised
form
13
March
2016
Accepted
15
March
2016
Available
online
21
March
2016
Keywords:
Telocytes
Intercellular
communication
Exosomes
Volume
transmission
Neurodegenerative
disease
Bioelectricity
Pattern
regulation
Regenerative
medicine
a
b
s
t
r
a
c
t
The
past
decade
has
borne
witness
to
an
explosion
in
our
understanding
of
the
fundamental
complex-
ities
of
intercellular
communication.
Previously,
the
ﬁeld
was
solely
deﬁned
by
the
simple
exchange
of
endocrine,
autocrine
and
epicrine
agents.
Then
it
was
discovered
that
cells
possess
an
elaborate
sys-
tem
of
extracellular
vesicles,
including
exosomes,
which
carry
a
vast
array
of
small
and
large
molecules
(including
many
epigenetic
agents
such
as
a
variety
RNAs
and
DNA),
as
well
as
large
organelles
that
mod-
ulate
almost
every
aspect
of
cellular
function.
In
addition,
it
was
thought
that
electrical
communication
between
cells
was
limited
mainly
to
neurotransmitters
and
neuromodulators
in
the
nervous
system.
Also
within
the
past
decade,
it
was
found
that
–
in
addition
to
neurons
–
most
cells
(both
mammalian
and
non-mammalian)
communicate
via
elaborate
bioelectric
systems
which
modulate
many
fundamental
cellular
processes
including
growth,
differentiation,
morphogenesis
and
repair.
In
the
nervous
system,
volume
transmission
via
the
extracellular
matrix
has
been
added
to
the
list.
Lastly,
it
was
discovered
that
what
had
previously
been
regarded
as
simple
connective
cells
in
most
tissues
proved
to
be
minia-
ture
communication
devices
now
known
as
telocytes.
These
unusually
long,
tenuous
and
sinuous
cells
utilize
elaborate
electrical,
chemical
and
epigenetic
mechanisms,
including
the
exchange
of
exosomes,
to
integrate
many
activities
within
and
between
nearly
all
types
of
cells
in
tissues
and
organs.
Their
interrelationship
with
neural
stem
cells
and
neurogenesis
in
the
context
of
neurodegenerative
disease
is
just
beginning
to
be
explored.
This
review
presents
an
account
of
precisely
how
each
of
these
varied
mechanisms
are
relevant
and
critical
to
the
understanding
of
what
telocytes
are
and
how
they
function.
©
2016
Elsevier
Ltd.
All
rights
reserved.
Contents
1.

1.
Introduction
Until
recently
the
degree
of
communication
recognized
between
cells
was
limited
to
simple
endocrine,
autocrine
and
epicrine
mech-
anisms.
The
last
few
years
has
witnessed
the
explosive
growth
of
our
knowledge
of
other
more
complex
forms
of
intercellular
http://dx.doi.org/10.1016/j.semcdb.2016.03.010
1084-9521/©
2016
Elsevier
Ltd.
All
rights
reserved.


typography
ux design
html / css
iOS / android
package
design
adobe creative cloud
ruby / php / sql
project
management
graphic design
javascript
Typography is a component of graphic design that examines the form, character, and arrangement of letters within text to aid in communicating a message. Typographic design helps set the tone and feeling of the message attached to its design.
Typography
Where?
Take a look at the Coca Cola or IBM logos, the words in a book, the text you’re reading right now! Typographic design exists wherever text, words, or letters are being employed, whether through intentional application or not.
Who?
Graphic designers, typographers, illustrators, and web designers apply these skills in their professional work.
Perhaps you have selected a font in a word processor recently. Guess what? You’ve begun to flex your typographic muscles!
User interface and user experience (UI and UX) design provide an intuitive and sensible experience for website or mobile app users. UI and UX design aims to maximize the user’s experience, by applying relevant visual elements and compositional techniques.
UX Design
Where?
Have you ever been on a website and was able to find exactly what you’re looking for without thinking about it? Intuitive UX design will allow just that. Real world examples include well known websites such as Tumblr, or Apple.
Who?
Web developers of all kinds practice UI and UX design. Many opportunities to specialize within this field exist, such as professional UX Designers.
HTML and CSS are markup languages that work together to create what you see when you visit a web page on the internet. HTML and CSS provide structure for the layout of a web page, such as how a block of text and a picture interact together. HTML and CSS also define the visual styles of each element on the web page, such as text color, size, and font.
HTML and CSS markup languages form the foundation for any further website development.
HTML & CSS
Where?
Any time you view a website, you’re looking at the results of HTML and CSS markup, all the way from Google.com to your local restaurant’s website. HTML and CSS are implemented in varying ways to create the different looks and structures between these websites.
Who?
Web developers of all kinds use HTML and CSS markup languages; those who focus on these languages are called Front-End web developers.

This is the main heading for the web page

This is where a paragraph of text goes

This creates a link that goes to the home page of the IM Design + Development website. The _blank means it will open in a new tab.
<link rel=”stylesheet” src=”css/main.css”>
Below is a style tag. Contained with it are styles for the document.

If you’re using Chrome or Firefox browsers, you can right-click this page and then click ‘Inspect’ to see these markup tags. Hidden in the HTML markup is a secret message. Can you find it?
Java is a language used for Android mobile devices, while Swift is a language employed for iOS mobile devices. Both Java and Swift languages and their integrated development environments are the foundation for any app you use on your iPhone or Android device.
Android / iOS
Where?
iPhone or Android mobile device apps that have been created with Swift or Java include WhatsApp, Angry Birds, and Spotify. Many web platforms have developed mobile app versions of their websites, including Facebook, Twitter, Skype, Google Maps, and, you guessed it - a lot more!
Who?
Mobile App developers utilize these tools to create apps for the app stores. Some developers specialize specifically in Java / Android or Swift / iOS. Java and Swift are often written alongside SQL to connect a website to a database, allowing for an interactive mobile experience.
Package design is visual communication in a three dimensional space. Successfully designed packaging will ensure the product is visually enticing, suitable for shipping, and is effectively contained. Who uses it? Graphic designers of all varieties may either dabble, or specialize in the field of package design.
Package
Design
Where?
Anything from a cereal box to the envelope of a letter could be considered package design. It can be as simple as a candy wrapper created for Halloween, or as advanced and refined as the packaging for an Apple MacBook Laptop.
Who?
Graphic designers of all varieties may either dabble, or specialize in the field of package design.
Graphic design forms the foundation of visual communication. In order to visually represent an intended message, graphic design can include a range of visual media elements, from a basic dot, line, or other shape, to detailed iconography or photographic imagery.
Graphic Design
Where?
Take a look at the Coca Cola or IBM logos, the words in a book, the text you’re reading right now! Typographic design exists wherever text, words, or letters are being employed, whether through intentional application or not.
Who?
While graphic designers, photographers, website designers, illustrators, typographers, motion graphic designers and others use the principles of graphic design by trade, anyone who has created a document or sign of some kind would have begun to consider design elements.
Maybe you’ve created a poster for a school project? Written a resume? Prepared a powerpoint presentation? Each of these tasks incorporate graphic design.
Everywhere! Any time you look at a document, a poster, a cereal box, a label, a website, a mobile app... the list goes on. Each of these provides an example of graphic design elements and techniques being utilized, in various ways.
PHP, Ruby, and SQL are coding languages that are hidden from the web browsing user. Although the PHP, Ruby, and SQL languages are not observed directly in the browser, they each play an important role in making a website interactive. PHP and/or Ruby unify the website’s database with the HTML, CSS, and JavaScript that create the website.
PHP / Ruby / SQL
Where?
Have you ever clicked the like button on Facebook? Uploaded a file to Google Drive? Maybe you’ve made a tweet on Twitter? PHP and Ruby languages make these interactions possible, by accessing and managing information stored on the given website’s database.
Who?
Web developers who specialize in PHP, Ruby, and/or SQL languages are called Back-End web developers; other professions that may use these languages include Database Manager, Full-Stack developer, or WordPress Developer.
The Adobe Creative Cloud software includes essential tools like Illustrator, Photoshop, InDesign, and Dreamweaver. Whether used individually, or in conjunction with one another, Adobe software provides powerful tools for creating effective and diverse graphic and typographic visual communications in print and on the web.
Adobe
Creative Cloud
Where?
Have you seen a photograph that was manipulated to tell a story, different than its original meaning? That was likely manipulated using photoshop. Have you noticed a logo that looks just as good on a piece of stationery paper, as it does on a billboard? That can be done in Illustrator. Has a unique magazine layout caught your eye? Many print publications are designed using InDesign.
Who?
Graphic designers, print designers, photographers, web designers, illustrators, Front-End developers...the list goes on!
Building a website, developing a product, or organizing a campaign requires significant organization. Project management isn’t just about maintaining and organizing tasks within a project; project management also involves contributing skills to these projects in a collaborative team environment.
Project Management
Where?
Name any website design, advertising campaign, mobile app development, or package design project, and chances are high that a project management approach was used to develop it!
Who?
Project managers oversee a given project in its entirety, while freelance designers and/or developers may be hired to complete one component of a project for a design agency. Whether the chosen methodology be traditional or contemporary, professionals in the technology or design industry benefit from being well acquainted in the field of project management.
JavaScript is a programming language that allows for animating HTML and CSS, which enables a website to be visually interactive.
Have you observed an animated picture or icon that fades in or out on a website? Perhaps you’ve experienced pictures that gradually appear as you scroll through a web page. Do you ever get annoyed by those pop-up advertisement screens? These are all examples of how JavaScript can work with HTML and CSS to create dynamic animations.
Who?
Many web developers use JavaScript. Those who use JavaScript with HTML and CSS are termed Front-End web developers, whereas those using something like Node.js are called Back-End web developers.
Manipulate JavaScript variables to change the animation:
var speed = 15
(Seconds to complete full rotation)
var size = 75%
("var" declares the variable for the compiler)


Comments
-
Greg Hurrell
Sounds to me like there is something pretty "funky" with your Ruby 1.9.1 install on that machine. The presence of the dynamic linker error convinces me that we're not talking about a bug in Command-T now, or a compatibility quirk that could be worked around, but actually a problem in your environment.
I'm using the stock Ruby (1.8.7) that comes with Snow Leopard, but I also have a couple of other Ruby versions installed under
~/.multiruby
using the multiruby from the ZenTest gem. So I can run the spec suite against different versions of Ruby but I've only done in-VIM testing using the stock Ruby that comes with the system. If I recall from your other ticket, your own tests in IRB worked fine, didn't they? It's only under VIM that there's a problem.The fact that the dynamic linker cannot resolve the
rb_intern()
function indicates to me that there's something pretty funky going on. It's like at the time you build the extension it's using one set of headers and libraries, but at the time of building MacVim it was using another, or perhaps at runtime it is using another. So I'd ask here:- How did you build MacVim (and what was the output of the build)?
- How did you build Ruby 1.9.1 (and the output)?
-
What's the output when you do the
ruby extconf.rb && make
thing to build the Command-T extension? -
What have you got set in your environment (ie. the output
of
export
) and where is it coming from (ie. do you have anything in~/.MacOSX/environment.plist
?) -
How are you launching MacVim (
mvim
? double-click? full path to/Applications/MacVim.app/Contents/MacOS/Vim
?)
I'm going to close your old ticket #1520 seeing as that exception doesn't exist in the codebase any more and we can continue here. (0.4 is out anyway, which doesn't include that particular check any more; but the dynamic linker error is indicative of a real problem because in a working install even if you pass a non-hash options parameter you should be seeing an exception, not a linker error.)
-
anonymous
Okay, so:
- Ruby 1.9.1 was installed with RVM (http://rvm.beginrescueend.com/)
-
MacVim was installed with
./configure --with-features=huge --enable-pythoninterp --enable-rubyinterp
- The output of MacVim's build is here: http://pastie.org/private/paqhvdsnzcrcw5ly2e3hq
-
I've done a
alias vim=/Applications/MacVim.app/Contents/MacOS/Vim
after that i just launchvim
- The output of the make is: http://pastie.org/private/z0wi3a0dw5rknp7ptcik6g
- The output of export is here: http://pastie.org/private/izrv2kmcjzeyyozo2pa27w
-
KTamas
the previous anonymous post was me, just forgot to log in...
-
Greg Hurrell
Ok, I don't have any direct experience with RVM (although I like the look of it!) but from the information you've pasted it looks like:
- During the build of MacVim it found and used the files for the correct version of Ruby:
checking for ruby... /Users/ktamas/.rvm/rubies/ruby-1.9.1-p376/bin/ruby checking Ruby version... OK checking Ruby header files... /Users/ktamas/.rvm/rubies/ruby-1.9.1-p376/include/ruby-1.9.1 checking --enable-cscope argument... no
-
At least from the command line your environment has the
PATH
set up to look in the right place for Ruby binaries:
declare -x PATH="/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/Users/ktamas/.rvm/rubies/ruby-1.9.1-p376/bin:/Users/ktamas/.rvm/gems/ruby-1.9.1-p376/bin:/Users/ktamas/.rvm/gems/ruby-1.9.1-p376@global/bin:/Users/ktamas/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin"
- When building the extension the right version of Ruby was also consulted:
gcc -I. -I/Users/ktamas/.rvm/rubies/ruby-1.9.1-p376/include/ruby-1.9.1/i386-darwin10.2.0 -I/Users/ktamas/.rvm/rubies/ruby-1.9.1-p376/include/ruby-1.9.1/ruby/backward -I/Users/ktamas/.rvm/rubies/ruby-1.9.1-p376/include/ruby-1.9.1 -I. -DHAVE_RUBY_H -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O2 -g -Wall -Wno-parentheses -pipe -fno-common -std=gnu99 -Wall -Wextra -Wno-unused-parameter -o ext.o -c ext.c
If you were only using the GUI version of VIM then I would wonder if it's getting the same environment as the one you've got on the command line (that's why I asked about if you had anything in
~/.MacOSX/environment.plist
), but I see you're testing from the command line...I am going to install RVM here and try to reproduce the problem here.
-
Greg Hurrell
Ok, the good news is I've been able to reproduce the problem and I am now fairly sure it's something to do with RVM, which should hopefully be easy enough to troubleshoot.
Initial RVM set-up
$ sudo gem install rvm $ rvm-install $ echo "if [[ -s /Users/wincent/.rvm/scripts/rvm ]] ; then source /Users/wincent/.rvm/scripts/rvm ; fi" >> ~/.bash_profile
Then in a new shell:
$ rvm install 1.9.1 # set up 1.9.1 $ rvm 1.9.1 # use 1.9.1 for the rest of the session
Rebuild MacVim
$ cd trabajo/vendor/MacVim/MacVim.git # this is my local clone of the MacVim Git repp $ git pull # make sure it's up to date $ make clean $ ./configure --with-features=huge --with-macarchs=i386 --enable-rubyinterp --enable-pythoninterp --enable-cscope --disable-nls $ make $ cd ~/.vim/ruby/command-t # now rebuild the Command-T extension $ ruby extconf.rb $ make # and we're ready to try it out using the just-built MacVim $ ~/trabajo/vendor/MacVim/macVim.git/src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
Here I get this error, which is what is usually shown when the extension can't be loaded and raises a
LoadError
:command-t.vim could not load the necessary modules Please double-check the installation instructions For more information type: :help command-t
So I add in a logging statement to see exactly what the error is and it's this:
#<LoadError: dlopen(/Users/wincent/.vim/ruby/command-t/ext.bundle, 9): no suitable image found. Did<EMAIL_ADDRESS>mach-o, but wrong architecture - /Users/wincent/.vim/ruby/command-t/ext.bundle>
So looks like I have to drop the
--with-macarchs=i386
from myconfigure
invocation because the extension is probably getting built using anx86_64
arch. So after rebuilding MacVim and the extension we now get:#<LoadError: no such file to load -- vim>dyld: lazy symbol binding failed: Symbol not found: _rb_intern2 Referenced from: /Users/wincent/.vim/ruby/command-t/ext.bundle Expected in: flat namespace dyld: Symbol not found: _rb_intern2 Referenced from: /Users/wincent/.vim/ruby/command-t/ext.bundle Expected in: flat namespace Vim: Caught deadly signal TRAP Vim: Finished. Trace/BPT trap
So that's good; I've now reproduced the error.
The missing
_rb_intern2
symbolSo I Google to see if I can find out more about this dynamic linker problem and find a number of results like these:
That second one looks the most promising, and it's what makes me think this is actually an RVM thing. One of the tips there is to not use the RVM, but rather try the cutting-edge HEAD from the repp, so I'll do that presently and report back here.
-
Greg Hurrell
Now this is interesting:
$ rvm use 1.9.1 $ ruby --version ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.2.0] $ ~/trabajo/vendor/MacVim/macVim.git/src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
Now, inside VIM:
:ruby p RUBY_VERSION "1.8.7" :ruby p ENV['PATH'] "/Users/wincent/.rvm/rubies/ruby-1.9.1-p378/bin:/Users/wincent/.rvm/gems/ruby-1.9.1-p378/bin:/Users/wincent/.rvm/gems/ruby-1.9.1-p378% global/bin:/Users/wincent/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/sbin:/Users/wincent/bin:/Devel oper/Tools:/usr/X11R6/bin:/usr/local/mysql/bin:/usr/local/jruby/bin:/Users/wincent/bin/ec2-api-tools-1.3-46266/bin"
So as you can see, even though we are apparently using 1.9.1 on the command line, once we get inside VIM it thinks we're using 1.8.7 despite the
PATH
being set to use 1.9.1 and also the fact that MacVim was built with 1.9.1 active. -
Greg Hurrell
And more:
$ otool -L ~/trabajo/vendor/MacVim/macVim.git/src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim MacVim/build/Release/MacVim.app/Contents/MacOS/Vim: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0) /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /System/Library/Frameworks/Python.framework/Versions/2.6/Python (compatibility version 2.6.0, current version 2.6.1) /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/libruby.1.dylib (compatibility version 1.8.0, current version 1.8.7) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.13.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 751.14.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.25.0)
Note the linkage against the system 1.8 Ruby.
-
KTamas
Wow. Weird. I guess i'll stop using RVM and install Ruby 1.9.1 through brew/macports/fink...
-
Greg Hurrell
Let me know how you go with that. I don't think it's necessarily specific for RVM, because I also tried with Multiruby and got identical results.
In the meantime I posted to MacVim newsgroup asking for help:
I figure that there might be people hanging around there that have experience with MacVim and 1.9.1.
-
Greg Hurrell
Summary changed:
- From: MacVim and Command-T
- To: Linker errors with MacVim and Ruby 1.9.1 ("dlyd: Symbol not found: _rb_intern2")
-
Greg Hurrell
Another post worth looking at, this one from the vim_dev group:
Subject is "Ruby 1.9 compatibility status" and it's dated 10 February 2010. Pasting in the message body for reference:
All, Vim does not currently support integration with Ruby 1.9, but it's on the list (see :help todo). Masaki Suketa supplied a patch[1] to the vim_dev mailing list in July 2009, under the subject line "Patch for Vim with Ruby 1.9". Using this patch, I'm able to build Vim with support for Ruby 1.9 (on Arch Linux), as well as Ruby 1.8 (on Fedora 12 Linux). The Ruby-based plugins I use (LustyExplorer[2] and LustyJuggler[3]) work fine Ruby 1.8 and Masaki's patch. With Ruby 1.9, LustyExplorer is throwing an exception[4], but I think it's a problem with the plugin and the changing Ruby language definition, not a problem with integrating Ruby into Vim. Until Ruby 1.9 is supported in Vim, it will be more difficult for plugin authors to try Ruby 1.9 and fix any problems. Arch Linux uses Ruby-1.9, so the Arch packager for Vim has disabled Ruby integration[5] pending a Vim patch that works with Ruby 1.9. This leave Arch users somewhat out in the cold for Ruby integration. Is Masaki's patch ready to be incorporated, or is more testing required? Masaki had done testing with multiple versions of Ruby, including 1.8.7, 1.9.1, and 1.9.2dev. It's working for me with Ruby 1.8 on Fedora, so it looks harmless for Ruby 1.8 users, while allowing Ruby 1.9 users a chance to more widely exercise Ruby-based plugins and shake out compatibility bugs. Thanks, Michael Henry [1]: http://www.google.com/url?sa=D&q=http://groups.google.com/group/vim_dev/browse_thread/thread/699c65598bc6348b/e5c0a53a8a26624e%3Flnk%3Draot%26pli%3D1&usg=AFQjCNHvdVE_uVASeufLGbYEY2lWnXDCUA [2]: http://www.vim.org/scripts/script.php?script_id=1890 [3]: http://www.vim.org/scripts/script.php?script_id=2050 [4]: The exception looks like this: type mismatch: Fixnum given (eval):118:in `index' (eval):118:in `block in buildScoreArray' (eval):117:in `each_byte' (eval):117:in `buildScoreArray' (eval):103:in `score' (eval):326:in `block in matching_entries' (eval):325:in `select' (eval):325:in `matching_entries' (eval):312:in `compute_ordered_matching_entries' (eval):246:in `refresh' (eval):222:in `key_pressed' (eval):560:in `block in key_pressed' (eval):492:in `time' (eval):531:in `key_pressed' (eval):1:in `<main>' [5]: http://bugs.archlinux.org/task/16710
So perhaps you're trying to do something that isn't officially supported yet, but the patch linked to in the post might be enough to get you up and running?
-
anonymous
Okay, that's really messed up. Installed Ruby 1.9.1 with Brew, compiled MacVim with that... yet MacVim still defaults to the system Ruby 1.8.7 :((
-
anonymous
Oooooh... not supported, huh. Bleh. Gonna fall back to the system ruby 1.8.7, then....
-
Greg Hurrell
If you look at a few other tickets in the database you'll see that on some operating systems at least people are reporting success with 1.9.1:
- ticket #1505: Arch Linux
- ticket #1512: Linux
So I'm guessing that degree of "support" for 1.9.1 in VIM varies from platform to platform, as it is still very new. As I noted, 7.2 fails to compile miserably, but the trunk version from Subversion gets quite a bit further. I wouldn't be surprised if it works better on Linux than on Mac OS X. Perhaps very soon support on Mac OS X will get even better.
For the time being however, I think I've made all the changes possible for 1.9.1 compatibility, so I'm going to mark this one as closed for now. I expect that once VIM's 1.9 support improves, the plug-in should work fine on it.
-
Greg Hurrell
Status changed:
- From: new
- To: closed
-
Greg Hurrell
For reference, thread in MacVim newsgroup asking if anybody has had success building MacVim with 1.9.1 support:
Add a comment
Comments are now closed for this issue.


{% extends "base.html" %}
{% block pagecss %}
{% endblock %}
{% block pagehead %}
Lunar 400k
Eugene — Forest Grove — Eugene
July 27, 2018 (evening start)
{% endblock %}
{% block subhead %}{% endblock %}
{% block content %}
This is an evening start 400k brevet, scheduled for a full moon. We will start at 8pm and ride through the night to Forest Grove, returning to Eugene on Saturday. Most riders do not sleep on a 400k brevet, and there are no sleeping facilities on route. This is good practice in particular if you are considering riding Paris-Brest-Paris in 2019, although PBP is much hillier than this route.
The map and route have been approved by RUSA and should now be final.
We will start at Falling Sky brew-pub, 1334 Oak Alley (just off 13th street between Willamette and Oak). We proceed north through Coburg, Brownsville, and Jefferson and through Salem to Dayton and Forest Grove. Fast riders may need to control at Plaid Pantry in Forest Grove (open 24 hours). Those making Forest Grove after 6am can control at Safeway on Pacific Ave. (Maggies Buns opens at 7, likely too late for most riders.) The return leg retraces part of the outbound, to Dayton, but then stays on the west side of I-5 through Independence and Albany to Harrisburg and Coburg. We finish again at Falling Sky brew-pub, which has good bike parking. I'll have U-locks to secure bicycles to a rack visible from within so that you can enjoy your food and beer.
There are lots of convenience stores on this route, but no staffed controls aside from start and finish. This being July, the return leg is likely to be hot, but convenience stores are spaced closely enough that two bottles should be sufficient. Summer winds in the Willamette Valley are typically from the north.
There are roughly 7 miles of gravel on this route, starting around mile 163. It's not particularly deep or coarse, but it is loose and on a couple of small hills it takes some skill to maintain traction. There is some mild washboard, and a mile or two of more severe washboard. If you have a choice of bicycles or a choice of wheels, I would favor one with 32mm or fatter tires, even though the gravel section is a small portion of the overall route.
Map and downloadable track:
https://ridewithgps.com/routes/27932473
;
Cue sheet (pdf)
(xls).
Contact for more information:
<EMAIL_ADDRESS>This brevet is sanctioned by Audax Club Parisien and Randonneurs
USA, and is subject to RUSA Rules for
Riders. If you are not familiar with these rules, please
read them well in advance so that you can be prepared. They are
Your bicycle must be equipped with front and rear lights, which must be attached to the bicycle (not the rider). You will be riding through the night, so be sure you have adequate batteries or a generator. After dusk, you must use your lights. You must carry adequate reflective garments, preferably conforming to RUSA reflectivity guidelines. If you are observed riding in low light conditions with inadequate lights or reflectivity, you will be disqualified. If you do not own appropriate reflective gear, contact the organizer; I may be able to lend you some.
Familiarize yourself with procedures for riding a brevet, incuding collection of times and signatures on the control card. The card must be signed and turned in at the finish.
This is a self-supported ride. There are many convenience stores on route, including an adequate number of markets open 24 hours, so there are no staffed controls. There is no SAG; if you abandon, you must make your own arrangements for getting home. Randonneuring rules prohibit personal support vehicles or other personal support except at the controles, which are marked on the route.
A 400k (250 mile) brevet is the longest route that most randonneurs do without sleep. It can be a challenge even for very experienced riders. It is considerably harder than a supported double century like STP. At distances of 400km and up, the mental challenges are as great as the physical. Riding with someone else, or with a group, can help you deal with the mental challenge, and you may find that riding through the night with others is a particularly strong bonding experience.
Ride steadily and remember to keep eating and drinking.  Your stomach may turn against sugar, so bring something salty and savory as an alternative. Particularly on the return (southbound) leg, top up your bottles when you have an opportunity.
This is an all-conditions ride. There will be some kind of weather. Maybe it will be wonderful, and maybe it won't. Come prepared. Unless you feel your life or health are at risk, ride through.
Although we will be entirely in the Willamette Valley, you are likely to encounter a range of temperatures because you will be riding through the coldest part of the night (typically 3 to 5 am) and the hottest part of the day (typically 2 to 4 pm). Bring layers. A light wool layer can be particularly good at working over a wide range of temperatures.
You need not be a fast rider, but it takes some discipline to move efficiently through a long night and day of riding. The clock doesn't stop, even when you do, so don't dawdle away your time at the convenience store! The slower you ride, the more important is your “controle discipline.”
On the other hand, at some point in the ride you may feel defeated and exhausted. Don't despair.  Stretch or lay down. Then get back on your bike, and even if the remainder of the ride seems daunting, just make it another ten miles down the road. Repeat as needed.
Falling asleep on the bicycle is a very bad way to end a ride. The night start makes this less likely. If you rest well the night before, and take a nap sometime on Friday, you will probably find that the riding keeps you awake through Friday night and then the sun keeps you awake Saturday. But if you become very drowsy, regardless of time of day or night, you must take steps to regain wakefulness. The following approach works for many people: Find a safe place to pull off the road, with a surface where you can lie down and be safely separated from traffic. Take some caffeine (a caffeinated gel, caffeinated mints, or whatever works for you) before you lie down. Set your phone to wake you in 20 minutes. Lie down and close your eyes; sleep if you can. The caffeine will be taking effect just about the time you wake.
Be safe, and enjoy the ride.
I pre-rode the route starting July 14, exactly two weeks before the scheduled event. The forecast all along the route was for a low of around 57 and a high of 95, with little or no chance of rain. I considered wearing a synthetic jersey but opted for my lightest wool jersey and a very light polyester base layer. I packed a reflective wind-breaker but started out wearing a reflective sash to avoid overheating. I took sun sleeves but no arm warmers or leg warmers. These clothing choices were mostly ok. Around 3 or 4am, temperature in some spots between towns dipped into the mid 50s, and I wished I had packed long-fingered glove liners, but the cold was never really uncomfortable. On Saturday in the long hot afternoon I do not think a synthetic jersey would have been significantly cooler than my thin wool jersey (without the base layer by this time).
The trickiest bit of this is along Coburg Road, just after crossing the river, where the bike lane/path is variously sidewalk, paved lane, and underpasses until you cross left onto Oakway Road. To avoid missing the underpasses, which keep you clear of conflicts with cars exiting to larger roads, you might choose to just stay on the sidewalk rather than using the bike lane bits. At Oakway Road you should use the crosswalk (there is a button to push) rather than trying to turn left across several lanes of traffic.
The town of Coburg is about 10 miles along. You are unlikely to need to stop at the Dari Mart, but if you need a restroom you will find one in a park just one block right (east). The next 10 miles are flat and mostly straight and frankly rather boring. It will be a good time to swap stories with other riders.
The terrain becomes a little more interesting as you turn off North Coburg Road onto Diamond Hill Road, crossing above the I-5 freeway. Diamond Hill becomes Gap Road and bends left (north), and then starts a modest climb. On the pre-ride, the sun was also setting and temperatures were starting to fall, but just into the 70s. The descent from the top of Gap Road toward Brownsville is just steep enough to be fun, with a sweeping turn but nothing tight. Then there is just a bit of flat and straight in to Brownsville, where Gap Road becomes Washburn Street.
At the T where Washburn Street meets W Bishop Way (also signed as Hwy 228), there is a Chevron station with a mini-mart on your left. They are open until 11pm, so most riders should have time. They have restrooms and fast food, and the staff is friendly. I reached there just about 10pm, refilled a water bottle in the restroom, and bought a candy bar that I didn't really need. The Dari Mart one block farther on the route closes earlier and does not offer a restroom, but if you are after 11pm you can find a restroom in a small park half a block right on Spaulding Ave (right on Spaulding, park on your left).
There are a couple rises as you continue north from Brownsville, but mostly this is a flat, easy section with very light traffic. I found it easy to keep a good pace and put some time in the bank. I got Cup 'o Noodle at the Center Market in Jefferson, which was surprisingly busy for late night.
The night is cooling down, but at this point I still haven't had a need to layer up. There are a couple of short stretches on busier roads, but mostly it is low traffic and pleasant. The cool air is making it easy to keep up a good pace. The Jacksons at mile 75.3 is a good food stop with restrooms. I arrived around 2am. The coffee dispensers were empty, so I didn't get anything, but I refilled a water bottle in the bathroom sink. I may have put on my reflective windbreaker before continuing.
More fast, flat, easy riding, with a few connections on busier roads. By this time I realized I was putting way more time in the bank than I had planned on, and would probably reach Forest Grove too early for breakfast at Maggie's Buns. Just a pleasant spin through the night. I got some kind of sweetened Starbucksy thing. I may have refilled a water bottle, but I'm not certain as I wasn't drinking very quickly and knew that Forest Grove was only a bottle away.
Leaving Dayton I finally elected to put on my light wool coat under my windbreaker. It was the start of the coldest part of the ride, but the wool jacket and windbreaker were still too warm at points. My fingers, on the other hand, would have thanked me for a light full-finger glove liner.
Just as you think you're getting out to the countryside again beyond Dayton, you pass through Lafayette, another town of around the same size. The espresso stand is not open yet at that time, so there really isn't much to say about it. Then you're on some rolling terrain through wine country, and the sun is rising. The ponds along the the road as you approach Forest Grove are lovely in the morning light.
I paused to take a picture partly because the red morning light was nice on the water, and partly because I was in danger of reaching Forest Grove significantly before 6am, when the Safeway opens. I was clearly far too early to wait for Maggie's Buns to open at 8. Riders faster than me (which is to say, most riders) will be too early for Safeway and have to settle for Plaid Pantry (which does not offer a restroom) at 19th and Elm. To reach the Plaid Pantry, continue a couple blocks on Pacific Ave past the Safeway, turn left on Elm, and go one block farther to 19th. 19th is a one-way street running contrary to Pacific. Return to the route by following 19th to Maple Street, where you will be back on route by turning right.
It is time to put on your sunscreen. (Yeah, I didn't, but I should have.)
The segment from Forest Grove to Dayton is the reverse of the way out, but it's ok because it's really pretty and worth seeing twice in changing light. At Dayton you bear a little farther west on the Dayton-Amity highway, which is pretty dull, so be sure you get your fill of nice views before Dayton. Also it's warming up.
I stopped at The Common Cup, which shares a building with a taco shop in Amity. In fact I had planned to get a taco and a cup of coffee, but Tacos Burros was closed, so I had a savory waffle (topped with an egg) at Common Cup. What a pleasant surprise! My caffe latte was first rate (and I'm pretty picky about coffee) and the waffle and egg made a good late breakfast. Also the restroom was clean and well-appointed ... I even brushed my teeth, which felt incredibly civilized and luxurious. Taking time to eat the waffle and chat with the proprietor about Italy and coffee and waffles ate into my banked time, but I was far enough ahead of schedule not to worry about that. If you're trying to make a fast time, you might want to have just a coffee (or a taco next door), but if you feel like a more extended break, Common Cup is a good place to take it.
Fast and flat, fast and flat, nice pavement ... you were getting tired of the repetition, weren't you? Time for a little change-up.
You hit the gravel section just a few miles after Amity. Actually there are two, around 3.5 miles each, with a short paved respite between. The gravel is not too coarse, and not too thick, and it looks like there might once have been some pavement underneath. There is some washboard, and there are a couple hills that would not be difficult but for the gravel, which makes it more challenging to maintain traction. I was glad to be on 42mm tubeless tires at 50psi. If you bring your skinny tire bike, you should be ok, but this will not be your favorite section.
I applied sunscreen at the end of the gravel section. Don't be like me. Be smart and put it on earlier, in Dayton or Amity.
Oak Grove Road ends at Hwy 22, which is busy and has a lot of trash in the shoulder. There is what appears to be a sidewalk along Hwy 22; take a right on that sidewalk, and just a half mile along there is a ramp onto a bike/ped bridge across the highway, then a transition onto Rickreal Road. (Thanks to Susan for helping me route this part and avoid riding Hwy 22.)
 My preference is Mootharts, a little market on the right, across from Mecanico bar. You can find some pre-cooked Mexican food in a deli case, and there are inside tables to sit down at. Across the street (next to Mecanico) is a park with public bathrooms. I was still not very hungry, but I ate most of a tamal and refilled my water bottle.
This is flat or rolling terrain, quite rural. It was very warm but not unpleasant. I had planned to stop at a burger joint in Albany, but by the time I reached there the heat was really taking hold and my belly was still digesting prior meals. I stopped at a deli for a coke and, once again, topping a water bottle. Hydrate well in Albany and leave with two full bottles, because there are no water opportunities from there to Harrisburg.
I have since learned from Albany natives of two better places to stop for water and food: Either just before Albany on Hickory Drive, or at Wuesten Cafe as you turn from Ellsworth onto 3rd. These are marked on the map and cue sheet.
There is some suburban riding south of Albany. Then you cross Highway 34 onto White Oak road, merging into Peoria road. The best thing I can say about this section is that you'll probably have a tailwind. It is flat and straight and, unless you have a thing for wheat fields and berry farms, pretty boring. There are vault toilets at Peoria Park, mile 217, but no running water.
There are several convenience stores in Harrisburg, and a Subway. The convenience stores don't offer restrooms, but there are public restrooms one block east on Smith Street, at the Harrisburg Area Museum. I stopped at the Dari Mart and had a juice drink and refilled my water bottles.
This is a short, level, easy segment, on which you should have favorable wind, but for me it is memorable mainly for all the times I have dealt with stomach distress, sore feet, and general exhaustion riding the other direction on ORR Eden's Gate 400k. So naturally I was miserable again, and stopped a couple times to rest for a minute before continuing.
In Coburg, a block east of the Dari Mart (to your left now), is a small park with a public restroom. I used the sink to pour water into my bottle and then over my head, and then wash my face. It was glorious. Then I rode the half block back to the Dari Mart where I sat a long time drinking a flavored, unsweetened drink. I had plenty of time in the bank, and sitting down drinking cold liquid was absolutely the best use I could make of that time.
Revived by the break in Coburg, the rest of the ride in was easy and pleasant. The turn from Dale to Riverbend leads into a cul de sac. But look on your left as you turn, and you'll find a cut-through path that leads to another cul de sac on the other side, which in turn leads out to Honeywood Street.
At mile 247.5 you transition off of streets and onto the River Bank path system. This path system is still a treat after many, many years of riding it, and by this time I know I'm about 30 minutes from the finish. The path leads all the way back to the bike bridge you took on the outbound leg. We take 4th street to Pearl, then Pearl south all the way to 14th street, right (west) to the alley after Oak and before Willamette street, and right up the alley to Falling Sky brew-pub.
The pub has good food (not cheap) and good beer. The bike parking is visible from inside, and I'll have a couple U-locks so that you can secure your bike sufficiently if you want to take some time to drink, eat, and tell your tall tales of riding through night and day and in and out of weeks and almost over a year to where the good beer is.


Abstract class that is extended to create helper data objects.
Located in /Data.php (line 8)
| Class | Description |
|---|---|
| Dropio_Drop | Dropio_Drop is used to access all functionality related to a Drop. Most methods are chainable, allowing for the the creation of a drop to happen inline. |
| Dropio_Asset_Comment | Object that represents the comment that is attached to an asset. |
| Dropio_Drop_Subscription | Dropio_Drop_Subscription represents a subscription. |
| Dropio_Asset | Enter description here... |
Constructor with optional unique id.
Set object properties from an array.
Instead using the magic __SET() function, this can be used in order to facilitate chaining. $obj->set('title', 'My Title')->set('name', 'Name)->..
Magic method that returns the object's parameters.
Magic __set method that is mapped to the set() method.
Documentation generated on Thu, 17 Dec 2009 16:13:02 -0500 by phpDocumentor 1.4.0a2


| Rule Violations |
Count |
| Clearance Constraint (Gap=10mil) (InPolygon),(All) |
0 |
| Clearance Constraint (Gap=20mil) (InPolygon),(OnLayer('Keep-Out Layer')) |
0 |
| Clearance Constraint (Gap=7mil) (All),(All) |
0 |
| Clearance Constraint (Gap=35mil) (InPolygon),(InPadClass('TH')) |
0 |
| Clearance Constraint (Gap=40mil) (InPolygon),(InNetClass('Earth')) |
0 |
| Clearance Constraint (Gap=40mil) (InPolygon),(InPadClass('mark')) |
0 |
| Clearance Constraint (Gap=25mil) (InPolygon),(InNetClass('Vin')) |
0 |
| Clearance Constraint (Gap=20mil) (InPolygon),(InNetClass('SH')) |
0 |
| Short-Circuit Constraint (Allowed=No) (All),(All) |
0 |
| Un-Routed Net Constraint ( (All) ) |
0 |
| Modified Polygon (Allow modified: No), (Allow shelved: No) |
0 |
| Width Constraint (Min=6mil) (Max=200mil) (Preferred=10mil) (All) |
0 |
| Power Plane Connect Rule(Direct Connect )(Expansion=20mil) (Conductor Width=20mil) (Air Gap=10mil) (Entries=4) (All) |
0 |
| Hole Size Constraint (Min=10mil) (Max=130mil) (All) |
0 |
| Hole To Hole Clearance (Gap=0mil) (All),(All) |
0 |
| Minimum Solder Mask Sliver (Gap=0mil) (All),(All) |
0 |
| Silk To Solder Mask (Clearance=0mil) (IsPad),(All) |
0 |
| Silk to Silk (Clearance=0mil) (All),(All) |
0 |
| Net Antennae (Tolerance=0mil) (All) |
0 |
| Room U_NRF24L01 (Bounding Region = (13422.795mil, 4145mil, 13817.795mil, 4525mil) (InComponentClass('U_NRF24L01')) |
0 |
| Room U_core (Bounding Region = (13082.795mil, 4030mil, 14167.795mil, 4285mil) (InComponentClass('U_core')) |
0 |
| Room U_ble (Bounding Region = (13347.795mil, 4330mil, 14182.795mil, 4660mil) (InComponentClass('U_ble')) |
0 |
| Height Constraint (Min=0mil) (Max=1000mil) (Prefered=500mil) (All) |
0 |
| Total |
0 |