小编dre*_*ves的帖子

如何使回复用户的电子邮件机器人不回复自动响应并使自己进入邮件循环

我有一个回复用户的机器人.但有时当我的机器人发送回复时,用户或他们的电子邮件提供商将自动响应(休假消息,退回消息,来自邮件程序守护程序的错误等).然后,这是来自用户的新消息(因此我的机器人认为)它反过来回复.邮件循环!

我希望我的机器人只回复来自真实人类的真实电子邮件.我目前正在过滤掉承认批量优先权的邮件或邮件列表,或者自动提交的标题等于"自动回复"或"自动生成"(请参阅​​下面的代码).但我想有一个更全面或标准的方法来处理这个问题.(除了Perl之外,我很高兴看到其他语言的解决方案.)

注意:请记住让自己的机器人声明它是自动回复!包括

Auto-Submitted: auto-reply
Run Code Online (Sandbox Code Playgroud)

在机器人的电子邮件的标题中.

我的原始代码是避免邮件循环.只有当realmail返回true时才回复.

sub realmail {
  my($email) = @_;
  $email =~ /\nSubject\:\s*([^\n]*)\n/s;
  my $subject = $1;
  $email  =~ /\nPrecedence\:\s*([^\n]*)\n/s;
  my $precedence = $1;
  $email  =~ /\nAuto-Submitted\:\s*([^\n]*)\n/s;
  my $autosub = $1;

  return !($precedence =~ /bulk|list|junk/i ||
           $autosub =~ /(auto\-replied|auto\-generated)/i ||
           $subject =~ /^undelivered mail returned to sender$/i
          );
}
Run Code Online (Sandbox Code Playgroud)

(主题检查肯定是没有必要的;我只是在出现问题时一次添加一个这些检查,上面现在似乎有效,所以我不想触摸它,除非有明确的更好的东西.)

email perl bots auto-responder

9
推荐指数
1
解决办法
4788
查看次数

服务器推送:彗星vs猿?

我读过一些关于彗星和APE的内容.

哪一个更好?我希望用户看到其他用户更新的内容.像Google Wave一样.

在彗星中,有两个版本:iframe与传统的ajax.有什么不同,哪个更好.我不太明白.

谢谢.

javascript ajax jquery push comet

8
推荐指数
2
解决办法
8398
查看次数

数据可视化:气泡图,维恩图和标签云(哦,我的!)

假设我有一个大的对象列表(数千或数万),每个对象都标记有少量标记.有几十种或几百种可能的标签,它们的使用遵循典型的幂律:一些标签经常使用,但大多数很少见.事实上,除了最常见的几十个标签之外的所有标签通常都可以被忽略.

现在的问题是如何可视化这些标签之间的关系.标签云只是其频率的一个很好的可视化,但它忽略了哪些标签与其他标签一起出现.假设tag:bar仅出现在标记为foo的对象上.这在视觉上应该是明显的.类似地,三个标签倾向于一起出现.

您可以使每个标记成为一个气泡,让它们彼此部分重叠.从技术上讲,这是一个维恩图,但以这种方式处理它可能是笨拙的.例如,Google图表可以创建维恩图,但仅限3个或更少的集(标签):http: //code.google.com/apis/chart/docs/gallery/venn_charts.html
他们将其限制为3套的原因是这样,它看起来很可怕.请参阅维基百科页面上的"更多数量的集合":http: //en.wikipedia.org/wiki/Venn_diagrams

但这只是在每个可能的交叉点都是非空的情况下.如果共同出现的标签不超过3个(可能是在丢弃稀有标签之后),那么维恩图的集合可以起作用(气泡的大小代表标签频率).

或者可能是具有视觉上更厚或更薄的边缘的图形(如在顶点和边缘中)以表示共现的频率.

你有任何想法,或指向工具或库的指针?理想情况下我会用javascript做这个,但我对R和Mathematica这样的东西或其他任何东西都很开放.如果有人好奇,我很乐意分享一些实际的数据(如果我告诉你它代表什么,你会笑).

附录:我最初想到的应用程序是TagTime,但我发现这也很好地映射了可视化一个美味书签的问题.

javascript charts visualization r data-visualization

8
推荐指数
2
解决办法
5484
查看次数

Mathematica的MemberQ

我有点不知道如何在Mathematica中有效地执行以下操作:

a = { 1, 2, 3, 4, 5 };  (* list of integers *)
b = { 2, 4, 6, 8 };     (* another list of integers *)
filter = Table[MemberQ[b, element], {element,a}]
Run Code Online (Sandbox Code Playgroud)

预期产出是:

{False, True, False, True, False}
Run Code Online (Sandbox Code Playgroud)

我的名单a,并b都大了,所以数学是线性搜索,通过做kazillion b.我希望它使用哈希表进行更快的查找.但似乎没有这样的结构.我能找到的最接近的是SparseArray,但是

sa = SparseArray[{1 -> True, 2 -> True}];
MemberQ[sa, 1]
Run Code Online (Sandbox Code Playgroud)

False.

我确信在一行代码或更少的代码中,这在Mathematica中一定是可能的,我只是看不到树木或其他东西.

