响应式编程笔记08

创建 Observable

所有的 Observable 工厂方法都是由下面这个派生而来:

1
2
3
object Observable {
def apply[T](s: Observer[T] 􏰀 Subscription): Observable[T]
}
继续阅读 »

响应式编程笔记07

Future[T]Try[T]对偶(dual)

1
2
3
trait Future[T] {
def OnComplete[U](func: Try[T] => U)(implicit ex: ExecutionContext): Unit
}

OnComplete 方法的类型进行化简(U 化简为 Unit),得到

1
(Try[T] => Unit) => Unit
继续阅读 »

2015-02-19

继续阅读 »

小阴谋家——一遍又一遍

翻译自 The Little Schemer 4th Edition Ch9 - …and Again, and Again, and Again, …

(这篇文章提到了 Y combinator。)

A:你想吃鱼子酱吗?

B:那我们必须去寻找它。

继续阅读 »

2015 要做的事

  • 练习钢笔字
  • 学习设计相关知识
  • 实现一个编译器
  • 了解机器学习相关知识
  • 上架至少一个 iOS App
  • 学习 OpenGL 相关知识
  • 阅读计算机经典书籍
  • 尝试绘画
  • 至少翻译一本英文专业书籍或每月一篇文章
  • 学习日本语
  • 尽可能多地写博客

GameList

psnine

继续阅读 »

东西

Want

  • Westone W40
  • AKG K 701
  • Sony PHA-3
  • Raspberry 2
  • Wacom Intuos Creative Stylus 2
  • MacBook Pro with Retina display
  • Kindle Voyage
继续阅读 »

Merry X'mas

ホーリーナイト

继续阅读 »

AnimeList

一旦接受了这种设定……其实还是蛮带感的……

继续阅读 »

垃圾邮件的一种应对方法

翻译自:A Plan for Spam

(这篇文章描述了应用在 Arc 语言的练习作品——防垃圾在线邮件阅读器中的垃圾过滤技术。改进后的算法在《更好的贝叶斯过滤》中描述。)

我认为阻止垃圾邮件是可能的,并且基于内容的过滤器是一种方法。垃圾邮件制作者的阿喀琉斯之踵正是他们的信息。他们可以绕过你设置的任何其他障碍。至少到目前为止他们已经做到了。但他们必须要递送他们的信息,不论这信息是什么。如果我们可以写一个能识别他们信息的软件,那他们就没有任何办法避开了。

继续阅读 »