深水埗 爛賭仔 家破人亡 – 蘋果日報

爛賭仔累母跳樓死 父:俾佢搞到家破人亡 – 蘋果日報 2015年01月29日

馬婦丈夫認屍後傷心落淚,要由警員攙扶。徐雲庭攝

年逾六旬清潔女工,疑不堪爛賭兒子不時索錢還債,加上工作辛勞,昨午在石硤尾家中感覺頭暈不適後,一時想不開藉詞着丈夫落街替她買藥,使開丈夫後從大廈十一樓走廊跳樓身亡,其丈夫事後買藥返回驚聞妻子死訊,往現場認屍時一度傷心落淚,並埋怨兒子累死母親。

記者:徐雲庭

跳樓亡的六十一歲婦人馬金暖,與六十九歲余姓丈夫、二十餘歲女兒及九十三歲家姑同住大坑東邨東海樓十樓一單位,其三十餘歲兒子另居別處。

死者馬金暖。

着丈夫落街買藥

據余伯稱,兒子原同住,但愛好賭波及賭馬,經常以不同理由,如做買賣電器生意,向做清潔而每月工資只得數千元的母親索錢一萬或二萬元,

妻子愛錫兒子很少推卻

但妻子借了多少錢給兒子,他也不清楚。他曾問過妻子,妻子沒有回應,只謂:

「啲錢都唔係你嘅,你問嚟做乜。」

但多年下來,估計妻子借給兒子的錢非小數。

其子於數年前遷出,但間中會收到向兒子追債的信件,至於兒子在外欠債多少,家人也不清楚。

余伯又說,他很氣兒子,早前曾想過與兒子脫離關係,其妻子兩年前工作時跌傷,數月前轉至葵芳新都會廣場做清潔,曾透露工作很辛苦。

昨午一時,馬婦如廁後稱感到頭暈想嘔,余伯叫她看醫生,妻稱不想去,着丈夫落街替她買止暈藥。

余伯到藥房買藥十分鐘返回不見妻子,其後警員上門,始知妻子在他出門時,拿凳上十一樓走廊跳樓。事後余伯落樓認屍,想及妻子為爛賭兒子填債,一度哽咽道:「俾佢(兒子)累死喇,係咁借錢畀個仔賭錢,搞到家破人亡。」由於家無積蓄,亟待外界施援手。

.END

Leave a comment

Filed under Electronics DIY Project

FongSpi02 tdd notes

else if (selectChar == ‘4’)
{
initIox(Slave0);
selectChar = ‘m';
}

else if (selectChar == ‘5’)
{
ioxWrite(Slave0, OlatA0, 0xff);
ioxWrite(Slave0, OlatB0, 0xff);
selectChar = ‘m';
}
else if (selectChar == ‘6’)
{
ioxWrite(Slave0, OlatA0, 0x00);
ioxWrite(Slave0, OlatB0, 0x00);
selectChar = ‘m';
}

// *** FongSpi02.h *******

// ********************************************************************
// FongSpi02 – TL Fong 2015jan29hkt2153
// ********************************************************************

#ifndef FongSpi02_h
#define FongSpi02_h

#include <Arduino.h>
#include <FongDigiControl02.h>
#include <SPI.h>

class FongSpi02: public FongDigiControl02
{
public:

// *** Constructors *******************************************************

FongSpi02(int8_t initNum, int8_t testNum);

int8_t _initNum;
int8_t _testNum;

enum InitNum {InitNum0 = 0, InitNum1 = 1, InitNum2 = 2, InitNum3 = 3};
enum TestNum {TestNum0 = 0, TestNum1 = 1, TestNum2 = 2, TestNum3 = 3, \
TestNum4 = 4, TestNum5 = 5, TestNum6 = 6};

// *** General enums ***

enum RepeatCount {RepeatOnce = 1, RepeatTwice = 2, RepeatFourTimes = 4, RepeatTenTimes = 10, \
RepeatOneHundredTimes = 100, RepeatOneThousandTimes = 1000, \
RepeatTenThousandTimes = 10000, Repeat100000Times = 100000, \
RepeatOneMillionTimes = 1000000, RepeatTenMillionTimes = 10000000};

// *** Init functions ***

enum SlaveSelectPins {SlaveSelectPinSs0 = 10, SlaveSelectPinSs1 = 4, \
SlaveSelectPinSs2 = 52, SlaveSelectPinSs3 = 54};

enum spiSlaveNum {Slave0 = 0, Slave1 = 1, Slave2 = 2, Slave3 = 3};

enum ChannelNum1 { ChannelNum0 = 0, ChannelNum1 = 1, ChannelNum2 = 2, ChannelNum3 = 3, \
ChannelNum4 = 4, ChannelNum5 = 5, ChannelNum6 = 6, ChannelNum7 = 7, \
ChannelNum8 = 8, ChannelNum9 = 9, ChannelNum10 = 10, ChannelNum11 = 11, \
ChannelNum12 = 12, ChannelNum13 = 13, ChannelNum14 = 14, ChannelNum15 = 15};

enum ClodkDividerTimes {ClockDivider21Times = 21, ClockDivider42Times = 42, ClockDivider84Times = 84};

// *** Test functions ***

void initSpi(int8_t initNum, int8_t testNum);
void stopSpi(int8_t initNum, int8_t testNum);

enum MenuNum {FirstSelectNum = 0, LastSelectNum = 13, TotalSelectNum = 14};

void testSpi(int8_t initNum, int8_t testNum);
void printSpiSelectMenu(int8_t firstSelectNum, int8_t lastSelectNum, int8_t initNum, int8_t testNum);
void printSpiSelectMenu(int8_t initNum, int8_t testNum);
char askSpiSelectChar(String askString, int8_t initNum, int8_t testNum);
void exeSpiSelectFunction(char selectChar, int8_t initNum, int8_t testNum);

int8_t spiSlaveNum;

int askspiSlaveNum(int8_t initNum , int8_t testNum);
int8_t getSlaveSelectPin(int8_t spiSlaveNum);

byte xferOneByte(int8_t spiSlaveNum, byte writeByte);
void xferOneByte(int8_t spiSlaveNum, byte writeByte, unsigned long repeatNum);
void xferTwoByte(int8_t spiSlaveNum, byte writeByteArray[], byte readByteArray[]);
void xferThreeByte(int8_t spiSlaveNum, byte writeByteArray[], byte readByteArray[]);
void xferThreeByte(int8_t spiSlaveNum, byte writeByte0, \
byte writeByte1, byte writeByte2, byte readByteArray[]);
void xferThreeByte(int8_t spiSlaveNum, byte writeByte0, \
byte writeByte1, byte writeByte2);

void testOneByteLoopback(int8_t spiSlaveNum);
// *** Adc MC3208 **************************************************************

void convertMcp3208(int8_t adcChannelNum);
float calculateMcp3208(byte readByteArray[]);

// *** Iox MCP23S17 ************************************************************

// Iox write read commands ***

enum IoxCommandByte {IoxWriteCommand = 0x40, IoxReadCommand = 0x41};

// *** Control byte ***

enum ControlByte {ControlBytePorRst = 0x00};
enum SetBank {SetBank0 = 0x00, SetBank1 = 0x80};
enum SetAutoAddInc {SetAutoAddIncEnable = 0x00, SetAutoAddIncDisable = 0x20};
enum SetHardAdd {SetHardAddEnable = 0x08, SetHardAddDisable = 0x00};

// *** Iox register addressed ***

enum IoxRegisterAddressBank0 { IoConA0 = 0x0a, IoConB0 = 0x0b, \
IoDirA0 = 0x00, IoDirB0 = 0x01, \
IoPolA0 = 0x02, IoPolB0 = 0x03, \
GpIntEnA0 = 0x04, GpIntEnB0 = 0x05, \
DefValA0 = 0x06, DefValB0 = 0x07, \
IntConA0 = 0x08, IntConB0 = 0x09, \
GpPulA0 = 0x0c, GpPulB0 = 0x0d, \
IntFA0 = 0x0e, IntFB0 = 0x0f, \
IntCapA0 = 0x10, IntCapB0 = 0x11, \
GpioA0 = 0x12, GpioB0 = 0x13, \
OlatA0 = 0x14, OlatB0 = 0x15};

enum IoxRegisterAddressBank1 { IoConA1 = 0x05, IoConB1 = 0x15, \
IoDirA1 = 0x00, IoDirB1 = 0x10, \
IoPolA1 = 0x01, IoPolB1 = 0x11, \
GpIntEnA1 = 0x02, GpIntEnB1 = 0x12, \
DefValA1 = 0x03, DefValB1 = 0x13, \
IntConA1 = 0x04, IntConB1 = 0x14, \
GpPulA1 = 0x06, GpPulB1 = 0x16, \
IntFA1 = 0x07, IntFB1 = 0x17, \
IntCapA1 = 0x08, IntCapB1 = 0x18, \
GpioA1 = 0x09, GpioB1 = 0x19, \
OlatA1 = 0x0a, OlatB1 = 0x1a};

// *** Port Type ***

enum PortType {PortA = 0, PortB = 1};

enum PorRstRegValue {IoConPorRstVal = 0x00};

enum IoConfigByte {ConfigBank0 = 0x00, ConfigBank1 = 0x80, \
ConfigSeqDisable = 0x20, ConfigSeqEnable = 0x00, \
ConfigHardAddEnable = 0x08, ConfigHardAddDisable = 0x00, \
All8pinOutput = 0x00, All8pinInput = 0xff,
Upper8pinInputLower8pinOutput = 0xff00, \
Upper8pinOutputLower8pinInput = 0x00ff, \
Upper4pinInputLower4pinOutput = 0xf0, \
Upper4pinOutputLower4pinInput = 0x0f};
enum PullUpConfigByte {All8pinPullUp = 0xff};
enum DataByte {All8bitOne = 0xff, All8bitZero = 0x00, \
Upper8bitOneLower8bitZero = 0xff00, \
Upper8bitZeroLower8bitOne = 0x00ff, \
Upper4bitOneLower4bitZero = 0xf0, \
Upper4bitZeroLower4bitOne = 0x0f};

enum IoxSubAddress {IoxChipSubAddress0 = 0b000};

// *** Functions ***

void initIox(int8_t slaveNum);
void ioxWrite(int8_t spiSlaveNum, byte ioxRegisterAddress, byte writeDataByte);
byte ioxRead(int8_t spiSlaveNum, byte ioxRegisterAddress);

private:
};

#endif

// *** End ********************************************************************


// *** FongSpi02.cpp *******

// ********************************************************************
// FongSpi02 – TL Fong 2015jan29hkt2150
// ********************************************************************

#include <FongSpi02.h>

// *** Constructors ***********************************************************

FongSpi02::FongSpi02(int8_t initNum, int8_t testNum): FongDigiControl02(initNum, testNum)
{
// Serial.println(F(“\nBegin FongSpi02::FongSpi02(), … >>>>>>>>>”));

_initNum = initNum;
_testNum = testNum;

beep();

if (_initNum <= InitNum0)
initSpi(_initNum, _testNum);

if (_testNum <= TestNum4)
testSpi(_initNum, _testNum);

// Serial.println(F(“End FongSpi02::FongSpi02(), … >>>>>>>>>”));
}

// *** Init functions ***

void FongSpi02::initSpi(int8_t initNum, int8_t testNum)
{
// Serial.println(F(“\n\nBegin FongSpi02::initSpi(). >>”));

SPI.begin(SlaveSelectPinSs0);
SPI.begin(SlaveSelectPinSs1);
SPI.begin(SlaveSelectPinSs2);
SPI.begin(SlaveSelectPinSs3);

SPI.setClockDivider(SlaveSelectPinSs0, ClockDivider84Times);
SPI.setClockDivider(SlaveSelectPinSs1, ClockDivider84Times);

// SPI.setClockDivider(SlaveSelectPinSs0, ClockDivider21Times);
// SPI.setClockDivider(SlaveSelectPinSs1, ClockDivider21Times);

SPI.setDataMode(SlaveSelectPinSs0, SPI_MODE0);
SPI.setDataMode(SlaveSelectPinSs1, SPI_MODE0);
SPI.setDataMode(SlaveSelectPinSs2, SPI_MODE0);
SPI.setDataMode(SlaveSelectPinSs3, SPI_MODE0);

// initIox(spiSlaveNum);
// delay(100);

// Serial.println(F(“End FongSpi02::initSpi(). >>\n”));
}

void FongSpi02::stopSpi(int8_t initNum, int8_t testNum)
{
Serial.println(F(“\n\nBegin FongSpi02::stopSpi(). >>”));

SPI.end(SlaveSelectPinSs0);
SPI.end(SlaveSelectPinSs1);
SPI.end(SlaveSelectPinSs2);
SPI.end(SlaveSelectPinSs3);

Serial.println(F(“End FongSpi02::stopSpi(). >>\n”));
}

// *** Test functions *********************************************************

void FongSpi02::testSpi(int8_t initNum, int8_t testNum)
{
char selectChar;

Serial.println(F(“Begin FongSpi02::testSpi(). >>”));

spiSlaveNum = 0;
Serial.print(F(“\n+++ Current slave number = “));
Serial.print(spiSlaveNum);

printSpiSelectMenu(initNum, testNum);
while (selectChar != ‘x’)
{
selectChar = askSpiSelectChar(“Spi Test Select”, initNum, testNum);
if (selectChar == ‘x’)
break;
else
{
exeSpiSelectFunction(selectChar, initNum, testNum);
selectChar = ‘m';
}
}

Serial.println(F(“End FongSpi02::testSpi(). >>”));
}

void FongSpi02::printSpiSelectMenu(int8_t initNum, int8_t testNum)
{
printSpiSelectMenu(FirstSelectNum, LastSelectNum, initNum, testNum);
}

char FongSpi02::askSpiSelectChar(String askString, int8_t initNum, int8_t testNum)
{
char selectChar;
char dummyChar;

// *** flush read buffer ***
while (Serial.available() > 0) {dummyChar = Serial.read();} // flush

// *** get user selection ***
Serial.print(F(“\n”));
Serial.print(askString);
Serial.println(F(” = ? >>>> “));

while (Serial.available() == false) {} // wait for char
selectChar = Serial.read();
Serial.print(F(“”));
Serial.print(askString);
Serial.print(F(” = “));
Serial.print(selectChar);
Serial.println(F(” >>>>”));
return selectChar;
}

// *** Ask SPI slave num ***

int FongSpi02::askspiSlaveNum(int8_t initNum , int8_t testNum)
{
char dummyReadChar;
char slaveChar;
int spiSlaveNum;

Serial.print(F(“\n*** Select SPI Slave Num, …”));
Serial.print(F(“\n 0 = Slave 0″));
Serial.print(F(“\n 1 = Slave 1″));
Serial.print(F(“\n 2 = Slave 2″));

// *** flush read buffer ***
while (Serial.available() > 0) {dummyReadChar = Serial.read();} // flush

Serial.print(F(“\nEnter SPI slave number, … \n”));

while (Serial.available() == false)
{
}
slaveChar = Serial.read();
spiSlaveNum = slaveChar – ‘0’;

Serial.print(F(“\n+++ Current slave number = “));
Serial.print(spiSlaveNum);

return spiSlaveNum;
}

// *** Transfer SPI bytes ***

byte FongSpi02::xferOneByte(int8_t spiSlaveNum, byte writeByte)
{
int8_t slaveSelectPin = getSlaveSelectPin(spiSlaveNum);
byte readByte = SPI.transfer(slaveSelectPin, writeByte);
return readByte;
}

void FongSpi02::xferOneByte(int8_t spiSlaveNum, byte writeByte, unsigned long repeatNum)
{
for (unsigned long i = 0; i < repeatNum; i++)
{
xferOneByte(spiSlaveNum, writeByte);
}
}

