许多网站(包括各种SO文章)都谈到使用Perl表达式重命名文件来"重命名".
这将是完美的,但显然这不是我的重命名实用程序,并且这些文章似乎都没有理解有多个版本的"重命名",我似乎无法找到接受Perl表达式的版本的位置.
我正在运行Fedora 20.我当前的重命名命令来自util-linux
包,显然我需要Perl版本,这更好.
我在Ubuntu 10.04上运行Emacs 24,在默认的c ++环境下编写c ++.经过一段时间的编码后,我的缩进引擎似乎会断开 - 按"tab"缩进位置将任何行放在行的开头.选择整个缓冲区会导致整个缓冲区未缩进.此问题影响所有缓冲区,当前或以后打开.到目前为止,我发现修复它的唯一方法是重启emacs的(非常不方便)步骤.有没有其他方法可以重启我的缩进引擎?尝试加载不同的缩进样式并不能解决问题.
我正在处理一个项目,我正在处理很多推文; 我的目标是在处理它们时删除重复项.我有推文ID,它以格式的字符串形式出现"166471306949304320"
我一直在使用HashSet<String>
这个,它可以正常工作一段时间.但到了大约1000万件物品的时候,我却陷入了巨大的困境,并最终得到了一个GC错误,大概是从重新开始.我试着定义一个更好的尺寸/负载
tweetids = new HashSet<String>(220000,0.80F);
这让它变得更远,但仍然非常缓慢(大约1000万,它需要花费3倍的时间来处理).我该如何优化呢?鉴于我已经大致知道在结尾集合中应该有多少项目(在这种情况下,大约20-2200万)我应该创建一个只重复两次或三次的HashSet,或者这样的开销是多少?设置了太多的时间罚款?如果我没有使用String,或者我定义了一个不同的HashCode函数(在这种情况下是String的特定实例,我不知道该怎么做),事情会更好吗?这部分实现代码如下.
tweetids = new HashSet<String>(220000,0.80F); // in constructor
duplicates = 0;
...
// In loop: For(each tweet)
String twid = (String) tweet_twitter_data.get("id");
// Check that we have not processed this tweet already
if (!(tweetids.add(twid))){
duplicates++;
continue;
}
Run Code Online (Sandbox Code Playgroud)
解
感谢您的推荐,我解决了这个问题.问题是哈希表示所需的内存量; 首先,它HashSet<String>
是巨大的,不必要的,因为String.hashCode()
这种规模过高.接下来,我尝试了一个Trie,但它在100多万个条目中崩溃了; 重新分配阵列是有问题的.我使用了HashSet<Long>
更好的效果并且几乎成功了,但是速度衰减了,它最终在处理的最后一段(大约1900万)崩溃了.解决方案来自标准库并使用Trove.它完成了2200万条记录,比不检查重复条件快几分钟.最终的实现很简单,看起来像这样:
import gnu.trove.set.hash.TLongHashSet;
...
TLongHashSet tweetids; // class variable
...
tweetids = new TLongHashSet(23000000,0.80F); // in constructor
...
// inside for(each record) …
Run Code Online (Sandbox Code Playgroud) 几个月来,我一直喜欢使用组织动态时钟块(C-c C-x C-r)来帮助我的小时计时.但突然间,我觉得它不起作用.我唯一改变的是下载list-packages org-contrib和org-mode.
M-x org-version
组织模式版本7.8.11
尝试更新/添加动态块(C-c C-x C-r)
符号的函数定义为void:org-defvaralias
我试图defun
在一些org .el文件中手动执行s,但这让事情变得更糟.有关最清洁方法的任何建议吗?
我实际上甚至不能再使用相同的错误.
我已经证实这是org-contrib
ELPA安装的结果,这似乎打破了它.这很难过,因为我很好地利用了其他org-contrib
文件.
我将预算保持在组织模式,并对它的简单性感到满意.然而,简单性失败了,因为我在许多单元格上执行公式; 例如,我的年度汇总表,每个月执行相同的抓取和计算公式.我最终在我的+ TBLFM中找到了一条巨大的线.如果我能以编程方式将参数传递给公式,这将大大缩短.我正在寻找这样的东西,但是工作:
| SEPT |
| #ERROR |
#+TBLFM: @2$1=remote(@1,$tf)
Run Code Online (Sandbox Code Playgroud)
在其他地方,我有一个名为SEPT的表,它有一个名为"tf"的字段.如果我将"@ 1"替换为"SEPT",则此功能有效,但这会导致我在每个列的公式中需要一个新条目.
有没有办法让这个工作,表本身可以指定要调用的远程表(例如我的例子中的SEPT)?
我使用GNU和多个电子邮件地址,包括基于邮件中的FROM更改传出SMTP。到目前为止,一切都很好。但是,现在,我在同一服务器上有多个帐户,因此通常的.authinfo对我不起作用。似乎答案应该类似于http://www.cataclysmicmutation.com/2010/11/multiple-gmail-accounts-in-gnus/, 但我没有使用gmail,也没有使用imap。我正在使用SMTP和SSL。如何扩展该解决方案?(另外:我正在使用gnus-posting-styles来帮助发送带有适当地址的邮件,以证明这是值得的)
以下是我的.gnus的相关部分。请注意,我正在尝试使webdev @ [ME] .com正常运行,这是[ME] @ [ME] .com(两者都在同一台服务器上)的补充。我需要在这里以及我的authinfo中进行这项工作吗?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; multiple outgoing accounts ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; http://www.mostlymaths.net/2010/12/emacs-30-day-challenge-using-gnus-to.html
;; also see ~/.authinfo
(defvar smtp-accounts
'(
(ssl "[ME]@[ME].com" "mail.[ME].com"
26 "[ME]@[ME].com" secret)
;; (ssl "webdev@[ME].com" "mail.[ME].com"
;; 26 "webdev@[ME].com" secret)
(ssl "[ME]@gmail.com" "smtp.gmail.com"
587 "[ME]@gmail.com" secret)
(ssl "[ME]@gatech.edu" "mail.gatech.edu"
587 "[ME]@gatech.edu" secret)
))
;; Now lets configure smtpmail.el with your name and functions to send
;; mail using your smtp accounts by changing the from field
(require 'smtpmail)
(setq …
Run Code Online (Sandbox Code Playgroud) 我定期手动将我的议程年度视图导出到ics并上传到我的网站,谷歌日历订阅它.有用; 但它需要足够的时间来绘制年视图并将其导出到ic,我想通过bash脚本自动执行此操作.我怎样才能做到这一点?现在我在emacs中手动完成,如下所示:
M-x 议程
vy
C-wcal.ics
然后运行我的上传脚本.
emacs ×5
org-mode ×3
bash ×2
elpa ×1
email ×1
export ×1
file-rename ×1
gnus ×1
hashset ×1
icalendar ×1
indentation ×1
java ×1
linux ×1
optimization ×1
perl ×1
remoteobject ×1
rename ×1
smtp ×1
spreadsheet ×1