2018-01-29 Mithrilwoodrat
2017年过去了,我很怀念它。 写2017新年杂谈的时候,我提到过,之前的目标是找到一个能够糊口的工作。 所谓能糊口的工作,即不考虑长远的情况下,工资足够维持在祖国的首都的基本生活支出,能够有机会沉下心学习技术。这个目标基本算是完成了,虽然持续的时间不怎么长。 继续阅读 »
2017-08-28 Mithrilwoodrat
PyLongObject PyLongObject 定义在 include/longobject.h 中,实际的 longobject 对象定义在 include/longintrepr.h 中。 ~~~C // include/longobject.h typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */ ~~~ 继续阅读 »
2017-07-30 Mithrilwoodrat
PyObject CPython 中基本的数据结构是 Object,所有的 Python 对象都可以用PyObject *来访问,CPython 中通过 Object 手动实现了对象系统。 PyObject 定义于 include/object.h 中,可以看到,结构体里只是一个简单的 PyObject_HEAD 宏。 继续阅读 »
2017-06-21 Mithrilwoodrat
准备调试环境 目前 CPython 的开发已经迁移到了 Github 上,可以直接去 Github clone 对应的分支。 我们将基于 Python 2.7.13 版本, Linux x86_64 环境进行接下来的工作。 下载好代码以后以 继续阅读 »
2017-04-09 Mithrilwoodrat
1 之前的项目里做了很多跟 DSL 有关的工作,加上某天在 HackerNews 上看到了how-i-wrote-a-self-hosting-c-compiler-in-40-days 这篇文章,于是又燃起了动手写个玩具编译器的想法。 继续阅读 »
2017-01-02 Mithrilwoodrat
每年都会写一篇新年杂谈,过去一年格外懒,一共没写几篇博客。 趁元旦假期的最后一天,抓紧时间开写,免得打破这个习惯。 过去一年多的时间里一直为找一份糊口的工作四处奔波,没有想到最后又回到了北京。 第一次在北方的过冬,在暖气基本等于没开的小黑屋里,看着窗外雾霾里若隐若现的路灯,和马路上冒着热气的井盖。 感觉就像看到福特告诉阿瑟地球马上就要被沃贡人毁灭了一样荒诞。 继续阅读 »
2016-10-05 Mithrilwoodrat
之前闲着无聊,参考着《程序员的自我修养》把最后一章的 minicrt 移植到了 64 位环境下。 项目地址:https://github.com/Mithrilwoodrat/toy-crt 移植到64位下主要存在的问题就是 read write 等 system call 是由 gcc 内联汇编实现的,移植到64位下需要按照64位的格式重写。 继续阅读 »
2016-04-24 Mithrilwoodrat
之前没事看了一点 flask 和 werkzeug 的源码, 就想着试一下做一个简单的 WSGI Server。 说到 WSGI, 可以先从 CGI 说起,所谓 CGI(Common Gateway Interface),可以理解为 Web Server 调用本地的可执行文件来参生动态内容的方式。 参考 CGI-维基百科。 继续阅读 »
2016-02-18 Mithrilwoodrat
今天刚刚回到学校,折腾了这么久,终于可以停下来慢慢看书找工作了。 很久没有更新技术相关的内容了,偶尔还是得更新一下的,不过这篇也不怎么能算技术相关。 使用 Github Page + Jekyll 的方式写博客一段时间了,分享下为方便写博客自己造的轮子。 继续阅读 »
2016-01-19 Mithrilwoodrat
按照惯例,每年结束时都会来一篇杂谈。只不过今年的来得有些迟。 这半年写了又删,很多东西最后都只是留在了笔记里。原本计划更新的技术相关文章也一篇都没搞定。  用一个万能的句子来做借口的话,便是"这段时间发生了很多事。"。并且其中有些部分不太适合在公开场合讨论。 继续阅读 »