The Mirages

樱桃沟夹事

先说线路吧。我们选的是草原天路桦皮岭进,野狐岭出。

北京段是G7转G6. 然后在河北路段是G6转7环。但是我们的线路是G6出了北京后直接从怀来下,然后走S241往赤城方向走,到了赤城可以修整一下,然后走S345往桦皮岭方向。

好处是高速费用从125元降低到46元,另外一点是可以在赤城吃点不错的,同时时间上也就差20分钟左右。因为这两段省道几乎没什么车。等京礼高速河北段通车后可以直接走这个。

回来因为我们还去张北县城吃了点饭,所以是从张北县城走的,不过也很好走,但是这段路基本都是下坡路段,小心躲着点大车,路上就碰到大车装的树干还都掉下来的。

回来就是海张高速(原张石高速)转G7转S32到G6,重点来了,从G6的东花园下,因为要避开延庆康庄的进京检查站,从东花园下,走X415和X457,同样过进京检查站,然后到康张路继续上G6,但是注意了,这一段G6只有一个车道到营城子桥上京礼高速。后面就是北六环和G7了。

阅读全文 »

之前把域名解析放到了cloudflare上,然后手贱开了dnssec。 一直也都好好的。可突然有一天发现域名无法解析了。

使用root-server.net发现也不行。然后过会是有时候行,有时候不行。

tcpdump后发现还是dnssec的问题。于是就把dnssec关了。可过了几天又发现无法解析了。

然后查了下cf的dns server还有dnssec的信息,这个它们缓存难道一直都存在的,这都快一周过去了。

想着可能cf为了降低请求,很多东西做了cache了。虽然它们的dns速度确实快(anycast),可这个也挺闹心的。而且以大宋的德性可能哪天就把cf的都毙了也未尝不可。

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
$ dig +trace @8.8.8.8 mirages.tech

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> +trace @8.8.8.8 mirages.tech
; (1 server found)
;; global options: +cmd
. 158841 IN NS j.root-servers.net.
. 158841 IN NS a.root-servers.net.
. 158841 IN NS i.root-servers.net.
. 158841 IN NS f.root-servers.net.
. 158841 IN NS b.root-servers.net.
. 158841 IN NS e.root-servers.net.
. 158841 IN NS h.root-servers.net.
. 158841 IN NS g.root-servers.net.
. 158841 IN NS m.root-servers.net.
. 158841 IN NS k.root-servers.net.
. 158841 IN NS d.root-servers.net.
. 158841 IN NS c.root-servers.net.
. 158841 IN NS l.root-servers.net.
. 158841 IN RRSIG NS 8 0 518400 20190909170000 20190827160000 59944 . EFpGhBQQSuo6SS3+ItlYJq7XcSH8Vu93qxd9NOwRt4shL9mbFoyB9kju ewKw0QatndXOsiWUSNQ/sE7QJs5UbK8r7OnbqHO244yCt7/eRHUKkAdh zo7jtoGLsTvCZghkKY5zEnv2guI4CaGZszFGAt7sagHVxpReqz/Y+Io1 FfeilPd8j+zll1LnELFRaEY76Y07rq6kteW3zeQaKZJK0coL0eGw5lSa MUkYv1lLZCByblRdj9ZLAgFMyc++45A7oaqjrImDeMGhLFoQHlQgmfDs GaJPq+jY5BDAs9IBEB21y7fI1hcjC+9LLqfxDhSDIpYh9AqtYDZaVAoj d1dXMw==
;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 2 ms

