Welcome to my blog. The English verison of posts are in En page.

使用openwrt

今天花了不少时间在openwrt上(实际上是全都花在上面了),从一开始的写入到最后终于能跑;

因为手头没有可用的路由器,只能通过无线连接以及网线来调试,IP设置上的问题吃了不少苦头,

最后一个个排查终于解决了问题。

安装

我这里的设备是RaspberryPI 3B;对应的openwrt的下载链接,只有8M,解压缩后有300M,很神奇,估计是IMG里面有不少00;

配置

配置上参考了几个博客:

关于ipsec

在网上没有搜索到现成的配置,今天已经比较累了,如果明天有时间再看吧。

从Vim转到Atom

2018-08-27

Vim大大小小也算是用了3年了,中间也尝试过不少IDE,从爽度上讲,Visual Studio绝对是最令人舒爽, 愉快的。不过,Windows本身的体验太差——对bash的支持太差;朋友win经常死机;因此不太喜欢用vs。 此外,vs收费,手头没钱。因此,决定使用Atom来做下一步的开发。

为什么不用Vim了

Vim搭配python-mode的确是能带来不错的书写体验,但是因为Vim本身功能需要自己来写, 而vimscript在我这里着实不好用,学习起来虽然不能说有很大的难度,但是不同插件之间的调整, 以及出现小问题闪现而过得debug信息【输入:message来查看】等等,都不是很舒服。

此外,我的Vim插件很多,运行速度已经受到比较大的影响,代码跳转速度都有些慢,体验着实不好;

转到Atom

Atom和Sublime比较了一下——虽然Sublime拥有用Python写扩展的优势,但是因为收费,而且我不认为这 个软件能让我心甘情愿的为其掏腰包,所以就干脆放弃了。选择了Atom。VsCode因为是微软家的东西,道理 上讲应该很棒,但是因为在开源开发者那边,大家可能不喜欢微软的一些做派,所以一些大牛不喜欢给微软 开发插件——因此最终决定转移到Atom。

此外,代码补全功能上,Atom的体验实在是太棒了!

[阅读全文]
vim 

python UART编程

UART串口编程发送接收上使用pyserial,数据处理使用struct

一般情况下,有了struct就不需要使用C语言写Python扩展了,但是实际上使用C语言在处理一些情况的时候会更方便一些,因此一个比较好的选择是,用C写模块,然后用Python调用。

Python 

关于Common-lisp

Common Lisp这门语言是我在大学中感觉第二难的编程语言——第一是汇编,我直到现在都不想碰它。

难在何处?第二章开始,一般语言断断续续看,一周也就看完了。但是common lisp,看了足足一个月——可能也是因为接触起来比较困难,屡次夭折我学习其的兴趣。据说,学了lisp的人都“疯”了,比如冰河先生,王垠先生等。但是对于一个Hacker来言,我想这更加大了这门语言魅力。(注:这个地方的因素有很多;本身lisp是不难的,入门的方式很重要。)

在书写代码的时候,总有种感觉,这个地方如果可以这么实现,那么真是爽之又爽。仔细想想,lisp这种加上'就转变的特性,就是人们所说的lisp可以自己写lisp程序,也就是类似于Java中的反射思想,这十分的诱人。但是相比较lisp,Java以及其他语言想要实现这个特点,可能要写很多代码——这就不符合一个懒人的特点,同样,写的代码越多,出bug的几率越大。

想到多少就大概写多少。过去的几天,发现自己突然对于lisp有了更高的理解,对于设计模式【噗嗤】以及lisp函数编程的一些特性也有摸到门框的感觉,十分开心。于是写这篇不足以称为“文章”的博客来略表自己开心的心情。

此后,这篇文章中更新学习笔记的内容


发现scheme更适合商业化;同时学学

lisp 

跨站评论系统

多说马上就关闭了,静态站的评论系统何去何从。

首先想要分析一下duoshuo的代码,看看自己能否实现。

不过,在看duoshuo客户端代码的时候没有搞明白到底是如何实现确认目标来源的。

似乎是自己生成生成一条Javascript代码,然后把head以及body加在上面,进而出一个界面。

embed.js就没有再看,好麻烦。

