blog | 逍遥郡


  • Home

  • Archives

  • Tags

  • Search

玩转KVM虚拟机

Posted on 2011-09-13 |
环境:ubuntu 11.04 [TOC] 准备工作 检查CPU是否支持虚拟化 如果支持VT的话,Intel会打印出vmx,AMD会打印出svm。 $ egrep '(vmx|svm)' /proc/cpuinfo 检查内核是否编译了kvm支持 kvm支持从linux 2.6.20已被集成到内核中,成为内核的一部分。 $ lsmod |grep kvm 检查设备 /dev/kvm 的权限,如果你不想使用root权限,需要把你的用户加入kvm用户组: $ sudo usermod -aG kvm jqian 安装kvm管理组件 $ sudo apt-get install kvm 安装网络工具 用于桥接网络,依赖工具tunctl;如果不需要桥接,可以不用安装。 $ sudo apt-get install bridge-utilities uml-utilities 安装虚拟机 打算虚拟一个Windows XP。 创建磁盘文件 虚拟机磁盘文件可以有很多格式,qcow2、raw、vdi、vmdk等。官方推荐qcow2+virtio,其性能和ra ...
Read more »

组建家用NAS

Posted on 2011-09-12 |
[TOC] 说是家用NAS,其实有些名不副实,因为除了最基本的存储外,还期望它偶尔担任VOD点播或HTPC之类的工作,其实就是一个家用服务器,但是需要省电、静音。 硬件篇 选择机箱 家里的地方寸土寸金,这个你懂的,优先考虑小机箱,有几点需求: 根据要摆放机箱的橱柜位置,确定机箱的长宽高; 优先选择符合mini-itx主板规格的小机箱; 担任存储工作,期待4个以上的3.5寸盘位。 本来最中意的是联力PC-Q08,可惜家里橱柜的高度限制是25cm,最终选择了台湾的一款 4-Bay小机箱,箱体内部设计和 联想D400 有些类似,有4个热拔插3.5寸盘位,三围32x20x21cm,还算满意。 选择平台 确定机箱之后,就可以选择平台了。目前较流行的省电静音的选择一般有两种: Intel的ATOM平台,基本是废柴; AMD的APU平台,省电,能硬解绝大多数的高清视频,适合HTPC。 这两者的共同缺陷是CPU很弱,无论Atom D525还是Zacate E350之流都没法担任转码工作。 Intel的不少新款CPU未在国内发布,省电,性能又足够强劲的,挑来 ...
Read more »

概率图模型之CRF

Posted on 2011-09-09 |
$\newcommand{\x}{\mathbf{x}}$ 第一次接触CRF的确很难理解,因为《统计自然语言处理》这本书上讲CRF一共就两页多一点,还有些概念没有铺垫就扔出来,所以读完依旧懵逼…… 后来反复结合上下篇章,以及CRF论文,才明白CRF有很多的背景知识需要了解,如:马尔可夫网络、马尔可夫性(Markov property)、团(clique)、PGM中无向图建模方法、团的势能函数(clique potential function)、判别模型等知识,以及CRF和HMM、MEMM的关系等,所以这里写一篇blog给自己整理一下思路。 马尔可夫网络 马尔可夫网络 也称作马尔可夫随机场(Markov random field, MRF),是一组有 马尔可夫性质 的随机变量的联合概率分布模型,它由一个 无向图 $G$和定义于$G$上的 势函数 组成。 无向图$G=(V, E)$,每个顶点$x_i\in V$ 表示集合$X$上的一个随机变量,每条边$\brace{ x_i,x_j} \in E \, (i\neq j)$ 表示直接相连的两个随机变量$x ...
Read more »

《统计自然语言处理》笔记

