图片夹带压缩文件之Ubuntu版

贴吧里貌似很流行一种做法,要提供一个小文件下载时,夹带在一张图片里,保存这张图片并把后缀改为 rar 就能看到压缩文件的内容了。而且这张图片是相当正常的,可以显示出来。

在网上搜索了一下方法, win 下是使用 copy 命令将两个文件合成一个。自己尝试了一下用 cat 命令合并文件。

cat 1.gif 2.zip > 1.gif

这样发现图片是可以显示,但是无法以压缩文件形式打开。又尝试了一下与声音文件合并。

cat 1.wav 2.zip > 1.wav

这回神奇了,这个文件既可以播放也可以提取压缩内容。但是声音毕竟没有图片传播方便,接着折腾图片。想起原来看压缩文件这一块的计算机史时有提到 zip 文件都是以 PK 两个字母开头的,觉得应该是这里有问题,可能是记录 zip 文件格式的数据混杂在图片数据里无法区分了。把资料压缩成 rar 格式,再合并,OK!

cd Desktop/
cat 1.rar 1.gif > 2.gif

情侣与杀人狂

以前在豆瓣看过一个关于情侣与杀人狂的段子,当时也没有想太多,不过后来大家的讨论越来越离谱了。今天在豆瓣翻看友邻的相册,发现一个概括性很好的回复,转过来留着吧。

故事一:有一对情侣,他们高中开始相识,彼此相爱,大学去了美国,那个城市有一个杀人狂,专杀恋人,他们成为了杀人狂的牺牲品,他们被装在机器上,一分钟腰部的刀会撕裂腹部,生还的办法是一个剪刀石头布的游戏机,胜方生存,他们决定共同摁拳一起死,可是女孩死了,因为他出了剪刀,女孩出了布。。

一楼女:那女的其实是为了男的死了,她太了解那男的了
二楼女:其实女孩早就知道男孩会出剪刀,她为了让男孩活下去才出布,那男的太贱了
三楼女:支持楼上,那男的太贱了
四楼男:也许是那女的好,可是那男的也没错啊……
五楼女回复四楼:他明知道自己女朋友了解他会出剪刀,他为什么不出石头?男人就每一个好东西,不是贱我是什么?
六楼女:这女孩死的真不值,天底下男的就没一个好东西
七楼男:我感觉女的是为了生存吧,如果真是为了让男孩活下去的话未免太像童话了
八楼女回复七楼:呵呵,告诉你,天底下的女孩子都是这么善良,童话?我看是你们这些男的太偏激了吧
九楼男:我想知道男的错在哪里了……
十楼女回复九楼男:错在哪里了你都不知道?女孩子都为他死了,天底下男的就没有一个好东西,这个世界怎么了

故事二:有一对情侣,他们高中开始相识,彼此相爱,大学去了美国,那个城市有一个杀人狂,专杀恋人,他们成为了杀人狂的牺牲品,他们被装在机器上,一分钟腰部的刀会撕裂腹部,生还的办法是一个剪刀石头布的游戏机,胜方生存,他们决定共同摁拳一起死,可是男孩死了,因为她出了剪刀,男孩出了布。。

一楼女:这男的就是贱,女孩看上他就是瞎了眼,男的就没一个好东西
二楼女:CNM这些男的怎么都不去死,要不是女孩太爱他就是自己死了,怎么会有这种人渣
三楼男:有没有这种可能,男孩知道女孩会出剪刀让自己生存,所以自己出了布……
四楼女回复三楼男:呵呵,你以为这是童话呢
五楼女:这男的死得好,哎呀怎么世界上就没有好男人,哎,男的怎么都不去死啊

我真不知道怎么内涵了

毕业季***你的遗憾

在豆瓣上看到一个活动——毕业季***你的遗憾。没有去统计前几名是什么呃,只是简单看了下。

等到我毕业,会有什么遗憾呢?专业课没学好并不算遗憾,至少现在看来不是,我不认为对一个专业真心无爱彻底不感兴趣会能学好;所以,没有拿过奖学金也就不算是遗憾了;遗憾可能就是,没有更早一点接触到计算机;遗憾可能就是,再也没有精力去认真地经营一份感情(包括友谊);遗憾可能就是,再也没有深入学习英语的动力;遗憾可能就是,没有读更多的书。

