iTimothy

君看一叶舟,出没风波里


  • 首页

  • 分类

  • 归档

  • 项目

  • 关于

Visual Studio 2010 尝鲜

发表于 2010-04-13 | 分类于 技术控 | | 阅读次数:
字数统计: 737 字 | 阅读时长 ≈ 2 分钟

昨晚在群里看到同事的讨论,MSDN终于放出Visual Studio 2010 RTM下载了(下文简称VS2010)。早上上班看到这个消息很是激动,迫不及待的去MSDN把期待已久的VS2010给拖了下来。VS2010和以往发布的版本不一样,这次划分为三个版本:Professional、Premium、Ultimate。 俺比较贪心,要用就用最高版本,拖了个Ultimate旗舰版,ISO镜像总共2.2GB,其实跟以往的VS2008相比,也不算大。

下面是VS2010中的新增特性(网上copy过来的): ·对多显示器的支持 ·支持调用继承树 ·新特性支持TDD ·新特性支持Office开发 ·全新的Quick Search功能 ·Call hierarchy高亮对象的引用 ·直接使用一个未定义的对象 ·提供更方便的javascript脚本编写 ·HTML snippets超越智能提示 ·可以进行自定义开始页 ·C# 4.0的语言新特性 ·提升了SharePoint开发功能 ·特性聚焦:分析和调试并行应用程序 ·正式包含F#函数式语言

下载完后,迫不及待开始安装: 12和期望比较不一样的是,安完需要的组件,供占5个多GB的硬盘空间,还是比较苗条了。选完需要安装的组件,俺很慎重的按下了Install按钮…… 3漫长的安装过程,中途机器重启了两次,一次是在.NET Framework 4.0安装过后,一次是在整体安装完毕过后。

4安装完毕,俺怀着激动的心情,启动了VS2010,跳出不规则的Splash Window.6

整体使用感觉相当不错,此前还担心WPF实现的IDE界面会拖慢运行速度,看来这样的担心是多余的。跟VS2008相比,感觉VS2010的反应速度会快很多。看来这方面的优化还是做足了功夫的。另外,令人满意的是VS2010的扩展功能,内置的Extention Manager能够看到很多的在线扩展,选择你想要的,可以在线安装和卸载。这种方式让VS2010的扩展更加丰富和强大,值得表扬!

image另外,还有很多的关于.NET Framework 4.0 以及 VS2010的新特性还没来得及体验,比如dynamic,并行编程,新版的ADO.NET Entity Framework,新引入的F#语言,等等…… 无意中也发现,ReSharper 5.0 也随着VS2010的发布而发布了,看来步调相当一致啊~这款功能强大的工具,自从VS2005开始,俺就一直用,现在不装反而不习惯了。于是卸掉之前的ReSharper 4.5,升级到5.0版。ReSharper 5.0本身也支持VS2008和VS2010,这样机器上的两个IDE可以和谐共存,并同时使用ReSharpter 5.0,简直太完美了。

总体感觉:VS2010和VS2008相比,确实是一大进步,或者说,确实是个飞跃…… 打算用段时间就把VS2008从机器中清理掉,嘿嘿……

(转)[菜鸟通] BlackBerry 的外观操作详解(Qwerty 全键盘篇)

发表于 2010-04-04 | 分类于 技术控 | | 阅读次数:
字数统计: 2.1k 字 | 阅读时长 ≈ 7 分钟

本文转自《黑莓时光》
原文地址:http://berrytimes.cn/2010/04/02/new-bber-001/

newbber-01-01-500x528

BlackBerry 机型不算众多,那也不能算太少了。从 6230 到 7290,从 8300 到 9000 甚至是最新的 9700,其实 BlackBerry 的外观操作精髓并没有太多的改动,对于全键盘机型来说,是可以触类旁通的。对于《菜鸟通》来说,我们第一讲以一台 2009 年最新机型 BlackBerry Bold 9700 为例,先从外观和操作详细的扒开了慢慢讲。

我们将一台 BlackBerry 分割成“顶部”、“屏幕”、“键盘”三个部分来聊。

Part 01:BlackBerry 顶部