Posted on 2011-09-01 |
《统计自然语言处理》第二版,宗成庆 1 绪论 1.2.1 自然语言处理研究的内容 机器翻译(machine translation, MT) 自动文摘(automatic summarizing / abstracting) 信息检索(information retrieval) 文档分类(document / text categorization / classification) 问答系统(question-answering system) 信息过滤(information filtering) 信息抽取(information extraction) 文本挖掘(text/data mining) 文本分类(text classification) 文本聚类(text clustering) 实体抽取(concept / entity extraction) 粒度分类 情感分析(sentiment analysis) 自动文摘 实体关系建模(en ...
Read more »

在openwrt上部署openvpn客户端

Posted on 2011-08-24 |
一般博文,包括openwrt的官方文档上大多在介绍如何部署openvpn的服务器端,对于客户端的部署大多语焉不详,这次经过摸索终于部署成功,且达到了autoddvpn的效果,做个小结。 环境: 联通ADSL拨号网络 已有openvpn服务 软件: openwrt 开源的路由器固件 openvpn VPN客户端 obfsproxy 流量混淆工具 pdnsd 域名解析服务 步骤: 配置firewall 配置文件 /etc/firewall.user,需要伪装SNAT的包头: iptables -I FORWARD -o br-lan -j ACCEPT iptables -I FORWARD -o tun0 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE 其中,192.168.1.0/24 是openwrt的默认子网。 配置openvpn 配置文件 /etc/config/openvpn,增加: config openvpn yourv ...
Read more »

通过DLNA播放视频

Posted on 2011-08-24 |
由于家里有一台XBOX360,期待能够废物利用,让它来播放视频。经过研究,可行的方案是由主机转码(transcoding)通过DLNA输出视频流到游戏机,然后由游戏机通过HDMI输出视频到电视机,主机和游戏机可以分在两处,中间通过以太网或802.11n连接。 对比用HTPC播放视频来说,这样的优点是遥控器方便,不需要累赘的键盘;当然,如果有Apple TV的话,会是个更好的选择。 这个方案的关键在于主机转码,支持DLNA输出的服务很多,但支持实时转码的就少一些了。一般的实时转码服务底层都是使用ffmpeg和mencoder这两个工具来做视频转换。区别在于,ffmpeg的转码速度更快,但转码mov和wmv8格式的效果较差,而且rm和rmvb等私有格式的支持据说也有问题,只能使用mencoder来转码。经过研究,只有PS3 media server支持ffmpeg和mencoder两种工具,其他serviio之类仅支持ffmpeg。 在安装ffmpeg时,建议使用 medibuntu源,调整了编译参数,支持的格式会更多: $ sudo wget http://www.medibun ...
Read more »

wndr3700刷openwrt固件

Posted on 2011-08-16 |
本来给wndr3700刷dd-wrt固件,是为了可以部署autoddvpn。可惜autoddvpn同时需要vpn和jffs 的支持,然而,由于这俩居然有冲突,从dd-wrt v24 sp1里已经把jffs给去掉了。而wndr3700能用的BrainSlayer版本固件,却对autoddvpn支持不好——这都神马事啊。 此外,在wndr3700上dd-wrt还有些瑕疵,比如5G Hz的灯总是闪蓝光,很烦人;另外不支持802.11N。 后来,才发现原来和wndr3700最搭配的是openwrt固件,编译的时候直接就有for wndr3700的编译选项,并且最新的openwrt加上luci管理界面编译出来才3.2MB,不到dd-wrt固件的一半大小。此外,openwrt使用和debian apt非常类似的opkg管理软件包;它的配置文件也比dd-wrt更接近正常linux的风格;它的文档非常健全规整。 由于wndr3700有多个型号,flash大小不同,如果你不确定wndr3700的型号,可以使用如下命令查看flash大小: $ dmesg | grep m25p80 在编译自己 ...
Read more »

wndr3700刷dd-wrt固件

Posted on 2011-08-06 |
家里的netgear wndr3700已经平稳工作大半年了,但是最近突然很想把它刷到dd-wrt。主要是stock firmware虽然稳定,但是功能还是弱不少,实在不符合它高端无线路由器的定位。最近很想路由器有这俩功能,还是GFW惹的祸…… 定时重启路由器,或者重新连接PPPoE,因为家里是使用ADSL,定时重启路由器可以重新获取新的IP。 安装openvpn,由于dd-wrt就是一个嵌入式linux,很容易配置。 在网络上搜了一遍,发觉刷dd-wrt还是很简单的,直接按照wiki>来就可以了。不幸的是,虽然我明确按照步骤,但是第2步就出问题了。当页面的刷机进度到达100%之后,等待了2分钟——结果wireless灯没有闪烁,反而是power灯变黄了——继续过了10秒后,所有的LAN灯变黄闪烁,然后,WPS灯变绿闪烁,如此反复。 继续尝试了hard reset(就是持续按住RESET键,通电30秒,断电30秒,再通电30秒),依然没有什么反应。 设置电脑eth0为192.168.1.x,尝试ping路由器默认地址192.168.1.1,发觉会返回 ...tt ...
Read more »

Kindle DX的一些增强

Posted on 2011-06-07 |
基本常识 第二代Kindle DX的全称是Kindle DX Graphite,简称Kindle dxg。简述几个值得注意的地方: dxg都是黑色的 dxg不再有美国版和国际版之分,编号都是B009打头,都是Free 3G版本,所以你可以全球漫游 dxg没有wifi,所以你只能使用@kindle.com而没法使用@free.kindle.com邮箱在instapaper或者kindle.im之类的网站上订阅,这意味着你没法享用Whispernet的免费推送服务,而3G推送费用$.99/MB T_T dxg的内置浏览器NetFront,不是WebKit,速度慢且不稳定,所以即使有Free 3G基本也是残废;不过内置浏览器支持下载mobi文件格式。 dxg重量535g,个人建议平时使用不要额外配皮套,否则比iPad还要重,拿来读书太累了;当然,鉴于E-ink屏的脆弱性,携带外出的话可以考虑增加一些保护 如果你没有读扫描版pdf或者图文混排文献的强烈需求,强烈建议不要购买dxg…… jailbreak、字体和usbNetwork 越狱、字体这些不用赘述,网上很 ...
Read more »

协程的简单理解

Posted on 2011-06-04 |
最近看到有人讨论stackless python,看到有部分讲协程在python中的实现,结合Linux的相关知识我这里小结一下。 从函数的角度看, 协程避免了传统的函数调用栈,几乎可以无限递归。 从线程的角度看, 协程没有上下文切换,几乎可以无线并发; 协程在用户态进行显式的任务调度,可以把异步操作转换成同步操作,也意味着无需额外的加锁。 所谓的“微线程”、纤程、协程,甚至用户态线程,都可以理解为一码事,只是实现和概念的区别。 调用栈 我们传统上理解的函数,概念上也叫做子例程,是通过调用栈来传递调用关系的。协程则是比子例程更一般化的概念。子例程的调用是LIFO,它的启动位置是唯一入口,且只能返回一次;而协程允许有多个入口,且可以返回多次(yield),你可以在特定的地方暂停和重新执行它。 上下文切换 上下文切换最早是指进程的上下文切换(context switch),它发生在内核态。内核调度器会对每个CPU上执行的进程进行调度(scheduling),以保证每个进程都能分到CPU时间片。当一个进程的时间片用完,或被中断后,内核将保存该进程的运行状 ...
Read more »
1 … 7 8 9 … 19
Julian Qian

Julian Qian

记录编程、Hack和自娱自乐的一些玩意。

189 posts
60 tags
RSS
Creative Commons
© 2024 Julian Qian
Powered by Jekyll
Theme - NexT.Mist