如何在MarsEdit中使用Markdown编写文章

一直在寻找一个适合编写完毕以后直接发布到Wordpress中,同时又能完美支持Markdown语法的工具,尝试过Ulysess还有Typora,Ulysess本身对于Markdown的支持很奇怪,当粘贴的代码中有一些Markdown语法的关键字时,会出现很难编辑的情况;而Typora本身确实是很好的Markdown编辑器,但是无法直接将本地编写的文章一键发布到Wordpress中是致命弱点。

Setapp中近期引入了MarsEdit,这是一个较为著名的Blog编写工具,一键发布到Wordpress中是这类工具的标准功能,而稍作配置之后,又可以完美支持Markdown语法。

设置MarsEdit

首先需要设置MarsEdit
NewImage

NewImage

设置Wordpress

还需要设置Wordpress。在Wordpress中首先先安装Jetpack插件,实际上Jetpack已经基本上变为Wordpress的标准插件了。
在Jetpack插件的设置界面,将“使用Markdown语法编写纯文本文章”的选项勾上。
NewImage

用MarsEdit编写文章的优点

在MarsEdit中可以混用HTML和Markdown标志来编写文章,因此一些容易记忆的Markdown语法,比如标题,这是我最常用的Markdown语法,没有之一。比如代码块,对于写技术文章的人来说,代码块是非常方便的。

Markdown示例

以下是代码块的例子。

package main