顶部有顶部左侧键、顶部右侧键、Led 灯、扬声器听筒。

  1. 顶部左侧键:锁键盘键。按下之后进入锁键盘状态,屏幕弹出用户个人信息,再按一次即可解锁。在目前最新的系统以及在可预知的将来的系统中,锁键盘之后会直接黑屏,将无任何提示信息。

  2. 顶部右侧键:静音键。静音键有如下几个功能:在来电时按下静音键,响铃停止;通话中按下静音键,关闭麦克风;长按静音键,进入待机模式。在目前最新的系统以及在可预知的将来的系统中,长按静音键进入待机模式功能将取消。

  3. LED 灯:俗称小红灯,是 BlackBerry 精髓之一。在默认设置下,有电话呼入、有未查看消息、有提醒信息、录音和摄像时小红灯闪烁。蓝牙连接时蓝灯闪烁;LED 覆盖显示器(即设置为 LED 常亮)时绿灯闪烁;电量不足时充电黄灯闪烁。同时,小红灯也可做一些对于机器是否正常的简单识别:安装电池,红灯亮几秒后熄灭,正常开机;安装电池,小红灯闪烁或间歇性常亮,都是系统或机器主板出问题的可能性症状。

  4. 扬声器听筒:扬声器和听筒均位于机器的顶部这个区域,具体位置各个机器略有不同。在这里需要提醒大家的是,在使用官方休眠套的时候大家要尽量小心,因为拔出手机时力量主要都集中在听筒之上,很容易对听筒造成损坏,注意。

Part 02:BlackBerry 屏幕

BlackBerry 目前主流屏幕分辨率为 480 x 360(包括 Storm 系列),个别机器略有不同,例如 BlackBerry Bold 9000 大屏为 480 x 320 。

关于 BlackBerry 屏幕显示内容的基础概况我们会在后面的“菜鸟通”其他章节详细说。

Part 03:BlackBerry 键盘

键盘是最大的部分,我们将分为【导航区】【全键盘区】【功能键区】逐一介绍。

1.【导航区】

轨迹球以及两侧 4 个按键属于导航区。

  • 左:拨打键。功能以及使用和其他手机基本相同,除了接听电话外,可在输入电话号码后按下拨出电话(如在设置桌面快捷键的情况下,需先按下拨打键才能开始拨号),也可以在通讯录选中联系人后直接拨打电话。

  • 左中:功能菜单键,俗称黑莓键。通常,在任意界面按下后会弹出菜单选项,同时在最新的系统中弹出菜单后按下为确认选择。黑莓键还有一些别的用法,例如在最新的系统中长按黑莓键可以调出后台运行的程序以供选择。

  • 中:轨迹球或触控板,BlackBerry 又一大特色。可上下左右滑动,也可按下表示确认选择。

  • 右中:返回键。退出选择、退出程序等作用,也是“退出保存”这一常用功能的必要按键之一。

  • 右:挂机键。基本功能为挂断电话,平时可作为直接返回桌面而不关闭程序之用,长按为开机或关机。

2.【全键盘区】

  • 包括空格、回车、删除在内的全键盘区域。

  • 每个按键分为上下两个部分,下部为正常输入字母,上部需配合功能键一起使用。例如在短信里输入常用标点符号。

3.【功能键区】

功能键基本都是和其他按键组合使用的,现在简单介绍一下。

  • alt:最常用的功能键,基本功能为实现键盘上部数字或符号的输入,例如按住 alt 再按下其他按键就可以输入按键上部的数字和符号。还有很多其他功能,现在将常用列举如下:

    1. alt+返回键:调出后台运行程序。

    2. alt+回车:切换输入语言。

    3. alt+aA:锁定数字输入。(再次按 alt 或 aA 接触锁定)

    4. alt+aA(右)+del:重新启动 BlackBerry 设备,俗称软重启,和拔电池重启相对。

    5. alt+aA+H:帮帮我系统界面。

    6. alt+按下轨迹球:复制。

  • aA:大小写功能键,同时还有其他组合功能如下(和 alt 组合使用功能将不再列举):

    1. aA+轨迹球选择:多选。

    2. aA+del:剪切。

    3. aA+按下轨迹球:粘贴。

  • sym:符号功能键。在输入文字界面按下会弹出符号输入对话框,一共 4 页,再次按下 sym 可以翻页。

  • $:钱币输入快捷键,可设定为人民币、欧元、英镑和美元。同时,上部是免提功能使用,在通话状态下按下 $ 键可开启免提。

4.【其他】

基本每个全键盘按键都隐含着其他的用法,例如桌面快捷、长按为快捷拨号、某个程序中的快捷键等等,现将快捷拨号以外的功能简单介绍如下:

[桌面快捷键使用方法:拨打键-黑莓键-选项-常规选项-从主屏幕拨号-否]

  • A:桌面快捷为通讯录;长按为锁键盘(在目前最新的系统以及在可预知的将来的系统中取消);

  • B:桌面快捷为浏览器;短信等界面为转到底部;

  • C:桌面快捷为编辑邮件;

  • D:桌面快捷为记事本;

  • E:无桌面快捷;短信界面为查看发出错误消息;

  • F:桌面快捷为情景模式(OS 5.0 后取消此快捷键);短信界面为转发;

  • G:无桌面快捷;浏览器为转到,即跳转到地址栏;

  • H:桌面快捷为帮助;

  • I:无桌面快捷;浏览器和谷歌地图等为放大;

  • J:无桌面快捷;

  • K:桌面快捷为锁键盘(在目前最新的系统以及在可预知的将来的系统中取消);

  • L:桌面快捷为日程;

  • M:桌面快捷为消息;

  • N:无桌面快捷;短信等界面为下一天或下一页;

  • O:桌面快捷为选项;浏览器和谷歌地图等中为放大;

  • P:桌面快捷为电话;短信等界面为上一天或上一页;

  • Q:无桌面快捷;长按为切换情景模式为震动;

  • R:桌面快捷为时钟(OS 5.0 后取消此快捷键);短信界面为回复消息;时钟界面为呼出闹钟;

  • S:桌面快捷为搜索;短信等界面为搜索;

  • T:桌面快捷为任务;短信等界面为转到顶部;

  • U:桌面快捷为计算器;短信界面为查看未读消息;

  • V:桌面快捷为已保存消息;短信界面为查看已保存消息;

  • W:无桌面快捷;长按为语音信箱;

  • X:无桌面快捷;

  • Y:无桌面快捷;

  • Z:无桌面快捷;

  • 空格:无桌面快捷;短信等界面为翻页;

更多快捷键操作大家可以在自己 BlackBerry 的帮助菜单中查看“快捷方式”。

Part 04:BlackBerry 其他

  • 左快捷键:默认为语音拨号;

  • 右快捷键:默认为照相机;带有自动对焦的机器分为前后两个半程,前半程为自动对焦,后半程为拍摄,如将其换为其他程序快捷键则需按到后半程才能启动程序;

  • 音量键:通话和音乐播放时为音量大小调整;音乐播放时长按为上一首下一首;

这次先和大家聊到这,下一篇我们将和大家分享 BlackBerry 的外观操作详解(SureType 智能键盘篇)。

BlackBerry系统刷至OS5.0.0.464

发表于 2010-03-30 | 分类于 技术控 | | 阅读次数:
字数统计: 466 字 | 阅读时长 ≈ 1 分钟

刚买到BB的时候,OS是英文版的,没中文输入法,找了个OS 4.6的东亚版ROM刷了机。折腾OS4.6没几天,今天又受久酷同学影响,决定直接刷上OS 5.0感受一下。去BlackBerry官网下了一个全语言版的ROM。在以前折腾过BB的同事的悉心指导下,大胆的把OS 4.6给WIPE了。然后启用WinLoader刷ROM,在经历了漫长而又有惊无险的等待后,BB带着新的OS启动了:

image
下面是OS 5.0的一些改进及使用感受:

1.机器重启的时候变成黑色背景,还多了个进度条,不再像以前的白屏幕了。这样友好了很多,至少能让用户知道系统启动的进度。
2.没了以前的快捷键锁键盘。OS4.6中,直接按K就可以锁定屏幕键盘了,现在没了这功能,有点不习惯,默认的长按A也是锁键盘,在快速拨号里面,看到A的定义也是Lock System,不过长按A,却是进入待机状态。难道锁键盘这功能要从BB中去掉了?不解……
3.另外一个地方感觉改进比较大的,就是发短信的窗口,变成更加类似聊天模式的了(以前也是聊天模式,不过这个更像),还多了个添加表情的选项,不知道这表情是否兼容不同品牌的手机。

image还有些改进,是摄像头的界面和播放器的界面,粗略体验了一下,还不错。重刷一次系统,所有的软件又重新装了一次,够折腾,不过常用的也就那么几个,很快就装好。经历这次刷机,大致明白了刷机流程,下次可以放心的WIPE机器了 :-)