isso

在网上寻找一个合适的开源评论系统isso,可以自己搭建在主机上,使用Python+SQlite3实现。具体实现在其开源的代码中。

涉及到的知识有几个,一个是CORS,另一个还是CORS。

个人认为知识储备基本有了,但是如果要写还是很麻烦,于是就暂且弃坑了。

可以通过这个docker来部署wonderfall/isso,不过感觉docker-compose似乎存在问题,我无法直接挂载./config:/config,因此对于domer-compose中做此修改...../config/isso.conf:/config/isso.conf

此外,对于Flask实现这个留言系统,可以考虑通过flask-cors来实现。

《黑客与画家》读后

黑客与画家真是一本比较不错的书,点明了我许多朦胧的想法,也带来了很多新的思路。

就算是无法成为一个真正的成功者,成为一名合格的黑客也是不错的。话不多,来点摘录。时间间隔较长,

有时间再把相应的感受夹在其中。

一部分原因是,青少年在心理上还没有摆脱儿童状态,许多人都会残忍地对待他人。他们折磨书呆子的原因就像拔掉一条蜘蛛腿一样,觉得很好玩。在一个人产生良知之前,折磨就是一种娱乐。

如何制作viaweb

与用户直接对话的一些大型应用程序、被这些大型程序使用的程序、常驻后台报告系统出错的程序、重新启动出错部分的程序、生成统计报告或数据库索引的程序(偶然运行)、回收资源或者移动及恢复数据的程序(手动运行)、伪装成用户的程序(为了测试系统和发现bug)、诊断网络故障的程序、完成备份的程序、对外提供服务界面的程序、实时显示服务器状态和访问数据的程序(很受用户欢迎,对我们也是必不可少的)、修改后的开源软件程序(包括修正bug)以及许许多多的配置和设定文件。

你在害怕什么?

一件是你不懂得管理企业,另一件是你害怕竞争。可是实际上,这两件事都是没有通电的电篱笆。

此外,将公司管理视同软件优化还能帮助你避免VC担心的另一个陷阱——开发某种产品的时间过长。现在,黑客都已经熟知这一点,并总结出一个术语“过早优化”(premature optimization)。尽快拿出1.0版,然后根据用户的反映而不是自己的猜测进行软件优化

让书呆子保住他们的血汗钱,你就会无敌于天下。

什么是贫富差距

技术的发展加大了贫富差距,这是不是一个社会问题?好像没有那么严重。技术在加大收入差距的同时,缩小了大部分的其他差距。

贫富差距在人们无法温饱的时候尤为明显,但是在衣食足无特权的时候呢?

黑客们在想什么?

黑客改造语言的乐趣就好比外科医生摆弄病人内脏的乐趣,或者青少年喜欢用手挤破青春痘的那种感觉。至少对男生来说,某些类型的破坏非常刺激。针对青年男性读者的Maxim杂志每年出版一本特辑,里面一半是美女照片,另一半是各种严重事故的现场照片。这本杂志非常清楚它的读者想看什么^。

爆发的用户增长到底怎样?

用户是一把双刃剑。他们推动语言的发展,但也使得你不敢对语言进行大规模改造。所以,一开始的时候要精心选择用户,避免使用者过快增长。发展用户就像一种优化过程,明智的做法就是放慢速度。一般情况下,用户比较少意味着你任何时候都可以加大修改的力度。这时,对语言规格做出改变就像撕绷带,当你感到痛苦的一瞬间,痛苦就已经成为了回忆。如果用户数量庞大,修改语言带来的痛苦就将持续很长时间。

IPython学习

IPython6.0 版本更新,已经不支持Python2的相关版本,以及Python3.3以下的版本。赶紧升级吧!

Python 

博客随想

前几天向英明要了他的博客地址,学习了一番。看其博客内容充实,再看自己现在博客的空虚,遂感觉应该把之前的博客内容重新发布到自己的新博客中。如果自己有一定的能力,务必要让自己展现出来。

