Compool 3800 Protocol

From http://forum.cinemaronline.com/viewtopic.php?p=89446

The basic control packet allows the third party controller to
- Toggle On/Off state of the Spa, Pool, Aux 1 - 7
- Enable or disable the Spa side remote(s).
- Cancel any current circuit delays (not recommended).
- Change/select heat source/method for Spa or Pool.
- Change/set desired temperature for Spa and/or Pool.
- Control Dimmers, (if unit has dimmers installed).
- Change/set the current time of day in LX3xxx control units clock.

    The basic acknowledge packet allows the third party to determine
- Current state of Spa, Pool, Aux 1 - 7.
- Current state of Heater and Solar for both Spa and Pool.
- Whether LX3xxx is in Service mode (no commands should be sent).
- Current state of Spa side remotes (enabled or not).
- Current heat source selection.
- Solar presence.
- Freeze protection mode.
- Current water and solar temperature for Spa and Pool.
- Desired/set temperature for Spa and Pool.
- Air Temperature (Freeze sensor, not intended offer an accurate )
                  (air temperature                               )
- Status of temperature sensors.
- Current time of day stored in LX3xxx unit.




--------------------------------------------------------------------------
Hardware Interface:
--------------------------------------------------------------------------
    The hardware interface is a simple half duplex RS-485 differential 
pair. Any external add-on control units are responsible for all special 
operations required. The hardware interface is terminated with a 
non-standard 1000 ohm resistor. Since an adapter is required to configure 
an interface to Compools RJ45 type cable connector, it is suggested that a 
1000 ohm resistor be added there, and any termination on the interface be 
disabled.

    The external control unit MUST be treated as a LISTEN mode slave. It 
should only drive the cable in transmit mode when required, and return to
receive mode immediately. Also to prevent unnecessary collision, the 
external controller must check the line to be certain it is free before
beginning transmission.

The serial interface must be configured as shown below.

Baud Rate:     9600 bps
Start Bits:    1
Data Bits:     8
Stop Bits:     1
Parity:        None


RJ45 Pin 1     DC/Reference ground
RJ45 Pin 2     DC/Unregulated 10 VDC  ~100ma Max.
RJ45 Pin 3     +Data (RS485 Tx & Rx)
RJ45 Pin 4     -Data (RS485 Tx & Rx)
RJ45 Pin 5     DC/Unregulated 10 VDC  ~100ma Max.
RJ45 Pin 6     DC/Reference ground

The ~100ma Max. refers to the max load the Compool unit can source.
If the interface supplies it's own power this is not an issue.


     ----------
    |          |
    |   ----   |  <-- RJ45 cable end shown with locking tab on top
    |   |  |   |
    |   |  |   |
    |   ----   |
    |          |
    ------------
     | 654321 |  <-- pin umber asignments
     |        |
     |        | <----- flat cable





--------------------------------------------------------------------------
Basic Command Packet: (Sent from controller to LX3xxx Unit)
--------------------------------------------------------------------------

Byte 0    SYNC BYTE 0         0xFFh (always)
Byte 1    SYNC BYTE 1         0xAAh (always)
Byte 2    Destination Address 0x00h (always)
Byte 3    Source Address      0x01h (always)
Byte 4    OpCode              0x82h (always)
Byte 5    Info Field Length   0x09h (always)
Byte 6    Minutes             0x00h - 0x3Bh (see definitions)
Byte 7    Hours               0x00h - 0x17h (see definitions)
Byte 8    Primary Equipment   0x??h (see definitions)
Byte 9    Secondary Equipment 0x??h (see definitions)
Byte 10   Heat Source         0x?0h (see definitions)
Byte 11   Desired Pool Temp   0x??h (see definitions)
Byte 12   Desired Spa Temp    0x??h (see definitions)
Byte 13   Switch State        0x??h (see definitions)
Byte 14   Byte Use enable     0x??h (see definitions)
Byte 15   Hi Byte of Checksum 0x??h (see definitions)
Byte 16   Lo Byte of Checksum 0x??h (see definitions)


--------------------------------------------------------------------------
Byte Definitions:
--------------------------------------------------------------------------

Minutes: (Byte 6)  (Change minutes value)
0 - 59 / 0x00h - 0x3Bh   Used to set the real time clock in the LX3xxx.
Note: Bit 0 of 'Byte Use Enable' (Byte 14) must be set, or this info is  
      ignored.

***************************************************************************