tech. 172800 IN NS c.nic.tech.
tech. 172800 IN NS a.nic.tech.
tech. 172800 IN NS b.nic.tech.
tech. 172800 IN NS d.nic.tech.
tech. 86400 IN DS 50095 8 1 82F72F2462DEE25B99DA2470535AD0A7D131F1EB
tech. 86400 IN DS 50095 8 2 83F40D01141484D8F07305E5D2E44AC5663149054C598D6E9D993C66 1686C6EE
tech. 86400 IN RRSIG DS 8 1 86400 20190910200000 20190828190000 59944 . aiemKphEAyci7O+fz2CQyxFy2KfTzl+oPn+NxgT2cNHh/DDiuu3Go3EK HENZTeiT/tPu35W46bppO038X61KMdQSZsrXplQRVVMcO9Jpq42o+eOY DNF194P2WaVSTBV8q7btolQ+zu/JOs80X4dlTVR385DcF1jx30VVjKkn 2j5e1ovrT2aBNhQl/GwV2wfGRPGWZqfdLn2kW+C8RHsiZSw60JH65m0P BbTNPFfOmxlNLAdhQ6TDiSRZdY+QuMWgG2dp+DFnsp/6J1OLxHGUur6a 7uqxN+1KBAZWXaTyhW6dZDIPhRiTfSc0gWrnwAh9n4RPQpNaPeaxz41i g+lOVQ==
;; Received 656 bytes from 199.9.14.201#53(b.root-servers.net) in 160 ms

mirages.TECH. 3600 IN NS ada.ns.cloudflare.com.
mirages.TECH. 3600 IN NS ajay.ns.cloudflare.com.
9btf69hmd3n6368rdfnvtq09vgqbb2th.TECH. 3600 IN NSEC3 1 1 1 - 9CGN7IGB27MOH4RP0I7GC83KQLRBT0HF NS SOA RRSIG DNSKEY NSEC3PARAM
9btf69hmd3n6368rdfnvtq09vgqbb2th.TECH. 3600 IN RRSIG NSEC3 8 2 3600 20190920004611 20190821054820 22663 tech. A6sp04y1j3qTpuw+zw96erFS5eG8A+TJdNAe/GPdFtVqM0Q6j7dSPu8d 0s/OdB/cXWA4k1OuekhADw14Fp+aX4UiwNzq1/P2QNtyBw9J7vSnaQAs gtmVVMNG9zSuXh9G+L4yMHEc4HYIpWpg+/uKjgpIR3AcP7GK560QeIcy bL4=
qbbjqiak5v5p87kiq7o7cicsc74tfr6c.TECH. 3600 IN NSEC3 1 1 1 - QBJ1KGVM7SU62KD6TGDEFM8GT4KC22NB NS DS RRSIG
qbbjqiak5v5p87kiq7o7cicsc74tfr6c.TECH. 3600 IN RRSIG NSEC3 8 2 3600 20190925002624 20190826011721 22663 tech. U1hRPv+RSFOdGPyM8qemhZNLiB+S0FyZ15ouxIW4dGl5j8cP/yLr1fE8 JJdc8yBA4swxYgRLFHTR/Vcn8OapiVZEQ8uRGXUFFO5t7v4v+mcmx+cX ArF5BHdEZ/pli6CMmlZ4uAGbQli2qSepoZ7DaGzRIpVDm6I9YzQyTgY8 qfE=
;; Received 594 bytes from 108.59.161.6#53(d.nic.tech) in 4 ms

mirages.tech. 300 IN A 128.199.68.155
mirages.tech. 300 IN RRSIG A 13 2 300 20190830044112 20190828024112 34505 mirages.tech. TC8TpuAHCWpUHUltic8X5Sq329XqBNQNtJhAUjl2rHEk4gTLYSqj+9sX ggW8mslyTl/RapSweCoEwz/PxB62Og==
;; Received 165 bytes from 173.245.58.54#53(ada.ns.cloudflare.com) in 2 ms
阅读全文 »

从两岁半开始,孩子开始产生了“自我”的概念。在刚出生的时候是没有的,成长过程就是一个自我构建的过程。

最初儿童是通过占用属于自我的东西来区分自己合他人的。当儿童占有了自己的东西,当这个东西完全属于他时,儿童才能够感觉到“我”的存在,这也是儿童的自我诞生的标志。

而作为父母应该满足儿童的这个要求,更不要去谴责这些行为,给予一个良好的成长环境,因为这是构建自我的开端。

有些父母可能会担心这种行为是自私的表现,其实大可不必担心,因为到了4,5岁的时候,分享的敏感期就到来了。

0-6岁的儿童几乎将他所有的热情和注意力集中在自我的构建中。没有自我,就等于混同他其他人,并在人群中消失。我们所期望的创造力、幸福感、独立性、意志就无法出现我们的身上。

在两岁半开始,儿童的秩序敏感期就会来了。分为了三个阶段:

