孕妇效应和低薪陷阱

孕妇效应和低薪陷阱

今天看到两个名词:孕妇效应和低薪陷阱,和大家分享一下。

孕妇效应就是说因为自己具有某个特点而更容易发现别人是否也有这个特点,比如你是孕妇就会发现路上很多孕妇,你开奔驰就会发现很多人也开奔驰,也叫视网膜效应,注意力导致你关注的方向会集中某一点。

低薪陷阱就是当你花越多时间工作,你就会越依靠它来生存,因为你根本没多馀的时间寻求其他的机会脱离这种状态 如此循环下去。常看到的现象就是大家辛苦加班,然后再把钱浪费在补偿损失的睡眠/吃饭时间。这也是为什麽穷人在医疗方面的支出比富人更多。唯一逃脱的办法就是不吃不喝地拼命工作,希望自己有天能累积到足够的馀裕去找寻其他机会。但这个方法要是遇到突发事件恐怕就会失败。

廉价的薪水意味着昂贵的生活。穷人花更多,不管是金钱或是时间。在美国和许多发达国家 便宜的房子总是在比较危险或遥远的地方,穷人都必须花更多钱在通勤上,被抢劫、遭小偷的机率也大大提升。又好比公车。公车很便宜,穷人都会搭公车,有时候他可能需要换两班公车。早上六点半就要起来,等着每10~15分钟就应该要来的公车。但有时候,公车30分钟才来。在那多浪费掉的20分钟,除了淋雨,你还能够做什麽吗?只有等待。这就是另一个贫穷的成本:等待。你等着公车来、在公车上等着司机一站一站的开往终点;你等着付帐单、等着找工作、等发薪水, 等降价、等着奖学金贷款福利的申请结果;你等着下一期的乐透头奖开在你家。

至于等待的成本呢?对时薪1千美金的有钱人来说,每个月花10小时在通勤上完全是可以负担的,大不了少买一双prada给女朋友。但对时薪7.95的穷人花10小时在交通?少了80块就是要省吃 药也不买了 这个月的水电费帐单刚好还有$80缴不出来…

越穷,就有越多成本产生。这些成本可能表现在实质的开销、时间的浪费、生活的不便利、身体的疲劳、生命安全的威胁。真正经历穷困的人才会知道这些成本究竟有多高。

VB.net发送带图片格式的Email

VB.net发送带图片格式的Email

最近要用vb.net写一个发邮件的小程序,倒是不难,但有几个问题解决起来比较棘手

首先,发普通邮件带SMTP认证(Email with SMTP Authentication)很简单,代码如下
Dim smtp As New System.Net.Mail.SmtpClient(“IP Address”)
Dim mail As New System.Net.Mail.MailMessage()
smtp.Credentials = New System.Net.NetworkCredential(“test@example.com”, “Password”)
mail.Subject = Subject
mail.IsBodyHtml = True
mail.From = New System.Net.Mail.MailAddress(“email@example.com”, “LonelyWord”)
mail.Priority = System.Net.Mail.MailPriority.Normal
mail.body = RichTextBox1.Text
mail.To.Add(“to somebody”)
mail.CC.Add(“cc somebody”)
Try
smtp.Send(mail)
MsgBox(“邮件发送成功”)
Catch ex As Exception
MsgBox(“邮件发送失败”)
End Try
代码都比较好理解了,就算加个附件也很简单,mail.Attachments.Add(“file”)。

更深一步,如果Email是带图片的,如何收到邮件能让图片自动显示出来,同时对于不支持HTML的客户端显示txt文件(Embed image in email body)?代码如下
Dim html, plaintext As System.Net.Mail.AlternateView
msg = RichTextBox1.Text & “<img alt=””Company_Logo”” src=””cid:ImageID”” border=0>”
html = System.Net.Mail.AlternateView.CreateAlternateViewFromString(msg, Nothing, “text/html”)
Dim imageView As New System.Net.Mail.AlternateView(“image.jpg”, Net.Mime.MediaTypeNames.Image.Jpeg)
imageview.ContentId = “ImageID”
imageview.TransferEncoding = Net.Mime.TransferEncoding.Base64
plaintext = System.Net.Mail.AlternateView.CreateAlternateViewFromString(RichTextBox1.Text, Nothing, “text/plain”)
mail.AlternateViews.Add(html)
mail.AlternateViews.Add(plaintext)
mail.AlternateViews.Add(imageview)
这时还有个问题出来了,RichTextBox如果有很多行文件,msg只是把文本提取出来,换行符并未提取,就是说看到的邮件是一行到头,解决方案是将文本的换行符替换成HTML中的换行符<br />,代码msg = msg.Replace(Convert.ToChar(10), “<br />”)

