msn email google-talk twitter tumblr flickr

Weighted random methods for Array and Normal distribution in Ruby

标记两个最近用到的Ruby方法:数组的加权随机方法,以及正态分布.

都是网上挖来的,经过实践验证.运行环境是 ruby-1.9.2.

数组的加权随机方法

直接打开Array注入random()randomize()方法,两个方法都接受一个权重数组并倾向于权重数值较大的元素.random()按权重随机返回值,randomize()按权重随机排序,详细见代码注释:

Stay Hungry, Stay Foolish

很有段时间没整理身边的书.最近抽空弄了一下下,技术的,非技术的,几年间陆陆续续地购入了不少书.

一些老书,熟得不能再熟,因为读得仔细,圈圈画画很多处,来来回回翻看,书就很旧.

而另有一些书,很陌生,都不记得曾经买过.其中也不乏好书,真怕哪天我头壳一热又在网上订购一本重复的回来. 这种情况多发生在近两年间入的新书,买时信誓旦旦要看的,到家后却没有打开过几次.实在惭愧…

Blog也很久不更新,究其原因,无外乎时间分配的各种不合理,生活学习之间各种不平衡之类吧.

要Getting Things Done(顺便分享GTD中文版 不用谢不用谢  ̄▽ ̄),就得给自己订订计划,预则立,不预则废嘛.所以这两天给blog加入"兴趣"的分栏,目前分"读书"和"影视".

功能实现方面主要利用的豆瓣收藏秀功能来mashup.只要在豆瓣操作,blog就能看到,省去自己折腾很多事…  阅读全文

I'm back!

好久没写日志,一晃已经2012,还少了一个月,只剩11个月…⊙︿⊙

上一篇日志还是半年多前,实在惭愧.这半年间我折腾了不少乱七八糟的东西,集中记录几件比较值得分享的:

CPU风扇

我一向不太爱惜物品(买来就是用的 为了爱惜物件过于操心费力 不值得),而且还爱折腾,09年入的MacBook Pro两年间已经换了好几个大件.这次换的是CPU风扇.

损坏的根本原因是风扇高速运转时间过长(之前一直将rpm定在4000左右,cpu温度高时甚至开到5000+)导致转轴不堪重负松动;而直接原因是某个不爱惜本本的人(就是我)在某一次在机器合盖之后就立起来准备放进内胆包里,那时本本还没有完全进入休眠, 还在高速转动的扇页受外力作用打到了保护壳,整个风扇都报销.

最明显的症状是风扇发出刮擦式异响(>_<).使用软件调高风扇转速或调整笔记本的水平角度时可以明显感觉到刮擦声变大…  阅读全文

为ie6,ie7,ie8增加css3支持

虽然IE9一反常态的全力迎合标准,但是Ie6,7,8仍然拥有很高的市场占有率,与其消极的等这几款浏览器淡出主流,倒不如咱工程师们主动出击.老规矩先上链接:

http://fetchak.com/ie-css3/

这是老外给提供的一个让ie6-8简单支持css3的解决方案.主要实现css圆角和背景阴影效果.

如何使用
   1  .box {
   2        -moz-border-radius: 15px; /* Firefox */
   3        -webkit-border-radius: 15px; /* Safari and Chrome */
   4        border-radius: 15px; /* Opera 10.5+, future browsers, and now also Internet Explorer 6+ using IE-CSS3 */
   5  
   6        -moz-box-shadow: 10px 10px 20px #000; /* Firefox */
   7        -webkit-box-shadow: 10px 10px 20px #000; /* Safari and Chrome */
   8        box-shadow: 10px 10px 20px #000; /* Opera 10.5+, future browsers and IE6+ using IE-CSS3 */
   9  
  10        behavior: url(ie-css3.htc); /* This lets IE know to call the script on all elements which get the 'box' class */
  11      }

最后一行就是要加在css中的代码,使用htc来hack…  阅读全文

像写Ruby那样去写Erlang

Elixir aims to provide simple Object Orientation and charming syntax on top of Erlang.

应该是很有趣的新东东,目前才0.2,mark下.上链接:

Github地址 elixir

