已经在杭州待了一周了。
本来早就想要写点东西记录一下这几天的生活了。但是组里要求写日报,每天一报,这让宝宝很痛苦,用来写blog的力气全部用去写日报了2333。
蚂蚁的待遇确实没什么说的了,实习生的补贴应该是国内TOP级别的了,另外每天的餐补,免费夜宵以及团队聚餐让我这个吃货心服口服。
要是和鹅厂对比一下的话,鹅厂更注重的是人文关怀,阿里则比较实在,给的东西都很硬。工作氛围的话,鹅厂更加轻松,阿里有点工作狂,不过投入和产出总是呈正比,阿里的技术在国内算是首屈一指了。
这两天速成了一发Java,另外这周打算再速成一发Spring和SOFA。这周SVN的权限也申请下来了,很愉快的checkout了代码。所幸代码里没有用太多Java语法糖,我担心的看不懂代码的事情不会发生了。不过真正难的是复杂的业务逻辑,挑战还在后面呢。
这算是抽出来半个小时写的blog了,还是很感谢妙才老师招我进来,给了我一次和大神们一起战斗的机会,作为一个Java小白我会努力的。
新的旅程
最近一直生活的很不规律,玩命的写代码。
发现自己自从ACM退役以后就不怎么写C了。以前对于底层实现的崇拜,现在慢慢变成了对高效的追求。Python,Scala变成了手边常用的工具,我很享受那种快速实现的感觉。
因为小时候写代码都是为了OI,很自然而然的养成了面向过程的编程风格,这样我对面向对象的编程思路多少有些不适应。我不太习惯按照既定的套路去做大型系统,短小精悍的完成任务可能很适合我。在这个方面,对象的概念显得有点多余了。
明天就要去阿里了,leader让我学学Java(虽然我的岗位是C++研发~~)。
感觉去阿里真的是一件很有因缘的事情。一开始拿了鹅厂的TST真的是打算留在鹅厂了,组里的同学也很好,算是已经把我当成自己人了,我也根本没想过会离开。后来月黑风高的晚上接到了妙才老师的电话,于是剧情开始神转折,我鬼使神差的完成了阿里的面试,拿到了offer。
后来跟鹅厂leader说想要离职的时候想了很久,后来唯一可以想到的理由居然是可以和好基友一起玩(虽然这货陪我玩不了多久了2333)。
确实,一个人实习太寂寞了。在恒生的时候,我甚至会去楼道里自己和自己说话。当然,从那里回来之后,我压抑已久的话匣子喷薄而出,从此走上了段子手的不归路。
最后想一想,相比于深圳与杭州,我还是更喜爱后者,那里有我想要的平湖秋月。
一生痴绝处,无梦到杭州,again~
网络视频串流实时输出原型设计
今天下午折腾了一下视频监控的东西。
之前一直打算用树莓派搭建一套视频监控系统,但总是没有合适的时间。这几天正好考完试,也放了假,就抽出了一下午时间来搞这个。由于每个部分都有现成的组件,所以搭建的工作蛮轻松的。
首先第一步需要更新apt源,下载VLC:
sudo apt-get update sudo apt-get install vlc
然后我们来测试一下,看VLC可不可以正常使用:
$ VLC VLC is not supposed to be run as root. Sorry. If you need to use real-time priorities and/or privileged TCP ports you can use vlc-wrapper (make sure it is Set-UID root and cannot be run by non-trusted users first).
不知道其他环境是不是也这样,我在运行的时候遇到了这个问题。解决方法很简单,修改一下 /usr/bin/vlc 的内容就好。
$ vim /usr/bin/vlc
用 /geteuid 命令将内容中的 geteuid 改为 getppid 即可。重启之后,问题就应该可以解决了。
最后我们使用CVLC将视频流通过h264编码,以ts的形式封装,然后输出到8090端口。
sudo raspivid -o - -t 0 -w 640 -h 360 -fps 20 | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8086}' :demux=h264
之后,如果可以看到下面的结果,就说明大功告成了。
VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e) [0x14498f0] main libvlc debug: VLC media player - 2.0.3 Twoflower [0x14498f0] main libvlc debug: Copyright © 1996-2012 VLC authors and VideoLAN [0x14498f0] main libvlc debug: revision 2.0.2-93-g77aa89e [0x14498f0] main libvlc debug: configured with ./configure '--enable-static' '--build=arm-linux-gnueabihf' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro' '--config-cache' '--disable-maintainer-mode' '--disable-silent-rules' '--disable-update-check' '--enable-fast-install' '--prefix=/usr' '--docdir=/usr/share/doc/vlc-nox' '--sysconfdir=/etc' '--with-binary-version=5+deb7u2' '--enable-a52' '--enable-aa' '--enable-bluray' '--enable-bonjour' '--enable-caca' '--enable-dbus' '--enable-dca' '--enable-dirac' '--enable-directfb' '--enable-dvbpsi' '--enable-dvdnav' '--enable-faad' '--enable-flac' '--enable-fluidsynth' '--enable-freetype' '--enable-fribidi' '--enable-gnutls' '--enable-jack' '--enable-kate' '--enable-libass' '--enable-libmpeg2' '--enable-libproxy' '--enable-libxml2' '--enable-lirc' '--enable-live555' '--enable-mad' '--enable-mkv' '--enable-mod' '--enable-mpc' '--enable-mtp' '--enable-mux_ogg' '--enable-ncurses' '--enable-notify' '--enable-ogg' '--enable-oss' '--enable-pulse' '--enable-qt4' '--enable-realrtsp' '--enable-samplerate' '--enable-schroedinger' '--enable-sdl' '--enable-shout' '--enable-skins2' '--enable-smb' '--enable-speex' '--enable-svg' '--enable-taglib' '--enable-theora' '--enable-twolame' '--enable-upnp' '--enable-vcd' '--enable-vcdx' '--enable-vorbis' '--enable-x264' '--enable-zvbi' '--with-kde-solid=/usr/share/kde4/apps/solid/actions/' '--disable-dxva2' '--disable-gnomevfs' '--disable-goom' '--disable-portaudio' '--disable-projectm' '--disable-sqlite' '--disable-telx' '--enable-alsa' '--enable-atmo' '--enable-dc1394' '--enable-dv' '--enable-fbosd' '--enable-libva' '--enable-linsys' '--enable-omxil' '--enable-pvr' '--enable-udev' '--enable-v4l2' '--disable-crystalhd' '--disable-mmx' '--disable-sse' '--disable-neon' '--disable-altivec' 'build_alias=arm-linux-gnueabihf'
在任意终端的VLC上打开网络串流,输入“http://树莓派的IP地址:端口号”,即可看到实时的监控视频了。
The Imitation Game
电子雷管制作方案
这两天需要做一个电子起爆器,用来在time-emergency瞬间销毁磁盘和内存。
这里要做的是起爆器,需要的药剂尽可能简单可靠,爆燃性能较好即可。至于销毁储存设备我希望使用HMX,增加稳定剂之后可以得到较低的爆轰性能,这样可以更加彻底有效的销毁数据载体。
另外,根据你的紧迫程度,我强烈建议在起爆前复写数据区,不过这个不是这个方案的重点。
黑火药的性能非常满足我的需求,制备过程网上有一堆。我希望你在制作前最好具有一定的化学操作知识,不然这很危险。
为了提高爆速,我们可以加入少量(10:1)的氧化剂,比如氯化钾和高锰酸钾的混合剂,这样可以有效提高火药性能以及燃烧速率。
粉末的混合推荐使用球磨机。理论上来说用钢球也是可以的,但为了保险起见最好还是用铜球或者木球。
研磨好之后将粉末与丙烯混合,待用。
起爆方式的话 桥丝法就好,之后用热缩管处理一下药头密封就可以了。
Centos 7.2下安装MariaDB的步骤
MariaDB是MySQL源代码的一个分支,在意识到Oracle会对MySQL许可做什么后分离了出来。 除了作为一个Mysql的“向下替代品”,MariaDB包括的一些新特性使它优于MySQL。
由于Oracle强行要收费,Centos 7 将mysql 替换为了 mariadb,如果安装mysql的话,会出现各种神奇的错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
比如说上面这个~。~
所以我们还是愉快的安装MariaDB吧,下面是安装步骤: Continue reading
Lofter爬虫
这两天对LOFTER上面的几个妹子情有独钟,然而她们每一个都是自拍狂魔,手动收藏她们的照片实在是太慢了,于是我就写了一个爬虫专门去收集她们的照片了。
使用方法非常简单,只要输入Lofter ID就可以爬取到妹子(当然也可以是汉子)的所有照片了。爬取之后的图片存放在主机中。
本来我把地址po出来了,但是居然有人恶意攻击,所以暂时不公开成品地址了。
Continue reading
将树莓派打造成一台智能路由器
首先请允许我啰嗦几句,能把这东西做出来一定要感谢二食堂一楼那些24小时open的窗口以及 宿管大妈晚上非常不走心的锁门方式,我才没有饿死......
使用树莓派设置为WiFi热点的方法主要有两种:
- 桥接方式:类似交换机,将LAN口的信号转换为无线,各终端独立工作。
- 路由方式:和大部分路由器工作方式一样。
由于我做这个路由器的主要目的是为了绕过校园网认证系统,并且可以让我的多个设备同时上网,所以我采用了路由的方式来配置树莓派。
Continue reading
若有天我不复勇往
这次来深圳的目的确实是来说再见的,目的单纯到谁都可以看出来。路上一直在想怎么和大家说,纠结了很久以后,还是觉得实话实说吧。
以前听大家说集齐BAT就可以召唤神龙,于是我去集齐了。发现自己面对的并不是什么可以许愿的神龙,而是一条更加艰涩的路,在路上确实可以收获很多,但也必须放弃很多。
其实我自己也不知道为什么要做出这样的决定,也不知道自己这样做到底对不对。
但既然已经选择了,那就继续走下去吧。 Continue reading
SkyHook的相关文档
Skyhook是一个利用hook技术获取屏幕截图,按键信息以及网络流数据的一个后台运行工具。
https://github.com/Elfsong/WintersWrath/blob/master/python/skyhook.rar
这东西的特点比较明确:体积小,后台静默运行,最关键是免杀啊(你懂得)。至于远控功能嘛,你问我有没有,其实是有的,不过得你自己去找一下啦~
使用方法灰常简单,只需要双击skyhook.exe文件,程序就会在后台静默运行了。屏幕截图放在skyhook.exe同目录的/pic文件夹下,键盘记录和网络流记录分别放在Keyboard.txt和Net.txt中。我有一只好木马,我从来都不骑,综上,简直居家旅行,出门必备啊~