这时候就可以应付大部分网页、客户端等,email显示出来文本底下有张图片,但如果使用outlook的话,邮件的图片部分会显示红叉(display red cross in outlook 2003/2007/2010),几乎所有版本outlook都显示红叉,这个查了半天,有的说是改安全级别,有的说改注册表,都试过了还是不行,这时候我突然想到,imageview一定是AlternateViews嘛?为什么不能是附件,这时候涉及到imageview的代码改成
Dim imageview As System.Net.Mail.Attachment = New System.Net.Mail.Attachment(“image.jpg”)
imageview.ContentId = “ImageID”
imageview.TransferEncoding = Net.Mime.TransferEncoding.Base64
outlook收到的邮件可以正常看到图片了。

屏蔽中国视频网站广告的办法

屏蔽中国视频网站广告的办法

修改hosts文件,加入

#优酷
127.0.0.1 stat.youku.com
127.0.0.1 static.lstat.youku.com
127.0.0.1 valb.atm.youku.com
127.0.0.1 valc.atm.youku.com
127.0.0.1 valf.atm.youku.com
127.0.0.1 valo.atm.youku.com
127.0.0.1 valp.atm.youku.com
127.0.0.1 vid.atm.youku.com
127.0.0.1 walp.atm.youku.com

#去奇艺广告
127.0.0.1 afp.qiyi.com
127.0.0.1 focusbaiduafp.allyes.com
#新浪视频
127.0.0.1 dcads.sina.com.cn
#pptv
127.0.0.1 pp2.pptv.com
#乐视
127.0.0.1 pro.letv.com
#搜狐高清
127.0.0.1 images.sohu.com
#CNTV
127.0.0.1 a.cctv.com
127.0.0.1 a.cntv.cn
127.0.0.1 ad.cctv.com
127.0.0.1 d.cntv.cn
127.0.0.1 adguanggao.eee114.com
127.0.0.1 cctv.adsunion.com
#我乐网
127.0.0.1 acs.56.com
127.0.0.1 acs.agent.56.com
127.0.0.1 acs.agent.v-56.com
127.0.0.1 bill.agent.56.com
127.0.0.1 bill.agent.v-56.com
127.0.0.1 stat.56.com
127.0.0.1 stat2.corp.56.com
127.0.0.1 union.56.com
127.0.0.1 uvimage.56.com
127.0.0.1 v16.56.com
#6间房
127.0.0.1 pole.6rooms.com
127.0.0.1 shrek.6.cn
127.0.0.1 simba.6.cn
127.0.0.1 union.6.cn
#土豆网
127.0.0.1 adextensioncontrol.tudou.com
127.0.0.1 iwstat.tudou.com
127.0.0.1 nstat.tudou.com
127.0.0.1 stats.tudou.com
127.0.0.1 *.p2v.tudou.com*
127.0.0.1 at-img1.tdimg.com
127.0.0.1 at-img2.tdimg.com
127.0.0.1 at-img3.tdimg.com
127.0.0.1 adplay.tudou.com
127.0.0.1 adcontrol.tudou.com
127.0.0.1 stat.tudou.com
#酷6网
127.0.0.1 1.allyes.com.cn
127.0.0.1 analytics.ku6.com
127.0.0.1 gug.ku6cdn.com
127.0.0.1 ku6.allyes.com
127.0.0.1 ku6afp.allyes.com
127.0.0.1 pq.stat.ku6.com
127.0.0.1 st.vq.ku6.cn
127.0.0.1 stat0.888.ku6.com
127.0.0.1 stat1.888.ku6.com
127.0.0.1 stat2.888.ku6.com
127.0.0.1 stat3.888.ku6.com
127.0.0.1 static.ku6.com
127.0.0.1 v0.stat.ku6.com
127.0.0.1 v1.stat.ku6.com
127.0.0.1 v2.stat.ku6.com
127.0.0.1 v3.stat.ku6.com
#激动网
127.0.0.1 86file.megajoy.com
127.0.0.1 86get.joy.cn
127.0.0.1 86log.joy.cn
#天线视频
127.0.0.1 casting.openv.com
127.0.0.1 m.openv.tv
127.0.0.1 uniclick.openv.com
#迅雷看看屏蔽:
127.0.0.1 mcfg.sandai.net
127.0.0.1 biz5.sandai.net
127.0.0.1 server1.adpolestar.net
127.0.0.1 advstat.xunlei.com
127.0.0.1 mpv.sandai.net

