2013年1月11日星期五

【转帖】你有多少钱,我愿意嫁给你

发信人: nndbf (晴天小丫丫), 信区: Friends 标 题: 你有多少钱,我愿意嫁给你 发信站: 北邮人论坛 (Sat Nov 12 00:48:36 2011), 站内 小毛同学说,你写的帖子上“十大”了。打开网页看到这么多留言,心中惶恐。 其实,这个年代的好女孩有很多很多。 也许是媒体、电影和现实中,把“有钱、有房、有车”的结婚要求渲染地太重要了。 又或是,每个人心中都在不安:对未来的迷茫、对自己能力的质疑。 然后把这种不安投射在爱的人身上:怕Ta也对自己丧失安全感。 但生活,不是你不安,它就会眷顾你。 必须自己勇敢面对,承认自己的不足,然后扎扎实实、认认真真地努力走下去。 ——我举不出太多,只好写一个不典型的文科生的例子了———— 07年 周末出去打工发传单,早晨9点到晚上10点,站一天发出5000份才给50块钱,还要拖着笨重的腿赶公交车回学校; 每天更换学校报刊栏的报纸,一个月学校发260块,冬天必须得徒手,戴手套捻不开,每个冬天手都是冰凉冰凉的,一直到毕业; 08年 给别人的书做校对,300多万字,一个标点一个标点的反复核对3遍,拿到了不到800块钱,然后眼睛有一星期都在红肿; 给一个网站写资讯,因为跟纽约有时差,整个大二就没好好睡过几个晚上; 09年、10年 考虑后放弃了读研,绝大部分时间在校外实习,拿着实习工资,晚上时间做兼职翻译;也卖过几个不值钱的域名,1块钱注册800块卖的;当过家教,做过收银...太多了,我自己也不太记得了。 ...... 一个什么都不太懂的文科生,赚钱能力真得比你们弱爆了。 只能身兼数职、最廉价的劳动力了。 但是这4年,我负担起了自己和妹妹上大学的全部费用,外公胃癌手术一半的手术费,并且会定期打钱给家里。大学毕业第一个月,用攒下的钱和第一份正式的薪水,买了3台冰箱给两个舅舅和小姨,给家里安装了太阳能。 我没有觉得这有什么了不起,因为过去4年的每一块钱,我都赚的不容易。 而你们会写代码、会做那个、会做那个,都比我强多了。只要努力都会过得很好。 我只是想说,我们心底有最爱的人,才会有勇气面对各种不安、压力和困惑。 我们都还年轻,还有大把的光阴可以努力。 现在可能摆在面前的有很多很多困难。 忍一忍,就过去了。 也不用过于不安。 因为真正爱我们的人,永远在原地爱着我们。 【以下为帖子原文】 ——————————————————————— 马上要毕业的小毛同学,从9月开始,你进入一轮又一轮的笔试和面试。 有时候被公司鄙视了,或者感觉面的不好,你的眼神就开始躲着我。拿到不错的offer,你又喜上眉梢。 然后我又一不小心,居然一本正经地给你分析起来 ——种种加起来不过是年薪20来万而已,扣税扣金完了再交房租,其实不多。况且又不能保证解决户口...... ————————然后你就有点点沉默了———————— 你想给我一个安稳、可靠的形象。 你想多赚点钱照顾自己,照顾好家人也照顾好我。 但多数RD都要经历这么一个平平凡凡的开头。 以后或者升职加薪,或者跳槽,或者创业,或者转型......那都是后话了。 开始就是这种不痛不痒的薪水——养的活,却生活不起。 ————————所谓对的人—————————— 大概5月或者6月的时候,我在你们BYR发过一个征友的帖子。但那段时间恰好很忙:毕业、创业、回老家......所以一直就没联系站短的人。 因为工作总打交道,慢慢注意到身边还在实习的你。 从3月份一起工作过(你貌似一直都是实习生哦)到现在,也不算相处很短了吧。你总体上没有改变我对RD男的基本看法:比较单纯、实在,靠谱。 有一句特俗的话叫“在对的时间遇见对的人”。 所谓对的人,于我而言,就是那个在身边一直埋头写代码、没空抬头看我的苦逼程序猿了。o(∩_∩)o (对了,后来你说是因为你害羞。。。。。。。。) ————————RD男 能不能别这么实在———————— 貌似每个女生都觉得衣服不够穿,鞋子不够搭配......购物是女人的天性,不花钱不shopping就跟不让吃饭一样。 但你也。。太实在了。。。 去逛街买东西,你当着售货员的面跟我说,这个你买不起。。然后我当时觉得特别尴尬。。唉,小毛同学,下次能不能小声点只跟我说呀。。。o(∩_∩)o ——————————你有多少钱,我愿意嫁给你—————— 跟RD打交道挺多,基本也了解各个公司的薪资水平。 若无什么彩票砸中、创业成功之类的彩头,借鉴一下别人的经历,也能估计一下你这职业轨迹。 你要是问我,你有多少钱,我才愿意嫁给你。 我回答肯定特干脆。 你管饭么。 你管饭,我就愿意。 我说真的。你管饭么。 -- ※ 修改:·nndbf 于 Nov 13 16:53:45 2011 修改本文·[FROM: 117.79.233.*] ※ 来源:·北邮人论坛 http://bbs.byr.cn·[FROM: 117.79.233.*]