看阮一峰的博客,其中说的三个阶段都已经经历了——虽然技术似乎没有到达那个层次,但是阶段着实经历了——使用hexo,虽然不能在自己的站的基础上做提升,但是简便性方面,实在优势是太大了。因此,博客就作为一个写文章的地方,如果需要,在js的层面上做做拓展——如果不需要,任它去吧,自己还有几个不错的想法想要去实现。通过那些想法来做实践,比博客似乎更加贴近工业。

还有九日的博客。看了看未来游戏大拿最近的书单——真是一个踏实的男人,向他学习。自己也应该继续从书单上斩书了,且过了这个阶段,有时间再做吧。

斩书,是真的从本质上对自己作一个提升——私以为造轮子的人,总比用轮子的人高超一些。这句话说出来又感觉好像哪里不对(笑),以后探讨一番。

如何放松

前几天萌生这么一个想法,在休息,娱乐的时间学习技术,放松脑袋,岂不是一个双赢的策略?——后来看,似乎实践起来有难度。学习技术(新的语言,新的概念)并不能使我放松下来(笑,还是参与到健康向上的集体活动中去,才是有裨益的放松方式。

父母所认为的高学历的大牛们都是不玩游戏的,不知不觉被这个思想所影响了(笑。通过观察几个大牛,发现人家根本不是不打游戏的好么!每个人会有娱乐方式,只会工作不打游戏,不作休闲,我的天,那得是多么无趣的人啊——想必这样的人也不会成功到哪里去,至少我是这么认为的。笑,联想到父母看到这篇文章时,一定会补充一句,关键是控制好时间。

动辄写好多字的博主真是厉害

写了简单几个字,感觉把自己的意思说完了(笑,是个优势,问题说的简单明了;也是个缺点,似乎写不了很多东西,没有特别多的想法,或许是年龄不够,没有那么多的积累,也或许是没有其他博主对文章投入的心血多。

写到这里,觉得这篇博文是值得我以后再来自己读一读的,因此,在tags中标注出star,让自己以后也方便寻找这些自己觉得不错的文章。

友情链接以及观摩

学习他人先进的学习经验是非常有必要的。通过浏览冰河先生的博客,心生敬佩。向优秀的人学习,这是十分有必要的——我不认为自己无法成为大牛,成为一个成功的人,因此,向厉害的人学习,这是十分有必要的——连想都不敢想,凭什么能成功呢?这个时候看客可能笑了,怎么还写起鸡汤文章了——我认为这不算鸡汤文章,生活中存在太多不敢想的人了,也存在太多敢想不敢干的人了。道理都懂,那就再说一遍。

说了很多,甚是愉快,这篇随想似乎也是总结了不少自己之前的想法,行文过程中,也解开了自己的心结,快哉!

blog 

谈论一下编辑器

编辑器这个东西,一直以来的目的,要么是装逼,要么是提升程序员工作效率。

做物联网开发使用终端下的vim编辑器的确是行云流水——省去了git pushgit pull的过程。

不过仔细想来,真是工作了,恐怕使用这个东西频度就不行了。一方面,可以根据最近的一些更新,比如说vim的异步来提升一下插件的整体体验。工作环境是会变得,在配置编辑器上话费太多功夫总归是不划算的。现在正在体验spacevim——

  1. spacevim载入以后没有对其leader的介绍,可能是出于照顾新手?这点我有点不适应——我还以为加载出来以后,就是一个类似于spacemacs的界面呢。
  2. 原来是需要使用neovim才能体现出spacemacs的效果
  3. 速度实在是太慢了。主要是VimFiler的缘故,拖的整体速度都很慢。

其实本来想要写,进入工作环境,恐怕就没有那么多时间去摆弄编辑器了。但是似乎编辑器涉及到的技术,也有许许多多是可以共通的,因此,研究起来应该也是有价值的。不过使用起来,还是一整个配置好的环境更加舒服——IDE就免了,感觉上还是太重了,有一定自由性还是好的。

sublime似乎是一款比较优秀的编辑器,使用python作为他的”脚本语言“,就像”lisp“之余emacs,”vimscript“之余vim一样。不过,习惯于vim的我不太想要重新去看一个新的编辑器的API了,总感觉有些麻烦。

写的比较杂乱,主要是最近没东西玩了,复试总不能打游戏吧,只好研究个什么。——以考试为目的学习,真累啊。

vim  emacs