Changkun's Blog欧长坤的博客

Science and art, life in between.科学与艺术,生活在其间。

  • Home首页
  • Ideas想法
  • Posts文章
  • Tags标签
  • Bio关于
Changkun Ou

Changkun Ou

Human-AI interaction researcher, engineer, and writer.人机交互研究者、工程师、写作者。

Bridging HCI, AI, and systems programming. Building intelligent human-in-the-loop optimization systems. Informed by psychology, sociology, cognitive science, and philosophy.连接人机交互、AI 与系统编程。构建智能的人在环优化系统。融合心理学、社会学、认知科学与哲学。

Science and art, life in between.科学与艺术,生活在其间。

276 Blogs博客
165 Tags标签
Changkun's Blog欧长坤的博客

良好的编码体验的三个方面

Published at发布于:: 2017-03-11   |   Reading阅读:: 1 min
俗话说,工欲善其事必先利其器。没有了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 逐渐吸引我,从而慢慢开始转而它的地方。

2016 年终总结

Published at发布于:: 2017-01-24   |   Reading阅读:: 1 min

这个总结拖了有点久,原本按照惯例应该是圣诞节前后写好的,结果这次拖到了农历新年。

好在今年的除夕来得比往常要早,若是像去年春节延到二月份,这篇总结基本上就不会被写出来了。读了读自己往年的总结,不免读出一些学生时代的书生气息。尽管现在依然是学生身份,但却已天差地别。这篇总结也就不再沿用之前的标题,直接写做 『我的2016 年终总结』吧。

和往年一样,这一年也发生了大小不少事儿。但如果等我我年纪大了,届时回顾自己整段生命历程时,细数生命里有过多少关键节点,那么 2016 年绝对是必不可少的一个关键节点。

Read More阅读更多 »

2016 读书清单

Published at发布于:: 2016-12-18   |   Reading阅读:: 1 min
感觉时间越来越不够用,如今我总是很好奇当初大一时的我究竟是如何保持做到在不落下课业的同时还能忙于社团之间、阅读很多的课外书籍、整日沉迷数学的。不过好在我还是忙里偷闲,在课业拉下很多、年末将至之时完成了每年二十本的阅读任务(尽管其中有几本知乎出版的可能还不能称得上是一本合格的书)。按照惯例,年末的时候,把我这一年中读过的书籍都列出来。有些是小说,有些是传记,有些则是一些社科文学。 顺序是按照阅读时间排列的,其中的 3/4/13/18 差不多只读了一半,4 是一本描写反面英雄的小说,作者一开始讲述了许多奇怪的谋杀案从而逐渐引出主人公 Keller 的冒险故事,没有读完实在是因为词汇量和文化背景甚至阅读功底的不足,并不是因为书不够精彩。其他几本没读完的书大抵都是如此。 最近来德国后一直在读的几本书是 16 /17/20,这三本书可谓是鼎力推荐,读罢感触良多。 虽然 16 是一本相当于教说类的读物,其本质是一本讲词法和写作短语的教材,但这本书作为我第一本认真读下来的用英文写成的讲解英文的教材,从某种意义上对我的英文写作还是产生了一定的影响,让我明白了如何在写作中把一件事情足够精练有逻辑的表达出来。 17 可谓是一本装逼神器,早在两年前我就听说过此书,读过之后差不多就是一种暗爽的感觉,终于可以在别人面前大谈反乌托邦文学了。此书的顺利阅读其实是得益于此前读过的 1984、我们、美妙的新世界这三本书小说(所以后来我又重读了1984 的英文版,全当锻炼阅读了),它们可谓对我如同教科书式般有着潜移默化的作用,正所谓"娱乐至死",“媒介即隐喻”。 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

最近在着手写的文章

Published at发布于:: 2016-11-30   |   Reading阅读:: 1 min
开始读 Master 以后文章就变得鲜有更新了,但实际上在草稿文件夹里躺着很多篇我计划发布但迟迟没有写完的文章。我想先列在这里,用以警示我自己不要忘记继续撰写并发布它们: 当我们进行学术演讲时,我们应该谈论什么 Docker 极速入门教程3 数据与网络管理 Docker 极速入门教程4 Docker 安全 Electron 跨平台客户端的若干踩坑与最佳实践总结(已完成) 最近两次经历的 Hackathon 最近两次经历的技术型 Meetup 人机交互领域的研究应该是怎样的 人机交互与实证研究的若干评述 信息可视化的方法、工具和技巧 德国与中国的研究生教育有何不同 高性能并行计算小谈(1):从矩阵乘法谈起 高性能并行计算小谈(2):循环展开优化技术 高性能并行计算小谈(3):块展开与硬件无关调优技术 高性能并行计算小谈(4):共享内存与分布式内存机器 知识表示和推理(1):命题逻辑、描述逻辑、谓词逻辑 知识表示和推理(2):画面演算法及其扩展 知识表示和推理(3):语义网和互联网本体语言

微信小程序文档极致总结

Published at发布于:: 2016-09-23   |   Reading阅读:: 1 min
昨天晚上睡觉的时候看到有人把工具和文档放出来了, 今天果断上课看一波……读完后总结了大概下面几点: 小程序不会被销毁, 机制类似于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/… nav/map/… 总之负责文本/图片/视频呈现的 ui 组件都有了 资源 文档: http://wxopen.
Read More阅读更多 »

谈谈过去三个月在实验楼的实习经历