救援的任何英雄?同时,我打算用C#做这件事.

wolfram-mathematica hashtable

8
推荐指数
2
解决办法
693
查看次数

将一堆数字属性转换为单个分数

这出现了很多,令人惊讶的是似乎没有一个标准的解决方案.假设我有一堆数字属性 - 您可以想象使用它来根据学生/教师比例或污染或诸如此类的一堆组件分数对大学或城市进行排名 - 并希望将它们变成单个分数.

我想采取一些示例并进行插值以获得一致的评分函数.

也许有标准的多维曲线拟合或数据平滑库或某些东西使这简单明了?

更多例子:

  • 将两个血压数字转换为单个分数,以确定血压接近最佳状态
  • 将身体测量值转换为衡量您与理想体质的距离的单一指标
  • 将一组时间(100米短跑等)转换为某项运动的健身分数

math optimization machine-learning curve-fitting multidimensional-array

8
推荐指数
1
解决办法
567
查看次数

新RSS条目的不引人注目的实时通知

首先,我为什么要问:现在StackOverflow上的声望点具有真正的价值(你可以通过提供奖励来将它们花在该死的好答案上)我想监听我可能能够回答的问题并突然发现它们!(另外,其他人实时回答我的问题,使StackOverflow非常方便,所以回报会很好.)

要问这是一个更普遍的问题,不是特定于StackOverflow:

  • RSS源与轮询和抓取通常会出现什么样的延迟?
  • 什么是以不太分散注意力的方式显示通知的好方法,例如Mac上的Growl?(它也应该很容易打开和关闭,如果它太分散注意力.)

(或者,对于StackOverflow上瘾者,您在新问题上的设置是什么?您可以将其概括为实时监控其他Web内容吗?)

rss real-time

7
推荐指数
1
解决办法
824
查看次数

编辑摊牌:在句子末尾保持换行符

在编辑非WYSIWYG(LaTeX,HTML等)散文时,您可能希望在句子的末尾添加换行符.这有几个好处:

  1. 更容易重新排列句子.
  2. 更容易评论出句子.
  3. 更容易发现连续/过长的句子.
  4. 更容易发表评论句子.

例如:

% The following isn't strictly true; maybe excise or comment out for now:
After all, people who use Word or other WYSIWYG editors are aiding and 
abetting terrorists.
Run Code Online (Sandbox Code Playgroud)

并且最重要的优势可能是它使得在版本控制下的协作编辑变得更加容易.否则你最终会遇到冲突,只是告诉你"这个巨大段落的以下两个版本存在冲突".

但是,在句子末尾保持换行说起来容易做起来难......

As you edit the prose
it will get all chopped up, like this.
Normally you'd do a "reformat paragraph"
to clean it up, but then
you lose the newlines at the ends of your sentences!
Run Code Online (Sandbox Code Playgroud)

以下问题询问如何在emacs中解决此问题:

如何让Emacs填充句子,而不是段落?

我想知道人们如何在其他编辑器中处理这个问题,包括vim,TeXShop,TextMate以及你认为在这里收集有用的任何其他编辑器.关于软包装和硬包装的建议也是受欢迎的.

html collaboration latex editor

7
推荐指数
1
解决办法
1251
查看次数

在绘图的最终显示区域中查找"框架/轴"的坐标

如果我用Frame-> True进行绘图,有没有办法可以在图像的绝对坐标中找到Frame角的坐标?我有PlotRange和PlotRangePadding的数值,但请注意我不想以任何方式篡改实际绘图,只需找出Mathematica选择放置绘图的框架/轴的完整显示区域的位置.

正如Brett Champion指出的那样,我正在寻找坐标{x,y},使得Scaled [{0,0}] == ImageScaled [{x,y}].

[请注意,我编辑了这个问题,以消除我对"缩放坐标"一词的混淆误用.]

graphics plot wolfram-mathematica image-processing

7
推荐指数
2
解决办法
329
查看次数

string.match(regex)vs regex.match(string)

Ruby中的string.match(regex)和regex.match(string)有什么区别?在这种语言中使用这两种结构的理由是什么?

ruby regex

7
推荐指数
1
解决办法
326
查看次数

赋值顺序意外地与"globals(),locals()中的exec expr"有关.

Python 2.X中的以下代码按照您的预期打印"a:2":

def f():
  #a = 1
  exec "a = 2" in globals(), locals()
  for k,v in locals().items(): print k,":",v
  #a = 3

f()
Run Code Online (Sandbox Code Playgroud)

但如果你取消注释"a = 1",那么就会打印出"a:1",正如我没想到的那样.甚至更奇怪,如果你取消注释"a = 3"线然后它根本不打印任何东西,我绝对没想到(我有一个令人困惑的错误,我提炼到那个).

我认为答案隐藏在locals()和globals()的文档中,或者可能在其他类似的问题中,但我认为值得称之为这种表现形式.

我很想知道Python解释器在这里想到的是什么,以及解决方法的建议.

python eval global-variables

7
推荐指数
1
解决办法
165
查看次数