import (
    "fmt"
    "database/sql"
    _ "gopkg.in/goracle.v2"

Why I returned my purchase of New MacBook Pro with Multi-Touch Bar

是的,我把刚刚收到不到一周的新MacBook Pro退货了,听上去挺不可思议的。同时,我还退掉了刚刚收到的仍未拆封的两根接口线,一根是USB-C转Thunderbolt2,一根是USB-C转Lightning。实际上为了这台新MacBook Pro,我还早早地就购买了4个USB-C转USB3.0的转接头,他们由于收到货太久了,没法儿退货。 我拥有苹果刚刚开始使用Intel x86芯片做Macbook处理器时的第一代MacBook,那是2005年时候的事情,然后一直到今年,在10年多的时间里,几乎每一代MacBook Pro的新品我都拥有,从13寸到15寸,从普通显示屏到Retina显示屏,从普通机械硬盘到SSD,从Megasafe到Megasafe II,我甚至为家人购买了新的只有一个USB-C接口的Macbook,对于其上饱受很多程序员诟病的一代蝶式键盘,我也同样很喜欢。另外我还拥有从iPhone4开始的每一代iPhone,从第一代iPad开始的每一代iPad(嗯,不包括iPad Pro,因为实在找不到购买的理由)。在购买最新的MacBook Pro with Multi-Touch Bar之前,我在工作和生活中使用的是2015年年初出的那一批13寸顶配MacBook Pro。 你们一定要说这是在炫耀,实际上我只是想说,我是一个经验丰富的苹果产品使用者,还是一个彻头彻尾纯正的果粉,然而,在收到新MacBook Pro不到一周后的今天,我退货了。下面是退货的理由,总得给自己一个交代不是吗?在你阅读下面这些牵强附会的理由之前,如果你还在使用MacBook Air(像我的一个朋友那样),或者你在使用任何一款Windows笔记本,那么我仍然强烈建议你购买这一代MacBook Pro,但是如果你像我一样已经在使用上一款MacBook Pro,那么建议你可以体会一下。 1. Multi-Touch Bar。 Multi-Touch Bar是这一代MacBook Pro的最大卖点,也是看发布会时最让人惊艳的功能。 MacBook Pro with Multi-Touch Bar 虽然,这一段窄窄的触摸屏,苹果实现的非常不错,它拥有特别合适的位置和形状,显示在其上的各种图标也很优雅。然而除了最右侧的Touch ID让我们在解锁笔记本的时候感觉到很爽之外,在我使用这台本子的一周内,这条触摸屏仍然很少场景会被使用到。大部分时间,Touch Bar上都在不停地变换着用苹果内置的中文输入法时出现的备选字,然而谁会不用数字键去选择备选字,而是用手指戳那个触摸屏呢?连盲打都实现不了。不过值得一提的是,聊天时候输入emoji用触控条真的很方便。 找不到能够频繁使用Multi-Touch Bar的场景倒也罢了,由于取代了原本最上面一条的实体按键,还有一些不太方便的场景。 在很多情况下,调节声音和亮度的按钮是龟缩在整个Touch Bar的右侧的,需要调小音量,OK,你需要点一下音量按钮,然后在变幻出来的进度条上去拖动,这样的拖动让我非常抓狂,因为完全丧失了一下一下按音量键来确认到底哪个音量更合适的控制感。想一下,在只想快进和后退几格的时候,你是会用按键还是会去拖进度条? 在最开始让程序员抓狂的ESC键,现在还在,但是变成了虚拟键,虽然这部分是可以盲打的,在这个虚拟ESC键的周边敲击都有效,然而对于一个频繁会被使用到的按键,在大多数按键都有实体键反馈的时候,忽然小指触到一个平平的地方,这种需要迅速转换的体验,总让人疑惑是不是点击到了ESC。这是一种让人烦躁的感觉。 2. 超大的触控板。 触控板 MacBook Pro原本的触控板已经很大了,还需要更大吗?问题是大了以后会很容易误触啊。因为实际上在你打字的时候,你的两个大拇指甚至是手掌的半坨肉都是很容易会碰到触控板的,这个误触的频率已经到了有时候会让人心里暗骂“我靠”的地步,有些严重。 3. 四个USB-C接口。 即使拥有可以左右开工,找任意舒服的方位充电的好处,忽然间全部变成了USB-C仍然让人有些头痛。Megasafe这么优雅的电源接口就这样被丢弃了,着实让人心痛。特别是当我想到以前的各种线缆在很长一段时间里都又要再接一个转接口,这样的处理方案让我很纠结。一点儿也不优雅!也许再等几年,当所有的外接设备(U盘,移动硬盘,鼠标,演讲遥控器,网银U盾)都有了天生USB-C接口,这个问题就不存在了。 4. 电源绕线。 这是最让我沮丧的地方,完全不能理解为什么从新MacBook开始,苹果就取消了那么贴心的设计。以后再也不能像下面这样电源和线缆融为一体了。 img_0230 我甚至能想像出来,不出几周,线缆就会变成这样,这太让人忧伤了。 img_0240 【结论】新MacBook Pro仍然是笔记本电脑中最值得购买的机型(没有之一),但是如果你的手头上已经有一款运行状况良好的上一代MacBook Pro,就像我现在这样,那么值得更新换代的动机则不会那么强烈。

Compare SAP HANA with Oracle Exadata

【前言】
本文的最终观点:如果不是拿全公司的产品线来混合搭配,如果仅就一款产品而言,无论其它厂商如何宣传,目前整个IT业界还没有任何一款一体机产品能跟Oracle Exadata同场较量,TeraData不能,IBM PureSystem不能,SAP HANA也同样不能。而SAP HANA可能更应该拿自己去跟Exalytics作比较,而不是Exadata。

本文对于SAP HANA的认知来自于“SAP HANA Essentials eBook”以及Experience SAP HANA站点,完全属于纸上谈兵,如果有更熟悉SAP HANA技术的技术人员认为本文有失偏颇,欢迎指正。

【正文】
需要承认SAP HANA的出现,在理念上与Oracle Exadata几乎是完全一致的,SAP也意识到大量的数据要从缓慢的磁盘子系统中读取到计算资源中,这部分读取操作成为了最大的性能瓶颈,解决方法就是在计算时减少不必要的IO。对此,SAP HANA的解决方案是跳过磁盘层,通过压缩,将大量数据完全放到内存中,当然于此相配套的还有一些对于数据持久化的技术解决方案,但是无论如何,HANA作到的只是内存间计算而已,能够做到这一点,几乎完全得益于硬件的发展,如果不是当前内存容量剧增而成本却持续下降的话,几乎无法想象HANA能够成为普遍的企业级解决方案。

而与HANA相比,很明显Oracle Exadata在磁盘层读取技术上进行了大量创新,Smart Scan以及Storage Index等技术,都是更有意思的创造,从这一点而言,Oracle的创新更大,作为内存数据库+内存分析解决方案的Exalytics提供了跟Exadata的完美连接,如果需要分析的数据过于庞大而无法完全放置在Exalytics的内存中,那么仍然可以通过Exadata中的压缩,并行,智能扫描等创新技术来加速存储在磁盘中的数据的计算。这是一套更完善的解决方案,也更适合企业IT架构更平滑的过渡。

我们可以简单地认为SAP HANA是一个内存数据库解决方案(这可以与Oracle TimesTen相比较),或者称为内存计算解决方案(这可以与整合了Oracle BI,Oracle TimesTen以及Essbase的Exalytics相比较),这与Exadata的定位以及地位完全不一样。

说的更直白一些,凭着内存足够大,将数据都放到内存中,来获得计算速度的提升,这算什么创新的本事?内存大了,哪家数据库厂家花点儿心思在持久化保存上,都能这么干,这样并无核心竞争力。

以下列出一些分散的并不成体系的关于SAP HANA和Oracle Exadata的观点,同样,欢迎点评及讨论。

1. SAP HANA中列式表和行式表的转换也许是一个亮点。我想Oracle在Exadata中应该借鉴。

2. HANA迄今为止只支持报表应用,因此维护大并发需要的事务锁机制这个最大的技术难点目前看SAP还没有任何解决方案,那么这样的产品并不能与Exadata相提并论。事实是这样的:一直到2012年之前,SAP HANA的解决方案都称为SAP BW Accelerator,这需要一个独立的HANA数据库来完成BI报表,直到SAP BW 7.3 SP5 on SAP HANA的出现,HANA可以当作主数据库使用,不但是查询,而且企业数据改变也直接访问HANA,但这也仍然只是面对数据仓库以及BI领域的应用,这时候被称为SAP NetWeaver BW Powered by SAP HANA(说实话,这名字真够长的)。迄今为止HANA还未能宣布支持真正OLTP应用的案例。

3. HANA的数据持久化机制从文档上看,并无任何特殊之处,几乎与Oracle完全一样,通过将提交的事务写入log,来保证断电重启以后,可以重演log,这就是Oracle的redolog写机制。

4. 成本比较,HANA的硬件成本更贵,因为需要的内存更大;而同时只要企业真正业务产生的最原始数据是需要通过数据传输/同步手段(无论这个传输过程标称如何快速、如何实时)转移到HANA中的,HANA就还需要表复制,表同步的时间和人力成本;还需要额外的手段将SAP应用的相关报表数据迁移到HANA中,即使SAP宣称有快速的最佳实践部署方式,但是只要一种方式可以被称为solution,那就不会太简单。

5. SAP把HANA视为革命性地创新,试图打造一个围绕在HANA周边的原厂,合作伙伴,客户共同创造新应用的生态圈,虽然我们需要承认内存计算导致的应用延迟降低,确实具有其革命性的潜质,但是我仍然认为SAP期望过高。
HANA的多合作伙伴硬件一体机架构,可能会导致混乱。虽然SAP限定了CPU型号(Intel E7),内存型号(Samsung),以及操作系统版本(SUSE Linux SLES 11),但是每家合作伙伴的硬件设计工艺都不尽相同,服务能力也有差距,而SAP自身是否有足够能力同时保证七个硬件厂家(目前7家合作伙伴是Cisco, Dell, Fujitsu, IBM, HP, Hitachi, NEC)产品上运行HANA的性能,质量,可用性的测试认证,这也存在疑问。这并非一体机的好模式。

6. SAP的优势在于从ERP应用往下层延升,试图进入新一代数据库市场,而Oracle本来就占据数据库市场霸主地位,Exa系列的推出拓展了一片新的一体机天地,看看能否借助这样的优势,往上层延升,获得更大的ERP应用市场份额。

7. 在文档中多处看到了以Apple为例,看来Apple才是现今各种创新的源头,大家都从Apple那里学习和借鉴。各大厂商实际上都在尽量整合自己的解决方案,历来都如是,所以如果从这个意义上而言,其实从来就不缺乏一体机的概念。不过你有办法想象苹果的成功会来自于苹果提供iOS,指定芯片类型,而由三星或者诺基亚来制造手机吗?所以看上去Oracle在学Apple,而SAP在学Google的Android策略。

最后,有两个疑问能否有人帮我解答?
1. HANA的后台持久化磁盘存储也是共享磁盘,这是需要一个SAN磁盘阵列吗?那么一个HANA集群中的多个数据库实例是通过Share Everything的方式来共享访问这个存储?
2. 如果一个HANA节点挂掉了,这部分数据全部重新加载到备用节点的内存中,这个过程大约要花多长时间?我现在获得的数据是每秒钟扫描100TB数据集中的1000亿条记录(这个说法实在模糊,是扫描100TB数据还是扫描1000亿条记录,1000亿条记录又是多大数据?),每分钟可以加载1600万记录到内存中,这样的话,一秒钟扫描的数据也需要加载10小时才行?

Why Mac OS X is great than Windows

本文豆瓣讨论请猛击此处

为什么Mac OS X Mountain Lion比Windows伟大?如果你拥有一台iPhone和一台Mac笔记本,还有一台Apple TV,并且Mac笔记本中运行的是Mac OS X Mountain Lion,你会明白什么叫硬件、软件一体化的解决方案,你会明白原来生活中所有需要的电子产品能够提供的辅助功能,这一套设备就全部提供了,你会明白为什么说Mac OS X比Windows伟大。

在Mountain Lion没有推出之前,很多人说这样一个Lion加强版怎么还要再收费100多人民币呢?也许Mountain Lion确实是Lion的升级版,但是这个升级版却可以说是划时代的,它几乎全面打通了Mac OS X和iOS的交互,在这个版本之后,Apple的Mac OS X操作系统真正地作到了比Windows伟大。

Notes用于记事,Reminders用于备忘和计划,iWorks用于企业文档,TextEdit和Preivew用于普通文本文件和图片的浏览,Notification Center集成了多种社会化软件的功能,iTunes用于iOS软件的下载安装,App Store用于Mac OS X的软件下载安装,Game Center用于那些游戏是生活一部分的人的交互,而这一切都以iCloud作为云服务的支撑,只需要在系统中创建一个Apple ID。这种深入到骨髓的云化在Mac OS X Mountain Lion中表现的淋漓尽致。

如果你只有一个Apple产品,这种遍布系统各个角落的云化可能并不能让你有深刻的体验,但是如果你拥有多个产品,不需要太多,一部Mac笔记本,一个iPhone,一台Apple TV(当然你还需要一个真正的电视),一个人的生活中所有需要的与电子产品相关的娱乐(比较基本的娱乐)以及一个人的工作中所有需要的与电子产品相关的硬件软件,就可以完全搞定了。

我并不知道最终的Windows 8会是什么样,但是至少从测试版中我只发现不过是一个加了Metro样式壳子的Windows 7,面对山狮,Win8毫无胜算。

当人们意识到Windows系统已不再是稳当的龙头老大,不再具备完全无法撼动的优势时,没有人能够预测到怎样的市场力量将会被释放出来。

Vim – Amazing Editor for DBAs

每周五下午公司的技术分享日活动名称为-恩墨讲武堂,已经持续了很长时间。所有人都有机会站上讲台,明天我分享的主题是Vim使用技巧。下面是即将使用的幻灯片。光看幻灯片可能比较枯燥,因为都是命令的罗列,但是现场演示效果一定很棒。

无论你是在用Mac OS X还是Windows还是Linux,Vim都是你的选择。
如果上面的命令里,你有50%几乎没有用过的话,你应该再去好好研究一下Vim了。
如果你越过了一开始学习Vim时候的那道并不算陡峭的屏障,熟悉了Vim之后,你会发现这是一个让人惊艳的具有无尽可能的编辑器,让UltraEdit? TextWrangler? EditPlus? 见鬼去吧。

在Slideshare中还有另外一篇很不错的Vi/Vim的幻灯片,有兴趣也可以看看。

Vim

View more PowerPoint from alkeshv

How to use Python to automatically modify WoW toc file version

魔兽世界(World of Warcraft)每次版本升级以后,在没有新版插件出来的时候,通常都需要手工修改插件目录中的toc文件,将其中的版本号修改为当前版本,否则在插件界面会显示“版本错误”而无法正常加载。如果有数十个插件,而又要一个一个手工修改的话,是很大的体力活。之前在Windows下的时候,会有人专门写一些程序,只为自动修改这些插件的版本号。

那么在Mac OS X下,如何修改呢?今天将台服的魔兽世界客户端从之前的4.2升级到4.3,于是顺手写了一段Python脚本,并没有什么灵活的设置,只是将插件目录下的所有toc文件遍历一遍,将其中的“Interface: 40200”字样替换成“Interface: 40300”,仅此而已。

1. 新建update_toc.py文件,用任意文本编辑器打开

2. 将以下内容复制到该文件中,保存
[code language=”python”]import tempfile
import shutil
import os
import fnmatch

#rootdir表示AddOns目录的绝对路径,可以根据不同的安装位置自行修改
rootdir=’/Applications/World of Warcraft/Interface/AddOns’
for root, dirs, files in os.walk(rootdir):
for file in files:
if fnmatch.fnmatch(file, ‘*.toc’):
fullpath = os.path.join(root, file)
#创建临时文件
fh, abs_path = tempfile.mkstemp()
new_file = open(abs_path,’w’)
old_file = open(fullpath)
for line in old_file:
#将所有40200版本号修改为40300,以后如果再升级为5.0,修改此处即可
new_file.write(line.replace(‘Interface: 40200′,’Interface: 40300’))
#关闭临时文件
new_file.close()
os.close(fh)
old_file.close()
#删除原toc文件
os.remove(fullpath)
#将临时文件改名为原toc文件名
shutil.move(abs_path, fullpath)
[/code]

3. 由于是Mac OS X,如果没有什么意外,应该是已经内置Python的,可以通过以下命令确认当前Python的版本。

$ python --version
Python 2.7.1

4. 运行上面创建的python脚本

$ python update_toc.py

Would you like to join us?

我所在的公司-云和恩墨,诚招软件服务类业务顾问。

一、如果具备以下的特质之一,请发送简历至hr@enmotech.com
1、 积极主动的自我驱动;
2、 渴望成功,并愿意坚实付出努力;
3、 灵气,好悟性;
4、 系统软件(特别是数据库软件)技术基础。

二、加入公司,即会获得:
1、初中级顾问4000-8000月薪;高级顾问薪资面谈。
2、6%-10%的项目提成
3、齐全的保险;
4、免费的点心,水果;
5、以人为本,开放自由的创业体验,
6、共享公司发展的全员激励回报;
7、价值创造获得的尊重与成就。

三、工作地点:
1、总部:北京
2、地区总部:东区-上海、南区-广州、西区-成都
3、各省会城市

Find Me in OTN Magazine Peer-to-Peer

在OOW系列文章中间插播一则。最新一期的OTN杂志中有一节短篇幅的对我的采访文章。实际上在采访时问题更多一些,最后成文只保留了三个问题,分别是:
1. 工作中最喜欢的工具是什么?
2. Oracle数据库的哪项新功能是当前工作中觉得最有价值的?
3. 改变你生活的技术是什么?

OTN杂志是双月刊,之前的印刷版可以免费订阅,Oracle会定期邮寄到家,全球通用。去年开始我不确认是不是还有印刷版,但是电子版仍然是可以免费订阅的,可以在网上直接浏览也可以下载PDF版本,整个杂志制作极为精美,对于技术人员来说,每一期也都有吸引人的技术主题,Tom Kyte和Arup Nanda在几乎在每期杂志中都有专题。

本期杂志网上浏览及PDF下载地址,猛击这里
本期杂志PDF已经上传到Google Docs中,较大,将近13M,请点击此处下载。