A sound name makes sense through one's life.

Sound here means easy to be kept in mind or the name is consist of words of simple structure.Besides,a name with the same words or same prononciation of a famous person is also sound.

If you have a sound name,you'll have a higher chance to be remembered.Teachers will ask you questions more frequently than others.Thus,you have a happier mood.You'll be much probably positive in your life and much closer to success.

As for me,my name is so complicated. Teachers must consider me as complicated as my name. Besides, a complicated name often goes with words seldom seen. If a teacher asks you questions,she is taking the risk of misread.

It is no exaggeration that the total times I was questioned can be counted with my fingers and toes,which sometimes makes me frustrated.So I hope my own baby will get a sound name. That's a deal!

You girls who are in your twenties,have you ever think about what kind of girls you'll be ten years later?

While chatting with my sister,I find that her signature has changed.It goes,'Time is the knife of a butcher.'

I ask her why.She doesn't answer but sends me a picture.It is a woman with a baby in her arms.The woman is fat with casually short hair and obviously double chin.Her jeans go tightly with her fleshly legs and bulging belly.Her light beige coat is a common one,but her smile,which would appear on the face of any mother,tells her happiness.

'Do you still remember Tingting?'my sister asks.I'm shocked.Unrecognizable!Tingting is my sister's schoolmate in high school.In my memory,she was thin and tall with dark skin and short hair ,too.But she looked cool and shiny then.Now she is twice or more fatter than she was.

Sister sends me another picture.This time,it is a woman with plain curl hair,a little fat body,sitting on the bed with a plush toy in arms and smiling.You can't say that she is not beautiful.However,it is true that she is the kind of woman who has lost her bloom and would not catch any attention in crowd.'She is Seagull.'my sister surprises me again.My sister is four years older than me.I was in middle school when she was in high school.But i was quite familiar with her classmates.At that time,I think Seagull was the most beautiful one of my sister's friends.She kept long hair and sometimes bound it up into two.She was thin and looked prettily like Sailor Moon when she was in dress.

Years passed away.I didn't see my sister's classmates any more.But beyond my expectation,they've changed so much even when they're younger than 30 years old.

'Now you can understand the meaning of my signature.'said my sister.Yes!I smiled to accept the shortness of women'youth.Now I understand why nowadays more and more women would like to say to The Third Woman that we all had youth and charm before.
---------翻译自《阅读时间》

## S04E16

In such a world, you can survive only if you turn yourself into a monster.

It turns out that Rick was the one that killed Luke, a member of Daryl's new group. I was wondering since that group can hardly be called a group, why do they revenge Luke(为Luke报仇). You know that they don't have feelings for each other, they don't have to be brothers. They kill their member without regret. They found Rick. And push them nearest to the threshold of death. Then, the monster Rick came out. He deeply bit the arteria of his enemy and killed him. That shocks me. Incredible! He stagged another man's throat with a knife again and again. He totally lost himself. His son seemed afraid of him. But he quikly sucked up and tried to be a momster to survive.

Finally they all arrived at the Terminus. The peaceful phenomenon is so weried comparing to the chaose outside. Yes, there is trick. Terminus is a trick. The fellows arrived before, there is no sign of them. Instead, their belongings appeared on the original residents of Terminus. And they claimed to find them on dead body. Realising they have no need to hide, the residents torn up their fake mask and turned against them. They drove Rick and his companions to a carriage, where those friends finally reunioned.

This is the end of season 4. We see bloody bones in the backyard and I guess the residents of Terminus are actually luring people in the name of survive and shelter to Terminus in order to feed on them. Rick seemed confident to fight back and obviously he had back ups. Watch your head, you vicous residents. You have rovoked people you should't have revoked.

## S04E15

In this episode, we still have no idea where Beth is. So does Dyrel. But, don't worry. The outdoor cat seems to gradually fit into the group. I don't know if the group members are indoor cats. They don't have to be brothers. They just need you to follow the rules. If any rule was broken, you'd better watch yourself. They will beat you into death, turn you then kill you again, carelessly without any feelings.

Glen, Tara, together with the "save the world" team find the clue left by Maggie and her fellow and finally catch up with them. The script writer is a bad guy. Eugene know exactly what caused the breakout. But he has never given away a word so far. All we can see is, yeah, he is a smart and kind guy. In the tunnel, there is a moment, Glen and Tara were surrounded by walkers and would be pouced on. I think they they're ready to die but still hope there could be miracle. Lucky them, there is miracle.