BurstNET VPS上搭建OpenVPN

发表于 2010-03-28 | 分类于 技术控 | | 阅读次数:
字数统计: 895 字 | 阅读时长 ≈ 3 分钟

俺的VPS是基于OpenVZ的,因而不支持PPTP VPN,唯一的办法,是搭建OpenVPN。和PPTP VPN相比,OpenVPN的搭建要稍微麻烦一些。并且服务端和客户端需要生成证书,以及修改配置文件。下面把BurstNET VPS上,Ubuntu系统中搭建OpenVPS的流水账记录一下,供日后参考:

1.前期工作,OpenVPN,需要TUN支持,默认情况下,是没有开启的,需要到后台管理平台中,点击Enable Tun/Tap即可开通。开通后,用命令

cat /dev/net/tun

如果返回 cat: /dev/net/tun: File descriptor in bad stat,表明已经成功启用TUN支持。

另外,需要iptables_nat模块支持,用命令

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

检查,如果返回iptables: Unknown error 4294967295,表明系统还不支持,需要联系客服开通。

2.安装OpenVPN,这个最简单不过了:

sudo apt-get install openvpn

安装好后,默认的路径在 /usr/share/openvpn,进入 /usr/share/openvpn/easy-rsa/2.0 目录,用vim修改vars文件,加入自己的信息,这些信息在生成证书的时候会用到,下面是示例:

export KEY_COUNTRY="CN"
export KEY_PROVINCE="SC"
export KEY_CITY="ChengDu"
export KEY_ORG="FreedomUnion"
export KEY_EMAIL="[email protected]"

修改好后,保存文件,用命令 . ./var运行,注意两个点之间有个空格。运行后,会设置好变量,接下来按照下面顺序,运行命令,生成证书:

./build-ca
./build-key-server timothy-vps
./build-key ClientName
./build-dh

./build-key-server 用来生成服务端证书,./build-key用来生成客户端证书,有几个客户端,就需要生成几个。

生成好后,接下来需要配置服务端配置文件,把/usr/share/openvpn/easy-rsa/2.0/keys目录下所有生成好的证书文件,拷贝到 /etc/openvpn/keys,接下来,编辑服务端配置文件:

cd /etc/openvpn
vim server.conf

#输入以下内容到配置文件
port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/timothy-vps.crt
key /etc/openvpn/keys/timothy-vps.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

编辑好后,保存文件,用vim编辑 /etc/sysctl.conf,把net.ipv4.ip_forward=0改成 net.ipv4.ip_forward = 1,运行 sysctl -p命令,编辑/etc/init.d/iptables,加入以下规则:

/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source Your-VPS-IP

接下来,服务端配置基本结束,运行命令,启动OpenVPN客户端:

/usr/sbin/openvpn --config /etc/openvpn/server.conf &

如果需要开机启动,把上面命令加入到/etc/rc.local即可

服务端启动成功截图

image

接下来,配置客户端了,Windows下使用OpenVPN,需要下载最新版的OpenVPN安装程序。安装好后,将在VPS上生成好的证书文件,下载到客户端,包括ca.crt证书,以及客户端证书:timothy.crt timothy.key,将它们统统拷贝到OpenVPS安装目录下的config目录,编写客户端文件,保存为client.ovpn,内容如下:

client dev tun proto tcp remote Your-VPS-IP 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert timothy.crt key timothy.key ns-cert-type server comp-lzo verb 3

保存好后,右键点击client.ovpn,选择“Start OpenVPN on this config file”,建立VPN连接,建立好后,命令行会有如下提示: Initialization Sequence Completed,表示连接成功,这下,可以VPN上网了。去ip138.com,看看你的IP,应该是VPS的IP了:

image

用BB管理你的VPS

发表于 2010-03-26 | 分类于 技术控 | | 阅读次数:
字数统计: 327 字 | 阅读时长 ≈ 1 分钟

用上BB两天,发现BB还是挺好用的。无意中,又发现一款在BB上运行的SSH Client软件,这样的话,就可以通过手机来管理你的VPS了。想想你外出不在电脑旁的时候,可以随时随地通过手机控制你在大洋彼岸的VPS,那是相当的强大……