2012年7月3日星期二

[翻译]使用U盘和git在多个电脑上共享工作

译注:因为需要频繁的在各电脑上切换,例如在实验室电脑和自己的电脑上工作,工作代码又需要在同版本控制之下。要满足这样的需求,可以使用网上免费的Git托管服务器,例如GitHub,但是免费的托管项目,又需要开源。如果有一个可以可以移动的Git服务器,问题就解决了,本文就是一个把Git服务器版本库放到U盘里面的解决方案,当然你要保证你的U盘别丢了。(第一次翻译别人的博客,翻译不正确的地方请指出。)


以下是原文翻译,原文可以在这里找到:http://timwise.blogspot.com/2008/05/sharing-work-between-computers-with-usb.html.

===
因为我在网上没有找到正好符合这个目的(使用U盘和git在多个电脑上共享工作)的解决方案,所以我做了如下的方案。

此方法可以同远程的svn服务器同时使用,如果没有的话,也可以适用。

首先,在第一个电脑上,使用git-svn clone (或者 克隆一个git库,或者新建一个工作目录),从远程代码库获取你的工作的拷贝到本地:
mkdir ~/project.git
cd ~/project.git
git-svn clone svn://project-server/trunk
git repack #for good measure
然后插上U盘,我们假设U盘是vfat/fat32/fat16格式的,并且挂载的路径为/media/flash.在U盘上创建一个空版本库,我们创建一个bare库,因为我们并不需要在此库保存工作拷贝(译注:也就是说是服务器版本库,没有工作目录)。
mkdir /media/flash/project.git
git --bare init /media/flash/project.git
然后,把U盘上的git版本库作为远程分支加到本地的git版本库中。我这里使用"flash"作为远程版分支的名字,你可以使用任何你喜欢的名字:
git remote add flash /media/flash/project.git
到这里如果你立刻push,可能会出现错误。因为fat文件系统格式在文件上并不支持可执行标记,所以所有的hook都是自动激活状态的。因为我将来并不打算使用这些hook,所以我直接删除掉所有的hook,这样做可能会产生错误,但是对我来说并没有出错。所以使用如下命令删除所有的hook:
rm /media/flash/project.git/hooks/*
然后push你的当前工作目录内容到U盘:
git push flash
此命令会复制你所有提交了的工作到U盘,即使你还没有使用"git-svn dcommit"命令push到远程的svn服务器。你还可以指定提交分支:
git push flash mybranch
现在,假设你转换到另外一个电脑上工作,插入上面的那个U盘,我们这里假设路径和设备和上面的那台电脑一样。这里做和上面完全相同的操作来从svn上克隆版本库:
mkdir ~/project.git
cd ~/project.git
git-svn clone svn://project-server/trunk
git repack #for good measure
然后添加U盘的库作为远程库,并且pull下来所有的改变:
git remote add flash /media/flash/project.git
git pull flash master
git pull flash mybranch #if you like
当你在任意一台电脑上提交了一些改变到git,或者从svn上pull了最新的版本,都可以使用如下命令更新U盘的版本库:
git push flash
然后你可以在其他电脑上,从U盘里面pull最新的版本:
git pull flash master
如果没有在push到svn之前,先向U盘中push改变,事情就非常简单。如果你向U盘中push了一些改变,然后再向SVN服务器中push,你将需最做更多一些的工作。这是因为当你运行“git svn dcommit”来push你最新的git提交日志svn服务器的时候,删除了本地的提交日志,然后从服务器上获取回来这些日志。 这意味着git将不认识你本地的改变,因为本地改变与U盘中是一样的,而有不同的提交信息和SHA1值。但你试图push到U盘的时候,将会提示 "! [rejected] master -> master (non-fast forward)",因为老版本的提交信息还在那里。 为了解决这个问题,你需要扔掉U盘上匹配的那些改变。 如下面所示使用git reset命令, 其中HEAD~1应该是你需要扔掉的提交的个数(例如,HEAD~3将扔掉U盘上你最近的3个提交):
cd /media/flash/project.git
git --bare log #to see how many changes don't have svn information
git --bare reset HEAD~1
然后你就可以正常提交了:
cd ~/project.git
git push flash

2012年6月4日星期一

把文件转换为PDF格式--JODConverter的使用

项目中需求,需要把其他文件格式转换为PDF格式,到网上找了一些解决方案。其中这里说的比较全面:http://stackoverflow.com/questions/3022376/how-to-convert-ms-doc-to-pdfhttp://ihaztehcodez.michael-lloyd-lee.me.uk/2010/10/converting-microsoft-office-word-excel.html。综合考虑通用性和效果,决定采用OpenOffice API的组件,这里有OpenOffice的SDK:http://www.openoffice.org/download/other.html#tested-sdk

后来搜索到一个开源项目,正是我所需要的:JODConverter,项目主页在这里:https://code.google.com/p/jodconverter/ 很遗憾的是,此项目作者在2011年11月份就声明停止了对此项目的维护。先下载下来此项目的文件,果然能够顺利转换格式。

1 简介
JODConverter是一个使用OpenOffice.org或者LibreOffice,自动转换文件格式的工具,支持的格式有 PDF, RTF, HTML, Word, Excel, PowerPoint, 和Flash。JODConverter可以用作Java库,或者命令行工具,或者web应用。

2 基本用法:
下载项目主页上的二进制包,解压,即可在命令行中运行:
java -jar lib/jodconverter-core-3.0-beta-4.jar test.doc test.pdf
可以把test.doc文件,转换为pdf。
在Linux下转换如果转后出现了乱码,是因为缺少了相应的字体,安装相应的字体即可。http://riches.blog.51cto.com/1167414/394610

3 文档
这里有关于JODConverter的详细文档,不过此文档是JODConverter 2.x的,但是通过此文档可以详细了解JODConverter的作用。
最准确的文档还是要参考官网:https://code.google.com/p/jodconverter/wiki/GettingStarted 和
https://code.google.com/p/jodconverter/wiki/BuildingFromSource

4 自己编译源码,运行jodconverter-sample-webapp
按照官网的提示:使用Maven编译jodconverter-core源码,但是webapp怎么编译,并没有写,从这个提问中我们可以找到答案:https://groups.google.com/group/jodconverter/browse_thread/thread/fab586c38a2f5b24。最后编译得到的.war文件,即可运行web app。


参考网址:
 1 http://stackoverflow.com/questions/3022376/how-to-convert-ms-doc-to-pdf
 2 http://ihaztehcodez.michael-lloyd-lee.me.uk/2010/10/converting-microsoft-office-word-excel.html
 3 https://code.google.com/p/jodconverter/

2012年5月14日星期一

[zz]Windows下可用msysgit下载Android源码


Windows下可用msysgit下载Android源码。
比如,要下载base:

以上两句,分别下载了Android的4.0.4_r1.1和2.3.7_r1的base项目版本。
现在Google需要Username和Password,才能下载Android源码,需要先到https://android.googlesource.com/new-password
去生成。

Android中ListView的HeadView/FooterView

在Android中,可以对ListView设置HeaderView和FooterView,其中HeadView或者FooterView并不是ListItem的一部分。

我在使用listview.addFooterView()的时候,结果并没有显示出来FooterView。后来查文档看到,说是addFooterView()的调用一定要在listiew.setAdapter()之前,果然有效。

后来在这里看到,http://stackoverflow.com/questions/4317778/hide-footer-view-in-listview,其实,只要在addAdapter()之前,任意调用了addHeaderView或者addFooterView,在setAdapter()之后调用addHeaderView都是有效的。

参考地址:
http://developer.android.com/reference/android/widget/ListView.html

http://stackoverflow.com/questions/4317778/hide-footer-view-in-listview

https://code.google.com/p/android/issues/detail?id=12870

2012年5月11日星期五

Android在layout xml中使用include

在Android的layout样式定义中,可以使用xml文件方便的实现,有时候为了模块的复用,使用include标签可以达到此目的。
例如:  <include layout="@layout/otherlayout"></div>

Android开发的官方网站的说明在这里:https://developer.android.com/resources/articles/layout-tricks-reuse.html
其中,有提到: Similarly, you can override all the layout parameters. This means that any android:layout_* attribute can be used with the <include> tag,意思是任何android:layout_*属性都可以应用在<include>标签中。

如果使用如下代码:
<relativelayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        < textview
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/somestring"
            android:id="@+id/top" />
        
       
        <include < layout="@layout/otherlayout"
       android:layout_below="@id/top" />
        
</relativelayout >
发现include的otherlayout,并没有在如我们预期的在id/top这个TextView下面,而是忽略了android:layout_below属性。经过Google发现,很多人遇到类似的问题。

有解决方法是在include的外面再包一层LinearLayout,如下:
<linearlayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/top" >
        
        < include layout="@layout/otherlayout">
</linearlayout >
解答道:必须同时重载layout_width和layout_height熟悉,其他的layout_*属性才会起作用,否这都会被忽略掉。上面的例子应该写成这样:
<include layout="@layout/otherlayout">
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_below="@id/top" />


另外,关于xml的复用,还可以使用merge标签,merge标签主要是用来优化显示的,减少View树的层级,可以参考这里:https://developer.android.com/resources/articles/layout-tricks-merge.html, 翻译版在这里:http://apps.hi.baidu.com/share/detail/20871363

参考网址:



2012年3月26日星期一

毕业了

今天学校毕业典礼,也毕业了很多次了,本以为自己慢慢的麻木了,每次毕业也不禁想起自己的校园生活,认真的看一下自己的校园。

可能不只是人,失去的时候才知道珍惜,当我要离开这个校园的时候,也不免觉得校园很亲切。在这里也待了六年多了,校园环境渐渐熟悉,熟悉校园的每一个角落,小小的校园一切都很自然。以前到别人的学校,感觉哪些不太对劲,虽然嘴上说了自己学校不好一万遍,还是觉得自己学校很舒服。学校也越来越陌生,新的体育馆、新的食堂、新的宿舍楼、新的实验楼、咖啡厅、超市,学校里面的建筑慢慢的换上了新的容颜。可能习惯了校园原来的样子,新的食堂和餐厅,很长时间从来都没有去过,新的宿舍楼和实验楼也与我们没有关系。以前的超市很小,买东西也很方便,现在超市大了,东西也找不到了。学校里面还出现了极不相称的咖啡厅...寝室网段变了,失去了59.64,现在上网开始要登陆了。学校论坛换了皮肤,域名变了。FTP走了,BT来了,最近又换了极丑的样子...学校变化的太快,自己在校园里面活动的圈子也越来越小。之前还会在学校各个教学楼和图书馆穿梭,到后来基本上就是在实验室和寝室了。作为即将离校的“老油条”,突然对比当时入校的时候,变化太大,但我依然熟悉,也依然陌生。

四年的本科生活,已经忘记了很多的细节,学习是当时的主旋律。本科毕业的时候也曾经迷茫和失落。三年后的现在,经历了匆匆的研究生生活,上课、实验室、
实习。很多问题还是没有答案,现在的状态很不像当时想的那样。曾经很在乎的问题,现在也关紧要了。是老了,还是成熟了;是看透了,还是麻木了;是堕落了,还是接收现实了...我不知道,也不会有人告诉我。

毕业了,很多计划的事情没有做,很多要完成的事情,也留下来了烂摊子,以后也没有机会了。虽然早就进入了半工作的状态,却总是把自己当成学生看。今天之后,将不再有“学生”这个挡箭牌,责任和担当也随之而来。新的开始可能不只是生活,而是心态。我不知道我是否做好了准备,但是时间可不管你,往前冲吧...

(2012年3月26日 学三-203)