Posts

Showing posts from 2012

移动mas

公司计划使用移动的mas解决方案给平台的用户发送短信。mas中间的a就是agent,顾名思义mas作为移动公司和公司平台的中介,mas机每5s读取一次公司平台数据库的待发短信表,把短信都出去,再把发送回执回写到另一张已发短信表里。
签约了很久很久了,今天移动的人终于来装mas机了(这效率~~)。移动的工程师把设备抱来在那边配置,我们都以为他是通过串口来配像配交换机路由器那样,结果凑近了一瞧,插网线的,在一看电脑屏幕,妈的ssh~。强烈的好奇心驱使我一探究竟,趁着安装人员在教经理使用,我拿ssh来看了看

linux应对域名劫持

今天我的报时脚本不能用了,打开www.neospeech.com发现不能访问,而开启ssh -d一切正常,看来neospeech被国内的防火墙域名劫持了。

linux重定向文件追加

在网上看到一篇文章叫linux管道重定向能否追加,其作者的意思其实是linux shell重定向到的文件是否能追加,
比如
date> time.txt
每次运行这个命令time.txt都会被覆盖,作者的意思是想让他追加在time.txt里,不覆盖以前写入的信息。

Linux报时程序 Linux Speak Time

一直想给自己的linux加个自动报时软件,一直都没空,最近好不容易闲下来就研究了一下。本身Linux有个espeak,但是espeak的语言很难听,于是我就去网上找了几个tts引擎。后来发现NeoTTS这家和oddcast不错,语音清晰自然,研究了一下oddcast要找到接口比较麻烦些,而NeoSpeech很简单就是url请求,之后会返回发生的语音文件。
http://www.neospeech.com/GetAudio1.ashx?speaker= &content=
speaker是人物编号,你可以在Demo Now里选择一个人物然后点play用firebug或者抓包软件看他的请求地址,找到speaker的编号。而content就是发声的内容。
有了这个接口我们就可以让电脑发出我们想要的声音了。

stallman批评ubuntu为间谍软件

自由软件基金会(FSF)的创始人Richard Stallman最近指责ubuntu为“和windows一样坏的间谍软件”。Stallman批评最新版本的ubuntu(12.10)的'Home Lens'统一搜索功能,在用户不知情的情况下与Canonical的服务器通信,

4cloujure - clojure的趣味试题集

对于lisp我只有一点点的scheme功底,但是scheme要做一些现实世界的编程还是有点难的.clojure是common lisp在jvm上的方言,在jvm上意味着它可以使用现实世界大量的java实现,可以快速的解决实际问题。
4clojure.com就是用clojure来实现的一个趣味教学网站,它提供大量的clojure趣味试题让你在解题中掌握clojure。这几天我就沉迷于其中不可自拔,随便拿一题难道我的题目给大家分享。

从多个文本文件中搜索

最近在公司做ecmall的二次开发,有时候要找一些函数自己一步步去找又很麻烦,手头上也没装什么工具,就想能不能有个搜索器递归的遍历整个源码进行搜索,告诉我哪个源程序中有我要的东西,其实通过find和grep就能够实现这个功能,windows的童鞋们也可以通过安装cygwin来使用。

windows下svn自动同步到web目录

最近在外面公司顶岗实习,做php开发,小公司,以前都是直接用ftp上传,人多了经常互相扯皮非常不方便,后来我们几个实习的决定给服务器加装svn版本控制,但是要求是本地一update,web服务器上的web目录马上也要接受更新。查了许多资料,发现可以用svn的hook来完成。

fedora16升级到fedora17

因为学校网络的问题,前段时间都没在我心爱的fedora下工作了,最近在外面公司顶岗实习,正好茶博会我留守公司值班,闲来之余好好利用公司的网络把我的fedora16升级到了17。升级过程中还是遇到了一些小问题,在这里写成note希望遇到相同问题的童鞋可以参考。

随笔

丫丫的,最近python写多了,写C什么括号分号全丢了,还要习惯性按个冒号。

不过个人非常欣赏python的语法,简洁明了,就是缩进会带来一些麻烦。

python不可变数据类型及函数参数传递浅析

Image
这几天我在用Python写一个简单的用户密码暴力破解程序,以前没有真的拿python写过实用程序,都是些几行的小工具。用过之后才发现一些以前没有注意到的小细节。

Python的数据类型很有趣,可以分为两大类一类叫做可变(mutable)数据类型,一类叫做不可变(immutable)数据类型。

巧用notepad++正则表达式,批量修改删除超链接

Image
因为快要毕业了,最近比较忙,所以没有时间更新博客,首先先向大家道歉。

今天我要带给大家的技巧是用notepad++正则表达式批量修改删除超链接。

前一段时间人机交互课程要我们找好看的网站界面保存下来修改,但另存为的界面往往包含大量的链接,一点又跳转回原始的网页了,而手动去删除链接又是浩大的工程,所以我就想能不能用记事本的replace来批量查找删除链接,但是每个连接的指向又不同,所以不能用统一的关键字,这里就必须用到regular express(正则表达式)了。windows自带的记事本貌似是不支持正则表达式的,我在windows上常用的notepad替代工具是notepad++他是一款优秀的开源记事本软件可以在http://www.notepad-plus-plus.org/下载,当然你也可以用别的notepad工具替代,大同小异啦。

微软在昨天换了logo

Image
sorry for 我的水印,懒得关了将就着看吧。

哀伤国民

从这次反日游行悟出三个道理:1. 中国人喜欢拣软柿子捏。 2. 中国人喜欢拿同胞开刀。 3. 历次群体事件受伤的都是无辜的老百姓。

终于把驾照搞定了