BB上可以使用的SSH Client客户端软件还比较多,比较了一下,选择了midpssh。大本营在这里。通过桌面工具进行安装,安装好后,程序菜单有如下的图标:
20100326154416
启动软件后,通过简单的设置,就可以连接VPS了,程序的菜单也比较简洁,不过有个不足的地方,没有看到在什么地方修改默认的SSH端口。为了安全,平时都没用默认的22端口,为了测试,俺又去VPS把22端口加到sshd里面。
20100326154131接下来,连接,熟悉的界面出来了,大功告成:
20100326154350从此可以在手机上管理你的VPS了。

希望该软件可以改进的地方:
1.可更改默认连接的SSH端口
2.连接后的输入命令,并不是直接在字符界面输入,而是要切换到另外一个文本界面,不方便,也不太直观

入手BB9000 正式成为BBer

发表于 2010-03-24 | 分类于 技术控 | | 阅读次数:
字数统计: 249 字 | 阅读时长 ≈ 1 分钟

用惯了WM的触摸屏带全键盘的Touch Pro,打算换一个系统平台的手机。在Android系统的HTC HERO和BB9000之间纠结了很久,最终还是选择了BB9000。不为什么,BB的很多功能挺吸引人的,比如全键盘,休眠,定时启动,快捷键启动应用等功能,适合喜欢折腾的人,而我也喜欢折腾。在淘宝一个信誉不错的卖家购买的机器。下午寄出,第二天下班的时候就收到,赞一下顺丰快递的速度。拿到机器后,手动解锁,打了电话,效果还不错。接着刷了中文的ROM,从Google Sync把预先备份好的联系人信息通通同步到手机,装了常用的软件,总算可以收工了。刚用上BB,还有许多值得摸索的地方。发现Wordpress for BlackBerry 1.1还不错,这下可以在BB上写博客了。(此文就诞生于BB上,呵呵)

VPS SSH故障及解决

发表于 2010-03-16 | 分类于 技术控 | | 阅读次数:
字数统计: 310 字 | 阅读时长 ≈ 1 分钟

这两天加班,没时间顾及VPS。晚上没事用SecureCRT,通过SSH连接VPS,发现VPS拒绝连接。奇怪了,VPS的站点能访问,iptables也没限制SSH端口,除非是sshd服务挂了。登陆VPS的web管理界面一看,果然sshd这进程从列表中消失了。直接运行/etc/init.d/ssh start,系统返回异常:ssh 无法启动, /dev/null is not a character device 这错误提示看得我一头雾水,难道sshd服务,还跟那个/dev/null设备有关系?带着疑问去请教了下google老师,原来别人也有遇到这样的问题。sshd确实和这设备有关,如果/dev/null被损坏,ssh启动,就会有如此提示。既然问题找到了,是/dev/null损坏,我们需要重建一个,用下面的命令即可修复:

rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null

待/dev/null重建好后,直接在VPS的web管理页面中,运行 /etc/init.d/ssh start,久违的sshd服务就回来了。回忆了下,前两天打开了corn服务,有个每天定时执行的和日志关的脚本,会去修改/dev/null,立马屏蔽之,重启cron服务后,一切正常。

VOA Special English MP3 Downloader

发表于 2010-03-09 | 分类于 技术控 | | 阅读次数:
字数统计: 1.4k 字 | 阅读时长 ≈ 7 分钟

最近上下班开车挺无聊,听腻了各式音乐,打算利用上下班的时间学学英语,锻炼下生锈的耳朵,听听English MP3。以前一直比较喜欢VOA Special English的慢速版,虽然还是有一定的难度,但听起来多少能找到点感觉。今天突然心血来潮,google了下VOA的老家,很不幸,网页无法打开,第一直觉就是VOA被伟大的wall给挡住了。搜索了一下,果然如此……不过咱有SSH,怕啥?通过SSH果然可以正常访问,这也印证了前面的猜想。不过VOA的mp3貌似每天都出,一个一个点链接下载,实在是个体力活,人本来就有惰性,俺也不例外!于是,有了下面的想法……

咱IT民工,比较拿手的就是让电脑帮俺们去完成一些重复劳动,减轻体力负担,如果能让电脑自动帮俺下载mp3该多好!加之最近又在看python的东东,python很强大,几行代码就能完成复杂的工作。于是开始手痒,何不用python搞个下载器试试呢? 对了,有wall,怎么办?不怕!咱有VPS,哈哈哈!