Blog http://blog.plataformatec.com.br/

作者似乎是plataformatec的成员,plataformatec有一个很有名的作品devise.

HTTPS/SSL原理及Ruby实现

话说这还是去年的心得体会,一直没整理.最近我们'伟-大-的-防-火-墙'太给力了,整理出来给有能力的童鞋作参考:

What

SSL (Secure Socket Layer)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络 上之传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全 标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。 当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

说到SSL就不得不说HTTPS,全称:Hypertext Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信…  阅读全文

ezx.co上线测试

刚刚把ezx.co部上线.自己测是没有什么问题了,再开放测试一段时间.

话说godaddy有个x.co,X取extract的之意.我没有单字母域名,就捡个ezx.co凑合用了.

五位的长度跟bit.lygoo.gl相当.就算只做短地址服务,也对得住大家咯.

最初的想法是给自己做的工具,其中包含这个地址缩短的功能.其他功能还没开发完,所以目前为止只是简单的地址缩短服务.功能完成也有2个月了,一直没灵感捣鼓前端,这两天三下五除二补上了.设计相当的简陋,先上线,测测功能有没什么问题.

后台rails3,持久化用的是mongodb.对我来说都算是新玩具,边做边玩边学.以后如果能多整点数据,我也积累点经验,未尝不是件好事啊( ̄ω ̄).

协议主要支持有http(缺省),https,ftp(觉得其他协议有用的 甚至电驴 迅雷之类的协议 也可以联系我加上  ̄▽ ̄)…  阅读全文

程序员咆哮体:前端工程师你们伤不起!!!

声明:转贴来的,非原创。经常接触到前端,深有同感啊!!有木有!!!废话不多说,开始咆哮( > 口<)╭ :

老子几年前进了互联网圈!!!成了前端工程师,名字是不是很拉风,有木有!!!!
尼玛跟老子讲前台代码简单!!!出入高级写字楼,薪水高!!!!
入行才2K起啊!!!!2K在帝都都够毛用啊!!!!
尼玛简单个毛线啊!!
HTML、XHTML、XML、json…有木有!!!
CSS要写一堆兼容代码有木有!!!!图片素材要合并有木有!!!
JavaScript、OOP、什么线程、请求、异步、优化!!内存泄漏!!有木有啊有木有!!!!
尼玛说你呢!!!就你张嘴傻乐的!!!!
不用IE6会死啊!!!!升级下浏览器会死啊!!!!
还有IE6/7/8/9!!!!!!!神马Firefox、Chrome、Safari!!!神马Android、iPhone、iPad!!!

blog新增几个小功能 推荐Sinatra

很久不折腾toto,主要也是没有什么动力.昨天很晚收到朋友的邮件,说有个站跟我的blog很像.起初我还不信,我这主题虽然不是100%原创,经过我一番折腾也有个六七分是我的手笔了,里面小花招挺多,要完全模仿也是太容易的. 看了链接,对方也托管在heroku,那说明对方肯定也是ruby的程序,顿时就有了兴趣.链接在这里:

http://xiao.heroku.com/

这相似度高吧.开始我还怀疑托在heroku的代码泄露了,不过细细看了博主的文章,应该只从我这扒的皮肤…  阅读全文

恢复使用独立域名foobar.me

由于ZERIGO的几台DNS都被封在墙外,导致heroku的独立域名绑定功能对墙内的我们来说就成了鸡肋. 之前我将域名foobar.me也绑到了heroku. 被墙之后只有二级域名能够访问,虽然博客流量不大,但是从数据上看受到影响还是不小的.

今天有空把blog做了一个镜像到我在Linode的VPS上.目前foobar.me在墙内已经可以正常访问了.

查看真相: http://foobar.me ( ̄︶ ̄)↗

由于blog引擎不是基于数据库的,也就没有管理端之说.要更新博文首先在本地写好,然后执行一条rake p就直接提交加部署到heroku,很方便.

之前也考虑过为独立域名做镜像到VPS,但总困扰于每次更新都要手工去VPS上部署,那实在不够DRY.今天想通了,heroku能做到git push后自动部署,我也一样能…  阅读全文

« 归档日志