费劲千辛万苦,花了一年时间,浪费了我两个暑假一个寒假,昨天我终于把驾照拿到了。真不明白考个驾照怎么就这么难呢。害得我都没时间更新博客。回想起来,本来一切都可以很圆满的,可是去年驾校的小妹把我名字报丢了,以至于我从7月底等到8月底都不能考试,场内的项目都练的轻车熟路了,就是没机会考试。不过也不知道是福是祸,至少我练习的时间是人家的两倍,这油钱都挣回来了,基本功也算熟练,出去至少不会做马路杀手。所以说福兮祸所依,祸兮福所伏,也只能这样安慰自己了。

wifi功能泄露你的地理位置?

当我很久以前刚接触html5的时候我对geolocation这个功能感到不以为然,以为浏览器只是通过你的ip信息获取你的地理位置,今天我在火狐上无意中用了bing maps的your current location功能(google maps也有这个功能,原理也一样),他就是通过浏览器的geolocation功能实现定位,令我惊讶的是定位的误差不超过10m,由于整个学校都是一样的出口ip,我对这样达到GPS级的定位结果表示不能理解。

函数式编程与命令式编程区别

最近在看MIT的经典SICP(structure and interpreter of computer programming),第三章讲到了命令式编程和函数式编程的区别(点击这里看SICP第三章),在此我想总结一下函数式编程与命令式编程的区别。

使用goagent时facebook的css加载错误

昨天在朋友的推荐下用goagent来爬墙,其他网站都很正常很流畅,唯独facebook页面总是加载错误,css没有加载成功,留下一片白白的页面和一堆黑黑的字。研究了半天原来是goagent访问https时证书签名是goagent,而goagent签名的证书当然没有经过官方机构的认证,自然会被浏览器阻止,而facebook的css,js文件并不存放在facebook.com的域上而是放在了fbcdn.net上,所以我们添加了facebook.com域的例外,却没有添加fbcdn.net的例外错误就发生了。

win7语言包(win7更换界面语言)

Image
你装的是win7的中文版还是英文版呢?也许你不知道你的win7可以同时拥有中文和英文两种界面,只要你是windows7 ultimate(旗舰版)就可以更换系统的界面语言。不过首先你必须要安装语言包。

linux启动后黑屏

昨天升级了fedora,今天早上起来发现开机黑屏了,这是很常见的问题,fedora升级导致了我的amd显卡驱动错误,其实解决方法很简单,只要把xorg.conf删除,然它重新生成默认的xorg.conf,使用linux自带的显卡驱动即可。
开机黑屏了?不要紧,启动选择recovery mode执行下面命令

rm /etc/X11/xorg.conf

如果担心直接删除不大好,可以将他重命名:

mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

之后重启

reboot

就可以了,别忘了现在你用的是linux自带的显卡驱动,赶紧去amd,或者nvdia的官网下载安装最新的显卡驱动吧。

linux如何删除AMD显卡驱动

在linux下安装amd显卡驱动的文章遍地都是,但是如何删除amd驱动的文章确少有提及,很多人升级显卡驱动没有卸载上一个版本导致错误,其实amd驱动安装后在/usr/share/ati目录下放着驱动删除的shell,只要运行它就可以卸载驱动了,很傻瓜化吧打开一个虚拟终端输入

cd /usr/share/ati

跳转到/usr/share/ati,之后用su,或者sudo切换到root运行脚本

./fglrx-uninstall.sh

即可

陷阱(trap)与中断(interrupt)区别

很多汇编与体系结构的书都没有说清楚陷阱(trap)与中断(interrupt)的区别。造成了读者概念上的混乱。

其实两者大同小异,两者都打断程序执行,保护上下文,转而执行服务例程,之后恢复上下文,继续执行程序。

中断(int)主要由I/O,时钟等外设产生的,他的产生是不可以预期的,与程序运行异步。
而陷阱(trap)是由程序自己产生的,如x86系列上,程序员可以通过int指令来产生陷阱
像DOS的21中断,linux的80中断
MASM(DOS):
int 21h

GAS(Linux):

int 0x80
通过trap服务程序来执行一系列系统提供的功能。

值得注意的是:中断产生时,常常会屏蔽其他的中断,而陷阱产生时则不会。

Aol kids only VS win8 不尊重历史,必将被历史淘汰

Image
google+上看到的一幅图片,1996年aol的aol kids only channel,是不是酷似win8的瓦片?

3Dmax2012许可证错误20

Image
今天打开我的3dsMax 2012发现提示 “软件许可证检出失败 错误20”,



网上搜了半天没点结果,后来我发现原来是3dsmax的证书服务被关闭了,

Fedora16执行yum显示except

今天用yum升级系统时发现,只要执行和yum有关的命令就显示
$ yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax

Linux以管理员身份运行Gnome/KDE GUI程序

Gnome/KDE一般是以常规用户的形式运行GUI程序,但是Gnome与KDE都提供了GUI形式的root提权工具,运行新立德,或者apper的时候你一定见到过。那么我们怎样手动的使用这个提权工具来以root运行GUI程序呢?

C#,winform用xml实现更换语言

winform有内建的语言支持,具体大家可以google,这里就不赘述。今天要教大家的是怎么实现通过xml来更换winform程序的界面语言。

我们知道winform程序控件的说明文字都是在text属性中,由此我们就可以写一个xml程序,里面包含控件默认的text值,以及另外一种语言对应的text值,比如程序默认是英文程序总共有一个名叫TEST的Form和两个Button控件,text值分别是OK与CANCEL,我们就可以写一个xml将其翻译成中文

PV操作问题

PV操作是管理临界资源,达成并行执行的重要方法,但是最近上操作系统课时,课本上说P操作可以将semaphore减为负值,并且负值得绝对值表示申请资源的数目,这让我感到疑惑。
Tanenbaum的Modern Operating System P128 是这样写的: