2015央视春晚抄袭

2015央视春晚的两个小品抄袭
第一个《女神和女汉子》抄袭自韩国综艺节目《寻笑人》的《极和极》
从动作到节奏都非常类似

另一个小品《小棉袄》创意取材自日本组合unjash的《荞麦面店员和未婚夫》,虽然具体内容改动很大,但核心创意是一模一样的
2012春晚郭冬临的《面试》也是抄袭自他们的《打工面试》,被春晚抄了两次真是够有面子的

WordPress中文文章增加首行缩进

在模板的css中增加如下

.entry p {
   text-indent:2em;
}

 

原理很简单,这么做的缺陷就是如果你写英文文章也会被产生缩进,如下所示

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

解决办法是把英文的段落用div标签包起来

<p><div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </div></p>
<p><div>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div></p>

 

下面是效果

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Linux Voice对Tim O’Reilly 访谈

http://www.linuxvoice.com/interview-tim-oreilly/

第一部分Tim谈到了对开源和开放数据的看法。开源的问题没有多说,主要提到当前开放数据的交互性存在问题,对用户而言很麻烦,不存在统一的规范。提到了开放硬件和开放硬件统一接口的问题

当问道是否每个人都应该学习编程时,Tim觉得不需要每个人都学会Coding,但是需要学会通过自动化来设定机器,让机器完成更多的功能。(这可能通过友好的用户界面来完成。不过按照“不要让用户思考”的信条,我个人觉得更可能是通过机器学习尽量减少用户的干涉,但这样人是不是会变傻?)。

从学习编程出发,Tim提到了教学的问题。他觉得编程教育不应该成为强制教育,并举例说学校某段时间强制大家学习钢琴,结果很多人开始厌恶钢琴。应该让学习者感到学到的东西有用或神奇。他举了自己女儿的例子。他女儿对编程没有一点兴趣,只喜欢音乐。但现在为了设计音效,也开始学习某种编程语言(MAX,一种视觉化编程语言)。他提到了Maker Movement,并引用了前同事,现在在Maker Media的Dale Dougherty的一句话 What can you do with what you know?

最后的提问是关于出版业问题的。Tim觉得传统出版的未来毫无疑问将会主要是电子的, O’Reilly上的购买 90%都是电子版本。电子版本在成本结构上对于传统出版具有无可比拟的优势。他同意Seth Godin的说法,实体书将成为一种纪念品。承载的更多是感情因素。

对于亚马逊的注册阅读业务,Tim觉得最大的风险是沃尔玛效应,也就是做大到一定程度时销售商会倒过来压榨供应商。比如现在出版商会花大价钱购买排名之类。

Windows 7 下重新设置(remap)键盘按键

需要通过修改注册表实现
参考 How to Disable Caps Lock Key in Windows 7, 8, or Vista http://www.howtogeek.com/howto/windows-vista/disable-caps-lock-key-in-windows-vista/

比如想把Caps Lock键替换为Ctrl键,可以用下面的注册表代码

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
“Scancode Map”=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

CapsLock 变 Shift

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
“Scancode Map”=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,3a,00,00,00,00,00

Intellij J IDEA 配置外部 jsHint 工具

安装node.js

安装jsHint

npm install jshint -g

由于jsHint默认的输出不带文件绝对路径,intelliJ无法定位文件

所以需要安装另一个report module, 叫做jshint-path-reporter https://www.npmjs.org/package/jshint-path-reporter

npm install jshint-path-reporter

IDEA -> IDE Setting -> External Tools

intellij-jsHint-externalTool

其中几个参数

Program : 指向jshint.cmd的绝对路径,例如

“C:\Users\youpath\AppData\Roaming\npm\jshint.cmd”

Parameters : 需要指定reporter, $FileName$ 是IDEA用于替代当前文件的参数

–reporter=C:\Windows\SysWOW64\node_modules\jshint-path-reporter $FileName$

Working directory:

$FileDir$