Published at发布于:: 2016-09-19   |   Reading阅读:: 1 min

这篇文章原本写于实习满一个月的时候,本打算作为阶段性总结,但本人实在是比较懒,一拖再拖,到现在实习已经基本结束了,本该属于我的坑也基本填得差不多了,我也可能要正式迈向我的研究生新生活了。就干脆改成整个实习阶段的总结吧。

与以往大二暑假、在德国交换的时自己主动找的几个实习不同,之前的实习都是我主动投递简历、毛遂自荐。而这次在实验楼的实习确实也是一件巧事,原本还在纠结暑假究竟是回家修整准备读研的事宜、还是找份实习打发一下无聊时间。结果正好在我决定回家的前夕,收到了来自实验楼的工作邀请。心想回家闲着也是闲着,自己正好也是实验楼一个(不算称职)的用户,所以在简短的和 BOSS 磊哥聊了一些工作事项后,就接受了在这里实习。

以前大二那份实习的工作内容异常的简单,每天就是面向 C++ 修各种 bug,写一写无聊的测试,实现各种简单到不能再简单的需求,每天下班前交付代码然后领工资,两个月坐下来没有一点感觉,没收获多少新知识,最大的收获可能就是零花钱。而这次的实习差不多重新点燃了我对新技术的几乎快要熄灭的渴望。

先说说工作情况

做毕设的时候,我总以为我接触过的技术是在是够多了,大大小小的各式各样的技术也不过如此,万变不离其宗,所以只要认认真真读一读文档,没有什么不能解决的问题。

然而事情并没有想象的那么简单,踩了不少坑,总结下来就是太年轻。在实验楼实习的三个月里,倒是接触了很多以前并不在意、也没有需求去了解的技术,比如 Linux 运维、比如 Docker 等等,我甚至为此列了一个长长的 TODO-DONE-LIST,并希望我能够在研究生生涯里把这些内容逐一攻破。

第一个月电脑如实的记录了我的工作状态(部分时候断网没有记录):

每天下来过得还算充实,比起整日待在在学校里、面对昏暗的寝室环境浑浑噩噩效率提高了不少。这次的实习干的事情不多,总结下来其实就是四件简单的事情:

  1. 十七门 C++/JS/Swift 学习课程
  2. 一个跨平台的桌面客户端
  3. 一套基于 ELK 的 Nginx 日志系统
  4. 一个很挫的 kNN+协同过滤 推荐系统
Read More阅读更多 »

Built a Desktop Client for My Blog给博客做了一个桌面客户端…

Published at发布于:: 2016-09-04   |   Reading阅读:: 1 min
I was bored, so I built a desktop client for my own blog. Download Github 我太无聊了,所以给自己的博客做了一个客户端。 下载 Github

Guacamole 源码分析与 VNC 中 RFB 协议的坑

Published at发布于:: 2016-08-21   |   Reading阅读:: 6 min

今天折腾了一整天 Guacamole,遇到了臭名昭著的坑,且听我一一道来。

简单来说 Guacamole 提供了浏览器端访问的桌面系统的解决方案。Guacamole 提供的解决方案主要由两部分组成:

  1. 浏览器端基于 HTML5,Canvas 技术: Guacamole Client 的 Guacamole-Common-JS 组件
  2. Guacamole Client 的 Guacamole Web 组件,
  3. Guacamole Server 仍然分为两个部分:
    • Guacamole Web 服务容器
    • guacd 守护进程与 RDP/VNC/TELNET 等其他服务进行通信。

下面这张图很好的解释了 guacamole 的架构,出自官网手册:

Read More阅读更多 »

《高速上手 C++11/14》正式发布

Published at发布于:: 2016-08-20   |   Reading阅读:: 1 min

最近一段时间一直在写这样一本书,今天总算是正式完成了。如今发布在了 Gitbook,主要链接如下:

  1. 在线阅读
  2. PDF 下载
  3. 相关代码

Read More阅读更多 »

Docker 极速入门教程02 - 镜像与容器管理

Published at发布于:: 2016-08-07   |   Reading阅读:: 2 min

这次我们来深入了解一下镜像和容器的管理,不过作为入门教程,我们只打算谈及一些常用的命令,而不去介绍 Docker 的深入原理,具体内容我们放到另一个系列中去探讨。

Docker 极速入门教程系列 (往期)

  • Docker 极速入门教程01 - 基本概念和操作

镜像管理

镜像是容器的一个只读模板,用于创建容器。当容器运行时,需要指定其镜像,当镜像不存在时,就会从 Docker Registry 自动下载。每次创建新的镜像,都会在原镜像上方增加一层,具体的原理在本教程里面不深入讨论,可以在本文后面的深入阅读中查看相关文章。

每一个镜像对应了一个唯一的 ID,同样的,镜像中的每一层也都具有一个唯一的 ID,因此,当从 Docker Hub 中 pull 镜像时也是分层进行下载的。

在上一篇文章中,我们已经提到了一些基本的镜像管理命令:

  1. docker search: 搜索Docker Hub镜像
  2. docker pull: 拉取镜像
  3. docker images: 查看本地镜像
  4. docker inspect: 查看镜像详情
  5. docker rmi: 删除镜像

再来看一些其他的常用命令。

Read More阅读更多 »
10 11 12 13 14 15 16 17 18
© 2008 - 2026 Changkun Ou. All rights reserved.保留所有权利。 | PV/UV: /
0%