Hours  : (Byte 7)  (Change Hours value)
0 - 23 / 0x00h - 0x17h   Used to set the real time clock in the LX3xxx.
Note: Bit 1 of 'Byte Use Enable' (Byte 14) must be set, or this info is  
      ignored.

***************************************************************************



***************************************************************************
Primary Equipment: (Byte 8)  (Change Primary Equipment)

                  3x00/3830  3810   3820
Bit 0     Toggle    Spa      High   Aux1    1 = Toggle State  (On  / Off )
Bit 1     Toggle    Pool     Low    Aux2    1 = Toggle State  (On  / Off )
Bit 2     Toggle    Aux1     Aux1   Aux3    1 = Toggle State  (On  / Off )
Bit 3     Toggle    Aux2     Aux2   Aux4    1 = Toggle State  (On  / Off )
Bit 4     Toggle    Aux3     Aux3   Aux5    1 = Toggle State  (On  / Off )
Bit 5     Toggle    Aux4     Aux4   Aux6    1 = Toggle State  (On  / Off )
Bit 6     Toggle    Aux5     Aux5   Aux7    1 = Toggle State  (On  / Off )
Bit 7     Toggle    Aux6     Aux6   Aux8    1 = Toggle State  (On  / Off )

Notes: Bit 2 of 'Byte Use Enable' (Byte 14) must be set, or this info is
       ignored.

       Bit 5     Aux4 Toggle    (Not Available on 3400)
       Bit 6     Aux5 Toggle    (Not Available on 3400)
       Bit 7     Aux6 Toggle    (Not Available on 3400 or 3600)

       Also since the 3810 is a single body, dual temperature controller
       rather than having a Spa and Pool ciruit it has a High temperature
       and a low temperature circuit. Bit 0 (normally the Spa) is the
       High temperature, and Bit 1 (normally the Pool) is the Low
       temperature.

***************************************************************************

Secondary Equipment: (Byte 9)   (Change Secondary equipment)
Bit 0     Remotes Toggle 1 = Toggle Spa Side Remote Enable (On / Off)
Bit 1     C/F Toggle     1 = Toggle Degrees C/F Display
                         (this only effects the way the Cpxxxx panel )
                         (will display the temperature, the data is  )
                         (always handled in degrees C, as described  )
Bit 2     Delay Cancel   1 = Cancel ANY/ALL Current delays
Bit 3     Spare
Bit 4     Aux7 Toggle    1 = Toggle Aux7 State  (On / Off)
Bit 5     Spare
Bit 6     Spare
Bit 7     Spare

Notes: Bit 3 of 'Byte Use Enable' (Byte 14) must be set, or this info is  
       ignored. Except Aux7 Toggle requires that Bit 2 of 'Byte Use Enable'
       be set.

       Bit 4     Aux7 Toggle    (Not Available on 3400 or 3600), also
                 this will not function if the circuit is configured as 
                 a Backwash.

***************************************************************************


***************************************************************************
Heat Source: (Byte 10)  (Change Heat Source)
Bits 0 -3 are always 0(zero).
Bit 4     Pool Lo Bit    (see table)  (Low temperature setting on the  )
Bit 5     Pool Hi Bit    (see table)  (3810 controller                 )
Bit 6     Spa Lo Bit     (see table)  (High temperature setting on the )
Bit 7     Spa Hi Bit     (see table)  (3810 controller                 )

---------
|Hi |Lo |
|Bit|Bit|
------------------------------------------------------------------------
| 0 | 0 | Heat Source OFF (no heating allowed)                         |
| 0 | 1 | Heater ON (Pool will also use Solar if available)            |
| 1 | 0 | Solar Priority ON (If Solar is not available,heater is used) |
| 1 | 1 | Solar Only ON (If Solar is not available,no heating is used) |
------------------------------------------------------------------------

Notes: Bit 4 of 'Byte Use Enable' (Byte 14) must be set, or this info is
       ignored.

       This byte has is not used with the 3820.

***************************************************************************

Desired Pool Temp: (Byte 11)  (Change Desired Pool Temp)
This Byte sets the Desired Control temperature of the Pool water. The
value is given in 0.25 degrees C. Conversion of degrees F to Degrees C
must be done by the control unit sending the data. For example if
the desired temperature of the Pool is 20 degrees C / 68 degrees F.
The value would be set to 80 (0x50h).

Notes: Bit 5 of 'Byte Use Enable' (Byte 14) must be set, or this info is
       ignored.

       If this is a 3810 controller this is the desired low temperature
       setting.

       This byte is not used by the 3820.

***************************************************************************

Desired Spa Temp: (Byte 12)  (Change Desired Spa Temp)
This Byte sets the Desired Control temperature of the Spa water. The
value is given in 0.25 degrees C. Conversion of degrees F to Degrees C
must be done by the control unit sending the data. For example if
the desired temperature of the Spa is 40 degrees C / 104 degrees F.
The value would be set to 160 (0xA0h).

Notes: Bit 6 of 'Byte Use Enable' (Byte 14) must be set, or this info is
       ignored.

       If this is a 3810 controller this is the desired High temperature
       setting.

       This byte is not used by the 3820.

***************************************************************************


***************************************************************************

Switch State: (Byte 13)  (Dimmer Control)

                  3x00/3830  3810   3820
Bit 0     Switch    Spa      High   Aux1    1 = Switch Pressed
Bit 1     Switch    Pool     Low    Aux2    1 = Switch Pressed
Bit 2     Switch    Aux1     Aux1   Aux3    1 = Switch Pressed
Bit 3     Switch    Aux2     Aux2   Aux4    1 = Switch Pressed
Bit 4     Switch    Aux3     Aux3   Aux5    1 = Switch Pressed
Bit 5     Switch    Aux4     Aux4   Aux6    1 = Switch Pressed
Bit 6     Switch    Aux5     Aux5   Aux7    1 = Switch Pressed
Bit 7     Switch    Aux6     Aux6   Aux8    1 = Switch Pressed

Notes: Bit 7 of 'Byte Use Enable' (Byte 14) must be set, or this info is
       ignored.  This byte is currently only used to control the dimmers.
       So only Bit 4 and Bit 5 are significant.

***************************************************************************

Byte Use Enable: (Byte 14)  (Enable Active Control Bytes)
bit 0   1 = Use Byte 6  (Minutes)
bit 1   1 = Use Byte 7  (Hours)
bit 2   1 = Use Byte 8  (Primary Equip State)
bit 3   1 = Use Byte 9  (Info Equip State)
bit 4   1 = Use Byte 10 (Heat Source)
bit 5   1 = Use Byte 11 (Desired Water Temp)
bit 6   1 = Use Byte 12 (Desired Spa Temp)
bit 7   1 = Use Byte 13 (Switch State)

***************************************************************************

Hi Byte of Checksum: (Byte 15)
Lo Byte of Checksum: (Byte 16)
The checksum bytes contain a simple 16 bit checksum.

***************************************************************************



--------------------------------------------------------------------------
Basic Acknowledge Packet: (Sent from LX3xxx to controller)
--------------------------------------------------------------------------

Byte 0    SYNC BYTE 0         0xFFh (always)
Byte 1    SYNC BYTE 1         0xAAh (always)
Byte 2    Destination Address 0x0Fh (always)
Byte 3    LX3xxx Version      0x??h (see definitions)
Byte 4    OpCode              0x02h (always)
Byte 5    Info Field Length   0x10h (always)
Byte 6    Minutes             0x00h - 0x3Bh (see definitions)
Byte 7    Hours               0x00h - 0x17h (see definitions)
Byte 8    Primary Equipment   0x??h (see definitions)
Byte 9    Secondary Equipment 0x??h (see defiintions)
Byte 10   Delay/Heat Source   0x??h (see definitions)
Byte 11   Water Temperature   0x??h (see definitions)
Byte 12   Solar Temperature   0x??h (see definitions)
Byte 13   Spa Water Temp      0x??h (3830 only - see definitions)
Byte 14   Spa Solar Temp      0x??h (3830 only - see definitions)
Byte 15   Desired Pool Temp   0x??h (see definitions)
Byte 16   Desired Spa Temp    0x??h (see definitions)
Byte 17   Air Temperature     0x??h (see definitions)
Byte 18   Spare/Future Use    0x??h (see definitions)
Byte 19   Spare/Future Use    0x??h (see definitions)
Byte 20   Equip/Sensor Stat   0x??h (see definitions)
Byte 21   Product Type/Stat   0x??h (see definitions)
Byte 22   Hi Byte of Checksum 0x??h (see definitions)
Byte 23   Lo Byte of Checksum 0x??h (see definitions)


--------------------------------------------------------------------------
Byte Definitions:
--------------------------------------------------------------------------

LX3xxx Version: (Byte 3)  (Version)
A value ranging from 0 to 255, given basic firmware revision code.
a value of 10 equals version 1.0, a value of 23 equals version 2.3, etc.