下面很重要的一步就是配置output filter
添加一个filter, 正则表达式如下所示

$FILE_PATH$[ \t]*[:;,\[\(\{<]$LINE$(?:[:;,\.]$COLUMN$)?.*

这样就搞定了。在Tools菜单或者文件菜单里会出现你添加的选项,点击后console里会有检查结果,并且点击结果能够跳转到文件相应的行。

买了本王林大师写真

一激动吧,在网上花400买了本王林大师的写真集。

可惜是2007版的,比2011版少了50页,没有赵薇等人的照片。

 

DSC00663_conew1

DSC00665_conew1 DSC00664_conew1

《三重门》代笔证据 之 成书时间父子描述的矛盾

最近 @吕厂衣 贴了《磊落》中,《书店(二)》之后为了解释笔迹成熟度而加的一句话。
在这我用的是《磊落》扫描版的图片

三重门_02111

这段文字说:

高一时《书店》的原稿,现在看来的确有点恶趣味,而当时尚未创作《三重门》,没有经历30万字的硬笔书法磨练…

韩寒在这里告诉我们,高一创作《书店》时,尚未创作《三重门》,而且还用笔迹稚嫩来强调解释这一点。

我们看看韩仁均《儿子韩寒》怎么说的:

我们从他初二以后真正看到他的文章,是参加”首届新概念作文比赛”的文章《求医》、《书店》、《杯中窥人》。写这些文章时,其实他的《三重门》已将完稿了。相比写长篇小说,写这些短文就比较轻松了,这就像一个喝白酒的人,要他再喝点啤酒那简直像喝饮料。后来有人以为韩寒是借”新概念”获奖的名气然后再写长篇小说《三重门》的,这是一种不了解情况的误会。

韩仁均说韩寒写这些文章时,《三重门》已将完稿了。而且还特别解释了下韩寒写这些短文很轻松,因为他已经有过写长篇小说的磨练了。

关于成稿时间,当然还有很多其他矛盾之处,比如上海文艺出版社总编辑郏宗培的叙述,韩寒同学的叙述,但这些口述都可以用当事人记忆错误来搪塞过去。

唯独这些在纸上的韩寒父子自己的自我矛盾的描述,无法用记忆错误来解释。
《儿子韩寒》成书很早,不可能有什么记忆错误,况且还用这个写作时间顺序来强调“写短文很轻松”的原因。
《磊落》中则相反,还用相反的写作时间顺序来强调笔迹稚嫩的原因。

总结下:

韩仁均说:先写了《三重门》这个长篇,所以写《书店(二)》这些短文很轻松啦
韩寒说: 写《书店(二)》时还没创作《三重门》,所以《书店(二)》的笔迹很稚嫩啦

撒谎铁证!

iText 合并多个pdf文件

网上抄来的,备份在此

public class ItextMerge {
    public static void main(String[] args) {
        List<InputStream> list = new ArrayList<InputStream>();
        try {
            // Source pdfs
            list.add(new FileInputStream(new File("f:/1.pdf")));
            list.add(new FileInputStream(new File("f:/2.pdf")));
            // Resulting pdf
            OutputStream out = new FileOutputStream(new File("f:/result.pdf"));
            doMerge(list, out);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * Merge multiple pdf into one pdf
     *
     * @param list
     *            of pdf input stream
     * @param outputStream
     *            output file output stream
     * @throws DocumentException
     * @throws IOException
     */
    public static void doMerge(List<InputStream> list, OutputStream outputStream)
            throws DocumentException, IOException {
        Document document = new Document();
        PdfWriter writer = PdfWriter.getInstance(document, outputStream);
        document.open();
        PdfContentByte cb = writer.getDirectContent();
        for (InputStream in : list) {
            PdfReader reader = new PdfReader(in);
            for (int i = 1; i <= reader.getNumberOfPages(); i++) {
                document.newPage();
                //import the page from source pdf
                PdfImportedPage page = writer.getImportedPage(reader, i);
                //add the page to the destination pdf
                cb.addTemplate(page, 0, 0);
            }
        }
        outputStream.flush();
        document.close();
        outputStream.close();
    }
}

 

用XSLT 转HTML中插入换行符的解决办法

本质问题是需要吧xslt中代表换行的&#xA; 用html中的<br/>来代替。

下面是抄来的解决方案

<xsl:template name="lf2br">
  <!-- import $StringToTransform -->
  <xsl:param name="StringToTransform"/>
  <xsl:choose>
    <!-- string contains linefeed -->
    <xsl:when test="contains($StringToTransform,'&#xA;')">
      <!-- output substring that comes before the first linefeed -->
      <!-- note: use of substring-before() function means        -->
      <!-- $StringToTransform will be treated as a string,       -->
      <!-- even if it is a node-set or result tree fragment.     -->
      <!-- So hopefully $StringToTransform is really a string!   -->
      <xsl:value-of select="substring-before($StringToTransform,'&#xA;')"/>
      <!-- by putting a 'br' element in the result tree instead  -->
      <!-- of the linefeed character, a
<br>
will be output at   -->
              <!-- that point in the HTML                                -->
              <br/>
              <!-- repeat for the remainder of the original string -->
              <xsl:call-template name="lf2br">
                <xsl:with-param name="StringToTransform">
                  <xsl:value-of select="substring-after($StringToTransform,'&#xA;')"/>
                </xsl:with-param>
              </xsl:call-template>
          </xsl:when>
          <!-- string does not contain newline, so just output it -->
          <xsl:otherwise>
            <xsl:value-of select="$StringToTransform"/>
          </xsl:otherwise>
  </xsl:choose>
</xsl:template>

 

<xsl:template name="CopyWithLineBreakBR">
  <xsl:param name="string"/>
  <xsl:variable name="Result">
    <xsl:call−template name="lf2br">
      <xsl:with−param name="StringToTransform" select="$string"/>
    </xsl:call−template>
  </xsl:variable>
  <xsl:copy−of select="$Result"/>
</xsl:template>

使用时

<xsl:call−template name="CopyWithLineBreakBR">
  <xsl:with−param name="string" select="'my breaked
string'"/>
</xsl:call−template>

 

猫为什么要打哈欠

cat yawning

 

许多动物都会打哈欠,如鱼,鸟,猩猩。而人甚至在还未出生时就会。

养猫的都会发现猫一天至少打一二十个哈欠,那猫为什么要打哈欠呢?这个问题还没有确切答案。我们甚至还不清楚人为什么要打哈欠。不过至少已经存在一些理论,下面一一列出

  • 生理学理论认为打哈欠是因为血液中的氧气浓度太低。打哈欠这个行为能让身体进行一次深呼吸,同时刺激心脏,增强血液流动。
  • 激活理论。当猫处于一种矛盾状态:身体很困但由于环境因素又不能睡着时,通过打哈欠让自己保持某种程度的清醒状态。
  • 无聊理论。猫感到无聊了。
  • 进化理论。打哈欠是我们的祖先为了展示自己的牙齿而做的动作。是在什么情况下需要展示牙齿不是很清楚。
  • 通讯理论。就如同我们用微笑或愤怒的表情来传递一种信息,打哈欠是为了向告诉别人我们困了的。
  • 能量释放理论。通过打哈欠的动作释放某些特定肌肉的能量来达到放松的目的。
  • 掩饰理论。通过打哈欠这么一种仪式化的动作来掩饰自己紧张的情绪。猫在某些内心矛盾的情形下–比如前方有可口的食物但食物旁边呆着一条狗,通过打哈欠来保护自己。你可以通过对猫打哈欠或者眨眼睛来表示你不会伤害它。
  • 最后,就如同猫会伸懒腰一样,打哈欠可能只是因为舒服而已。

(资料来源 http://www.petplace.com/cats/why-do-cats-yawn/page1.aspx