Ubuntu 10.10 升级源
deb http://archive.ubuntu.com/ubuntu maverick main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu maverick main universe restricted multiverse #Added by software-properties
deb http://archive.ubuntu.com/ubuntu maverick-updates universe main multiverse restricted
deb-src http://archive.ubuntu.com/ubuntu maverick-updates universe main multiverse restricted
deb http://security.ubuntu.com/ubuntu/ maverick-security universe main multiverse restricted
deb-src http://security.ubuntu.com/ubuntu/ maverick-security universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu maverick-proposed universe main multiverse restricted
deb-src http://archive.ubuntu.com/ubuntu maverick-proposed universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu maverick-backports universe main multiverse restricted
deb-src http://archive.ubuntu.com/ubuntu maverick-backports universe main multiverse restricted
Ubuntu 10.10 升级方法参见:http://www.disandu.com/archives/745
这几天去北京旅游,才回来。把北京旅游的事情写下来,和大家分享一下,对于准备去北京旅游的同学也是个参考^_^。
我们21日到达北京,结果一直下雨。由于没提前预定住处,所以颇费周折。北京同等级别的酒店条件都要比其它地方贵一点(大概100左右),房间也要小一点。可能我们没找到好地方的原因吧。
接下来,到了傍晚,去天安门,上中山公园走了一圈,门票才3元。出来后,正好看降国旗,然后去王府井商业街吃晚饭。1号地铁很方便,我们住在东单,1号地铁:东单->王府井->天安门东->天安门西->西单,连成一串。不过我还是步行走长安街。长安街却实不错,两边的建筑和公路修的都很好,不过打车太不方便。特别到了王府井,我们一直没搞明白怎么能快点打车。。。
阅读更多…
在Ubuntu下打开pdf时经常碰到出现中文乱码的问题,安装了一个叫xpdf的阅读器,虽然中文乱码的问题解决了,但是xpdf的界面太难看,使用不方便。今天在网上搜索时,发现了一种新的方法,不用下载别的阅读器,拿来大家分享下
第一步,安装中文语言支持包:
sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional
安装完后打开pdf文档,如果发现仍然是乱码,进行第二步,安装安装poppler-data:
sudo apt-get install poppler-data
安装
sudo make install datadir=/usr/share
在我这里,上一步安装完成后打开pdf文档发现中文乱码都变成方块了,于是进行第三步,删除字体
sudo rm /etc/fonts/conf.d/49-sansserif.conf
中文乱码的问题解决了。
今天工作时无意中写出了这样的代码
bool func( ) {
try {
......
return true ;
}
catch ( ) {
return false ;
}
}
写完这支代码后,我意识这应该是不好的实现手法,多个返回位置,尤其是在异常中还带返回值,这个写法有点奇怪。到底这样写到底行不行? 带着这个疑问,我在搜索框输入了“Put return in catch”,搜到了stackoverflow上的这篇文章:Return in catch block? stackoverflow上的筒子们讨论得很热烈,代码是C#的,与CPP大同小异。
首先是一个筒子提出一个疑问,与我的问题类似:
Is is wrong to have a return statement in a catch block? What are the alternatives?
i.e:
public bool SomeFunction( )
{
try
{
//somecode
return true ;
}
catch ( Exception ex)
{
MessageBox.Show ( ex.message ) ;
return false ;
}
}
马上有网友回答,当然是可以的,无论是从语法角度还是实现方法的角度,有人在沙发位置接贴,上面函数有多个出口(return),可读性更好的写法如下:
public bool SomeFunction( )
{
bool success = true ;
try
{
//somecode
}
catch ( Exception ex)
{
MessageBox.Show ( ex.message ) ;
success = false ;
}
return success;
}
上面的实现方式还有待改进,沙发筒子又说,“Logged exceptions are a lot more reliable than user’s recounts of what happened.”,用日志记录异常比让用户发现软件的异常显得更健壮。我非常同意这个说法,实际上异常是软件本身的问题造成的,不应该给用户施压。 改进的代码如下:
bool success = true ;
try
{
DoTheImportantThing( ) ;
DoTheOtherThingThatMightFailButWeDontCare( ) ;
}
catch ( DontCareAboutItException ex)
{
log .Info ( ex) ;
success = false ;
}
catch ( Exception ex)
{
log .Error ( ex) ;
success = false ;
return success;}
上面的代码似乎很完美,但是有时候我们会感觉操作像”success”这样的返回值变量是件麻烦事,而且遇到了多个异常需要处理时,每个catch里塞一条”success=false”其实是很烦琐的。
所以上面的代码还可以更简洁:
try
{
//somecode
return true ;
}
catch ( DontCareAboutItException ex)
{
log .Info ( ex) ;
}
catch ( Exception ex)
{
log .Error ( ex) ;
}
return false ;
上面这段代码虽然有多个出口,但代码更简洁可读,这样做是值得的。到此,这个问题我算是理明白了,但stackoverflow上的筒子们还不满意,他们继续纠结于C#里的finally和return谁前谁后的问题,我等 做CPP开发在一 旁窃笑 ,因为CPP的发明人Bjarne Stroustrup早就说过:
In a system, we need a “resource handle” class for each resource. However, we don’t have to have an “finally” clause for each acquisition of a resource. In realistic systems, there are far more resource acquisitions than kinds of resources, so the “resource acquisition is initialization” technique leads to less code than use of a “finally” construct.
具体的原因可见这篇文章 :为何C++不提供“finally”结构?
自08年上半年开始一直用Tomboy做各种笔记:工作日志、学习笔记、计划总结。。。 感觉都快把Tomboy用滥了,但一直对Tomboy不能支持Tag与Wiki标记而耿耿于怀,今天在wowubuntu.com上面看到对RedNoteBook的介绍,我一阵窃喜,终于见到了支持tag+wiki的笔记软件了,赶紧试用去,不过暂时还不能跨平台使用。
RedNoteBook 是一个非常棒的日記工具,它的显著特点是采用了类似于 Wiki 语法的格式化功能,对于 Wiki 有一定使用经验的用户来说,肯定会对 Wiki 这种简易高效的格式操作情有独钟。
因为个人也经常使用 Wiki 作为知识管理工具来记录一些新学的东西,所以我在想,这个 RedNoteBook 除了用来作为日记工具外,用来作为知识管理工具也是一个不错的方案。
除此之外,RedNoteBook 特别好的功能就是支持导出到 PDF ,而且完全支持中文,这也是我喜欢它的原因之一。
项目主页: http://rednotebook.sourceforge.net/
# 功能介绍
– 支持 Tag
- 提供类似于 Wiki 语法的内容格式化功能。
- 支持插入图像、文字及链接等内容。
- 自动保存及备份功能。
- 实时搜索。
- 支持导出到 PDF、HTML 、Latex 等格式。
- 多语言界面。
- 完全支持中文。
# 截图
# 安装: 通过 PPA 安装,或者直接下载 Deb 包
sudo add-apt-repository ppa:ferramroberto/linuxfreedomlucid && sudo apt-get update
sudo apt-get install rednotebook
Linux+WIndows双系统一般的安装顺序是:先windows后linux,这样基本没有什么问题,Linux的grub提供了双系统的启动选择。但是如果顺序反过来,或者说重装了Windows,那么在启动菜单中Linux就消失了。
简单的处理方法:
1.获得MBR备份文件
下载这个文件: http://www.linux-wiki.cn/archieve/grldr.zip ,解压、并把这个文件放在C盘根目录下。
如果在重装windows之前备份了MBR的话那就不用下载上述文件了,直接用你备份的MBR文件就可以了。
2.编辑boot.ini
在Windows中,”我的电脑”上点右键->属性->高级->启动和故障恢复右边的”设置”->上半部分的”编辑”出现用记事本打开的 boot.ini 文件。
(或者直接到C盘下找到这个文件,修改就行,一般是隐藏只读的)
在文件的末尾,加上一行
c:\grldr="Grub"
保存文件,退出,重新启动,就可以进入linux了。
3.恢复原来的启动菜单
实际上对于懒人而言,到此为止就可以了,不过如果你想恢复到重装windows之前的状态,那么可以恢复MBR。
**************************************************************
备份MBR
dd if=/dev/sda1 of=/root/mbr bs=512 count=1
恢复MBR
dd if=/root/mbr of=/dev/sda1 bs=512 count=1
恢复分区表
dd if=/root/mbr of=/dev/sda1 bs=512 skip=446 count=66
注:mbr大小512 所以bs=512 count=1
bs=512 skip=446 count=66 用来确定分区表在备份文件中的位置
转自:http://hi.baidu.com/andydidy/blog/item/73b244fd65851bf5fc037f92.html
O’Reilly的OSCON大会 ,这个大会的组织者是计算机科学出版行业的O’Reilly公司。目前OSCON现在是参会人数已经大大超过了上述的三大Linux会议,作为商业Linux和开源技术展会,发展的非常成功,现场O’Reilly的OSCON大会一般都是4天的议程,大大超过了同类的技术会议。因为该会议在全球开源爱好者中享有崇高的声誉。几乎每年的这个时候,都有数以千计的厂商、爱好者,涌到美国Oregon州的 Portland市参加这个盛会,享受开源的盛宴。同时,会议上数以百计的技术和非技术专题讲座(session),又承载着丰富的开源内容,给全球各地的开源技术爱好者和从业人员指明发展方向。
OSCON大会也已经有超过十年的历史,大会的主旨也已经发生了很大的变化,从最初的开源操作系统的大会,变成了现在的开放的开发者大会。大会期间,来自全球各地的开源爱好者们加入关于开放源码与开放社区、开放社区的重要性及其对开放源码项目的影响等主题的讨论。
今年的盛会于上个月底结束,很多演讲可以下载(奇怪的是来自微软员工的演讲居然放在第一位)。
OSCON演讲幻灯片全集: http://www.oscon.com/oscon2010/public/schedule/proceedings
会议网站: http://www.oscon.com/oscon2010/public/schedule/proceedings
将Visual Studio 2008的C++工程用Visual Studio 2010打开编译,如果出现了这个问题:
error C2252: an explicit instantiation of a template can only occur at namespace scope
恭喜你,你中彩了~
这句话是告诉你,不可以在一个类或函数中实例化一个模板,
解决方法:
将这个模板的实例化扔到类或函数外面(也就是裸露在命名空间中)。
上周在 TedToChina 听了这个仅仅4分钟的讲演,时间虽短,但Jay Walker的演讲内容还是给人深刻的映像,我想最关键的是他用中国特有的疯狂英语和“GAOKAO”制度来举例分析学习英语的动机:学习英语到底是为了自身发展、加强交流还是为了升学考试获得好成绩? 或许我们习惯了李阳的疯狂英语,但这些出现外国人的演讲中的时候,奇怪的民族自尊心又会驱使我们去思考,为什么会出现这种“疯狂”的学习方式?我想每个人都会有自己的答案。
下面的内容来自:http://www.tedtochina.com/2010/07/15/jay-walker-on-the-english-mania/
早些时候关注TEDtoChina的新浪微博 ,发现有热心的朋友提到English mania 这个演讲。在好奇心的驱使下我也点开了这个视频进行观看。令人意想不到的是,该演讲虽短,但其内容居然和中国教育有莫大关联。观看完后,不禁引发对国家多年来提倡的素质教育和学习方法进行深深思考。我们在做的,究竟有哪些是对的,而哪些又是不可取的呢?先来听听看杰·沃克(Jay Walker )是怎么分析的吧!
你有具有做一名狂热分子的基因吗?这个世界不缺少另我们为之尖叫为之痴狂的事物,它们可以是音乐,是足球,是宗教,更甚者,是极端的法西斯主义。“狂热”这个中性词语并无褒贬之分,全取决于我们为之狂热的对象是什么罢了。
TED.com:Jay walker on the world’s English mania 该视频已有中文简/繁体翻译
现在除了上述列举到的常见事物为人们所疯狂追捧外,语言也成为了新的追捧对象——那就是英语。相信广大朋友已对演讲中播放的万人狂练英语口语的现象早已司空见惯了:)
全世界20亿学习英语语言的人分别来自拉丁美洲,印度,东南亚国家,但支撑这个庞大数字的最大人群,还是来自中国。为什么是英语而不是德语,法语,西班牙语或是其他语言?除了服从执行国家教育部教育政策规定外,我们甚少问自己为什么要进行这项学习,更别说做到学以致用了。缺少了主要的内在动力的学习,导致学生投入的时间越长,学习动机越迷茫,而成效也一直停滞不前。作为外国人的沃克观察后发现,很多“苦熬”过英语关的人几乎都将英语视为“机遇”——借此机遇我们可以获得更好的生活(大部分是物质方面的)。为了达到英语能带来的一系列美好,中国学生一边憧憬着将来,一边以“头悬梁、锥刺股”的狂热劲儿向英语学习冲锋陷阵(可悲的是,我们往往会陷入了“读死书”的困境)。而能在其背后长时间操纵着学生埋头苦干的,就是高考这根指挥棒了。
就像前面提到的,中国学生为之疯狂(甚至抓狂)的英语,究竟是害是利?杰·沃克说到,英语是世界第二大使用语,但我们每个人的母语,才是永远的第一。 其实回过头想想学习英语的必要性,并不是因为国家教育政策的硬性规定,世界正在融为一体,学习是为了更好地使用,使用是为了更好地交流,交流是为了更好地解决问题 。这里英语真正扮演的,应该是在这些基础上共建一个美好未来的名叫“希望”的角色。
看完的演讲,我不禁想起《创世纪》中巴别塔的故事,耶和华担心人类的力量超越神灵,所以故意打乱人类的语言。既然人类祖先有建造巴别塔的能力,又何惧一种语言呢?故事听上去比较唯心主义,但是想要掌握一门语言,在学习中还是放下潜在的“抵制”、“恐惧”等消极心理。就像沃克所说的,母语永远是人的第一语言,学习英语——让我们忽略教育政策的硬性、试卷上那个漂亮的分数,而是着重强调自身的发展需要上来——哪怕一辈子都没有机会使用英语,但你知道曾经的学习绝对能够让你的视线看得更高,更远。