int8_t FongSpi02::getSlaveSelectPin(int8_t spiSlaveNum)
{
if (spiSlaveNum == 0)
return SlaveSelectPinSs0;
else if (spiSlaveNum == 1)
return SlaveSelectPinSs1;
else if (spiSlaveNum == 2)
return SlaveSelectPinSs2;
}

void FongSpi02::xferTwoByte(int8_t spiSlaveNum, byte writeByteArray[], byte readByteArray[])
{
int8_t slaveSelectPin = getSlaveSelectPin(spiSlaveNum);

readByteArray[0] = SPI.transfer(slaveSelectPin, writeByteArray[0], SPI_CONTINUE);
readByteArray[1] = SPI.transfer(slaveSelectPin, writeByteArray[1], SPI_LAST);
}

void FongSpi02::xferThreeByte(int8_t spiSlaveNum, byte writeByteArray[], byte readByteArray[])
{
int8_t slaveSelectPin = getSlaveSelectPin(spiSlaveNum);

readByteArray[0] = SPI.transfer(slaveSelectPin, writeByteArray[0], SPI_CONTINUE);
readByteArray[1] = SPI.transfer(slaveSelectPin, writeByteArray[1], SPI_CONTINUE);
readByteArray[2] = SPI.transfer(slaveSelectPin, writeByteArray[2], SPI_LAST);
}

void FongSpi02::xferThreeByte(int8_t spiSlaveNum, byte writeByte0, \
byte writeByte1, byte writeByte2, byte readByteArray[])
{
int8_t slaveSelectPin = getSlaveSelectPin(spiSlaveNum);

readByteArray[0] = SPI.transfer(slaveSelectPin, writeByte0, SPI_CONTINUE);
readByteArray[1] = SPI.transfer(slaveSelectPin, writeByte1, SPI_CONTINUE);
readByteArray[2] = SPI.transfer(slaveSelectPin, writeByte2, SPI_LAST);
}

void FongSpi02::xferThreeByte(int8_t spiSlaveNum, byte writeByte0, \
byte writeByte1, byte writeByte2)
{
int8_t slaveSelectPin = getSlaveSelectPin(spiSlaveNum);

byte dummyReadByte;
dummyReadByte = SPI.transfer(slaveSelectPin, writeByte0, SPI_CONTINUE);
dummyReadByte = SPI.transfer(slaveSelectPin, writeByte1, SPI_CONTINUE);
dummyReadByte = SPI.transfer(slaveSelectPin, writeByte2, SPI_LAST);
}

void FongSpi02::testOneByteLoopback(int8_t spiSlaveNum)
{
byte writeByte = 0x55;
byte readByte;

Serial.print(F(“Write byte = “));
Serial.println(writeByte, HEX);

readByte = xferOneByte(spiSlaveNum, writeByte);

Serial.print(F(“Read byte = “));
Serial.println(readByte, HEX);
}

// *** ADC functions ***

void FongSpi02::convertMcp3208(int8_t adcChannelNum)
{
int8_t slaveNum;
int8_t mcp3208ChannelNum;

byte writeByteArray[3];
byte readByteArray[3];
float adcResult;

if (adcChannelNum <= 7)
{
mcp3208ChannelNum = adcChannelNum;
slaveNum = Slave0;
}
else
{
mcp3208ChannelNum = adcChannelNum – 8;
slaveNum = Slave1;
}

switch (mcp3208ChannelNum)
{
case 0:
{
writeByteArray[0] = 0b00000110;
writeByteArray[1] = 0b00000000;
writeByteArray[2] = 0b00000000;
break;
}
case 1:
{
writeByteArray[0] = 0b00000110;
writeByteArray[1] = 0b01000000;
writeByteArray[2] = 0b00000000;
break;
}
case 2:
{
writeByteArray[0] = 0b00000110;
writeByteArray[1] = 0b10000000;
writeByteArray[2] = 0b00000000;
break;
}
case 3:
{
writeByteArray[0] = 0b00000110;
writeByteArray[1] = 0b11000000;
writeByteArray[2] = 0b00000000;
break;
}
case 4:
{
writeByteArray[0] = 0b00000111;
writeByteArray[1] = 0b00000000;
writeByteArray[2] = 0b00000000;
break;
}
case 5:
{
writeByteArray[0] = 0b00000111;
writeByteArray[1] = 0b01000000;
writeByteArray[2] = 0b00000000;
break;
}
case 6:
{
writeByteArray[0] = 0b00000111;
writeByteArray[1] = 0b10000000;
writeByteArray[2] = 0b00000000;
break;
}
case 7:
{
writeByteArray[0] = 0b00000111;
writeByteArray[1] = 0b11000000;
writeByteArray[2] = 0b00000000;
break;
}
}

Serial.print(F(” ADC channel num = “));
Serial.print(adcChannelNum);
// Serial.print(F(” MCP3208 channel num = “));
// Serial.print(mcp3208ChannelNum);
// Serial.print(F(” SPI slave num = “));
// Serial.print(slaveNum);

// xferThreeByte(slaveNum, writeByteArray, readByteArray);

xferThreeByte(slaveNum, writeByteArray[0], writeByteArray[1], writeByteArray[2], readByteArray);

adcResult = calculateMcp3208(readByteArray);

Serial.print(F(” Analog voltage = “));
Serial.println(adcResult);
}

float FongSpi02::calculateMcp3208(byte readByteArray[])
{
byte readByte2;
byte readByte3;

unsigned long resultBinary = 0;
float voltageDecimal = 0.0;

// Serial.print(F(“Read byte 2 x = “));
// Serial.println(readByteArray[1], HEX);

// Serial.print(F(“Read byte 3 x = “));
// Serial.println(readByteArray[2], HEX);

resultBinary |= (readByteArray[1] &= 0x0F);
resultBinary = resultBinary << 8;
resultBinary |= readByteArray[2];

// Serial.print(F(“ResultBinary x = “));
// Serial.println(resultBinary, HEX);

voltageDecimal = (float(resultBinary) / float(0x0FFF)) * 4.096;

// Serial.print(F(“Analog voltage x = “));
// Serial.println(voltageDecimal);

return voltageDecimal;
}
// *** Print select menu ***