开工!在VOA的页面,上找到RSS页面地址(RSS页面包含有最新发布的文章以及mp3下载链接),然后对RSS进行分析,写python脚本,调试,运行,效果还不错!最近发布文章的mp3被啪啪啪的拖到了VPS上。脚本十分简单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/python
#VOA Special English MP3 Downloader.
#Written by Timothy 2010.3.10
import urllib,time;
from xml.dom import minidom
from os import system
url = "http://www1.voanews.com/templates/Articles.rss?sectionPath=/learningenglish/home"
link = urllib.urlopen(url)
#content=link.read()
rss = minidom.parse(link)
elements = rss.getElementsByTagName('media:content')
for element in elements:
if element.hasAttribute('type'):
print 'Now downloading:' + element.getAttribute('url')
system('wget -nc ' + element.getAttribute('url'))

运行效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
timothy@vps:~$ ls
VOAEnglish.py
timothy@vps:~$ chmod +x VOAEnglish.py
timothy@vps:~$ ./VOAEnglish.py
Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-sin-2578-smoking-09mar10.Mp3
--2010-03-09 16:37:40-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-sin-2578-smoking-09mar10.Mp3
Resolving www.voanews.com... 72.247.217.25, 72.247.217.9
Connecting to www.voanews.com|72.247.217.25|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7765680 (7.4M) [audio/mpeg]
Saving to: `se-sin-2578-smoking-09mar10.Mp3'

100%[==========================>] 7,765,680 10.0M/s in 0.7s

2010-03-09 16:37:41 (10.0 MB/s) - `se-sin-2578-smoking-09mar10.Mp3' saved [7765680/7765680]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-ag-broccoli-9mar10.Mp3
--2010-03-09 16:37:41-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-ag-broccoli-9mar10.Mp3
Resolving www.voanews.com... 72.247.217.25, 72.247.217.9
Connecting to www.voanews.com|72.247.217.25|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1905683 (1.8M) [audio/mpeg]
Saving to: `se-ag-broccoli-9mar10.Mp3'

100%[==========================>] 1,905,683 9.44M/s in 0.2s

2010-03-09 16:37:41 (9.44 MB/s) - `se-ag-broccoli-9mar10.Mp3' saved [1905683/1905683]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-dev-int-womens-day-8mar10.Mp3
--2010-03-09 16:37:41-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-dev-int-womens-day-8mar10.Mp3
Resolving www.voanews.com... 72.247.217.25, 72.247.217.9
Connecting to www.voanews.com|72.247.217.25|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1907146 (1.8M) [audio/mpeg]
Saving to: `se-dev-int-womens-day-8mar10.Mp3'

100%[==========================>] 1,907,146 8.81M/s in 0.2s

2010-03-09 16:37:41 (8.81 MB/s) - `se-dev-int-womens-day-8mar10.Mp3' saved [1907146/1907146]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-tia-molly-brown-05mar10.Mp3
--2010-03-09 16:37:41-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-tia-molly-brown-05mar10.Mp3
Resolving www.voanews.com... 72.247.217.9, 72.247.217.25
Connecting to www.voanews.com|72.247.217.9|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7429432 (7.1M) [audio/mpeg]
Saving to: `se-tia-molly-brown-05mar10.Mp3'

100%[==========================>] 7,429,432 8.68M/s in 0.8s

2010-03-09 16:37:42 (8.68 MB/s) - `se-tia-molly-brown-05mar10.Mp3' saved [7429432/7429432]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-pia-todd-duncan-7mar10.Mp3
--2010-03-09 16:37:42-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-pia-todd-duncan-7mar10.Mp3
Resolving www.voanews.com... 72.247.217.9, 72.247.217.25
Connecting to www.voanews.com|72.247.217.9|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7470601 (7.1M) [audio/mpeg]
Saving to: `se-pia-todd-duncan-7mar10.Mp3'

100%[==========================>] 7,470,601 6.06M/s in 1.2s

2010-03-09 16:37:43 (6.06 MB/s) - `se-pia-todd-duncan-7mar10.Mp3' saved [7470601/7470601]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-itn-tea-party-6mar10.Mp3
--2010-03-09 16:37:43-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-itn-tea-party-6mar10.Mp3
Resolving www.voanews.com... 72.247.217.25, 72.247.217.9
Connecting to www.voanews.com|72.247.217.25|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2405145 (2.3M) [audio/mpeg]
Saving to: `se-itn-tea-party-6mar10.Mp3'

100%[==========================>] 2,405,145 3.98M/s in 0.6s

2010-03-09 16:37:44 (3.98 MB/s) - `se-itn-tea-party-6mar10.Mp3' saved [2405145/2405145]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-econ-corp-history-5mar10.Mp3
--2010-03-09 16:37:44-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-econ-corp-history-5mar10.Mp3
Resolving www.voanews.com... 72.247.217.9, 72.247.217.25
Connecting to www.voanews.com|72.247.217.9|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1940583 (1.9M) [audio/mpeg]
Saving to: `se-econ-corp-history-5mar10.Mp3'

100%[==========================>] 1,940,583 6.77M/s in 0.3s

2010-03-09 16:37:44 (6.77 MB/s) - `se-econ-corp-history-5mar10.Mp3' saved [1940583/1940583]

Now downloading:http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-mosaic-05mar10.Mp3
--2010-03-09 16:37:44-- http://www.voanews.com/MediaAssets2/learningenglish/dalet/se-mosaic-05mar10.Mp3
Resolving www.voanews.com... 72.247.217.9, 72.247.217.25
Connecting to www.voanews.com|72.247.217.9|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7341034 (7.0M) [audio/mpeg]
Saving to: `se-mosaic-05mar10.Mp3'

100%[==========================>] 7,341,034 9.01M/s in 0.8s

2010-03-09 16:37:45 (9.01 MB/s) - `se-mosaic-05mar10.Mp3' saved [7341034/7341034]

timothy@vps:~$ ls
se-ag-broccoli-9mar10.Mp3 se-pia-todd-duncan-7mar10.Mp3
se-dev-int-womens-day-8mar10.Mp3 se-sin-2578-smoking-09mar10.Mp3
se-econ-corp-history-5mar10.Mp3 se-tia-molly-brown-05mar10.Mp3
se-itn-tea-party-6mar10.Mp3 VOAEnglish.py
se-mosaic-05mar10.Mp3
timothy@vps:~$

VPS和VOA都在米国,下载速度很快啊……几秒钟的功夫……

最后,再想办法把mp3统统拖回来本地即可。此脚本适合拥有VPS的、有兴趣的同学使用,后续会慢慢改进脚本。

俺的VPS正式上线了

发表于 2010-03-04 | 分类于 技术控 | | 阅读次数:
字数统计: 237 字 | 阅读时长 ≈ 1 分钟

VPS正式上线,先恭喜下自己 ,嘿嘿。
经过多方比较,最后选了BurstNET的VPS最低配置的那一款,具体配置如下:

VPS Software: vePortal™ / OpenVZ™
CPU: 1000MHZ GUARANTEED
Memory: 512MB GUARANTEED
Disk Space: 20GB (RAID BASED CONFIG)
Bandwidth: 1000GB/MONTH
IP Addresses: 2
Management: BASIC MANAGED
DDOS Protection: CISCO™ GUARD

可惜是基于OpenVZ的,不支持PPTP的VPN,只能架OpenVPN。其他的地方还比较满意,2个IP,1TB月流量是亮点。装上了Ubuntu 9.10 32bit系统,用PHP+MySql+Nginx+FastCGI 搭建了WordPress环境自上次重启后,用uptime命令查询了一下,运行了两天又十小时,还算稳定。free -m命令,显示剩余内存131MB,为了测试速度,打开了到vps的ping,自家的成都电信ADSL,自测速度如下:
image
麻烦各位天南地北的同学帮我测试一下速度(ping vps.xiaozhou.net),在回帖中告诉下我你的宽带是网通、电信还是其他,ping平均多少ms延时。非常感谢!

周末踏青

发表于 2010-02-28 | 分类于 随影随行 | | 阅读次数:
字数统计: 78 字 | 阅读时长 ≈ 1 分钟

天气终于逐渐暖和了,整个冬天在家里都快发霉了。趁着天气晴朗的周末,带上家人和孩子,去了成都的三圣花乡,算是新年第一次外出游玩。顺便带上了相机,瞎拍了几张,练练手,欢迎大家拍砖。

1

2

3

4

5

6

没有四肢也能震撼世人–尼克·胡哲(Nick Vujicic)

发表于 2010-02-27 | 分类于 随笔 | | 阅读次数:
字数统计: 161 字 | 阅读时长 ≈ 1 分钟