***************************************************************************

Minutes: (Byte 6)  (Current minutes value)
0 - 59 / 0x00h - 0x3Bh   Read from the real time clock in the LX3xxx.

***************************************************************************

Hours: (Byte 7)  (Current Hours value)
0 - 23 / 0x00h - 0x17h   Read from the real time clock in the LX3xxx.

***************************************************************************



***************************************************************************

Primary Equipment: (Byte 8)  (Primary Equipment State)

                  3x00/3830  3810   3820
Bit 0     State     Spa      High   Aux1    1 = Circuit On
Bit 1     State     Pool     Low    Aux2    1 = Circuit On
Bit 2     State     Aux1     Aux1   Aux3    1 = Circuit On
Bit 3     State     Aux2     Aux2   Aux4    1 = Circuit On
Bit 4     State     Aux3     Aux3   Aux5    1 = Circuit On
Bit 5     State     Aux4     Aux4   Aux6    1 = Circuit On
Bit 6     State     Aux5     Aux5   Aux7    1 = Circuit On
Bit 7     State     Aux6     Aux6   Aux8    1 = Circuit On

***************************************************************************

Secondary Equipment: (Byte 9)  (Secondary equipment state)
Bit 0     Service Mode   1 = On (all controller commands are ignored)
                             This is service mode, and only local switches
                             at the LX3xxx equipment pad are honored.
Bit 1     Heater State   1 = On (if 3830 this is the Pool heater state)
Bit 2     Solar State    1 = On (if 3830 this is the Pool solar state)
Bit 3     Remotes Enable 1 = On (state of the Spa side remote)
                             If OFF all remote Spa side switches are
                             ignored.
Bit 4     C/F            1 = Display in Degrees C / 0 = degrees F
                             This is for Cp3xxx display purposes only.
Bit 5     Solar Present  1 = Yes (if 3830 this is the Pool solar present)
                             This is required to decide whether to allow
                             the user to select solar as a heat method.
Bit 6     Aux7 State     1 = On  (This would be Aux9 on a 3820, but is )
                                 (not implemented                      )