void FongSpi02::printSpiSelectMenu(int8_t firstSelectNum, int8_t lastSelectNum, int8_t initNum, int8_t testNum)
{
const char menu0[] PROGMEM = “0 = Change slave number. >>>>”;
const char menu1[] PROGMEM = “1 = Repeat send char. >>>>”;
const char menu2[] PROGMEM = “2 = Loopback. >>>>”;
const char menu3[] PROGMEM = “3 = Test Adc MCP3208. >>>>”;
const char menu4[] PROGMEM = “4 = Config Bank 0, auto add inc, hard add enable. >>>>”;
const char menu5[] PROGMEM = “5 = Port A, B on. >>>>”;
const char menu6[] PROGMEM = “6 = Port A, B off. >>>>”;
const char menu7[] PROGMEM = “7 = Reserved. >>>>”;
const char menu8[] PROGMEM = “8 = Reserved. >>>>”;
const char menu9[] PROGMEM = “9 = Reserved. >>>>”;
const char menu10[] PROGMEM = “a = EEPROM. >>>>”;
const char menu11[] PROGMEM = “m = Menu. >>>>”;
const char menu12[] PROGMEM = “h = Help. >>>>”;
const char menu13[] PROGMEM = “x = Exit. >>>>”;

const char * const selectMenu[] PROGMEM = \
{menu0, menu1, menu2, menu3, menu4, \
menu5, menu6, menu7, menu8, menu9, \
menu10, menu11, menu12, menu13};

Serial.println(F(“\n### Spi test selection ###”));
for (int8_t i = firstSelectNum; i <= lastSelectNum; i++)
{
Serial.println(selectMenu[i]);
}
}

// *** Execute selection function *********************************************

void FongSpi02::exeSpiSelectFunction(char selectChar, int8_t initNum, int8_t testNum)
{
byte writeByteArray[3];
byte readByteArray[3];
writeByteArray[1] = 0x00;
writeByteArray[2] = 0x00;
float adcResult;

if (selectChar == ‘0’)
{
spiSlaveNum = askspiSlaveNum(_initNum, _testNum);
selectChar = ‘m';
}
else if (selectChar == ‘1’)
{
xferOneByte(Slave0, ‘x’, Repeat100000Times);
xferOneByte(Slave1, ‘x’, Repeat100000Times);
xferOneByte(Slave2, ‘x’, Repeat100000Times);
xferOneByte(Slave3, ‘x’, Repeat100000Times);
selectChar = ‘m';
}
else if (selectChar == ‘2’)
{
testOneByteLoopback(spiSlaveNum);
selectChar = ‘m';
}
else if (selectChar == ‘3’)
{
convertMcp3208(ChannelNum0);
convertMcp3208(ChannelNum1);
convertMcp3208(ChannelNum2);
convertMcp3208(ChannelNum3);
convertMcp3208(ChannelNum4);
convertMcp3208(ChannelNum5);
convertMcp3208(ChannelNum6);
convertMcp3208(ChannelNum7);
convertMcp3208(ChannelNum8);
convertMcp3208(ChannelNum9);
convertMcp3208(ChannelNum10);
convertMcp3208(ChannelNum11);
convertMcp3208(ChannelNum12);
convertMcp3208(ChannelNum13);
convertMcp3208(ChannelNum14);
convertMcp3208(ChannelNum15);
selectChar = ‘m';
}

else if (selectChar == ‘4’)
{
initIox(Slave0);
selectChar = ‘m';
}

else if (selectChar == ‘5’)
{
ioxWrite(Slave0, OlatA0, 0xff);
ioxWrite(Slave0, OlatB0, 0xff);
selectChar = ‘m';
}
else if (selectChar == ‘6’)
{
ioxWrite(Slave0, OlatA0, 0x00);
ioxWrite(Slave0, OlatB0, 0x00);
selectChar = ‘m';
}
else if (selectChar == ‘m’)
{
Serial.print(F(“\n+++ Current slave number = “));
Serial.print(spiSlaveNum);
printSpiSelectMenu(initNum, testNum);
}
else if (selectChar == ‘h’)
{
Serial.print(“Sorry, no help available, …”);
}
else
{
Serial.print(“Sorry, no such option, …”);
}
// selectChar = ‘m';
}

// *** IO Expander MCP23S17 ***************************************************

void FongSpi02::initIox(int8_t spiSlaveNum)
{
// ***Bank 0, Disable auto address increment (Byte mode, address toggle),
// Enable hardware address ***

// byte ioConByte = (ControlBytePorRst | SetBank0 | SetAutoAddIncDisable| SetHardAddEnable);

// ***Bank 0, Enable auto address increment (Sequential mode, no address toggle),
// Enable hardware address ***

byte ioConByte = (ControlBytePorRst | SetBank0 | SetAutoAddIncEnable| SetHardAddEnable);

Serial.print(F(“IoConByte = “));
Serial.println(ioConByte, HEX);
Serial.print(F(“IoConA = “));
Serial.println(IoConA0, HEX);
Serial.print(F(“IoDirA = “));
Serial.println(IoDirA0, HEX);
Serial.print(F(“IoDirB = “));
Serial.println(IoDirB0, HEX);

ioxWrite(spiSlaveNum, IoConA0, ioConByte);
ioxWrite(spiSlaveNum, IoDirA0, All8pinOutput);
ioxWrite(spiSlaveNum, IoDirB0, All8pinOutput);

// xferThreeByte(Slave0, 0x40, 0x0a, 0x28); // bank0, byte mode = toggle A, B
// xferThreeByte(Slave0, 0x40, 0x00, 0x00); // Port A all 8 bits output
// xferThreeByte(Slave0, 0x40, 0x01, 0x00); // Port B all 8 bits output

}

void FongSpi02::ioxWrite(int8_t spiSlaveNum, byte ioxRegisterAddress, byte writeDataByte)
{
byte writeByteArray[3];
byte readByteArray[3];

writeByteArray[0] = IoxWriteCommand;
writeByteArray[1] = ioxRegisterAddress;
writeByteArray[2] = writeDataByte;
Serial.print(F(“Iox Slave Number = “));
Serial.println(spiSlaveNum, DEC);
Serial.print(F(“Iox Register Address = “));
Serial.println(ioxRegisterAddress, HEX);
Serial.print(F(“Iox Write Data Byte = “));
Serial.println(writeDataByte, HEX);

xferThreeByte(spiSlaveNum, writeByteArray, readByteArray);
}

byte FongSpi02::ioxRead(int8_t spiSlaveNum, byte ioxRegisterAddress)
{
byte writeByteArray[3];
byte readByteArray[3];
byte dummyByte = 0x00;

writeByteArray[0] = IoxReadCommand;
writeByteArray[1] = ioxRegisterAddress;
writeByteArray[2] = dummyByte;
Serial.print(F(“Iox Slave Number = “));
Serial.println(spiSlaveNum, DEC);
Serial.print(F(“Iox Control Byte = “));
Serial.println(IoxWriteCommand, HEX);
Serial.print(F(“Iox Register Address = “));
Serial.println(ioxRegisterAddress, HEX);

xferThreeByte(spiSlaveNum, writeByteArray, readByteArray);

Serial.print(F(“Iox Read Data Byte = “));
Serial.println(readByteArray[2], HEX);

return readByteArray[2];
}

// *** End ********************************************************************

.END

Leave a comment

Filed under Electronics DIY Project

MCP23s17 Board #2 assembly notes

mcp23s27_2_2015jan2901 mcp23s27_2_2015jan2902

MCP23s17 Board #2 assembly notes

.END

Leave a comment

Filed under Electronics DIY Project

NI myDAQ

Get Started Using NI myDAQ with LabVIEW for Education

.END

Leave a comment

Filed under Electronics DIY Project

MCP23S17 pinout

mcp23s17_pinout_-2015jan2901

MCP23S17 pinout

.END

Leave a comment

Filed under Electronics DIY Project

揭阳徐氏的来龙去脉 – 徐海波

揭阳徐氏的来龙去脉 – 徐海波 揭阳新闻网 2008年11月12日

http://www.jynews.net/Item/40165.aspx

揭阳自秦汉置县,辖区广阔,不仅包括今整个潮汕,还包括闽南、兴梅一带,后几经分分合合,直至宋绍兴十年复置揭阳县。故各姓氏入揭创寨定居而又有书可考者,最早也只能于宋。揭阳徐氏入揭创寨定居比林、陈、黄、郑诸姓慢,据《揭阳县人口志》、《揭阳县地名志》载:

地都镇凤鸣村,元末徐氏从潮安迁此定居,现有人口1000多人。

仙桥镇禄宜村,原称直旗村。明代徐氏迁此定居,后其子孙徐虔(字宗敬),于天顺元年(1457)中进士,历任兵部主事、承德郎、镇远知府。谢世后葬于该镇紫峰山徐处岭。其子孙后来因故迁往潮阳,今该村全无徐姓,仅存“直旗徐寨垣”。

埔田镇历来有“埔田四徐”之称。

老岭村:全村徐姓,系明嘉靖年间徐氏先祖从丰顺县埔头乡迁此定居,人口2000多人。

新岭村:相传徐氏先祖于明万历41年(1613)从丰顺迁此定居,人口1000多人。

埔田村:清乾隆二年(1737),徐氏先祖徐叠池带妻携儿从老岭村迁此定居,人口约2000多人。

老洋村:清乾隆二年,徐氏先祖从老岭村分创于此,人口2000多人。

牌边村:明代中期,先后有多姓从江西、福建、丰顺等地迁此定居。全村人口约5000多人,徐姓约1000多人,是明末清初自丰顺迁来定居。

新亨北良村:原名大良岗。寨初创于宋,是多姓氏自然村,明洪武三年(1368),徐氏先祖由福建莆田迁至丰顺“埔头犁峰”(地名)后,又迁此定居,人口约3000多人。

新亨白石村:全村人口约七八千人,有徐、吴、赖、曾诸姓聚居,其中徐姓为大姓,人口约5000人,相传徐氏先祖于明嘉靖40年从福建莆田迁此定居

梅云镇双梧村,全村系徐姓。清康熙二年(1663)自饶平海山迁此定居,现有人口1000多人。此外,仙桥镇顶六乡有徐姓人口1000多人。

徐光华

丰顺埔头徐辈序:历代名位显。

奕世功业成

据《东海堂徐氏族谱》记载,宋朝末年,徐氏有一支自江西石城县迁至福建汀州上杭、连城二县,元代时迁居广东丰顺、海丰、梅县、博隆及潮州的南坑,另据《崇正同人系谱》记载,徐氏一支于南宋末年从江西宁都迁至广东五华县。

《和平徐族谱》记载,徐氏一支于元初从江西吉水出发,随南宋皇帝由福建入广东,迁居和平县。

《蓝田徐氏族谱》记载,蓝田徐氏原籍福建宁化石壁,明洪武年间,迁居广东揭阳蓝田。]

(编辑:李泽娜)

.END

Leave a comment

Filed under Electronics DIY Project

冇柒用 – 李碧華

如果我是 Puma 高層 – 文廸晞  蘋果日報 2015年01月29日

一見血就龜縮,試問一隻無腰骨嘅獵豹又點樣可以繼續跑? 資料圖片

一張 D7689 號碼布,令 Puma 立即跪低,急忙割席,結果人神共憤,本來無辜的受害者,變成危機的始作俑者。我相信 Puma 高層一定在問,點解會搞成咁?

做品牌其實同做人一樣,都要有腰骨,作為國際大品牌就更加要有大將風骨。一見血就龜縮,絕不適合今日的Z世代,試問一隻無腰骨嘅獵豹又點樣可以繼續跑?今時今日網絡突襲無奇不有,大品牌也要識得拆招,懂得運用網絡式的幽默,來回敬網民的「祝福」。

如果我是 Puma 高層,面對藍絲人的挑釁,我會這樣回應:「對於這張圖令部份人士感到不安,我深表歉意,在此澄清,這張圖不是出自 Puma 手筆,然而,我要向充滿創意的香港人說聲多謝,在你們的身上,我看到 Puma 精神。Puma 和每位香港人一樣,愛速度,愛創意,因為我們勇於嘗試,敢於挑戰,才能和你一樣,跑得最快,走得最前。」

然後,我會發揮更多的幽默感,在網上 post 上另一張改圖,令深感不安的藍絲人稍稍釋懷。這張圖與之前一樣,唯一不同是號碼變作「52689」,廣東話的諧音是「唔要 689」,國語的諧音則是「我愛689」。

如何對號入座,適隨尊便,哪管你是藍營或者黃營,總有一款適合你。這樣做,會令人杯葛 Puma 嗎?或許會。然而,少了一個藍絲 fan,你會贏得更加多懂得欣賞你的人、一班有機會成為真正 fans 的人。

事件令我想起那隻「路姆西」,它被淪為政治工具,弄得滿城風雨,然而,IKEA 並沒有立即把它下架,而是盡情發揮它的幽默本錢,令「路姆西」成為全城搶購對象,連特首也忍不住把它放在枱頭晒命。當然,如此火上加油、以幽默連消帶打的方法,並不是個個品牌也受得起,好明顯,Puma 高層就唔會考慮。

BTW,特首不妨也學吓幽自己一默,在明年的渣馬掛上 D7689 號碼布,為跑手打打氣,也為充滿戾氣的香港消消氣,或者,現場的噓聲會變成陣陣的歡笑聲。

文廸晞


永久性代號 – 李碧華  蘋果日報 2015年01月29日

大家發覺嗎?自從689呃位坐後,香港風氣日漸怪異,禍港殃民警黑曖昧令怨憤日增,坊間粗口多了,還習以為常,什麼「丟路姆西」、「仆街」、「鳩嗚」、「話你on9怕你嬲」、「DLM」、「臭西」、「柒」(「冇柒用」是689隱語)……最流行的當然是「D7689」了。

媚主表忠的藍絲向 PUMA 投訴,那個號碼布上的「D7」是廣東粗口,而「689」為特首代號,所以要求為「反政府」道歉。PUMA 刪圖道歉,無骨氣行動又惹黃絲杯葛罷買……今日香港社會撕裂得無聊又荒謬,益顯廠商豬八戒照鏡子,兩面不是人。但一經擾攘,反而重點提示,「D7689」會否成為永久性代號呢?不知。但香港監獄每個犯人都有一永久性編號(終身冧巴),此系統1971年開始使用。

城中有日本串燒店早着先機,宣佈只要顧客身份證上有D7689、7689……等相關數字,都享折扣優惠,直到年廿九。

有家茶餐廳,顧客大聲喊「D7689!」,送奶茶一杯──奶茶成本低,但勝在三點三市井熱鬧好玩。不過有位仁兄(貌似裝修佬)一時口快喊錯「D7689!」,他冇獎。爆笑!

(註:「永久性」代號、永久「性代號」互通。)

李碧華


大陸經濟面臨三個劫 – 練乙錚 信報 2015年01月29日

李克強在達沃斯世經論壇上說,大陸經濟不會「硬着陸」而只會更穩健,各種經濟政策和改革,亦足以避免掉進所謂的「中等收入陷阱」。這些樂觀話,到底是接近胸有成竹的如實反映,還是有相當程度的宣傳成分,不僅外人無法確定,就算是李氏自己,大概也難真正把握。在這種情況底下,學術研究就是大眾的最好朋友,能夠提供有用數據資料和嚴格而比較客觀的分析,作為討論的起點。

筆者周一的文章介紹北京大學光華管理學院 Michael Pettis 的一個論點:高信貸╱GDP比率的經濟發展,有所謂「倒轉資產負債表效應」,快時超快、跌時急跌。尤甚者,企業和政府的領導,往往誤以為超快增長是策略一貫正確行之有效使然,因此在增長放緩的時候不僅沿用既有政策還要「加大力度」,如此「孤注雙擲」,結果跌得更急。

虛報軍情 露出馬腳

這篇文章有時義,首先因為大陸的「社會整體信貸╱GDP」比率,由於地方政府一向普遍虛報軍情而最近露出馬腳,實際上很可能已經達到300%以上,與美國看齊(見2014年12月29日拙文)。其次,目前人行還不停以各種方法大手筆催谷信貸以支援企業投資;如此「孤注雙擲」,信貸╱GDP比率只會有增無已,「倒轉資產負債表」的負面效應亦只會加強。這反映出,大陸說要改變經濟增長模式,但卻不能接受較低的增長,因為害怕無法穩定社會(最新的說法是「經改和增長沒矛盾」;是的話,真是「一天都光晒」)。

同樣的政策心態在證券市場也十分明顯。大陸證監本來要限制上海股市裏的孖展炒作,不料一卡就死,引致上指1月19日單日跌幅幾達8%;證監於是又放鬆孖展借貸以穩定市場

結果,上交所的孖展信貸總額一周之內急升200多億人仔(約3%)。沒辦法,大陸整個工業投資利潤急跌(12月份跌8%,比11月份跌4.2%多了幾乎一倍),不少企業無錢可賺,惟有用資本加信貸大膽炒孖展,故股票市場半年來是整個大陸經濟的少數「亮點」之一,怎可以失掉!

筆者今天再介紹一個關於經濟減速的實證研究:《亞細亞亢奮遇上中值回歸率》(2014年10月發表;下稱《亞》文)。做出這個研究的,是哈佛大學 Kennedy School 的兩位學者,分別是財經界熟知的森默斯(Larry H. Summers),以及森氏在世銀工作時他的一位顧問、發展經濟學家 Lant Pritchett【註1】。

文章一開始把戰後亞洲經濟發展看成一齣演了三幕的四幕劇。

第一幕是日本戰後的經濟興起、於八十年代成為發達國;

第二幕是六十年代開始興旺、九十年代廁身已發展經濟行列的「亞洲四小龍」(港、星、韓、台)的故事,以及隨之而來馬、泰、印尼三國的發展;

第三幕的主角則是八九十年代起高速成長日漸成為經濟大國的中國和印度,其中中國的表現尤其矚目。按購買力平價計算,Penn World Tables的資料顯示,2011年起,中、印兩國已分別成為繼美國之後的世界第二、第三大經濟體

故事的第四幕怎樣寫呢?特別是,中國在這一幕裏會怎樣演出呢?

《亞》文介紹了坊間一系列的樂觀看法,其中包括OECD、世銀、中國國務院、美國情報界等對今後十至三十年的長期預測,其中尤以芝加哥大學商學院人口經濟研究中心教授 Robert Fogel 的推算最驚人:到2040年,中國的GDP將高達123萬億美元(相當於去年美國GDP的7倍有多),而且很可能還是大大低估了【註2】。

值得一提的是,這位 Fogel 教授是經濟史專家、1993年經濟學諾獎得主之一,有別於哈佛大學寫《鄧小平時代》那位亞洲通 Erza Vogel(傅高義);後者是中國通費正清在哈佛的繼承人,以1979年出版風行一時的《日本世界第一》而家傳戶曉,成為日本大好友;可惜日本「不爭氣」,害他2000年要寫一本《日本還是世界第一嗎?》,但這本「補飛」之作並不成功。Vogel 落得尷尬,Fogel 又如何呢?

增長奇迹 多已完蛋

《亞》文認為,上述那些長期預測,無一不是根據以往數據作出的(廣義)線性前瞻,但經濟發展和股票市場差不多,往績不能用以推算未來;那不是理論分析的結果,而是從大量實證研究得出的關於現實世界的結論。

文章指出,當年關於日本的預測還不是錯得最厲害;如果看大師薩繆森(Paul A. Samuelson,1970年經濟學諾獎得主,筆者那一代人讀經濟的,幾乎不可能沒讀過他寫的那本大一教科書),則他在1961年的預言「戰後急速增長的蘇俄經濟將於八十年代末期超越美國」,現在看來簡直匪夷所思,因為到了八十年代末期,蘇俄也就完蛋了。

不說不知,七八十年代還有一個「增長奇迹」羅馬尼亞,不過也過不了1990年那一關。

另一方面,《亞》文也指出完全相反的例子:非洲。二十年前經濟學界對非洲沒有看好的,一般認為是發展中世界的「絕症」(basket case)。但是,非洲近十年突飛猛進,平均GDP增幅在5%以上,超越了往日奇迹東亞今天的表現;其中尤以安哥拉的增長最勁,2001到2010年間,平均增幅是每年11.1%,比同期中國還要高。其他如毛里塔尼亞、蘇丹、莫三比克、馬拉威、盧旺達、乍得等國,也非常可觀,年增幅經常達到7%以上。

GDP 增幅的預測,怎樣做才比較有譜呢?《亞》文從大量的數據和實例得出的結果顯示,以「回歸中值」作預測模型,比用線性預測有效得多。何謂經濟增長的「中值」呢?發展經濟學的文獻已經說明:在世界經濟史上有可靠數據的時段裏,實質GDP年增幅的中值(mean)是2%,標準誤差(s.d.)也是2%左右。簡約解釋:綜觀近世各國的經濟增長經驗,平均年增幅在0%到4%(即中值2% ± 1個s.d.)之間的事例,佔所有實例的68%;年增幅在-2%到6%(即中值2% ± 2個s.d.)的事例已經包括所有事例的95%。

所以,中國現時7.4%的年增幅乃是極其罕有;若能保持在此水平而不回歸中值2%的話,需要理論解釋。實際上,如果自然增長的勢已去,還要長期「保七保八」,有很大的資源投入也未必成事,反倒會令經濟遭受硬傷(如環境過度污染、人民身心健康受損、水資源衰竭等)。

認清形勢 免墮陷阱

此外,《亞》文還指出經濟增長的一些特性:

一、典型發展中國家的GDP年增幅有時很高、有時很低(這不是國家之間的橫向比較,而是同一個國家在不同時段裏的比較);也就是說,突然的加速和減速都很常見。

二、在很高和很低增幅出現之間,經常出現突然斷裂(即缺少數學意義上的連續性)。因此,就一國自身而言,過去的增長表現對未來的表現沒有很大的參考作用,相關性大概只在0.2左右。

三、國家決策如果是指令性的,不同時段的增長差異就較大,往績就更難用來預測未來。

四、

與中國的GDP高增幅持久度堪可比擬的經濟體,世界上只有台灣和南韓。

後兩者都做到了三十年的年增幅高於6%(台灣是連續三十二年;中國今年是 第三十六年,稍長);

此兩地GDP增長明顯減速之後,年增幅平均都只在3至4%左右。

其他曾經經歷長時間高增長的地方,回落之後的平均增長率只達到 2.1%。

五、根據統計所得,中國若按「回歸中值」的規律減速的話,之後的GDP平均年增幅僅達3.98%。

《亞》文也談到「中等收入陷阱」。這個概念與「回歸中值」有何關係呢?兩者有關但意義不同,主要都包含經濟增長放緩的概念(如果過慢的經濟增長回歸 中值,那當然就是增長加速)。「回歸中值」是任何發展水平的經濟都會有的傾向;陷入「中等收入陷阱」則是在特定經濟水平(即「中等收入」)附近才較多觀察 到的。文章指出,經濟發展速度「回歸中值」的統計必然性,比觀察到的掉進「中等收入陷阱」的機率還要高,而且高得多。

事實上,在所有發展經濟的規律當中,「回歸中值」是最可靠的實證規律。按《亞》文的計算,中國經濟出現增幅「回歸中值」的風險與掉到「中等收入陷阱」的風險比較,前者是後者的十倍。

讀者也許記得,去年4月7日,筆者引用加州大學巴克萊的 Barry Eichengreen、高麗大學的 D.Park 和亞洲開發銀行的 K.Shin 合寫的一篇文章《再論增長減速:中等收入陷阱新觀察》做背景資料說明問題。 Eichengreen 是研究「經濟增長放緩」和「中等收入陷阱」這兩個課題最深入的一位學者。在這篇文章中,學者們研究了45個國家和地區的239個 2010年或以前發生的「經濟增長放緩」事例,發現了最多出現人均GDP增長放緩的門檻,不是只有一個而是有兩個:其一是在人均GDP處於10000至 11000美元之間(按購買力平價算.下同),另一則是處於15000至16000美元之間。

去年,大陸的GDP剛巧到了第一個(低)門檻(這個門檻的人 均收入是香港人目前的平均四分一不到)。

因此,可以這樣說:大陸經濟這七年來的逐步減速(從14.2%的峰值降到去年年底的7%多一點,跌了幾乎一半),說明前面有三個劫。

第一劫:陷進低門檻的「中等收入陷阱」。此劫迫近眉睫,如果減速以過去七年裏的幅度繼續,發展也許就卡住了,以後就很難趕得上現時的發達國。

第二劫:逃過第一劫,但大約再過五年,然後掉進較高門檻的那個「中等收入陷阱」;如此,趕超先進國也難辦得到。

第三劫:跨過兩個「中等收入陷阱」之後,遇上出現可能性大得多的GDP增幅「回歸中值」,之後以大大低於6%甚或低於4%的速度增長。

周一筆者的文章提過,目下一般論者說的「中高速」增長指的是6至8%,亦即中值增幅2%加2至3個標準誤差的速度,那已是非常罕有;認為大陸經濟能 長期在這個水平增長的,當然就是樂觀派了。認為大陸只有4至6%的長期穩定增幅的,可稱為審慎悲觀派,例如「末日博士」魯賓尼。大家留意,上述這幾個數 字:2%、4%、6%,並不是隨意杜撰的,而是基於觀察到的世界經濟增長中值(2%)和標準誤差(2%)兩者的三種組合。這些速度,對大陸經濟而言,就是 所謂的「劫位」。幻想小說中的唐三藏往西天取經,一共歷過九九八十一劫,大陸經濟要面對的,不過區區三劫,但能否闖過去,還沒有人知道。共產黨是孫悟空 嗎?

李克強近日的樂觀話,當然是說給外國日漸增加的中國經濟「淡友」聽的。過去數年,隨着央行的刺激政策,大陸GDP不時回升,2012Q4、 2013Q3、2014Q2都如此,「好友」每每認為那就是周期下行到底掉頭的訊號;不過,總的趨勢卻是不斷減速,「淡友」於是愈看愈覺得不是周期現象那 麼簡單。若「唱淡」不過是等閒之輩口出誑言或市場中人的策略性說話,則大陸領導人大可不必操心得要把這種淡風「消滅於萌芽階段」,但如果一些長期投資大陸 的聰明錢開始退場,國際上一些有份量經濟學家也提出增長警告,則總理說的話,就有點力挽狂瀾的味道了。

《信報》特約評論員

【註1】《Asiaphoria Meets Regression to the Mean》免費下載連結在http://www.nber.org/papers/w20573。 森默斯的思想和言論經常出格不隨俗,曾任哈佛校長亦因之被迫辭職;年前與耶倫競逐美國央行主席之職,也是由於大批政界人士反對,令他不得不退出。他主張自 由經濟卻支持民主黨,他反對政府過多干預金融業務卻認為貧富不均拖了美國經濟的後腿,他與華爾街關係良好卻以「左手邊」(lhs,他的名字的簡寫)作自己 在哈佛的一個電郵址的前碼,更是有點惡搞。關於他的花邊新聞譽毀參半多得很,但不可小覷的卻是他的經濟研究。

【註2】Robert Fogel(1926-2013)題為$123,000,000,000,000的文章見《外交政策》(Foreign Policy)2010年1月號http://foreignpolicy.com/2010/01/04/123000000000000/;那是通俗文章。他那篇有關的學術論文Capitalism andDemocracy in 2040: Forecasts and Speculations(2007),可從這個連結下載:http://www.nber.org/papers/w13184.pdf。2007年的時候,大陸經濟增幅如日中天。可惜Fogel已經作古,否則今天無論他如何估算2040年的事情,都一定大有看頭。


對黨有利,對青年人有害的「青年軍」- 程翔 信報 2015年01月29日

當我看到香港青少年軍總會(以下簡稱青年軍)成立的消息時,我馬上想起兩件事:

一,1989年“六四屠城”後,中共強制所有大學生都要接受軍訓。

中共規定,北京大學和復旦大學的學生要進行軍訓長達一年,其他大學的學生則進行一個月(因為當局認為北大和復旦在“六四”時是重災區,所以時間要特別長)。通過這些軍訓,要清洗他們頭腦中的自由化思想,為接受馬克思主義打下扎實的基層。所以,在極權國家裏,軍訓不可避免地帶有“洗腦”的功能。

據一位曾經參與過這些軍訓的人士葉匡政說:“軍訓的目的,說白了,就是控制與約束孩子的思想和個性。軍隊、監獄這類地方,都會有一套統一、監視、裁決的控制術,讓你感受到權力的重壓。它會通過不斷地規範身姿、排隊、報告等,讓人的身體成為自我審判的小法庭。只有服從的義務,無質疑權利,思想才更易被控制。這種軍訓,對未成年人顯然是一種傷害”。

二,1967年發生在美國的一個著名的政治學實驗:如何複製極權政權。

1967年,美國加州帕羅奧圖(Palo Alto)市一所中學 Elwood P. Cubberley Senior High School 一位歷史教師 Ron Jones ,向一班15歲大的中學生,教授二次大戰時納粹為什麼會興起,及它的吸引力在哪里時,做了一個實驗:通過服從命令、呼口號、穿制服、佩戴標誌(參與試驗的學生都以“浪潮”為標記)、團體行動等等手段,來強化學生的集體主義及服從(其實是盲從)意識。結果,不消一個星期,這個模擬的納粹運動就開始成形並且有失控的跡象,受吸引到這個“浪潮”運動的學生開始出現極端的及極具侵略性的表現,學校及附近社區開始出現失序和混亂的景況,納粹的種子開始發芽了。在這種情況下,Ron Jones 被迫馬上終止這個實驗。他的結論是:“文明與野蠻原來相距只有一個星期”。

這個實驗的結論被廣泛用來作為教授納粹以及其他極權主義政權興起的原因、他們為什麼能推行各種暴政、獨裁者與其支持者的互動模式、以及個人的政治偏好如何導致對異己的排斥及迫害等等。45年來不斷被人研究寫出專著、製成電影、編成歌劇,在西方世界廣泛流傳。德國導演 Dennis Gansel 拍成電影 Die Welle (中文譯為:魔鬼教室),成為暢銷電影,它有力地回應了年青德國人認為納粹不會捲土重來的想法。

內地學者孔祥新說:“由於人類自我權欲本能的天然存在,人人都有潛在的獨裁意識;極權國家的軍訓,目的就是強化領袖獨裁和特權極權體制。黨國對學生的軍訓,為何大都定在一周?根據美國的科學實驗(按:即上述實驗),只要馴化有方,一周完全能夠把正常的文明人,馴化成野蠻的納粹黨徒。其實也沒有什麼秘訣,只要啟動人類自我權欲本能,一切野蠻行為皆有可能”。

這兩件事都說明,由專政的政權所組織的軍訓,目的都是把青年人培育成政權的擁躉而已。這種軍訓,對政權固然有利,對被培訓的青年人則非常有害,因為輕則失去獨立思考的能力(如第一個例子),重則成為野蠻的暴徒(如1967年暴動時到處放炸彈的左派人士)。

在這兩個背景下,我們再來分析當前這個青年軍。有幾點值得注意:

第一,這是高規格的官方組織,而不是一般社團。青年軍的榮譽贊助人是:

張曉明、梁振英和譚本宏,他們分別代表了特區党、政、軍的一把手

按內地慣例,凡是有黨政軍最高領導人參與的組織,都是官方組織。比照這個原則,可推理它應該是官方的組織。這個組織的任務就是要在香港推動中共的“香港青年政策”。

第二,這個官方機構的任務就是公開地在香港進行社會主義式的“愛國教育”。只要細心對比一下“六四”後被勒令參加軍訓的內地大學生的軍訓內容,同“香港青少年軍事夏令營”(以下簡稱“夏令營”)的軍訓內容看,兩者是高度相似的,相似的包括步操、列隊、軍禮、內務、簡單軍事技術、學習軍史、學習形勢、唱軍歌、看電影等;不同的是內地有革命歷史、黨史、馬列主義等,而香港則學其他哲學。在內地,中共通過這些內容,能夠扭轉大學生對“六四”事件的看法從而自覺地統一到黨的立場上來,那麼在香港就足以扭轉中學生對中共的負面看法。所以其“洗腦”性質是不言而喻的。

第三,這個組織預計會發展到十萬人的規模(見該會章程)。它目前的規模約3000(以歷年“夏令營”畢業生總數為基礎)。十萬人是什麼概念?2014年香港全部中學生人數接近40萬(395 345),小學生是32萬(320 918)。相信它的主要對象不是小學生(雖然它的章程說年滿六歲即可“參軍”)而是中學生。那就等於說,中共最終希望每四個中學生中就有一個“參軍”。這個野心不可謂不大。這是中共與香港主流社會“爭奪”青年人的一次大規模較量。

第四,解放軍是強調對中共絕對服從的。由它大力贊助、協辦的青年軍不可能違背這個基本原則。所以理論上如果它的規模達到10萬,那就是說香港的青少年人中有四分一人很可能會接受對中共絕對服從這個本來是錯誤的原則。到了那一天,中共心目中的“人心回歸”大概就會出現了。

第五,如果中共通過“青年軍”彙集了一大批對黨忠誠(即接受對黨絕對服從這個錯誤的原則)的年青人,那麼這批經過半軍事化訓練、而又對黨效忠的年青人,很可能成為未來中共治港的人才庫,甚或發展地下黨的的人才來源。

所以,看不到青年軍的成立對香港青年人會有什麼好處。


萬牲園具現實意義 五常月曆圖文俱佳 – 林行止 信報 2015年01月29日

:本港最近發生了一件聳人聽聞但想深一層是自然發展順時而興的事,此事令筆者想起佐治.奧威爾整整七十年前亦是二戰終戰年出版的小說《萬牲園》(Animal Farm: A Fairy Story;翌年在美國出版,副題被刪)中的有關「童話」。這「件事」為何?不必筆者明言,看完下引《萬牲園》片段,「你們懂的!」

奧威爾這本諷刺蘇聯、針貶史大林的小說,描述豢養在英國一個「動物莊園」裏的動物,不堪「人類的剝削、虐待」而鬧革命,結果大竟全功;革命領袖之一名為拿破崙的豬,通過清算、暴力,搶奪了「革命果實」,成為一言而為萬牲法的大獨裁者!奧威爾其後著文解釋,指拿破崙便是史大林(其他的動物都有所指,因與文旨無關,不贅)。

拿破崙如何建立「衞隊」鞏固勢力?牠老謀深算地收養九隻小狗,答應牠們的雙親,牠會養育牠們成長;事實是,牠把牠們圈養在園內偏僻之地,「豐衣足食」,令牠們聽話聽教,這些本性兇殘的小狗很快成為對牠絕對服從、以保護豬族安全為己任的「私人軍隊」。

當拿破崙感到雄辯滔滔、能輕易煽動群眾的莊園革命領袖之一的斯諾波爾(Snowball,暗射托洛斯基)對牠的地位有威脅時,一吹口哨,九隻「全副武器」如狼似虎的「狗衞軍」一擁而上,斯諾波爾「死無葬身之地」(寫至此,不由不想起有關北韓「犬決」的傳言)……!

《萬牲園》早有中譯,只是一時找不到,有心人也許可把相關中譯章節登報上網,以拿破崙排除異己的陰謀與組織訓練兇狗隊的用心,極具現實意義。


基於利益與權力的「國家民族主義」- 沈旭暉 信報 2015年01月29日

除了筆者連日談過的「公民民族主義」及「原生民族主義」,還有另一種大家常見的民族主義意識形態,那可稱為「國家民族主義」。

與前兩者不同的是,國家民族主義者發表愛國言論,主要是因為他們依靠國家機器生存,或仰慕一種依附強權的感覺,意識形態不是以價值觀為感召,也不是以單純的血緣為依歸,而是以利益與權力為信仰。

國家民族主義以第三世界國家最為常見。李永剛教授曾形容發展中國家的人民,只視其國家為「個人和團體最大的現實福利單元」。

他們愛國,是因為這個國家能給予他們很多方便,或者感覺到體面。

也就是說,當這個國家過分弱小時,逃離國家或移民他方,往往是精英階層的選擇;

即令是國家強大時,這些精英也每每一邊高呼愛國、一邊入籍外國,作為其最大利益之保障。

換句話說,國家民族主義者常兼有信奉「利益最大化」的現實主義者身份,當他們提倡本身的國家在國際間要加強角色時,其實不一定要發自內心或愛任何屬於國家的事物。不少政客與商人,一邊廂大聲疾呼愛國,要求推行教育政策及交流計劃,希望加強「民間愛國情懷」,另一邊廂卻申請移民或送子女到外國讀書,即可作如是觀。


浦志強28條微博言論成「罪證」- 明報 2015年1月29日 星期四

律師:觀點縱錯亦不構成犯罪

維權律師浦志強維權律師浦志強

懷疑因去年在北京參加小範圍的六四紀念研討會而被當局拘留的內地著名維權律師浦志強,案件糾纏大半年後,本報近日獲得當局指控他涉嫌尋釁滋事、煽動民族仇恨以及煽動分裂國家等3項罪名所依據的28條微博內容,主要是質疑當局的民族政策、將雷鋒「神化」或宣泄其對中共的不滿情緒。其代表律師莫少平昨日強調,憲法賦予公民言論自由,浦志強只是發表自己的觀點而無任何行動,其觀點縱是錯的也不構成犯罪。

本報獲得的浦志強於2012年7月24日至2014年5月7日被捕當日所發表28篇微博文章,其發表時間精準到時、分和秒。其中一篇提到薄熙來和谷開來:

「中國就是野蠻國家,從高層如薄古(谷)夫婦和王立軍,到打傷日系車主李建利的西安暴徒,無不野蠻兇殘,日本示威者給咱如此定位,我心服口服。」

質疑民族政策 宣泄對中共不滿

浦志強又在另一篇微博中指出:

「除了運氣和血統,申紀蘭當代表,毛新宇當委員,全靠裝傻和真傻。這說明人大政協啥也不是,人想如魚得水,要麼裝傻,要麼真傻。我不奢望毛委員聰明,只好祈求申老太:活着輕於鴻毛,死去重於泰山,您一死了之該多好啊!」

成功在過去61年內連任12屆全國人大代表,從未投過一次反對票的申紀蘭被稱為「化石級化表」,她曾說:「當代表就是要聽黨的話,我從來沒有投過反對票。」而毛新宇則是毛澤東的孫兒。

對於本報獲得的微博內容,莫少平昨天表示可信。他強調,作為律師,不會對媒體披露相關的信息,但他確實曾經把這些給過親屬,因為親屬是委託人,他們要了解這些情况。

莫少平說:「我跟浦志強核對過那28篇的微博,那是屬實的。但是我不認為那個就是犯罪,這是言論自由嘛,憲法規定我可以表達我的觀點嘛。觀點可能對,可能錯,但是你既然憲法規定,我公民有言論的自由,有表達的自由,這不過是我的言論,表達的一個觀點而已。我的觀點不對,你可以和我去爭論,可以批判,對不對?那並不是說,這樣就可以構成犯罪。」

另罪涉非法獲公民信息

當被問到是否清楚除了發表上述言論之外,浦志強並未任何行動時,莫少平說:「這怎麼會有行動呢?這指控也沒有說他有什麼行動,他唯一的行為就是寫了這些微博而已嘛……前面3個罪,就是這些微博,後邊的所謂非法獲取公民信息罪的理由是另外的,就是說他為了哪個媒體,受哪個媒體的委託到工商去查詢了企業的背景材料,那是另外的。」

明報記者


浦志強微博部分「惹火」言論- 明報 2015年1月29日 星期四

浦志強89民運時遊行,身上有寫着「辦報自由、結社自由」的布條。(資料圖片)浦志強89民運時遊行,身上有寫着「辦報自由、結社自由」的布條。(資料圖片)

  1. 2014.03.02 14時03分52秒

昆明時間(事件)太血腥,兇手罪孽深重。說疆獨製造恐怖,這回我信,但這是結果,不是原因。

死傷極慘重,後果太不堪,你就給了我一句話,說疆獨兇殘你沒責任,我不滿意

天天說黨的政策亞克西,維吾爾人心向黨,就這麼血肉橫飛?

法學會會長王樂泉,你鎮撫西域十幾年,那兒你最熟悉,告訴我:為什麼?衝誰來的?

  1. 2013.06.08 12時03分17秒

六十年來最大謊言之一是雷鋒,他騙了我二十年!

他主動迎合推手,日記都集體創作。

每月七八塊津貼能成百塊捐,若非腐敗便是只能是編,

那年月餓死三千多萬人,我六五年的人只照過一次相,他半夜不睡裝逼閙鬼,躺被窩打手電學毛選,都有人照相!身後有數千張照片!北京公安真抓推手,去抓雷鋒的推手吧。

  1. 2012.07.24 22時20分35秒

這個黨從上到下,要不說瞎話,一天都活不下來。

  1. 2012.02.05 21時11分01秒

領土割讓給誰,都是給人民放生,遼東送和平日本,老山者陰山送民主越南,

把北京送華盛頓託管,我都願給客人帶路,只要能比現在過得好,我就心滿意足。


蘇鑰機﹕報料人、公民記者和專業記者 – 明報 2015年1月29日 星期四

上月在本欄談及「誰是記者」,近日又參加了一個新聞研討會,不同持份者對記者身分的看法頗有分別。現時有新聞機構公開表示「你都可以變身做記者」,呼籲市民上傳照片影片,或利用熱線報料。有市民在一些事件現場自稱是記者,同時又全力投入事件當中。

究竟記者的定義為何?是否要把記者分類?

記者的身分角色可以有不同理解。從行為而言,所謂記者只是一個人看見某件值得關注的事,把它記錄下來,並向別人發布。這種行為一般由任職於新聞機構的僱員進行,但也可由一般民眾去做。

從職業身分來看,記者是一個工作崗位,受僱於新聞機構。他同時有幾個面向:對老闆和機構是個僱員,在行業內面對同事和行家,與消息來源交往是個提問者,面對受眾是個消息傳遞人。換言之,記者和不同的群體有特定關係,其言行要向機構、訪問者及受眾負責。

近年流行的「公民記者」或「民間記者」,其身分定位引起關注甚至爭議。

根據 Zelizer 及 Allan(見延伸閱讀)的綜合介紹,公民新聞是一般市民擔當了新聞工作者的角色,參與新聞採訪報道,特別是在危機或災難的瞬間時刻,他們剛巧在事發現場。這些公民記者提供第一身的目擊描述,配以錄音、拍片或錄影,很多時透過網上或社交媒體途徑傳播。

公民新聞的名稱始於2004年的南亞海嘯,當時不少個人的現場報料,補充和豐富了主流新聞傳媒的報道。新聞機構借助業餘人士的幫忙,催生了這種報道形式,又被稱為「草根式新聞」、「開放源頭式新聞」、「參與式新聞」等。之後在世界不同地方發生的危難事件,透過科技之助,都見公民記者的身影。

公民記者有記述行為,沒有受僱關係。他們向別人或新聞機構提供資料或影像,基本上沒有酬勞。他們又可再分為純粹的「報料人」,和有若干經驗的非受薪業餘記者。報料人存在已久,現今更盛行,他們是主流記者的社會耳目,角色簡單,不涉及正規的報道工作。不少新聞機構鼓勵民眾主動報料,甚至按情况有金錢回報。

釐清角色與權責

但現時一些報料人或誤以為自己有更多的新聞角色,自稱為公民記者,甚至希望從而取得主流記者所獲的一些採訪便利,於是便產生誤會爭議。另一方面,公民記者應超越報料人的角色,特別是一些有相當經驗的業餘記者,他們開始受到大家認識,在某些情况下能發揮監察和通報作用。因此我們要在日漸模糊的記者身分中,把他們適當分類,以釐清他們角色與權責。我認為可大致分為報料人、公民記者和專業記者三大類。

專業記者是專任記者,他們受僱於新聞機構,有採訪報道的一些「特權」,同時要遵從新聞專業守則,向公司及受眾負責。在台灣,有些人在大學兼職教書也被稱為教授,於是全職在大學教書的人在名片上標明自己是「專任教授」。香港記者協會主席岑倚蘭也曾戲言,其機構可能要改名為「香港專業記者協會」。這個正名動作似乎沒有需要,但當中可看到上述不同類型記者之間出現的混淆。

英文中的「記者」(reporter)和「新聞工作者」(journalist)的意義互通,但也有些分別。記者的工作範圍較具體,重點是「記錄」的行為。新聞工作者含義較廣,可包括文字及圖片編輯等其他職責,其重點是正規的「工作」,即全職受僱於新聞機構。所以社會可以有「公民記者」,但不宜有「公民新聞工作者」。

香港記者協會訂明,要成為該會會員並獲發記者證明,申請人須有最少一半收入是來自新聞工作。這個具體的規定,有助辨別誰是專業記者。這個規定顯示,該會認同成為記者的一個條件,是要有受僱的身分,當事人涉及有關新聞的「工作」(雖然也容許同時從事其他工作)。

避免混淆 强調合作

專業記者和公民記者有角色差異,同時有共同點,甚至大家能互動互補。外國流行「合作式新聞」(collaborative journalism),是指由這兩種記者合作採訪。有時由專業記者主導,公民記者加以配合,也有時由後者為骨幹。例如韓國的 OhmyNews 新聞網站和美國的 IndyMedia,均採用開放式新聞報料來源,由民眾提供消息為主。

新聞報料人漸見活躍,公民記者迅速冒起,專業記者角色仍重。在日常的新聞生產流程中,大家你中有我,我中有你。我們要看到彼此的不同功能定位,避免不必要的混淆,强調合作的機會和好處,以配合行業的發展和時代的需求。

作者是香港中文大學新聞與傳播學院教授

延伸閱讀

Zelizer, B., & Allan, S. (2010). Keywords in news and journalism studies. Maidenhead, Berkshire; New York: Open University Press, McGraw-Hill Education.


馮煒光,請不要選擇性回應 – 蔡子強 明報 2015年1月29日 星期四

上個星期,我在本欄批評了政府近來於午夜發放聲明,亦即是所謂「Midnight News Dump」的做法,結果,新聞統籌專員馮煒光致函《明報》,反駁說:

「蔡子強先生經常以陰謀論看待政府施政,由來已久,人盡皆知」;

「在現今社交媒體大行其道,沒有什麼時候發稿會令某宗新聞可以減低公眾注意力。對蔡先生戴着有色眼鏡妄下斷語,本人深感遺憾」。

今個星期,我且在這裏作一個回應。

延伸出「Midnight News Dump」的源頭「Friday News Dump」,並不是我憑空想出來,為了攻擊政府而攻擊政府,無中生有的說法。事實上,它在歐美社會的新聞圈已有廣泛討論,甚至有學者也曾拿來作過研究。馮煒光作為新聞統籌專員,不應對此毫無認識,而如果有所認識的話,那就無理由上綱上線說是什麼「陰謀論」。

馮煒光認為有關做法無問題,我不知道這是他諮詢過業界意見的結論,還是他閉門造車、一廂情願的想法?

業界曾經對「午夜聲明」表達過強烈不滿

我相信,一個合格的新聞統籌專員,是不會不知道業界對政府新聞發放手法的意見,尤其是不滿。如果馮煒光真的竟然不知道,那麼我且在這裏提醒他,業界其實對政府這種「午夜聲明」的做法,已經一早表達過強烈不滿。

例如我上次提過的例子,2012年8月發展局長陳茂波的「劏房風波」和「午夜聲明」,香港記者協會便曾經發表過聲明抗議,甚至表達過「憤怒」,部分內容如下:

「對陳茂波深夜發稿,有違開誠布公的原則表示,做法有欠妥當,記協對此感到憤怒」;

「本會認為,當局選擇於接近凌晨時分,才發聲明的做法不能接受,令傳媒尤其是報章根本沒有足夠時間,將局長這個嚴重事故的回應撰稿。有關做法不免令人質疑,當局是因為不希望傳媒廣泛報道其回應,才作有關安排,企圖淡化負面消息」;

「今次的聲明更拖至接近凌晨時分才發布,這樹立了極壞的先例,明顯違背特區政府一直強調的開放、公開及透明施政方針……發展局方面解釋,並非刻意延至夜深才發稿,是因為需要再三修改回應,對事件非常抱歉。不過,本會認為,有關做法令人難以接受,因為這並非突發事件,傳媒已就此事由清早開始作查詢,政府有必要盡快作回應,而非拖延至接獲查詢當日的最後一分鐘。本會促請,陳茂波公開澄清事件,及要求特區政府也承諾,日後不會再於深夜發表聲明及新聞稿,以釋除公眾疑慮及保障市民的知情權」。

請問馮煒光又會否「遺憾」新聞界?

所以,批評政府發「午夜聲明」的人,不單止我一個,還包括新聞業界,而且他們比我用上「憤怒」這類更強烈的字眼。

如果作為新聞統籌專員,馮煒光竟然不知道有這份聲明,我也不怕麻煩,可以電郵他一份;但如果他知道的話,那麼他是否也認為新聞界也「經常以陰謀論看待政府施政」﹖他又會不會以此公開「遺憾」記協呢?

發展局還有一點愧疚之心,也知道深夜發稿不對,稱對事件非常抱歉,但貴為新聞統籌專員的馮煒光,卻竟然覺得全無問題,他的胸襟和自省能力如何,大家也不難有個答案。

馮煒光的答非所問

此外,馮煒光反駁,說「在現今社交媒體大行其道,沒有什麼時候發稿會令某宗新聞可以減低公眾注意力」,其實,只要大家看清楚我的原文,不難發現,這也只不過是承襲其老闆梁振英移花接木的「語言偽術」技巧。

我的原文是說「午夜聲明」對「電子傳媒和報章」工作上的影響,但馮煒光回應時,卻「選擇性」的以「社交媒體」為例作回應,根本就是答非所問,這無疑是一種移花接木的手法。就如記協聲明裏,也是說令傳媒尤其是報章根本沒有足夠時間撰稿,根本大家說的都不是「社交媒體」。

須知道,社交媒體的覆蓋面,根本與電子傳媒和報章這些「大眾媒體」(mass media),不能同日而語。

要了解這種差別,不妨看看中大新聞與傳播學院博士生鄧鍵一,在2014年11月27日在《明報》觀點版發表,〈誰動員群眾?——電視畫面在雨傘運動的動員作用〉一文。該文引用該學院在佔領運動發生後首個周末,即10月4日及5日,在金鐘佔領區進行、共收回969份問卷、回應率為95%的一項現場問卷調查,研究當中的數據。其研究結果是,55.8%的受訪者直言是28日當天,警察施放催淚彈後,才決定參與佔領運動,而數據分析結果顯示,這些參與者其實就是被警察施放催淚彈的電視畫面所動員出來。即使假設他們認同TVB新聞一貫相對保守的立場,也無礙催淚彈畫面對他們造成的震撼。

所以馮煒光「選擇性」的以「社交媒體」為例作回應,並把「社交媒體」的覆蓋面和影響力,等同電子傳媒和報章這些「大眾媒體」,根本就是一種移花接木的誤導手法。

是否就是「金鍾仁」,請講清講楚

選擇性回應的,還有「金鍾仁」的問題。

上星期我在文中還提到「金鍾仁」的問題,但馮煒光的來函卻沒有回應這點。

拜託,馮煒光如果下次再來信,請不要左閃右避、拐彎抹角和裝聾扮啞,一句到尾講清講楚,你是不是那個以假名,向政府不喜歡的人發暗箭,例如抹黑田北俊說他因為與地產商私交而阻撓政府通過雙辣招的「金鍾仁」?

是還是不是?請光明正大,講清講楚!

蔡子強


怎能對樓市泡沫危機視而不見 – 盧峯 蘋果日報 2015年01月29日

反映樓價及租金的指數不但已超越九七年高𥧌一大截,更已是連續幾個星期不斷創新高。此外,一家國際顧問機構的調查發現,香港連續第五年成為全球樓價最難負擔,跟收入最脫節的城市。一般家庭不吃不喝把收入全數儲起也要十七年才能支付樓價,比第二位的溫哥華(十年收入)高一截,比向來不易居的倫敦(八年收入)更高出超過一倍。

根據有關研究界定,要花五年以上收入才能支付樓價已算是極難負擔的級別,香港是這個級別的三倍以上,大概該形容為樓價極難極難極難負擔的地方。

最奇怪及令人不安的是這些不合理以至荒謬的樓市數據已不能再引起公眾及社會的關注或爭議。地產業人士照搬出一大堆理由合理化超高的樓價,並預期今年可再升一成。

一般市民及立法會議員也好像習以為常那樣,沒有看成是甚麼危機,更沒有敦促政府採取甚麼行動。

本該積極監控及應對樓市泡沫危機的政府則一派闊佬懶理的態度,例如一再把解決房屋問題說成是政府施政重點的梁振英就對「瘋癲」樓價視而不見,只陶醉於他那些不知能否落實的長遠房屋大計。

若果這種麻痹大意的態度持續下去,香港的樓市泡沫將會在大家不知不覺間膨脹下去,形成巨大的政治經濟風險,威脅金融及社會穩定。

從○三年底開始的樓市升勢到現在已踏入第十二個年頭,除了○八年底金融海嘯後有過輕微及短暫調整外升勢一直持續,並已大大超越同期市民收入增長,令樓價跟市民收入嚴重脫節。

這當中雖然有供應不足的問題,但利率超低,資金特別是游資大規模湧入新興市場,加上對樓價長升長有的非理性預期才是最根本的原因。

應該看到,樓價升勢最急最猛正正是在美國聯儲局幾輪量寬加上中國政府推出四萬億振興經濟措施後。

這些幾乎是沒有利息成本的資金在包括香港的新興市場四處亂竄,令它們的股市、貨幣幣值、樓市都彈升。其中樓價上升更成為亞太區不同國家、地區的普遍現象

正因為近幾年香港樓價升浪是大規模量寬的後遺症,是游資過多造成的市場扭曲,跟經濟基本因素無關,一旦資金流向轉變又或是量寬政策結束樓市升勢後可能迅速逆轉,從原來的不斷上升轉為大幅下跌。

事實上美國聯儲局已停止買債及開始研究加息步伐及時間表,意味資金流向將有重大轉變。

更多資金將流入美國及美元資產,變相令新興市場面對走資壓力,高處不勝寒的香港樓市出現較大調整已不再是會不會的問題,而是甚麼時候出現的問題。

另一個是樓市泡沫危機加劇的原因是對樓價長升長有的非理性預期。

經過多年的升市特別是○九年中開始的大牛市後,樓價不但升穿九七年的高位,而且一直上升,跑贏所有資產。

這種長時間的好景很容易令市民及投資者相信住宅樓宇是穩賺不賠的投資,只有多賺少賺的問題,根本不會損手。

在這樣的預期驅動下,樓市的短期承接力固然加強,並且很容易出現「恐慌性購買」的心態,擔心越遲入市樓價越高,只希望盡早入市上車,不要落後於人吃虧。近期中小型住宅,微型單位以至居屋、公屋出現的熾熱交易情況及驚人升幅反映的正正是這股心態。但是,歷史紀錄清楚說明,樓價長升長有只是樓市泡沫下的幻想,不是事實也不可能持久。日本超高樓價固然站不住,美國樓市在○七年後同樣跌個四腳朝天,愛爾蘭、西班牙等地的樓價在泡沫爆破後更是一沉不起,香港怎可能例外呢?

可惜,特區政府對目前樓市出現的非理性亢奮顯得束手無策,對樓市泡沫危機不敢再高調打擊,前一陣子更把原本的樓市辣招「減辣」,發出錯誤訊息,令人覺得政府對處理泡沫危機無心無力,令炒家認為政府怕痛不敢再打壓樓市,變相造就當前樓市熱潮不斷在中小型住宅發酵,加劇泡沫爆破的殺傷力。
是的,沒有人能準確預測樓市泡沫何時爆破,但危險訊號越來越多,紅燈閃得更快更亮。假若政府還是等閒視之,置諸不理,不及早預警及預防,到樓市真正逆轉時殺傷力肯定比九七年「樓災」還要厲害。

盧峯


林煥光有份製造的荒謬 – 陳沛敏 蘋果日報 2015年01月29日

梁振英麾下行政會議召集人林煥光,昨日被記者追問曠日持久的亞視欠薪事件。談到亞視股東寧借錢給員工也不出糧,林抱打不平:「我做咗四十年公務,未見過咁荒謬嘅情況。」他促勞福局長張建宗等官員向亞視施壓,解決困局。

林煥光不時扮演「身在建制說人話」的角色,但聽見他這樣說,我卻感覺荒謬。

難道他不知道,他正是造成亞視這個荒謬的梁振英班子一部份。現場就有記者反問,既然他認為亞視這樣荒謬,如果政府仍讓它續牌,豈非更加荒謬?

林煥光卻無正面回應;對於行會會否為亞視續牌,他只重複「未接收亞視續牌的資訊」,重申法律訂明免費電視續牌條件,

耍官腔說:「當行會需要考慮嘅時候,自然會考慮所有續牌因素。」

亞視的荒謬,全香港人都知道,不單是無糧出,而是長期無收視、無製作、無質素、無心做,以近乎植物人的生存狀態,苟延殘喘,苟且偷生,霸佔大氣電波。王征率眾跳騎馬舞、台慶向空凳掟壽包,以至向員工派餐券等等荒誕畫面,只是為這個政府造就的香港之恥立此存照

我想問林煥光,他說他四十年來未見過亞視拖糧這樣荒謬的情況,難道他不認為,號稱國際大都會的香港,七百萬居民只能在荒謬絕倫沉淪至極的亞視與保守因循一台獨大的無綫兩個免費電視台之間二選其一,不是更荒謬嗎?

我又想問林煥光,難道他已忘記,讓這荒謬局面持續下去,是因為前年10月他服務的梁振英,會同他擔任召集人的行政會議,以「避免市場過度競爭」為由,否決向積極進取有心創新的香港電視發出免費電視牌照嗎?當時有指是為了保住亞視;就算這是「一男子」主導決定,難道他位極行會召集人,完全沒有責任嗎?

早在去年11月,通訊局已完成公眾諮詢,向行會建議不傾向亞視續牌,行會卻遲遲未有決定。

亞視大股東有恃無恐,就是因為知道電視牌照牽涉政治考量,期待北京方面找財閥出手,做白武士出手拯救又可撈一筆。

你看那些建制派近日還粉墨登場,

梁美芬為亞視義演騷撐場,形容亞視「發放正能量」;

蔣麗芸說亞視員工無糧出仍自費坐車返工「體現咗我哋香港人嘅獅子山精神」。

沒有最荒謬,只有更荒謬。

林煥光過去不時說「人話」,如倡廢功能組別、勸中央相信港人、前年形容佔中「具教育性」被左報要求辭職等等,卻往往只停留在「說」的層次。

作為行會召集人,梁振英所有逆民意而行的決策,林煥光無法撇清關係,甚至客觀上就是助紂為虐。

因此,他希望張建宗了結亞視拖糧這荒謬情況之際,我更希望他不如索性在行會了結亞視這荒謬的電視台吧!

陳沛敏


由《曉說》《奇葩說》看亞視 – 賈荃 蘋果日報 2015年01月29日

亞視的不濟絕非只限於亞視,事實上香港的電視產業近年均停滯不前。資料圖片

特首梁振英早前表示政府重視亞視營運問題,包括拖欠員工薪金。但他顯然「重視」錯了重點,現在不是亞視一間電視台出了問題,而是整個香港的電視產業都病入膏肓。無論哪家電視台,內容之陳腐、形式之老舊、表演之做作,都到了令人髮指的地步。

相比之下,大陸近年的電視產業卻可謂突飛猛進,原因是互聯網技術與電視製作開始融合——這是否能給香港人帶來一些省思?

香港人在許多方面,太過被「本土意識」綁架。如果我說CCTV比香港的電視台好看,會不會有人覺得我是「港奸」?但我還是必須說,事實就是如此。去除《新聞聯播》一類的意識形態,其電視節目的製作,從專業角度看,佈景、鏡頭、剪輯……都比香港的電視節目好太多。

這只是CCTV,更不要說像湖南衛視、浙江衛視、江蘇衛視……這些更加商業化的電視台。香港今天的電視節目,不敢恭維,和90年代看的幾乎沒有任何進步。

大陸的電視節目,則日新月異。而我又不得不多說一句:

大陸的互聯網視頻節目,比大陸的電視節目還要好看。

大陸的電視生態,已經逐漸呈現出這樣的模式:

由視頻網站為主力的創作團隊,具備鬼斧神工的創新能力,他們生產高質素的節目,創造新的綜藝模式,繼而甚至電視台都要向視頻網站購買內容。

大陸互聯網理論家吳伯凡曾言簡意賅地總結過這種現象,認為將來的電視生態叫「只有電視沒有台」。

典型個案,如創作人高曉松主持的脫口秀《曉說》(後更名《曉松奇談》),

累計點擊量超過五億

一邊在網上更新,一邊在東方衛視播出電視版的《曉松說》。據說,這個節目幾乎是從沒有清晰定位就做起來的,第一期節目是編導去美國出差,順路到高曉松家,用照相機錄製的,就這樣從零開始到家喻戶曉。

作為一個互聯網節目,《曉說》的製作和傳統電視節目有何不同呢?

最主要的,是它可以做到與觀眾的實時互動。

傳統電視台需要主編來把關內容,互聯網卻把這個權利交給觀眾。

《曉說》每周五早上8點上線,

新節目一上線,幕後人員就盯着評論,看網民給高曉松指出了甚麼錯誤

高曉松會在自己的微博回應網民質疑,

如果真的是講錯了,幕後人員會立刻修改節目,隨時修改,隨時覆蓋,保證打開節目的網民看到的是最新版本。

換句話說,如果電視台的節目在播出之後是「死」的,那麼網上視頻節目則是「活」的,它在播出之後仍舊不斷生長。

另外一個比較近的例子,如大陸一個網絡視頻節目《奇葩說》(該節目邀請台灣主持人蔡康永擔任評委之一)。這個節目簡直是奇蹟,因為它是個辯論節目,竟然每集都吸引超過五百萬點擊量。節目中討論的,不完全是娛樂性的話題,也有關於自由、民主、人倫的嚴肅題目(例如多數人有沒有權力投票決定少數人的生死),卻能做到很好的娛樂效果,引人入勝。現在,大陸這類網上視頻節目的廣告冠名費用已經高達一兩千萬人民幣,業內預估很快就會突破一億。

寫了這麼多,最後我們還是要問,大陸的電視經驗能給香港甚麼啟示?

首先,香港人總是抱怨本地資源不夠,所以轉型困難、創新舉步維艱。但是《曉說》和《奇葩說》的例子卻告訴我們,這不是資源的問題,而是有沒有將好的創意付諸實踐的能力。在互聯網時代,不需要再像傳統工業時代那樣拼實力。如果給自己羅織很多藉口,想到不去做,那麼只能說是「傲嬌」(傲氣+驕氣)。

其次,香港人每以制度優勢自豪,但是在文化創意產業,這種「制式思維」卻是要命的。

大陸雖然沒有健全的制度,卻有用心做節目的人,真切地希望利用有限的空間,為電視行業做一點事。這些事或許都很小,但多年累計下來,力量也是驚人的。大陸因為有人,所以有創新。香港,輸在把責任都推給了制度。

亞視或許會死,這一點也不重要,完全不值得留戀。只希望能令香港人警醒,衝破困局不是天方夜譚,互聯網時代每個人、每個小團隊都具備無限的創新能力,切莫被固有的傳統思維困死。

賈荃


陳弘毅曲學阿世 – 黎則奮 蘋果日報 2015年01月29日

陳弘毅連日來不斷拋出提議,游說市民接受「袋住先」。資料圖片

佔領行動被清場後,中共在手執大權的習近平統領下,全面展開攻勢,務求落實習近平所謂「五個堅持」的指示,即堅持「一國兩制」、堅持按照《基本法》和人大常委會決定推展香港民主進程、堅持維持香港經濟繁榮、不流血和不退讓。

中共在香港搞統戰超過大半個世紀,甚麼人種腳色都有,各有不同身份和扮演不同角色,策略就是要全面包圍,永不落空,「有殺錯,冇放過」。

最近一連串發生的事件,其實都是互相關連,表面看似矛盾,實質統一。

一言以蔽之,就是威逼利誘,蘿蔔與鞭子齊飛,無所不用其極。

極左強硬的姿態固然有689批《學苑》港獨論、

青少年軍倉促出台、

大茄喱啡吳秋北倡議引入《國安法》和

左報聲討港大法律學院陳文敏,

懷柔亦不乏政棍、法盲大吹二十三條立法對港有益論,以至

法律學者陳弘毅以權威姿態胡謅政改拉倒後人大八三一框架永恒不變,民主遙遙無期,並亂點鴛鴦,用幾個所謂建制民主派的人選來合理化中共落閘篩選的措施。

黑臉惡形惡狀,面目可憎,歪理連篇,除了怯於權勢向現實低頭苟且偷生的俗世之徒外,沒有多少人會受其言行影響,反會激起義憤,令矢志爭取民主的民眾更堅定決心,同仇敵愾。

但貌似開明、擺出講道理姿態的白臉,尤其是以學術權威包裝的學者,反而更具欺騙性,往往令主觀意願良好、和理非非的一般市民迷惑,每每受其似是而非的論述誤導,如墜五里霧中,不知所終,因而更為可惡,需要認真對付。

港大法律學院教授陳弘毅正是箇中典型。

陳弘毅一派謙謙君子的模樣,說話不慍不火,談吐溫文爾雅,加上港大法律教授學術權威的外衣包裝,在芸芸建制派辯護士當中,肯定最為人受落。

人們不可能攻擊他的品格,因為他一直與醜聞絕緣,找不到任何辮子。

人們也不可能批評他有利益和角色衝突,因為他既非政客,亦無實際利益,

教人深信他只是以知識回饋社會國家

不論對錯,是否認同,都與個人道德無關。

可是,正正是作為一個學者,尤其是法律學者,他為了政治報效,拉攏民主派向中共投誠,多番拉扯皮條不果,情急之下,不自覺地也露出了馬腳,放棄學者應該堅持的原則。

話怎麼說呢?

過去為了調和「全民提名」和提名委員會篩選的矛盾,陳弘毅率先提出了「公民推薦」,主張在報名階段,可加入公民參與元素,結果十八名學者受其啟發,提出了有關方案,符合佔中三子堅持的所謂國際標準。

人大八三一決定落閘後,為了促使泛民放棄否決政改立場,他又先後提出提委會綑綁投票和白票守尾門,目的也是誘使泛民妥協和民眾接受。

辜勿論人們是否同意陳弘毅的主張,他始終恪守在制度上尋找妥協的方法,企圖鑽盡《基本法》的空子,沒有背離法治的精神和原則。

可是,他最新以張炳良、胡紅玉和陸恭蕙幾名中央可以接受為特首候選人的建制民主派為例,企圖合理化人大常委會的八三一決定,證明中央要求「愛國愛港」的條件,並沒有限制民主派參選,便自覺或不自覺地偏離了基本的原則,不再從制度上的改變解決問題,反而希旨承風,以中央的意旨為依歸,順我者昌,逆我者亡,名副其實推行人治。

問題很簡單:誰來決定「愛國愛港」的標準?在制度上永遠沒有明確的定義,只會因人而異。今天被中央認定「愛國愛港」的人選,隨時因為領導人的更變而改變。

治學理應嚴謹的陳弘毅,不去好好做學問,卻來游走於政治與學術之間做掮客,即使一片丹心,滿腔熱誠,到頭來也是曲學阿世,有愧為思想獨立的知識分子啊!

黎則奮


子彈飛不過一步之遙 – 曾志豪 蘋果日報 2015年01月29日

我為了姜文「讓子彈飛一會」的對白,心馳神往,我仿佛聽到姜文說,有些事,今天做了無效,明天也無消息,但別心急,你要讓子彈飛一回,然後你便能聽到子彈命中目標的爆炸聲。

每次股票失利我都安慰自己:別心急,讓股票跌一會,跌完便會升。

然後我便聽到李逸朗哭着對我唱《傻仔》。

住公屋的朋友也是用這句對白安慰自己:「別心急,讓樓價升一會,升完便會跌。」然後李逸朗又唱《傻女》,不過今次是最後拉長尾音部份。

香港人都是《傻女》,我們曾經相信「讓子彈飛一回」,人民對抗不公義的行動,或許今天不見效,明天無消息,但別心急,讓雨傘舉一會,雨過應該便會天晴。

然後我們等到的是「好戲在後頭」。

我可否報警有人恐嚇?對不起,我忘記了慈母也有份參演這齣「好戲」。

子彈已經飛了很久,漂亮的弧形已經下墮降落,我們終於明白,今天的局面,是姜文的新戲,《一步之遙》。

林鄭說,香港距離普選,只有一步之遙。對啊,可是這一步之遙,中間卻充斥一堆數字:「D7689」和「D7831」。

一步之遙,中間還隔着「張炳良胡紅玉陸恭蕙」三個名字。

我仿佛看見老實巴交的陳教授搓着雙手笑容滿面:「

很想要吧香港人?

陳教授,即使三人名單改為「佔中三子」或者「雙學三子」,香港人都未必會妥協,因為我們舉傘不是為了迎接明主聖君,而是要迎接一個公平的制度;更何況,這三個人,點睇都唔似明主聖君吧?

篩選和普選只有一字之差,也只有一步之遙,但這一步的距離,已經讓子彈飛了一會又一會,仍然未到。

世界上最遙遠的距離,便是你在我面前,而我無得選你。

曾志豪


客戶疑走資 規模減七成至不足一億 陸東基金公司傳賣盤 蘋果日報 2015年01月29日

陸東昨在公司辦公室地下現身,但拒受訪。 李潤芳攝

外資大行前星級分析員陸東五年前離開瑞銀自立門戶,由旁述變落場踢波,創辦自己牌頭資產管理公司Look’s Asset Management(下稱LAM)。過去一年,旗艦基金疑似有客戶走資,規模一年大縮七成至不足一億元。金融界近月盛傳陸東打算賣盤,惟他接受查詢時否認。

記者:孔雪茵 吳永強 黃翹恩 馮健鏗

本報記者昨日近中午十二時,在中環雲咸街商業大廈等到陸東。他一身便服,神情輕鬆,聽到記者問及他賣盤的傳聞,未有停下腳步,邊行邊答:「我冇搞呢啲嘢喎!」(「但有人傳你要賣盤」)「我冇搞啊,冇賣盤」。(「即係你否認?」)「我唔做訪問㗎,唔好意思」,隨即往干諾道中方向離去。

通縮累資產管理生意難做

雖然陸東否認賣盤,但據本報從多方獲悉,陸東自上月開始向外界放風有意出售公司。

有與他見過面的金融界人士引述,陸東有提及計劃賣走公司,惟無詳細解釋原因,只稱環球通縮令資產管理生意難做。事實上,自金融風暴後,基金規模細過十億美元的小型對沖基金難有生存空間。曾創辦基金的大行前分析員張一鳴指,金融風暴後基金業呈兩極化,客戶怕風險,都傾向幫襯大型基金,「小型基金生存空間好難」(詳見另文)。而對沖基金指標HFR顯示,中國股票對沖基金去年回報不足2%,低於二○一三及二○一二年回報19%及9%。

一名管理資產過百億美元的資深基金經理對「賣盤」感奇怪,因資產管理公司是依賴人的生意,並無磚頭,「可用鋪頭仔搵人『頂手』概念去理解,但冇人會頂走用陸東姓氏為名嘅基金」?即使是賣走投資組合也難說得通:「除非低過賬面值賣,但可以喺市場變賣」。

陸東二○○九年創辦基金公司,據說城中不少華資富豪畀面做他客戶。有基金經理表示,一直孤芳自賞的陸東,近半年亦積極地出席中小型上市公司的飯局,「佢會問問題,但次次都會早走」。

與恒指相比 成績三輸兩贏

計及陸東在內,現在LAM只有四個員工。據彭博社資料顯示,LAM旗艦基金Look’s Absolute Return Fund規模在去年十月較上月急跌52%,同月基金表現微升0.2%,因而可推斷基金出現多名客戶或個別大戶贖回,年底埋單計約一千二百三十萬美元(約九千六百萬港元),全年跌66%。由二○一○年起五個年度與恒指比較,該基金三輸兩贏。基金去年升0.58%,低過恒指同期升1.3%。

基金首重管理規模

【話你知】

投資者看基金,會着重基金價格表現,但其實基金經理更重視的,是資產管理規模(Asset Under Management,簡稱AUM),因為這個綜合反映客戶資金及基金表現的數字,才直接影響基金經理的收入。

AUM是基金界用來衡量基金是否夠份量的基本指標,假設基金表現維持不變,客戶資金淨流入或流出,將決定AUM大小。幾乎所有基金都向客戶收取管理費,不論基金賺蝕都要收取,因此AUM越大,基金抽水越多,反之亦然。

在極端情況,基金升勢強勁,觸發客戶贖回套利(即賣走基金單位),最後因為基金表現升幅不足抵銷贖回金額,而令AUM出現倒退,令基金收入減少。


對沖基金響起喪鐘 – 黃元山 蘋果日報 2015年01月29日

投資者要揀優質對沖基金,必須投入時間和精神,以挑選傑出的基金經理。 資料圖片

二○一四年是對沖基金失敗的一年,認可的對沖基金指標HFR只有3.3%的年回報,是近幾年來最差。先不要說跟中國A股和印度股市二○一四年的瘋狂升幅完全脫節,連美股的十多個百分點的升幅,也完全追不上。

部份棄對沖 名不副實

對沖基金可分為「避開市場風險」與「接受市場風險」。避開市場風險的對沖基金,是要避開系統性風險,但當然希望賺到比貨幣市場高的回報,因此,要依賴強而有力的主動式操作,令獲利回報超越貨幣市場回報。

不過,有更多對沖基金的策略,讓資產持續暴露於不同市場風險,或系統性風險,最差勁的案例是,基金經理經常性地持有長倉,使基金暴露於市場風險,完全沒有進行所謂的對沖作用,做一個「不對沖」的對沖基金。

事實上,不少基金經理只要簡單建立一種私人合夥關係,就稱它為「對沖基金」,透過其收取分紅作利潤,於是,這所謂對沖基金由實在做對沖的操作,變成一個高收費的私人基金。

當然,合理的收費結構,是獎勵能夠控制風險,並且創造附加價值的基金經理。以全數投資的基金為例,這些僅持有長倉的基金經理,當他們錄得超過合理市場參考指標的增值收益(incremental return),就可獲得額外溢酬的兩成。

如標普500指數(S&P500)或摩根遠東指數(EAFE),像前面提到的長倉投資策略,就可以短期貨幣市場利率作為指標,就超過的部份收取兩成分紅。但可惜的是,有部份的基金經理,就算未能掌握市場變化的風險,而最後卻仍可以收取到高昂的管理費用。

退休基金不滿 頻減持

若投資者相信把資金交給傑出的基金經理,不管市場升跌,都可以創造優異的投資回報,那麼對沖基金當然充滿吸引力。

然而,有專業投資機構指出,部份對沖基金的投資策略,亦可為投資組合帶來低風險和風險分散的高回報。投資者要成功投資對沖基金,必須投入時間和精神,以挑選傑出的基金經理,同時監控他們表現。

然而,尋找一群真正具有投資技巧的基金經理是非常困難的事,更要面對各式各樣的收費。如果投資者隨意選擇對沖基金,失敗機率甚高。事實上,對沖基金是屬於專業投資者領域,因他們會投入非常多資源,以評估基金經理的質素。當基金經理缺乏選股能力,採取規避市場風險的策略,最後獲取類似貨幣市場的報酬,再加上高收費結構,最後亦是蠶食投資者的總回報。

基金往績與實際回報率之間有着驚人落差,當預期和事實落差太大時,投資者自然憂慮。機構投資者的重量級代表、美國最大的公共退休基金 Calpers 去年九月就減持四十億美元的對沖基金投資,為業界敲響了警號;無獨有偶,歐洲第二大的公共退休基金PFZW,也剛宣佈退出所有持有的對沖基金,達四十二億歐元。有趣的是,PFZW提到的主因就是高昂的管理費,卻帶來不相配的回報和不足的風險分散。

黃元山


仲輸入內地專才? – 海迪 蘋果日報 2015年01月29日

隨着大量內地從業員湧港,他們質素參差,僧多粥少下,拉低行業的薪酬水平。

昨日密西比話有芬佬對金發局最新發表的人力資源報告感不滿。無獨有偶,海迪的基金朋友持差不多看法。近年本港基金界過度擴張,大量紅色資本來港設立中小型基金公司,十個民企老闆、五個都開隻fund 來炒股。近年求其一間三、四線上市公司開個業績簡報會,都可以有百幾、二百名投資者參與就知。公司當炒的話,逼爆四季酒店大禮堂亦是等閒事。望落業界好景?其實早就外強中乾,想 raise 新錢已經好難。

隨着大量內地從業員湧港,質素極為參差,僧多粥少下,拉低整個行業薪酬水平。海迪聽過最極端的例子,有 Buy-side 初級分析員人工連幾萬蚊都無,可能比打份政府工、做中學教師搵得仲少。最近被某美資行裁出來、有 ranking 的分析員,聞說要割價搵工。所以金發局話行業請唔夠人?真係唔知佢點得出呢個結論。

從內地輸入的究竟真係「專才」,還是純靠關係來港的人?有做中資投行的朋友曾抱怨,最痛苦就是要安排那些官二代、富二代來港做暑期工,唔畀嘢佢哋做又死,畀嘢佢做死得更快。

海迪


“Military Scammers: The Fight Back” – Outlook, BBC World Service , Wed 28 Jan 2015

https://www.facebook.com/BBCOutlook

http://bbc.in/1CJZqKQ

When Australian business woman Tracee Douglas decided to look for love online, it ended up costing her thousands of dollars – and almost cost her her life.

The 49 year old from Bundaberg in Queensland fell in love with an American soldier called Robert who she met on the internet. But eventually Tracee was devastated to discover that he wasn’t the man she thought he was.

Today, she runs a group of hundreds of volunteers hunting down fraudsters who target people looking for partners online –

“Military Scammers: The Fight Back”.

Hear her story on Wednesday’s edition of Outlook, Wed 28 Jan http://bbc.in/1CJZqKQ

.END

Leave a comment

Filed under Electronics DIY Project

北京人每花100元 16元是网购 – 程红

程红:北京人每花100元 16元是网购 – 2015-01-29 新京报 王姝

http://www.bjnews.com.cn/feature/2015/01/29/351873.html

北京两会期间,北京市副市长程红参加朝阳团审议。新京报记者 尹亚飞 摄

副市长程红透露,去年北京互联网交易额达1450亿;市级工商注册行政审批项目已全部取消

“北京人每花100元,有16元是在网上花出去的。”昨日北京市副市长程红透露,去年,

北京互联网交易额达到了1450亿元,5年增长了12倍

为加强对网购的监管,北京将负责承办全国第三方网络交易监管系统,实现对电商跨区域监管。

“产业目录”屏蔽3700余项目

新京报:人口调控和人口资源环境矛盾,是北京面临的首要问题。去年北京曾提出对住所登记和行业准入制定“负面清单”,实现“以规控业”,推进效果如何?今年是否还会继续?

程红:去年北京市统一制定出台了产业目录,对不符合首都核心功能的产业从严把关,“产业目录”制度仅仅通过审核工商登记和工商变更登记,去年就屏蔽了3700多个项目。今年北京会继续加强目录管理,严格限制不符合首都核心功能的产业进入北京市场。

新京报:去年北京实施《注册资本登记制度改革方案》,降低了创业开公司的门槛,今年工商部门在简政放权方面,还会有哪些新的措施?

程红:目前,北京在工商注册登记管理方面,执行的都是国务院的要求,也就是说,工商注册登记环节,北京已经没有了市级单独设立的行政审批项目,该取消的、能取消的全部取消了。

新京报:北京开通了企业信用网,目前有多少经营者因信用问题被锁入了“黑名单”?

程红:北京已经连续多年加强企业信用信息系统建设,截至目前已经收录了4000万条的信息,信息量超过了国内的其他城市。4000多万条信息包括了企业和企业法人的情况,其中“负面信息”超过10%,进入“负面信息”的人员,今后在北京做企业法人、企业高管,都会受到限制。

高端餐饮业向平民消费转型

新京报:权威机构的监测结果显示,

八项规定出台后,北京高档餐饮企业营业额下降幅度超过了30%

高端餐饮业陷入了转型阵痛期,对此您怎么看?

程红:高端餐饮业向平民消费方向转型,这是大势所趋,高端餐饮业必须适应发展潮流。而且,目前,北京大众餐饮业特别是快餐业,营业额没有下降,增长率达到了6.1%。整个餐饮行业的发展方向、经营方式的转变,更贴近北京建设宜居城市的要求。

新京报:京津冀协同发展食品安全方面存在哪些问题?是否会探索联动行动,共享三地检测数据,比如下架信息三地都可采用?

程红:北京90%左右的药品、95%左右的食品都来自外省市,所以食品药品安全对北京很重要。京津冀地区此前就已经建立了协查机制,一旦发生食品药品安全案件,京津冀三地协作机制就会启动,联动查处。

新京报:北京前年建成了食品药品三级监管体系,市、区县和乡镇均设立食品药品管理委员会,效果如何?今年还会采取哪些新的改革措施?

程红:北京已经连续十几年将食品药品安全作为为民办实事的重要工作。三级监管体系投入使用以来,能及时发现问题并且快速解决问题,效果非常好,对于加强对非法食品药品的监管发挥了重要作用。

北京互联网交易5年增长12倍

新京报:网购已成消费者重要消费渠道,北京市电子商务整体情况如何?政府部门希望打造怎样的购物环境?

程红:2010年北京互联网交易额是120亿元,现在已经达到了1450亿元,5年增长了12倍,发展的速度很快。1450亿交易额相当于北京人每花100块钱,其中就有16元是通过网络交易实现的。

新京报:对于网上交易监管,工商部门成立了网监工作小组,探索新型网监手段,进展如何?

程红:在网络交易监管方面,北京有第一代和第二代网站的垂直搜索引擎,可以监控到绝大多数商业网站。为了规范互联网交易,加强对网购的监管,我们成立了专门的机构,这是为了网购市场能够更健康地发展。目前,影响网购市场经济秩序的问题主要包括产品本身的质量问题、知识产权问题、同业竞争问题,服务投诉主要集中在物流配送方面,不能及时送达。

新京报:加强对网购的监管,北京今年还会采取哪些新举措?

程红:北京将负责承办全国第三方网络交易平台监管系统,这个监管系统能够实现跨区域监管,实现工商、公安、税务等各个相关部门的联动。有利于跨区域查处案件,规范网络交易的市场秩序。

为实现产业转型,北京去年在工商登记和变更登记当中,不再给予注册的项目达到了3700多项。今年北京会继续加强目录管理,严格限制不符合首都核心功能的产业进入北京市场。——北京市副市长程红

采写/新京报首席记者 王姝

新京报制图/许英剑

编辑:李丰


男神”校长赴中山大学履新 曾在山洞搞30年科研 – 南方都市报 贺蓓 敖瑾 2015-01-28

http://paper.nandu.com/nis/201501/28/322125.html

摘要:空缺已有三个月的中山大学校长一职终于尘埃落定。中科院院士罗俊来了。此前任华中科技大学常务副校长的他昨日到中大履新,正式就任校长。

其人

罗俊,男,1956年11月生,湖北仙桃人,理学博士,长江学者特聘教授。2009年当选为中国科学院院士。1982年毕业于华中工学院物理化学系,获理学学士学位,后留校任教。1985年华中工学院研究生毕业,获中山大学理学硕士学位。1994年任华中理工大学教授。1999年获中科院测量与地球物理研究所理学博士学位。长期从事引力实验与精密测量物理研究,开展了牛顿万有引力常数G的精确测量,实验结果被国际科技数据委员会(C O D A T A )基本物理常数任务组收录等。2010年7月任华中科技大学党委常委、副校长。2013年7月,任华中科技大学党委常委、常务副校长。2015年1月起,任中山大学党委常委、校长。

空缺已有三个月的中山大学校长一职终于尘埃落定。中科院院士罗俊来了。此前任华中科技大学常务副校长的他昨日到中大履新,正式就任校长。

昨日,亮相中大的罗俊说的第一句话有些哽咽,“昨天我依依不舍地离开学习和工作了37年的华中科技大学,它将我从一名来自农村的学生培养成中科院院士,永生难忘。

已成为中大人的罗俊在提及能为中大做些什么时说,“我需要勇气面对挑战,我需要智慧开拓进取”。

而在成为中大校长前,罗俊曾躲在山洞搞科研30年,并将华科大的人防山洞引力实验中心打造成“世界的引力中心”。

履职

尊崇“教授就是大学”

从2014年10月24日许宁生调任复旦大学校长后,中大校长一职空缺整三个月。

昨日上午10点,中大新校长正式履职会议准时开始。中组部干部三局局长喻云林宣读了相关职务任命决定,任命罗俊为中山大学校长(副部长级)。

喻云林提及,罗俊长期在院系一线工作,敢于担当,讲求实效。治学严谨,攻坚克难,有一股不服输的劲头。多年在艰苦环境下潜心钻研业务,有关成果达到国际领先水平,并应用到重要的领域。他评价罗俊事业心责任感强,勤奋认真,处事公正,性格直率,敢于发表意见,尊重集体决策,对自己要求很严。

罗俊起身发言前,深深鞠躬,现场掌声热烈。“今天我在这里接受中央的任命,这对我是一种荣耀更是一种责任,这也意味着,从现在开始,我是一名中大人。我将努力工作,尽职尽责,不负重托。”

罗俊在履职发言中称,将延续中大“人心向学”、“重视本科教育”、“重视工科建设”等教育理念。他说,中大是以学生为依归的利益共同体,在这个学术共同体中,我们尊崇教授就是大学和善待学生的理念,“要把中大建设成文理医工各具特色、融合发展、具有广泛国际影响的世界一流大学而共同奋斗”。

结缘

新校长原是中大“校友”

昨日,看到新校长履历提到“获得中山大学理学硕士学位”,一位中大老师表示惊喜。昨日履职会议上,中大党委书记郑德涛也说,欢迎校友罗俊回校任职。记者获悉,因曾获得中大理学硕士学位,前晚,罗俊抵达广州后还亲自修订个人简历。

“30年前,我给罗俊做的答辩”,著名物理学家、中山大学物理科学与工程技术学院教授郑庆璋昨日向南都记者回忆,1985年,罗俊从当时的华中工学院硕士毕业,由于该校还没有相关硕士学位授予权,罗俊的导师联系到中大。当时中大引力物理实验室在国内已小有名气,且拥有硕士学位授予权。

随后,罗俊来到中大,郑庆璋教授等人对其就相对论等几门基础课程进行了考察,“他各方面成绩都不错,符合论文答辩的条件。他很谦逊,很用功,能做微引力测量方面的研究非常不容易。”郑庆璋回忆,当年的答辩在北京顺利通过,他本人是当时答辩委员会的主席。

郑庆璋评价,罗俊做的实验,需要很强的毅力,条件要求精确,一点差错都不能有,“他做得很好,有很多项达到了国际先进水平。”据悉,郑庆璋的爱人还曾到华科大的人防山洞引力实验中心参观学习。

获悉罗俊出任中大校长,郑庆璋很高兴,“他能力很不错,谦逊努力,比较合适。”

科研

他的科研或是诺贝尔级别

据媒体报道,1983年10月起,罗俊在华中科技大学(当时的华中工学院)的喻家山人防山洞里筹建引力实验中心,测量万有引力常数G,探索引力规律。

此后三十年如一日在山洞里搞科研

最初十年,罗俊除了吃饭和睡觉,几乎都在山洞中做实验。潮湿阴冷的环境,每天连续十几个小时的高强度工作,他脸上出现白斑,又大把地脱发,头发掉了2/3,他索性剃成光头,戴上帽子,直到1996年才治好。

后来罗俊总被问起是怎样在条件艰苦的山洞里坚持下来的。罗俊说,“在山洞这样一个‘世外桃源’里,我能够静下心来研究自己感兴趣的东西,这是我的幸运。”他还表示,

“我是科学家,科学家追求真理的兴趣和执着足以支撑我克服一切困难。”

1 9 9 8年,罗俊的科研团队取得了105ppm (ppm:百万分之一)相对精度的测G结果。2009年,他的团队又将G的测量精度提高到26ppm,成为国际上精度优于50ppm的七个结果之一,也是采用扭秤周期法测得的最高精度G值。这一实验结果还被国际科技数据委员会推荐的CODATA值所收录,并以华中科技大学英文缩写H U ST命名。

“相当于在一个1米杆的另一端,放上一粒灰尘百万分之一的重量,也能测量出来。”罗俊当年的博士生,现任华科大引力实验中心副主任的涂良成给南都记者打了个比方,“你可以想象测量精度小到什么程度”。

中科院院士、大地测量与地球物理学家许厚泽是罗俊读博时的导师,他曾对媒体这样评价罗俊,“如果做出好的实验结果,将是诺贝尔级别的!”许厚泽表示,罗俊在华科大从无到有建起引力物理实验室,在国内外都极有声誉。“罗俊的万有引力常数测量已被列为国际上最好的几个测量之一,国际上已取这几个最好测量的平均值作为国际标准;罗俊研究的高精度加速度计是国际上发射重力卫星的重要部件,重力卫星可测量地球引力场,是难度最高的航天技术之一。”

个性

“打乒乓球也要认真打”

昨日南都记者一连接通好几个罗俊学生的电话,都吃了闭门羹。他们婉转而坚决地告诉记者,“老师很低调”。涂良成说导师罗俊“追求的不是让别人知道他怎样,他追求的是把事情做到极致”。他说,别人怎么看,罗俊不关心,而笃信“多做事,少说话”。

即便在2009年当选中科院院士,媒体都未能采访到罗俊本人。低调的他只在2013年11月作为模范典型,被人民日报、光明日报和经济日报等几家中央媒体集中报道过。

记者获悉,罗俊授课从来不看书本,所有的公式都自己在课堂上推导出来。1999年曾上过罗俊力学课程的华科大孙同学对这个细节至今记忆深刻。

涂良成说,老师罗俊的乒乓球球技不错,一般人打不过他。武汉当地媒体还曾报道,

工作到夜间11点对罗俊来说是家常便饭,但他仍保持着旺盛的精力,有时还带着科研团队里的年轻人打篮球。

曾有媒体报道,罗俊曾和华科大学生球友孙雪婷切磋乒乓球,后者评价这位“男神校长”基础功扎实,爱研究球的落点,跟他打球需要斗智斗勇。而他每回准备打变线前都爱偷笑,“偷袭”成功了还会吐舌头,“就像个淘气的孩子”。

华科大有学生评价,罗俊对任何事情都要求严格,打乒乓球也不例外。有一次罗俊发现和自己打球的涂良成心不在焉,忍不住说,“打乒乓球也要认真地打”。

而在华科大引力实验中心的墙上,据说随处可见“十要十不准”准则:“实验状态记录要详实,不准含糊遗漏;实验输入条件要验证,不准存在假设;实验流程安排要论证,不准随心所欲……”

涂良成说,当年罗俊把规则一条条亲自写出来,又亲自挂上墙。而他自己的一篇普通论文也曾被罗俊前后修改了17次。

在罗俊的严格要求下,他的几个学生都快速成长为华科大引力实验中心新一代学术带头人。罗俊曾说,“招了学生,就要让他有所进步、有所收获、有所成就。我留下的学生不能只做原有方向,为了实验室发展,我要培养他们去开辟新方向。”

反响

华科大学生:“泪,院士男神走了”

上周六从导师那里获得“小道消息”,得知罗俊将履新,中大物理科学与工程技术学院2009级物理系博士胡文勇还特意提前查了下这位新校长的资料,然后就被“折服”了。

由于专业领域不同,此前并未听闻这位科研“大牛”。“他在山洞里能做实验坚持那么久,一直在科研一线,很能吃苦很难得啊。”胡文勇显然已对这位新校长的经历了然于胸。他说,罗俊的“做科研最重要的是规范”这句话像“格言”一样正在中大同学中传递,“很看好他哦……”除了喝彩,也有中大学生像网友@行舟SYSU兴州一样已经开始遥想,“看来6月毕业典礼要被调戏的就是这个男神了!”

当中大学生为多了一位院士而雀跃时,华科大校园里却一片惋惜和不舍。“调走了我们一个院士啊,从此少了一名院士男神……”,华科大生命学院2012级博士生李英(化名)评价罗俊,“他在物理学界非常牛,带的学生很优秀,全校学生都感受到学风比较严。”李英不忘感慨,“这下中大物理肯定会非常强大了”。

“大树走了,没人罩着了”,罗俊的学生涂良成也开玩笑说。他说罗俊给华科大引力实验中心制定了比较完善的制度和规则,罗俊出差时,他们也常常电话沟通实验进展和工作。这一次,老师调任中大校长,“就当他是去出差了吧……”

“男神”调动,中大华科大沸腾了……

@小小flyer:在我科喻家山山洞测万有引力常量测了三十多年的老科学家!!

@huster曾祥胜:我们罗院士来到中大,相信能够给中大带来不一样的东西!

@H X Y -Y vonne:华中科技大学从此少一名院士男神。

@对人生失望的胖子:老大爷还是挺帅的。

@请给我画一只羊_:华科学生发来贺电:你知道华中科技大现在还没放假么?

@林轩毅出没注意:中大的朋友们祝你们好运,我继续疯狂复习去了,希望罗俊能把我科的优(fang)良(jia)传(hen)统(shao)带给中大。

@中山大学研究生会:终于,我们也是有校长的人了!

@行舟S Y S U兴州:我大山中学终于有校长了,看来6月毕业典礼要被调戏的就是这个男神了!

@S Y S U _S iriusS eeker:2015届的毕业证& 2015级的录取通知书终于可以盖上新校长的签名章了。这位华科调来的新校长看起来还蛮帅的。

其言

我是科学家,科学家追求真理的兴趣和执着足以支撑我克服一切困难。在山洞这样一个“世外桃源”里,我能够静下心来研究自己感兴趣的东西。这是我的幸运。

有规范按规范办,没有规范先讨论出规范。规范只是约束行为,但不禁锢思想。

大学是追求真理、满足好奇心的象牙塔,必须坚持学术自由的精神。

知多D

中大校长理工科出身居多

罗俊是改革开放以来中山大学的第七任掌门人。回顾改革开放以来的中大历届校长,除出身教育世家且专业也为教育系的黄焕秋外,其余六位“掌门人”均为理工科出身的男神,来自化学系、数学系、生物系和物理系。包括黄焕秋在内,历任中大校长均是各自专业领域的顶尖人才。

出品:南方都市报朋友圈新闻工作室主持:胡群芳

采写:南都记者 贺蓓 实习生 敖瑾

摄影:南都记者 钟锐钧

.END

Leave a comment

Filed under Electronics DIY Project

人大框架之下的選舉就不是普選 – 法政匯思

任建峰:社會歪理當道望為公義發聲 – 蘋果日報 2015年01月28日

http://hk.apple.nextmedia.com/realtime/news/20150128/53379726

任建峰(中)強調不會扭曲法律,亦不認為政治要凌駕法律。(資料圖片)

去年成功對律師會前會長林新強提出不信任動議的律師任建峰,早前辭去律師會人權憲制事務委員會委員職務,並與多名大律師、事務律師和法律系學生,組成「法政匯思」,但卻被指是「黃絲帶」組織。任建峰今早在電台節表示,即使他們有取態,但在重大法律問題上一定會認真分析,不會扭曲法律,亦不認為政治要凌駕法律。

身為「法政匯思」召集人的任建峰稱,他們無本地勢力,亦無內地勢力,只是

近年愈來愈發覺社會歪理當道,年輕律師希望為民主、公義等核心價值發聲

亦希望透過新平台與社會增進交流,計劃未來到學校舉辦分享會,亦希望可與通識科老師及社區團體多作交流。

他指律師會及大律師公會屬官方團體,發表立場時可能受限制,但透過這平台就可讓年輕律師多就法律及政治等問題參與討論。


法政匯思發表政改意見書 立場比大律師公會更嚴厲 – Post852 2015年1月27日

http://www.post852.com/%E6%B3%95%E6%94%BF%E5%8C%AF%E6%80%9D%E7%99%BC%E8%A1%A8%E6%94%BF%E6%94%B9%E6%84%8F%E8%A6%8B%E6%9B%B8%E3%80%80%E7%AB%8B%E5%A0%B4%E6%AF%94%E5%A4%A7%E5%BE%8B%E5%B8%AB%E5%85%AC%E6%9C%83%E6%9B%B4%E5%9A%B4/

由律師任建峰、文浩正、大律師梁允信等人組成的新組織「法政匯思」,今日宣布正式成立,成員包括大律師、事務律師和法律系學生,共有約50人。法政匯思在記者會上立即派發了一份「見面禮」,就是一份13頁的政改意見書,以回應港府的政改第二階段諮詢。

任建峰重申,自己不會參選區議會或立法會,而法政匯思亦不會以組織的名義去派人參選。他強調,成立法政匯思是想團結一批法律界人士共同捍衛法治和公義,這個組織也不是一個「吹水會」,而是真的會做功課以法律觀點評論時事。文浩正說,法政匯思將會走入社區,並會聯絡教育界,計劃與不同學校的師生會面交流,亦會在報章發表評論文章。

任建峰又指,成立新組織不是想跟律師會及大律師公會「打對台」。話雖如此,但法政匯思卻快過上述兩個公會,今日率先發表13頁的政改第二階段諮詢意見書。

意見書有五大重點:

一、人大831決定設定的框架下之選舉辦法,並無法律效力。原因是根據《基本法》及2004年釋法內容,人大常委只能「確定」本港是否實行普選,但無權限制具體的選舉辦法。

二、人大設定的框架,與《中英聯合聲明》的精神及原意並不相符,也牴觸《公民權利和政治權利國際公約》

三、「白票」方案並無解決選民無法真正選擇候選人的問題,更可能需要修改《基本法》,以填補若所有特首候選人落選時的行政權力真空。

四、一旦立法會否決政改方案,或者人大常委在第五部曲中不批准政改方案,則特區政府必須按其憲制性的法律責任,重啟有關特首選舉辦法的諮詢程序。任建峰強調,坊間有指「

今次唔要,將來就冇普選架啦」的說法明顯是錯誤的

五、在人大設定的框架下,選民不能得到真正選擇特首的權利,所以

任何符合人大831決定的方案都不是普選

任建峰重申,若立法會否決方案,2017無普選;若立法會通過方案,基於方案是在人大決定之下,所以2017也是無普選。他認為這是非常清楚的。

值得留意的是,法政匯思的意見其實比大律師公會更尖銳。

雖然大律師公會從無單獨就831決定發表一份立場書,但公會前主席石永泰去年9月與人大常委會副秘書長李飛會面後,就曾質疑人大決定規定提名門檻過半數、候選人為2至3人等條件,是對特首選舉構成不合理限制。他又強調,會上無被李飛說服。

然而,石永泰只是指出831決定有不合理限制,卻並無明確說「人大框架之下的選舉就不是普選」

法政匯思的立場固然比律師會進步,也比大律師公會更嚴厲。

.END

Leave a comment

Filed under Electronics DIY Project

MSP-EXP430G2 LaunchPad – TI

edx_enc_interface_2015jan2801 edx_enc_interface_2015jan2802

MSP-EXP430G2 LaunchPad – TI

http://www.ti.com/tool/msp-exp430g2

Description

The MSP-EXP430G2 LaunchPad is an easy-to-use flash programmer and debugging tool for the MSP430G2xx Value Line microcontrollers. It features everything you need to start developing on an MSP430 microcontroller device.

It has on-board emulation for programming and debugging and features a 14/20-pin DIP socket, on-board buttons and LEDs & BoosterPack-compatible pinouts that support a wide range of plug-in modules for added functionality such as wireless, displays & more.

The MSP-EXP430G2 LaunchPad also comes with 2 MSP430 device, with up to 16kB Flash, 512B RAM, 16MHz CPU speed and integrated peripherals such as 8ch 10-bit ADC, timers, serial communication (UART, I2C & SPI) & more!

Free software development tools are also available, such as TI’s Eclipse-based Code Composer Studio, . Open Source development is also available thanks to community-driven projects such as the or , a branch of the popular Wiring framework.IAR Embedded WorkbenchMSPGCC compilerEnergia

Find more info about LaunchPad, the supported BoosterPacks & available resources at our LaunchPad portal page! Also be sure to visit our LaunchPad wiki.

Explore different applications on your LaunchPad with BoosterPack plug-in modules.

Get started with the LaunchPad Book published by Elsevier. Blink LEDs, buzz buzzers & sense sensors quickly with this useful guide! Leverages the wonderful community-created tool, Energia.

Featured Hardware and Software Files

MSP-EXP430G2 LaunchPad User Experience Software

MSP-EXP430G2 LaunchPad Hardware Desigh Files

Features

The LaunchPad development board features:

o 14-/20-pin DIP (N) socket

o Built-in flash emulation for debugging and programming

o 2 programmable LEDs

o 1 power LED

o 1 programmable button

o 1 reset button

Supports MSP430G2xx2, MSP430G2xx3, and MSP430F20xx devices in PDIP14 or PDIP20 packages

The LaunchPad’s integrated emulator interface connects flash-based MSP430 Value Line devices to a PC for real-time, in-system programming and debugging via USB.

Includes one mini USB cable to interface with a PC.

Included MSP430G2xx device features:

MSP430G2553IN20 – 16kB Flash, 512B RAM, interruptible GPIOs (capacitive sense-capable), 16-bit timers, 8ch 10-bit ADC, Comparator, Serial Communication (USCI – I2C, SPI & UART) & more

MSP430G2452IN20 – 8kB Flash, 256B RAM, interruptible GPIOs (capacitive sense-capable), 16-bit timers, 8ch 10-bit ADC, Comparator, Serial Communication (USI – I2C & SPI) & more

Included MSP430G2xx devices feature preloaded sample programs.

Free downloadable versions of IAR Kickstart and Code Composer Studio Version 5 integrated development environments are available and include an assembler, linker, simulator, source-level debugger, and C-compiler. These free IDEs are unrestricted on MSP430 Value Line devices.

RoHS compliant

What’s Included

MSP430G2553IN20 flash device (preloaded with sample program

MSP430G2452IN20 flash device (preloaded with sample program

10-pin PCB Connector (2 male/2 female)

32kHz crystal

LaunchPad Development board (MSP-EXP430G2)

LaunchPad sticker

Mini USB cable

QuickStart Guide

.END

Leave a comment

Filed under Electronics DIY Project