They are the first group to arrive the Terminus. The others will arrive in the next episode. And what exactly is Terminus? Can it save all the people or it is just another trap? We'll see it in the next episode.

Python和JS有很多的不同点，最近看到了类，就总结一下在类上它们有什么不同。

__block1__

#Python
__metaclass__=type #新式类
class SongBird:
song = 'squawk'
def sing(self):
print self.song

#新建一个实例
bd = SongBird()
bd.sing()
#squawk

__block2__

//JS
//构造函数
function SongBird() {
this.song = 'squawk';
this.sing = function(){
return this.song;
}
}

SongBird.prototype = {
sing: function() {
return this.song
}
}

//新建一个实例
bd = new SongBird();
bd.sing();
//"squawk"

##### 形式

Python有自己的一套魔法方法，若要对类进行初始化，会用到__init__()，它在新建实例的时候自动会被调用，可以用这个方法来进行初始化；JS一贯的用或运算来进行初始化，e = e || window.event，或者在新建实例的时候把要初始化的值先传进去。

##### 类的继承

Python中子类可以扩展超类（基类）的定义，通过将其他类名写在class语句后的圆括号内可以指定超类

__block3__

class Filter:
#魔法方法，新建实例时会自动初始化
def __init__(self):
self.blocked = []

def filter(self,sequence):
#列表推导式，滤除sequence中与self.blocked内容相同的成员
return [x for x in sequence if x not in self.blocked]

#指定超类Filter，即继承Filter中的方法和属性
class SPAMFilter(Filter):
def __init__(self):#重写了Filter超类中的__init__方法
self.blocked =['SPAM']

>>>f = Filter()
>>>f.filter([1,2,3])
[1,2,3]

>>>s = SPAMFilter()
>>>s.filter(['SPAM','apple','SPAM','orange','SPAM','SPAM','watermellon'])
['apple','orange','watermellon']


JS的继承采用原型机制，一个对象的原型继承另一个原型，在继续继承下去就会形成一个原型链。在调用一个方法或属性时，首先从该对象的原型中去找，如果没找到再在上一级原型中找，往复下去知道找到该方法或属性(如果不存在就会返回undefined)。

__block4__

function Animal() {
this.canEat = true;
}
Animal.prototype = {
eat: function(){
if(this.canEat)
return "Ahaaaa!";
},
sing: function(){
return "mama";
}
}

function Bird() {
this.song = "squwak";
}
//以Animal的实例为原型
Bird.prototype = new Animal();
Bird.prototype.sing = function(){
return this.song;
}

>bd = new Bird();
>bd.sing();
"squwak"
>bd.eat();
"Ahaaaa!"


##### 重写了父类的方法怎么重新使用？

Python有两种方法，调用超类构造方法的未绑定版本，或者使用super函数。

__block5__

#调用超类构造方法的未绑定版本
__metaclass__ = type #使用新式类
class Bird:
def __init__(self):
self.hungry = True

def eat(self):
if self.hungry:
print 'Aaah...'
self.hungry = False
else:
print 'No, thanks!'

class SongBird(Bird):

def __init__(self):
#Bird.__init__(self)
self.sound = 'squawk'

'''
def __init__(self):
super(SongBird,self).__init__()
self.sound = 'squawk'
'''

def sing(self):
print self.sound

#Bird.__init__(self)未加这句话之前执行结果
>>>sb = SongBird()
>>>sb.sing()
squawk
>>>sb.eat()
AttributeError: SongBird instance has no attribute 'hungry'

#加了Bird.__init__(self)后的执行结果
>>>sb = SongBird()
>>>sb.sing()
squawk
>>>sb.eat()
Aaah...


JS需要调用父类的构造函数，可以用call调用，this指向子类。假设有两个类，子类是Chinese，父类是Person。要在Chinese的实例中调用Person的方法，可按如下方法。第一个参数是this，后面的参数是父类新建实例是需要的参数
Person.call(this[, arg1[, arg2[, ...]]]);

##### 前期准备（父元素）:
transform-style: flat | preserve-3d


flat表示子元素位于父元素平面内，preserve-3d表示子元素在3维空间内。

perspective: none | length