阅读全文 »

之前搞定了jira和confluence的账号同步,可是又出现了新问题。jira的邮件通知又不没效果了。

验证了下,手动发送也都没问题,那看来问题不是在邮件上了,而应该是调度上了。

先看看日志

1
Exception when evaluating if child issues panel should be displayed.

这个日志可真没什么用啊,这个是由于插件太多导致的一些兼容性问题,而且都是warn。

去Scheduler Administration看看,发现居然报500错误了,看来问题很严重,所有的调度看来都不行了。报的错误是:

阅读全文 »

本文参考了:
https://www.infoq.cn/article/raft-paper (raft paper的中文翻译)
http://www.calvinneo.com/2019/03/12/raft-algorithm/

学习任何一个新知识点我们都要先问下自己这个主要是解决什么问题的,它的优点是在哪里。

前提

首先我们要知道这个算法里都有哪些角色:

  1. Leader: 领导者
  2. Candidate: 候选者
  3. Follower: 跟随者
  4. State Machine: 状态机(就是将本地日志里的内容按顺序进行,最终得到的结果应该是一样的)

这些角色都带有哪些属性呢?

阅读全文 »

自从上次把2个confluence进行合并(space导出再导入)后。就突然发现confluence和jira之间的账号同步就生效了。老是让你看日志。

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
2019-XX-XX 02:53:32,298 ERROR [scheduler_Worker-7] [atlassian.crowd.directory.DbCachingDirectoryPoller] pollChanges Error occurred while refreshing the cache for directory [ 131073
].
com.atlassian.crowd.exception.OperationFailedException: javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 54610; An invalid XML character (Unicode: 0x8) was found in the element content of the document.]
at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:497)
at com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchUsers(RestCrowdClient.java:557)
at com.atlassian.crowd.directory.RemoteCrowdDirectory.searchUsers(RemoteCrowdDirectory.java:371)
at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.findAllRemoteUsers(RemoteDirectoryCacheRefresher.java:55)
at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.synchroniseAllUsers(RemoteDirectoryCacheRefresher.java:90)
at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:89)
at com.atlassian.crowd.directory.ldap.cache.EventTokenChangedCacheRefresher.synchroniseAll(EventTokenChangedCacheRefresher.java:67)
at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:1122)
at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:76)
at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:50)
at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJobRunner.runJob(DirectoryPollerJobRunner.java:93)
at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:135)
at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:101)
at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:80)
at com.atlassian.scheduler.quartz1.Quartz1Job.execute(Quartz1Job.java:32)
at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool.lambda$runInThread$46(ConfluenceQuartzThreadPool.java:19)
at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool$$Lambda$95/1449220024.run(Unknown Source)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 54610; An invalid XML character (Unicode: 0x8) was found in the element content of the document.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:514)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:215)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:190)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:241)
at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:489)
... 18 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 54610; An invalid XML character (Unicode: 0x8) was found in the element content of the document.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:211)
... 21 more

贵司用的版本是5.8.10, 说是XML里有 Unicode: 0x8 字符。 查了下char这个字符是退格键。 这可麻烦了。找了一圈文件里好像也没有。 放狗搜索出来的也不对。那就死马当做活马医了。

先把jira和confluence都停了。然后导出2个服务的的数据文件,进行全局替换, 再导入就齐活了。 以后再报这样的问题就明白了吧。

1
2
3
4
5
6
7
8
9
10
11
$ ./stop-confluence.sh
$ ./stop-jira.sh
$ mysqldump -hxxxx -ujira -pyyyy jira > jira.sql
$ mysqldump -hxxxx -uconfluence -pyyyy confluence > confluence.sql
$ CHAR=$(python -c 'print u"\u0008".encode("utf8")')
$ sed 's/['"$CHAR"']//g' jira.sql > jira.txt
$ sed 's/['"$CHAR"']//g' confluence.sql > confluence.txt
$ mysql -hxxxx -ujira -pyyyy jira < jira.txt
$ mysql -hxxxx -uconfluence -pyyyy confluence < confluence.txt
$ ./start-confluence.sh
$ ./start-jira.sh

替换完我们回头看看2个文件还是有差异的

阅读全文 »

