This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
#The Great Firewall (GFW) Contributors List
注:数据来源为 dblp 和 cndblp, 下面括号中的数字表示 dblp 中显示的跟方滨兴合作论文的数量
###Binxing Fang (方滨兴)
中国工程院院士,北京邮电大学教授,中国科学院计算技术研究所网络方向首席科学家
http://en.wikipedia.org/wiki/Fang_Binxing
| // Just before switching jobs: | |
| // Add one of these. | |
| // Preferably into the same commit where you do a large merge. | |
| // | |
| // This started as a tweet with a joke of "C++ pro-tip: #define private public", | |
| // and then it quickly escalated into more and more evil suggestions. | |
| // I've tried to capture interesting suggestions here. | |
| // | |
| // Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_, | |
| // @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant, |
| var cv = document.getElementById('cv'); | |
| var c = cv.getContext('2d'); | |
| var txtDiv = document.getElementById('txt'); | |
| var fileBtn = document.getElementById("up-button"); | |
| var img = new Image(); | |
| img.src = 'a.jpg'; | |
| img.onload = init; // 图片加载完开始转换 | |
| fileBtn.onchange = getImg; | |
| // 根据灰度生成相应字符 |
| good, 你已经有了一个自己的shadowsocks代理了,现在想要把这个代理公布出去给所有人分享。 | |
| 但是没有两个小时,代理就没法使用了,为什么?因为你需要额外注意以下事项(以下步骤需要比较高的linux技能) | |
| 本文只关注于确保shadowsocks服务还“活着”,如果你希望让其跑得更快,请参考 | |
| https://github.com/clowwindy/shadowsocks/wiki/Optimizing-Shadowsocks | |
| 1、 shadowsocks的timeout设置 | |
| 超时时间越长,连接被保持得也就越长,导致并发的tcp的连接数也就越多。对于公共代理,这个值应该调整得小一些。推荐60秒。 | |
| 2、 检查操作系统的各种限制 | |
| 对于openvz的vps,特别需要检查一下 |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| var uniqueArray = function(arrArg) { | |
| return arrArg.filter(function(elem, pos,arr) { | |
| return arr.indexOf(elem) == pos; | |
| }); | |
| }; | |
| var uniqEs6 = (arrArg) => { | |
| return arrArg.filter((elem, pos, arr) => { | |
| return arr.indexOf(elem) == pos; | |
| }); |
| var scr = document.createElement('script'); | |
| scr.type = 'text/javascript'; | |
| scr.src = "http://libs.baidu.com/jquery/1.9.0/jquery.min.js"; | |
| document.head.appendChild(scr); | |
| scr.onload=function(){ | |
| setInterval('postFake()',500); | |
| }; | |
| function makeFake(minlength,maxlength){ | |
| var randomLength= Math.floor(Math.random()*(maxlength-minlength))+minlength; |