新加坡环球影城

新加坡环球影城

新加坡环球影城(Singapore Universal Studio)在圣淘沙岛上,2010年开放,可以在Vivo city3楼做轻轨过去,一站,或者在Vivo city门口坐公交,门票75新币,一天的门票价格是72新币,年票318新币,现在共有7个主题区,分别是好莱坞、纽约、科幻城市、古埃及、失落的世界、遥远王国及马达加斯加,门口的地方有地图拿,基本上就是一个圈,考虑到每个地方都要排队的话,一天差不多能转下来了,此外还要注意各个表演的时间,尽量把时间分配好

门口就是universal studio的标志

From Singapore

失落的世界

From Singapore

马达加斯加的动物出来游行

From Singapore

城堡

From Singapore

好莱坞

From Singapore

古埃及

From Singapore
服务器备份工具–Bacula安装与配置(四)

服务器备份工具–Bacula安装与配置(四)

如果要看bacula备份状态的话,每次进linux然后运行bconsole查看status比较麻烦,可以考虑用Bacula-web这个插件,可以通过web查看bacula运行状况,十分方便,这个需要以下程序支持,安装即可

yum install php-pear php-gd php-mysql

官网下载,也可以从我的网站下载

下载后解压,然后把文件都拷贝到/var/www/目录下,运行cp -R ./bacula-web /var/www/

修改/var/www/bacula-web/configs/下的bacula.conf文件,使这个web应用可以读取bacula的数据库,在[.DATABASE]下面修改以下这些地方就行了,
# Your database host or IP
host = localhost
# Your database login
login = root
# Your database password.
# For empty passwords use this:
# pass =
pass = 123
# Your database name
db_name = bacula
# Your database type: mysql,sqlite,pgsql
db_type = mysql

修改/etc/httpd/conf/httpd.conf文件,加入

Alias /bacula-web/ “/var/www/bacula-web/”
<Directory “/var/www/bacula-web”>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

改完后需要重新启动httpd服务让改动生效,service httpd restart

这是可以去浏览器,输入http://bacula服务器ip/bacula-web/test.php看看检测的三项(gettext,Pear(DB),GD)是不是都OK,如果前面都没问题的话,这边应该是三个OK,然后可以去看index.php了,如果显示的是空白页面,可能要看一下log文件是不是SELinux阻止文件访问,错误日志差不多是这样的SELinux is preventing the httpd from using potentially mislabeled files

修改/etc/selinux/config文件中的SELINUX=enforcing为SELINUX=disabled,需要重启机器生效
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing – SELinux security policy is enforced.
#       permissive – SELinux prints warnings instead of enforcing.
#       disabled – SELinux is fully disabled.
SELINUX=disabled

这样就可以通过web界面查看bacula备份的结果了

如果还是空白页面的话,去/var/log/httpd/error_log看看是不是因为权限的问题,如果看到类似错误的话

[Mon Apr 25 22:39:59 2011] [error] [client 182.23.147.2] PHP Fatal error:  Smarty error: unable to write to $compile_dir ‘/var/www/bacula-web/templates_c’. B
e sure $compile_dir is writable by the web server user. in /var/www/bacula-web/external_packages/smarty/Smarty.class.php on line 1088

用chown -R apache:apache /var/www/bacula-web/ 命令即可

服务器备份工具–Bacula安装与配置(三)

服务器备份工具–Bacula安装与配置(三)

在要备份服务器的客户端,只有一个文件要配置,bacula-fd.conf,里面修改以下两个参数即可
Director {
Name = Bacula-dir
Password = “test”
}

Director {
Name = Bacula-mon
Password = “testoo”
Monitor = yes
}
修改名称和密码跟服务器上的一样,另外注意的是要打开9102端口,否则无法正常运行

启动服务用/etc/bacula/bacula start

在服务器端运行/etc/bacula/bconsole可以查看配置的成不成功

首先可以看status,出来四个选项
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4):