豫峰是我的一个同事,也是我的一个朋友。
共事有1年多,后来跟XXX一样去了头条。
由于离得近,所以也经常联系。

但是没想到居然得了肺腺癌,还是到了转移的阶段了。看过《众病之王》的我知道这意味着什么。

但是我想告诉你的是,人生难免有波折,接受这个现实,但是并不等于放弃希望。

既然现在无解,那就按照自己的方式来过好每一天吧。

就跟《肖申克的救赎》里说的“Hope is good thing, maybe the best of things. And no good thing ever dies.”

这个花了2个小时迅速的看完的。突然有点狠感慨。然后就想到《梦醒时分》这首歌了。

球子让我复述下为什么感慨,可又说不上来,复述能力太差。

简单来说分为3段。

第一段6岁开始,在那个衣柜里的懵懂和13岁时候的幻想。

然后接着寻找故居的时候,友人为了不让他对于没好幻想的破灭,而没有让他见哪位13岁时候天天幻想的女孩。不然这美好的回忆不就糟践了。

我们怀念的是那段“青春期”中的青春,青春不论放在哪里都是人生中最光彩的一段时间;青春期即使“无奈”,到了老年也会渐渐变得“无悔”。

阅读全文 »

这本书是著名的威尔·杜兰特写的。本书也实在是太出名了,可也是最近才看。

重点看的是经济与历史,社会主义与历史,政府与历史。很多东西跟我们的历史教材有很大的出入。

经济与历史

比如法国大革命的到来之时因为中产阶级已经上升到经济的领导地位,为了他们的企业和贸易,他们需要立法的自由,渴望得到社会的认可和政治权利。

而这些大革命的动机往往是被隐藏起来的,但是结果却是取决于群众的情绪。也就是勒庞说的那些乌合之众的情绪。

而从经济角度来看,历史总是会通货膨胀的。就是这个度的问题,很难有政府会约束好自己,肯定都是想着多发币来解决。所以对于普通民众来保有商品总是正确的,至于是不是商品期货就不是一般人能玩的了。

阅读全文 »

《第56号教室的奇迹》本书核心内容就是寻找六个阶段。

  1. 我不想惹麻烦
    我们要孩子们有良好行为表现的最终目的,是让他们相信这么做是对的,不是因为害怕惩罚才去做。因此实际中我们是要跟孩子成为朋友,让他信任你。
  2. 我想要奖赏
    我们要让孩子知道,行为得宜是应该的,不需要给予奖赏。
  3. 我想取悦某人
    这样的孩子长大后就会倍感沮丧、厌恶工作的人。
  4. 我要遵守规则
    带着孩子一起来进行规范设计,参与指定规范的孩子比较愿意遵守规定。规则固然有其必要性,然而在我们最敬仰的英雄大众,有许多人之所以成就伟业,正是因为他们不守规则。因此需要看这个是否真正发自内心真诚的。
  5. 我能体贴别人
    能帮助孩子对周围的人产生同情心是非常了不起的成就。
  6. 我有自己的行为准则并奉行不悖
    行为准则存在于个人的灵魂中,其中还包括了一份健全的人格在内。这种做事方法的人永远都有自己的目的性,而不在乎外面怎么看。比如《肖申克的救赎》里的瑞德一样。
    他的行为不是取决于恐惧、取悦他人,或是规则:他已经有自己的一套规则

后面讲的方法就感觉没有重点,感觉作者也是对于美国教育一顿批判,批判主要是太注重分数,而不关注实际的能力。

而作者本人对于阅读和写作是最重视的。其他就是德智体美劳全面发展了。

阅读不是一门科目,它是生活的基石。因此要跟孩子一起读书,去图书馆一起看书等等。

同时作者对于艺术也很推崇。接触艺术教育的孩子学到的,远远超过他们所学的艺术本身。比如加入管弦乐队的孩子不只学到了如何拉小提琴或者吹单簧管,也学到了纪律、责任、牺牲、练习、更正错误、倾听、以及时间管理。
可见团体艺术教育的培养对于孩子很有很出,从这看来什么钢琴十级这种都不重要的,重要的是在集体中。这样前面6个阶段的前面5个可能会更容易达到。

阅读全文 »
0%