Bit 7     Freeze Mode    1 = On (this indicates that the LX3xxx has entered
                             Protective freeze mode.


***************************************************************************


***************************************************************************

Delay/Heat Source: (Byte 10)  (Circuit Delay & Heat Source info)
Bit 0     Spa Delay      1 = On (indicates that the pump is being forced
                                on by the delay function to allow the 
                                heater to cool down)
Bit 1     Pool Delay     1 = On (indicates that the pump is being forced
                                on by the delay function to allow the 
                                heater to cool down)
Bit 2     Cleaner Delay  1 = On (indicates that the cleaner is being forced
                                off by the delay function to allow water
                                to fill the pipes)
Bit 3     Spa Solar Pres 1 = Yes (if 3830 this is the Spa solar present)
                             This is required to decide whether to allow
                             the user to select solar as the heat method.

Bit 4     Pool Lo Bit    (see table)  (Low temperature setting on the  )
Bit 5     Pool Hi Bit    (see table)  (3810 controller                 )
Bit 6     Spa Lo Bit     (see table)  (High temperature setting on the )
Bit 7     Spa Hi Bit     (see table)  (3810 controller                 )

---------
|Hi |Lo |
|Bit|Bit|
------------------------------------------------------------------------
| 0 | 0 | Heat Source OFF (no heating allowed)                         |
| 0 | 1 | Heater ON (Pool will also use Solar if available)            |
| 1 | 0 | Solar Priority ON (If Solar is not available,heater is used) |
| 1 | 1 | Solar Only ON (If Solar is not available,no heating is used) |
------------------------------------------------------------------------

***************************************************************************

Water Temperature: (Byte 11) (Current Water Temperature)
Current Water Temperature given in 0.25 degrees C increments.
i.e. 80 (0x50h) = 20 degrees C. If this is a 3830, this is the
Pool water temp.

***************************************************************************

Solar Temperature: (Byte 12) (Current Solar Temperature)
Current Solar Temperature given in 0.5 degrees C increments.
i.e. 80 (0x50h) = 40 degrees C. If this is a 3830, this is the
Pool Solar temp.

***************************************************************************

Spa Water Temperature: (Byte 13) (Current Spa Water Temp - 3830 only)
Current Spa Water Temperature given in 0.25 degrees C increments.
i.e. 80 (0x50h) = 20 degrees C. 

***************************************************************************

Spa Solar Temperature: (Byte 14) (Current Spa Solar Temp - 3830 only)
Current Solar Temperature given in 0.5 degrees C increments.
i.e. 80 (0x50h) = 40 degrees C. 

***************************************************************************



***************************************************************************

Desired Pool Temp: (Byte 15)  (Current Desired Pool Temp)
This is the current Desired Control temperature of the Pool water. The
value is given in 0.25 degrees C. For example if the desired temperature 
of the Pool is 20 degrees C / 68 degrees F. The value would be 80 (0x50h).

Note:
       If this is a 3810 controller this is the desired Low temperature
       setting.

***************************************************************************

Desired Spa Temp: (Byte 16)  (Current Desired Spa Temp)
This is the current Desired Control temperature of the Spa water. The
value is given in 0.25 degrees C. For example if the desired temperature 
of the Spa is 40 degrees C / 104 degrees F. The value would be 160 (0xA0h).

Note:
       If this is a 3810 controller this is the desired High temperature
       setting.

***************************************************************************

Air Temperature: (Byte 17)  (Current Air temperature)
This is the current Air temperature. It is used to determine Freeze mode
conditions. The value is given in 0.5 degrees C increments. For example 
 a value of 20 (0x14h) would be 10 degrees C / 50 degrees F. 

***************************************************************************

Spare/Future Use: (Byte 18)  (Not used)

***************************************************************************

Spare/Future Use: (Byte 19)  (Not used)

***************************************************************************



***************************************************************************

Equip/Sensor Stat: (Byte 20)  (Special Equipment and Sensor status)
Bit 0     Backwash State 1 = On  This indicates that a programmed
                                 Backwash Cycle is taking place. This
                                 requires that Aux7 Has been configured
                                 and programmed as a backwash circuit.
Bit 1     Floor Cleaner  1 = On  This indicates floor cleaner system is
                                 active.
Bit 2     Aux3 = Dimmer  1 = Yes This indicates that Aux3 is configured
                                 as a dimmer rather than a standard relay
                                 circuit. This requires a special dimmer
                                 module.  Note that on a 3820 this circuit
                                 is refered to as Aux5.
Bit 3     Aux4 = Dimmer  1 = Yes This indicates that Aux4 is configured
                                 as a dimmer rather than a standard relay
                                 circuit. This requires a special dimmer
                                 module.  Note that on a 3820 this circuit
                                 is refered to as Aux6.
Bit 4     Water Sensor   1 = OK  This indicate that the Water sensor(s) is
                                 is functioning properly. If this bit is
                                 FALSE  the user must be informed of
                                 the problem. Heating will not be allowed.
                                 This is ignored on a 3820.
Bit 5     Solar Sensor   1 = OK  This indicate that the Solar sensor(s) is
                                 is functioning properly. If this bit is
                                 FALSE the user must be informed of
                                 the problem. Solar heating will not be 
                                 allowed.
Bit 6     Air Sensor     1 = OK  This indicate that the Freeze sensor is
                                 is functioning properly. If this bit is
                                 FALSE the user must be informed of
                                 the problem. 
Bit 7     Freeze Present 1 = Yes This bit indicates that at least one
                                 circuit has been configured to protect
                                 the equipment during a freeze.

***************************************************************************



***************************************************************************
Product Type/Stat: (Byte 21)
Bit 0     Error 5        1 = True (an error has been detected at the
                             Spa Side remote, it has been disabled)
Bit 1     Error 6        1 = True (not used)
Bit 2     Spa Heater     1 = On (3830 only)
Bit 3     Spa Solar      1 = On (3830 only)
Bit 4     Type - bit 0   (see table)
Bit 5     Type - bit 1   (see table)
Bit 6     Type - bit 2   (see table)
Bit 7     Type - bit 3   (see table)

-----------------
|Bit|Bit|Bit|Bit|
| 3 | 2 | 1 | 0 |
------------------------------------------------------------------------
| 0 | 0 | 0 | 0 | 3400 System                                          |
| 0 | 0 | 1 | 0 | 3410 System (not used)                               |
| 0 | 1 | 0 | 0 | 3600 System                                          |
| 0 | 1 | 1 | 0 | 3610 System (not used)                               |
| 1 | 0 | 0 | 0 | 3800 System                                          |
| 1 | 0 | 1 | 0 | 3810 System                                          |
| 1 | 1 | 0 | 0 | 3820 System                                          |
| 1 | 1 | 1 | 0 | 3830 System                                          |
------------------------------------------------------------------------

***************************************************************************

Hi Byte of Checksum: (Byte 22)
Lo Byte of Checksum: (Byte 23)
The checksum bytes contain a simple 16 bit checksum.

The checksum will be the 16 bit result of adding all previous bytes
in the packet.

The checksum will be a number between 0 and 65,536 decimal,
or 0x0000 to 0xffff Hex.
Example: if the checksum is 241 HEX, then:
Hi Byte = 02 HEX
Lo Byte = 41 HEX

***************************************************************************



--------------------------------------------------------------------------
Simple Operation:
--------------------------------------------------------------------------
    During normal operation the 'Basic Acknowledge Packet' is transmitted
to all controllers approx. every 2.5 seconds. This can be viewed as a
"keep Alive" packet, or a system heartbeat.

    Each time a Basic control packet is sent, it is answered immediately 
with a simple ACK packet if it was received intact, or a simple NACK
packet if it was not. If a NACK is received, it is of coarse the
controllers job to resend the control data packet.

    Assuming the control packet was received intact, and an ACK was
sent, it is followed approx 50ms later with the full 'Basic acknowledge
packet'. Giving the controller the current equipment state.


ACK Packet:
...................................................
Byte 0    SYNC BYTE 0         0xFFh (always)
Byte 1    SYNC BYTE 1         0xAAh (always)
Byte 2    Destination Address 0x01h (always)
Byte 3    LX3xxx Version      0x??h (see definitions)
Byte 4    OpCode (ACK)        0x01h (always)
Byte 5    Info Field Length   0x01h (always)
Byte 6    Packet type ACK'd   0x82h (always)
Byte 7    Hi Byte of Checksum 0x??h (see definitions)
Byte 8    Lo Byte of Checksum 0x??h (see definitions)


NACK Packet:
..................................................
Byte 0    SYNC BYTE 0         0xFFh (always)
Byte 1    SYNC BYTE 1         0xAAh (always)
Byte 2    Destination Address 0x0Fh (always)
Byte 3    LX3xxx Version      0x??h (see definitions)
Byte 4    OpCode (NACK)       0x00h (always)
Byte 5    Info Field Length   0x01h (always)
Byte 6    NACK data           0xFFh (always)
Byte 7    Hi Byte of Checksum 0x??h (see definitions)
Byte 8    Lo Byte of Checksum 0x??h (see definitions)




--------------------------------------------------------------------------
Examples:
--------------------------------------------------------------------------



--------------------------------------------------------------------------
Interlocks, Delays, and Configuration Considerations:
--------------------------------------------------------------------------
    A number of functional and safety interlocks are provided, and
may be configured via DipSwitch settings in the Lx3xxx circuit board.
Further information about these can be found in the owners/operators
manual.

Since we’re on a homopolar motor kick…

Okay, it’s Monday and I *DO* feel better. This evening I’ll be having fun at Microcontroller Monday at the hackerspace, but for now, I’m still on a homopolar (faraday) motor kick.

This is an example of a homopolar generator. High current! It’s why flywheel homopolar generators are used to store energy from the Grid:

Google+ API, a moving target

It seems that every few days, Google is making fundamental changes to the Google+ API.   I have been trying to reverse engineer it to make a trivia game, but I can’t keep up with the changes.  I think they are on a daily release cycle at the moment.  No wonder they haven’t released it yet.

Measuring Randomness.

 

It’s actually remarkably hard to prove that something is random.

This is annoying, if you’re trying to create a high quality pool of entropy for Linux.

I need to find someone who is an expert at using timer jitter as a source of entropy, and see if a rigorous proof is available.

Mooooooved hosting providers

So, after two years at Amazon AWS .. and being charged $80/mo, I’ve made the move to Rackspace.  They have virtual server instances for as little as a couple pennies an hour, and they are more than robust enough to run my blog and the other services I use.  Plus, they have a fantastic flexible storage subsystem that I can use for data lockers.

So .. goodbye AWS, hello Rackspace Cloud.

For the record, the move from one to the other took 2 hours.   Neat.

 

Setting up BBS’es in the midst of revolution

Right now,  I’m helping set up BBS’es in Egypt, half a world away … to help people get back online, communicating

  • to help stem the tide of violence
  • to keep the actions, everyone’s actions, in the open
  • to help loved ones stay in communication
  • to help carry the voices of those in Egypt to the world