看完这段视频,感觉很震撼人心,也感到自己很惭愧,特地拿来跟同学们分享一下。想到自己在平时生活中遇到困难或者难题的时候,常常会感到沮丧、失望、懊恼、怨天尤人,而Nick Vujicic虽然天生就没了四肢,却能够有着一种异于常人的积极、向上的乐观,能够活出更加丰盛的生命,甚至能影响他人,各位同学们,也许你不认同他的信仰,但四肢健全的我们如果都能像他一样,那困难也不复存在了,感谢主!

vps中的iptables规则设置范例

发表于 2010-02-26 | 分类于 技术控 | | 阅读次数:
字数统计: 961 字 | 阅读时长 ≈ 4 分钟

忙乎了一两天,俺的VPS算是上线了,基于Ubuntu Linux的,512MB内存,20G硬盘,1TB月流量,赠送2个IP,还不错。不过,现在还没有把博客迁移过去的打算,此VPS仅作为练手而用,只是建了一些ssh账号,供自己和同事跨栏用,还简单的搭建了基于Nginx+MySql+PHP+FastCGI的WordPress环境,并成功拉过来俺的一位同事在上面安了个blog,嘿嘿。 提到VPS,最重要的还是安全,毕竟你的系统是直接面向公网,如果不加强防范,很容易成为别人手里的肉鸡。Linux中的iptables,用过的同学都知道,是一个基于Linux内核的防火墙,功能比较强大,下面是iptable的一些常用的规则设置:

/sbin/iptables -P INPUT DROP              #禁止掉服务器所有入口请求,后面的规则只允许部分常用的服务端口
/sbin/iptables -P OUTPUT ACCEPT          #允许服务器访问出口请求
/sbin/iptables -A INPUT -i lo -j ACCEPT    #允许本地接口访问
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP #禁止ping,因为ping是基于icmp协议的
/sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT    #允许部分常用端口入口请求访问
/sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT  #允许所有已经连接端口请求
/sbin/iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP              #DROP掉所有失效或者新的请求

可以把上述脚本保存起来,执行,然后用命令/sbin/iptables -L -n查看规则是否生效

把上述脚本再完善一下:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:~/bin
export PATH

case "$1" in
start)
        echo -n "Staring to write your Iptbales:..."
        /sbin/iptables -P INPUT DROP
        /sbin/iptables -P OUTPUT ACCEPT
        /sbin/iptables -A INPUT -i lo -j ACCEPT
        /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP
        echo "Ok"

;;
stop)
        echo -n "Cleaning your Iptables:..."
        /sbin/iptables -F
        /sbin/iptables -X
        /sbin/iptables -Z
    /sbin/iptables -P INPUT ACCEPT
    /sbin/iptables -P OUTPUT ACCEPT
        echo "Ok"
;;
restart)
        echo -n "Cleaning your Iptables:..."
        /sbin/iptables -F
        /sbin/iptables -X
        /sbin/iptables -Z
        echo "Ok"
        echo -n "Staring to write your Iptbales:..."
        /sbin/iptables -P INPUT DROP
        /sbin/iptables -P OUTPUT ACCEPT
        /sbin/iptables -A INPUT -i lo -j ACCEPT
        /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT       
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP
        echo "Ok"
;;
*)
        echo "Usage: $0          {start|stop|restart}"
esac

exit 0

这样,我们就可以用start/stop/restart的参数来启用、禁止iptables防护了,很方便。另外,可以把此脚本放入/etc/init.d,让它像系统服务一样,在VPS启动的时候自动运行。

PS: 1.此脚本参考自网上,并作了部分修改 2.搜狗云输入法,也有郁闷的时候,在写文章的时候,候选词半天不出来,很卡,囧rz 是我打字速度太快,还是网速很慢?……

1…262728…47
Timothy

Timothy

Timothy的技术博客,记录技术以及生活点滴

564 日志
8 分类
1187 标签
RSS
github twitter
Links
  • ZWWoOoOo
  • 花開未央
  • 守望轩
  • 大漠说程序
  • ChengBo
  • BlueAndHack
  • 程序员小辉
  • 子痕的博客
  • WoodenRobot
  • VPS大佬
  • 毕扬博客
  • VPSDad
  • 猫爪导航
  • ss1271的奋斗
  • Kian.Li
  • YoungForest
  • Fred's Blog
  • Jacklandrin
© 2025 Timothy
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4