perspective表示z=0平面与用户之间的距离，0或负值无效。z>0的3D元素会变得更大，z<0的3D元素会变得更小。按需要设置，如果设的过小就好比自身是一只蚂蚁在看一个庞然大物,会有较大的形变，所以一般设的较大，但过大就没有意义了，可以自己按需要调节。我设的是1200px.

perspective-origin: 50% 50%(Initial value)| 百分比|长度|…


perspective-origin决定了用户视线的焦点，被perspective用作消失点(vanishing point)。

##### 子元素的位置摆放:

19号阿里巴巴的笔试题中有一题是这样的：当图片小于容器时用css实现水平垂直居中，当时特没水准得写了:

img {
margin: auto auto;
}

div {
margin: 0 auto;
}

img是行内元素，设置margin: auto也不起作用。

live demo: http://jsfiddle.net/BJRz7/2/

##### closePath()

closePath()的作用在于它可以把形状的起点和末点仪直线的形式连起来。如果之前没有定义beginPath()，则以最开始画的点为起点。否则就以最近的beginPath()为起点。beginPath()会是下个形状和上一个形状脱离，重新选择绘图起点。最好是成对出现，这样就可以避免形状之间的牵连(上个形状的末点会合下个形状的起点连在一起)。

##### save()和restore()

save()restore()是比较使用的工具,它们分别用于保存当前绘图状态，获取上一次存储的绘图状态。绘图状态是指当前绘图说用的样式(style)和变形(transform),包括strokeStylefillStyle,globalAlphalineWidth,lineCaplineJoinmiterLimit,shadowOffsetXshadowOffsetY,shadowBlurshadowColorglobalCompositeOperation等属性以及一transform和clipping path。绘图状态被存在一个栈(stack)内,每一次调用save()都会把当前的绘图状态压到栈内。每一次调用restore()都会把靠近的存储状态调出来，回到那个绘图状态。这样就可以很方便的在不同的状态之间转换，而不用重新设置。

(function(){
var canv = document.getElementById('canvas')
,   contxt = canv.getContext('2d');
contxt.fillStyle = '#379aff';
contxt.arc(200,200,100, 0, 2*Math.PI);
contxt.fill();
contxt.save();
contxt.fillStyle = 'white';
contxt.beginPath();
contxt.arc(200,200,80, 0, 2*Math.PI);
contxt.closePath();
contxt.fill();
contxt.save();
contxt.beginPath();
contxt.fillStyle = 'black';
contxt.arc(200,200,60, 0, 2*Math.PI);
contxt.fill();
contxt.restore();//白色
contxt.beginPath();
contxt.arc(200,200,40, 0, 2*Math.PI);
contxt.fill();
contxt.restore();//蓝色
contxt.beginPath();
contxt.arc(200,200,20, 0, 2*Math.PI);
contxt.fill();
})();

##### 第一步：设置一些全局变量，以便各个函数能够随时读取。

index为待猜测字母在letters数组中的索引值，它由初始化函数initGame()产生，index = Math.floor(Math.random()*letters.length);js的Math.random()产生的是一个大于0小于1的双精度浮点数。

##### 第二步：主要函数

drawScreen()就没有什么悬念了，都是一些基本的操作，不做展示。还需值得一提的是canvas的toDataURL()，它能将canvas以图像的形式导出。但是从它的名字可以看出，它将返回的是图像的数据，以便存储或导出。

function createImageDataPressed (e) {
window.open(canv.toDataURL(),"cavasImage","left=0,top=0,
width="+canv.width+",height="+canv.height+",toolbar=0,
resizable=0");}

live demo: http://www.tomo.im/guess-game

##### alt

• 当图片没有什么意义只用作装饰时，  alt="" ；
• 如果图片包含了信息，text需要对信息进行说明；
• 当图片包含在链接，即<a>标签内，text需要说明链接要跳转到哪里去；

##### title

<a href="www.xxx.com"><img alt="share page" title="share with others" src="images/share.png"></a>

title不存在时，则显示alt的值。在firefox和chrome下都不显示任何文字。实际上这是IE的一种错误行为，它并不符合HTML规范。

-----部分引用自The Power of Visual Communication

• 收获1：最近有ppt要讲，要多注意使用图像，或是流程图，而不是单纯的文字。
• 收获2:  网站设计很重要，好的设计会让用户更加信赖这个网站。
• 注意：讲了图像的好，当然也不能极端，图像和文字的完美结合才是最完美的。