有哪一些是我现在能做的?我可以读更多的书;我可以更努力地学习我感兴趣的知识。经营感情之类的,我脑内的化学物质决定了我现在不可能去做。

这篇文章留到以后有遗憾了,或是毕业了再更新吧。

Girl project

今天继续写Girl项目,遇到一点问题。

第一个是布局。昨天晚上在Chrome里调试,写好的效果是这样的:Girl project - login但是今天起来在火狐13里测试,看到那个submit按钮往下沉了4~5个像素。调试了很久都没有解决,索性改成这样了:Girl project - login - final

同时注意到Chrome和火狐在处理placeholder的时候也有不一样的策略,Chrome的placeholder在输入文字时才消失,火狐则是在input聚焦时就消失。

另一个问题出现在连接mongolab的远程数据库时,mongolab提供的连接方法是这样的:

mongodb://:@***.mongolab.com:33307/mongodb

开始我以为这意思是:从33307端口以user的身份连接上了***.mongolab.com上的数据库mongodb,然后我就可以操作mongodb这个数据库里的collection了。结果发现不行。在stackoverflow上找到了这个:php mongodb : Call to undefined method MongoDB::insert() in db.php,大概是说,这样连接上了之后,只是一个连接而已,并没有选择数据库,所以还得自己选择一下数据库才能操作collection。

有一个没有解决的问题是,在配置文件(config.php)里写了DB_NAME这个参数,但是在实际上调用时,比如这样:$connection -> DB_NAME -> collection -> findOne($query, $fields),会把DB_NAME作为字符串"DB_NAME"对待,提示没有DB_NAME这个数据库还是什么的。

刹那间有风

写得比较乱,因为都是一些回忆。今天正好是高考,作为自我剖析系列的第一篇文章,拿来回忆高中毕业的那个夏天是理所当然。学弟学妹们高考加油。

阅读剩余部分 -

速记——js/php加密通讯

做的一个东西有用户登录模块,希望把这个部分做成密码加密传送的,毕竟明文暴露出来不太好。参考了很多资料,无解。先把参考的东西列一下,留着以后研究。

Mkvtoolnix

找到一部很老的动画电影的资源,mkv 格式的,但是没有字幕,外挂字幕不仅麻烦,而且存储起来页不方便,就想自己解封装然后再重新打包。安装了 mkvtoolnix 。折腾了好半天,终于学会了解封装。

mkvinfo yo.mkv #查看mkv 的信息,主要是轨道信息,从这里找到需要提取的轨道。
mkvextract tracks "yo.mkv" 1:track1.mp4 2:audio.aac 3:subtitle1.ass #这里提取需要的轨道,格式为:轨道号:输出文件名

打包就简单多了,安装 mkvtoolnix 的时候已经安装了 gui 工具,在 gui 工具中操作就行了。

新一轮的折腾——配置Ubuntu上的Apache2

系统安装好了之后就开始新一轮的折腾了,其中以安装必要的服务器和服务器扩展为最折腾也是最有成就感的。一些命令留在这里,免得到时候忘了。

sudo apt-get install apache2 mysql-server php5 php5-mysql # 安装apache2服务器、php5和MySQL数据库
sudo apt-get install phpmyadmin # 安装MySQL的php管理工具
sudo apt-get install mongodb # 安装MongoDB数据库
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl #安装php5的curl扩展
sudo apt-get install php5-dev php5-cli php-pear 
sudo pecl install mongo # 安装php的MongoDB Driver
sudo /etc/init.d/apache2 restart # 重启apache2服务器(要先将extension=curl.so和extension=mongo.so加入/etc/php5/apache2/php.ini中)
# 重启MySQL服务器的命令是 sudo /etc/init.d/mysql restart

连个黄网都找不到,你还能干什么?

昨天在知乎看到有人提到了和菜头老师的这篇文章,就去找来看了看,觉得写得非常好,就转过来了。在和菜头博客上没有找到具体的协议,但是看到有“创作共同”这几个字,应该是指CC协议吧。

话说之前 Max 说过,找资源也是一种能力。之前还真没觉得,后来发现好多人只会抱怨这个抱怨那个,自己却不懂得动手解决这些问题,才感觉到自己动手真的是种能力。

阅读剩余部分 -