选4,都查一遍,如果都可以连接上,没有超时什么的错误,就可以用了,如果想手工备份的话,运行run,选取要备份的客户端

要看每个job都备份了什么文件,可以用list files jobid=编号

如以下显示
*list files jobid=139
+——————————————————————————————+
| Filename |
+——————————————————————————————+
| /usr/local/apache2/htdocs/cacti/rra/73/207.rrd |
| /usr/local/apache2/htdocs/cacti/rra/45/149.rrd |
| /usr/local/apache2/htdocs/cacti/rra/116/463.rrd |
| /usr/local/apache2/htdocs/cacti/rra/89/257.rrd |
| /usr/local/apache2/htdocs/cacti/rra/37/141.rrd |
| /usr/local/apache2/htdocs/cacti/rra/103/341.rrd |
| /usr/local/apache2/htdocs/cacti/rra/103/344.rrd |
(以下省略)

要回复文件的话用restore即可,然后选择对应的选项,jobid可以从status命令中选客户端看到

服务器备份工具–Bacula安装与配置(二)

服务器备份工具–Bacula安装与配置(二)

Bacula的备份和恢复工作由下面几个部分完成
(1)Director Daemon主要是控制端,控制存储,要备份的服务器,运行依赖于数据库,推荐使用MySQL
(2)Storage Daemon主要是文件存储,所有的备份都会存储在这里,恢复的时候从这里取文件
(3)File Daemon就是在客户端运行的进程,备份的时候传出文件,恢复的时候接收文件
(4)Console是连接Director进行控制的
(5)Monitor是监控备份过程的,完成或失败会有log和发送email的,失败的log很详细

一般来说,Director,Storage和Console都会放在一个服务器,除非有特别需要,例如Storage需要放在磁带DVD什么的

这些配置文件都在/etc/bacula/目录下,重要的是bacula-dir.conf,是整个bacula的核心,

Director {                            # define myself
Name = Bacula-dir
DIRport = 9101                # where we listen for UA connections
QueryFile = “/etc/bacula/query.sql”
WorkingDirectory = “/var/bacula/working”
PidDirectory = “/var/run”
Maximum Concurrent Jobs = 1
Password = “WeoJoDjWpYUTPGSghEZUY/7dIYscb7CHuzcbevWaHcU9”         # Console password
Messages = Daemon
}
这一般不用改,password要跟bconsole.conf里面的password一致,如果是一台服务器,默认就是一样的

然后跟着是JobDefs,主要是定义要备份的客户端
JobDefs {
Name = “Webhost”
Type = Backup
Level = Incremental
Client = webhost.abc.com
FileSet = “webhost”
Schedule = “WeeklyCycle”
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = “/var/bacula/working/%c.bsr”
}
这里指定client的名字是webhost.abc.com,要备份的文件在FileSet webhost里指明,备份计划是WeeklyCycle,默认是每个月的第一个周日做全备份,剩下的周日做差异备份,每天做增量备份,没有特殊需要可以不用改

Job {
Name = “Backup Webhost”
JobDefs = “Webhost”
}
这个是Console运行Job的时候需要的

FileSet {
Name = “webhost”
Include {
Options {
signature = MD5
}
File = /home/
File = /root/
}
Exclude {
File = /root/bacula-5.0.3/
}
}
这个就是webhost这个job需要备份的文件,可以通过include指定多个文件目录,也可以通过exclude在指定的那些目录排除一些子目录

Schedule {
Name = “WeeklyCycle”
Run = Full 1st sun at 05:05
Run = Differential 2nd-5th sun at 05:05
Run = Incremental mon-sat at 05:05
}
这个就是定义自动备份的时间段

Client {
Name = webhost.abc.com
Address = webhost.abc.com  #或者用ip,例如1.1.1.1
FDPort = 9102
Catalog = MyCatalog
Password = “test”          # password for FileDaemon
File Retention = 30 days            # 30 days
Job Retention = 6 months            # six months
AutoPrune = yes                     # Prune expired Jobs/Files
}
定义客户端机器,这里面的name和address虽然一样,但意义不同,name可以随便用,只要跟JobDefs里client一样就行了,address就是服务器的ip地址,或者域名,password这个要跟客户端里面设置的一致

Storage {
Name = File
# Do not use “localhost” here
Address = 127.0.0.1                # N.B. Use a fully qualified name here
SDPort = 9103
Password = “l5OTjniMqNs+QM3Z3U2uBIjOb6mKqIoa67X7zYjlRzwp”
Device = FileStorage
Media Type = File
}
存储的位置,这个如果在同一台服务器的话,只要把address中的localhost改成127.0.0.1即可,如果不在同一个服务器,要注意password要设置成一样的

Messages {
Name = Daemon
mailcommand = “/sbin/bsmtp -h mail.abc.com -f \”\(Bacula\) \<%r\>\” -s \”Bacula daemon message\” %r”
mail = test@abc.com = all, !skipped
console = all, !skipped, !saved
append = “/var/bacula/working/log” = all, !skipped
}
发送email消息设置,-h后边要改成email服务器,也可以用本机当email服务器,mail改成收件人地址

Console {
Name = Bacula-mon
Password = “testoo”
CommandACL = status, .status
}
监控用的,这边的password也要跟客户端里面的一样

服务器备份工具–Bacula安装与配置(一)

服务器备份工具–Bacula安装与配置(一)

Bacula是可以自动备份服务器文件的程序,备份和回复都非常方便,基本上不用人管,出了问题可以选择回复哪个时间点的文件,你可以从官网下载,也可以从我的网站下载,我运行的环境是CentOS5.5,32位的

首先要安装mysql,然后启动mysql服务,并且要创建mysql的root密码,不创建密码也行,就是不安全,这里为了方便我就用123当作密码
yum install mysql
service mysqld start
mysqladmin -u root password “123”

然后用netstat -nat命令看看3306端口起没起来,看到有3306端口正在被listen就成功了

然后解压下载的bacula,运行./configure –with-mysql(服务器端运行需要mysql支持),报错,说configure: error: Unable to find C++ compiler,查了一下要安装一个c++编译器,运行yum install gcc-c++,然后继续运行./configure –with-mysql,还是报错,说configure: error: Unable to find mysql.h in standard locations,这个要安装mysql-devel,运行yum install mysql-devel,这些都是bacula服务器上要安装的,在客户端不用安装,./configure –with-mysql没有报错后继续make;make install

完成之后去/etc/bacula做一些相关数据库的操作
分配权限
./grant_mysql_privileges -u root -p”123″
创建数据库
./create_mysql_database -u root -p”123″
创建表
./make_mysql_tables -u root -p”123″

客户端安装很简单,就一句
./configure –enable-client-only

这些完了之后安装阶段结束,剩下的是要配置

澳门游记

澳门游记

澳门似乎除了去赌也没啥好干的了,早晨做地铁到罗湖口岸,出口就是深圳火车站和罗湖汽车站,坐车去珠海大概要3-4个小时,车票120左右,到了拱北出关入关都要排长队,旁边有香港人通道,拿着香港身份证一刷就可以过去,如果定了大酒店的话可以做酒店提供的车直接去,没有的话可以做3路车到大马路下,景点,购物,吃饭啥的都在这条街上了,港币和澳币都可以使用,我们到了就晚上了,找个了酒店住下了,旧的葡京赌场

From 香港,澳门

新的葡京赌场,这俩挨着,就隔着一条马路

From 香港,澳门

民政总署,下面的文字是葡萄牙文

From 香港,澳门

对过的一条街是通往大三巴牌坊的,建于1580年,算是澳门最有名的景点了

From 香港,澳门

教堂

From 香港,澳门

澳门小吃不少,相比香港便宜一点点,喜欢购物的转转不错,可看的地方实在不多

香港游记(二)迪斯尼乐园

香港游记(二)迪斯尼乐园

第二天的行程自然就是迪斯尼了,坐地铁可以直接到,在欣澳换乘,估计是为迪斯尼乐园专门设计的列车

From 香港,澳门

到了入口,还好没有出现昨天那样的很多小学生排长队进入,看起来人不是很多

From 香港,澳门

门票是300港币一人,还有年票,600多,入口

From 香港,澳门

游乐园的商店,看着很有感觉

From 香港,澳门

商店里的屋子模型

From 香港,澳门

里面的摆设

From 香港,澳门

卖的毛绒米老鼠

From 香港,澳门

火车,很像玩具,可以绕迪斯尼一大圈,不过只有两个车站

From 香港,澳门

城堡,里面可以坐车游览

From 香港,澳门

很可爱的一对

From 香港,澳门

临走时拍的

From 香港,澳门