2017.1.13

 • 

A new game by FinGameWorks will be shipped within this month.


RavenLab 组除了我(Cee,豪哥,愿愿,陈叔和柯姐姐)都去日本玩去了。我之前不确定学校放假时间所以没有跟着一起办,现在只能呆在家里看着大家玩了。


Contributions 1.0.3 上架了,新增以下功能:

  • 设置界面(Settings Bundle):进系统设置找 Contributions 可见。
  • 推送通知:后台刷新后可选带一条包含图片和统计的推送
  • 分享功能:同上,只不过做到了 UIActivityController 里了而已。
  • 新的界面:之前说过用 JazzHands 重写的。

以及,考虑给 Contributions 用 Element 3D 做一个 Promo video。


看了星球大战。听了 Hold Tight - Jamie xxFascination - Julie LondonHolding On (POMO Remix) - Disclosure Gregory Porter Pomo

2017.1.7

 • 

上周考完试,然后回到了家。
和一个朋友要一起做的 Unity 工程计划有变,先停了。
Roc Zhang 以及他的学弟在长沙吃了顿饭。
JazzHands 重写了 Contributions 的 iOS 软件界面,计划 12 号上架,这之前可以联系我或加入群组参加 testflight。后台刷新仍然有不小的 bug,据 Roc Zhang 称后台刷新也看手机本身软件数目多少,软件多的话分配给每个软件的刷新几率也就小了。现在看来貌似没有一个能保证每日定时任务的解决方案,除了陈叔和我提到的服务端刷新。但我并不想把这个东西做成带服务端的东西,除了这是 Side Project 不值得大费周章以外,我总觉得一个软件最好的状态就是无依赖,这样在某种意义上作为有价值的软件的生命周期会长一些
1
,这或许能解释我为什么对 P2P 这类概念这么着迷。
选了大三下学期的课,比上学期还多,倒是出乎我意料。不过肯定还是不怎么会去上罢了。
后面或许会开始填坑 Cetacea,毕竟在我的 Portfolio 上写了 ETA 是 2017 Late Spring,至少要先把 macOS 版本完成了。我倒不担心我的效率,但我担心我在那之前会不会对 Cetacea 整个项目失去兴趣了。
看了会海边的卡夫卡英文版。一个很有趣的比喻:'Money isn't like mushrooms in a forest -- it doesn't just pop up on its own'.
考虑还给当前这个主题加一个 Archive 页面,有时候找文章还需要用 Google,实在是太麻烦了。
这几天听了 Friday Night! (Original Mix)伤心者Waters Of March - Tim Biro EditJoint Thoughts

  1. 我是个主要写客户端的人,而我已经见了很多因为服务器关停而不能运作的 app 了,这其实是一件非常令人惋惜的事情。

2016.12.31

 • 

今年最后一个周末了。写些有的没的。


聊天聊到几年前高三暑假的时候,当时的我想做一个合肥一中的社区软件。
当时我对于软件开发完全没有概念,只是为了好玩一味地想要去做罢了,因此用了那种所谓的 webapp 平台,可以打包成拙劣的“原生软件”。同大部分服务一样,当时用的 webapp 平台也提供了非免费的高级服务,而且价格不菲。我当时自然是一分钱都没有,所以只能看着高级版本的特性眼馋。
算是自那两年多后,我变成了一个靠写软件吃饭的人。我能自己独立写出当时想要的客户端和服务端了,不过我也不再关心我当时的点子了。对于我来说,“能不能靠自己写的软件活下去”和“能不能赚钱买些好玩的电子产品”变成了我要追求的新目标。
十月份我在写一个项目,每天起床后就是看 Trello 上新加的功能,看 Crashlytics 新出的 bug,然后面对着 Xcode 敲 Objective-C。除此以外,我每天挂念的最多的或许就是什么时候能拿到钱。
聊到这里我莫名地有了种“杀了龙的少年自己变成了龙”的感觉。


推特上说总结的时候,说到今年大致就两件事情,“实习”和“厌学”。
“厌学”的事情原因不再多说,需要提到的是对于对大学不是很熟悉的人们,比如我的家人,有一种误解是“厌学”必然导致“退学”,但实际上在国内这种环境下,厌学作为一种被动的抵抗,被开除总是少数,更特别如果日常能打点下和学校的关系,一般是不至于被开的。
今年各种和学校和父母拉扯后我保持这个态度:我不会去打点,也不想去打点和学校的关系。如果学校真的觉得要开我,那我反倒觉得解脱。如果学校没有这个意思,那总算是不给父母添麻烦。反正尽量减少和学校的交集就是了。
十一月份的时候收到了 cityU 一位教授以为我大四所以发给我的邮件,就此咨询也了解了一些 Master / PhD 的消息,给我的感觉是其实读个也不坏。但我想我肯定不会在国内(大陆)读研/读博了。

另外,对于本科有类似困扰的同学,倒是可以看看 Randy Lu 的离开大学这一年你根本用不着退学 两则。


对于实习,对于我的一个影响是,我见到了很多过的很潇洒的人。“潇洒”几乎囊括了所有需要费口舌描述的词汇,因为每个人对“潇洒”都有自己的幻想,但内容是否相同不重要,我就是想表达那种心生感叹的心情罢了。
我个人一直是一个欠社交的人,客观原因或许是初高中都在距离家超远的寄宿制学校,自己习惯了在家没有朋友可以一起玩的生活,自然长大后在某些场合会心生怯意。所以对于我来说,“潇洒”比常人或许要多一层含义,就是那种在社交场合自然从容的精神状态。我从内心羡慕这些人,也珍惜能和这些人一起工作的生活,因为这也是获得自我认同的一部分。


写博客的时候我经常用“或许“,“应该”这样的词,因为我也说不清我说的是否是对的,所以总要保留余地。从今年的 hackathon 我学到的是另外一种不保留任何余地说话的风格,本身 hackathon 的 pitch 最多也就五分钟,这期间要 intro,要 demo,要总结,所以任何拖泥带水的地方都是减分的。
我见过一些队伍,上台先慢悠悠地介绍完一遍团队和队员(这么做其实很蠢),然后开始扯目前的大环境(大家都知道的东西其实不需要再扯一遍),然后带到自己的产品上,这个时候已经三分钟了。如果在带入产品的推导环节再加上很多表示可能(“或许”,“有时候”)和表示是自己主观判断(”我觉得“,”我认为“)的词语,不管是自己本身说话方式使然还是出于忘词所以找词充数的原因,都只会使情况更糟,不仅时间会加速浪费完,还会让大家觉得这个队伍对自己的 demo 不自信,不然你用那么多“应该”干嘛。
不要说“我认为这个产品应该能”,说“这个产品能”,就够了。注意这点总是好的,不管是 hackathon 还是日常需要表达一种肯定表述的时候。

2016

 • 

1 月 | 参加 Swift 大会。见了很多人。Uber Hackathon。回家。
2 月 | 开始用 Unity 写 Epoch。新 PC。Fin GameWorks 主页上线。回长沙。
3 月 | 开学。研究 LibNoise。Epoch 的 VR Branch。Cetacea 的 iOS 初版。月底去北京。
4 月 | 入职渡鸦,和陈叔一起写 Leap Motion & Gear VR。闲了就联机文明和 Elite Dangerous。中间回了趟学校,但因为网络条件问题一周后又回北京工作了。看了 The Big Short。
5 月 | 回学校,做了场我至今仍然有些耿耿于怀的报告。重新看了遍《时间规划局》。给母上买了台 iPhone。学 Rails 和 C4D。Project Soda & Project Fragment & Project Crap 上线。
6 月 | 深圳 SegmentFault & AngelHack Hackathon。见到了 Yuno 和袁晨皓。看完了 TRON Uprising。入手 Pencil by 53,WebDrop 上架。夏天。
7 月 | Cetacea Mac 初版。到北京。回渡鸦 RavenLab 开始全职。写 Unity。
8 月 | 继续写 Unity,甚至写了会 Android。见了很多人。相当难忘的日子。在公司看完了豪哥推荐的《男子高中生的日常》。月底写了一堆文档。回家。
9 月 | 原本以为可以和学校申请回公司,但是一直没有消息。于是开始更新 Epoch。新的 Epoch Core 成型。Age Clock 和 Contributions For GitHub 上架。看了 Keren Ann 演唱会。
10 月 | 压抑的一个月,各种乱七八糟的课设。上海的 HACKxFDU 和云赛空间 Hackathon,以及武汉的 Hackathon。困和累。开始写外包。
11 月 | 更加压抑的一个月。和辅导员谈了次话。看了三四场电影。开始尝试给苹果实验室上 iOS 课程。写了 ArtWall,Board For GitHub,Lonely Planet。
12 月 | 例行地写了些软件更新。新的 Portfolio 上线。准备期末。长沙好像还没下过雪。

总结下来:

  1. 今年能持续地挣些钱了,可以在负担生活费的基础上随意地买些自己想买的东西。感谢那些带我入行 / 欣赏我 / 给我发工资的人。
  2. 我现在还是十分怀念七八月份在北京工作的日子,当然谈不上“理想中的生活”,但那至少是“典型的生活”,对于我来说是非常珍贵的。
  3. 不要浪费自己时间。不要浪费别人时间。
  4. 保持生产自己认为有意义的事物。无聊的事情通常也是无意义的。
  5. 少说话,多备份。

2016.12.14

 • 

本周。


首先插播软件更新播报:
ArtWall 在大约两周前出现了无法刷新 Feed 流的问题,后来发现是 ArtStation RSS 本身输出格式更改了。昨天花了二十分钟修了。等待审核。
Contributions For GitHub 1.0.2 现已支持 Apple Watch,感谢 YunoCee 帮忙测试。以及我目前手上的三台 iOS 设备运行 Contributions 时都不能正常进行 background fetch(即挂件不刷新),如果正式上线版本有此问题,请发邮件告知我。


对于我而言比较有趣的(对我的顾客而言貌似不是)的一件事情
半年前写了 WebDrop,算是第一个 macOS 软件。当时初学 Cocoa 桌面开发练手,把这个软件上架到了 MAS 上定价一块钱,也是我目前所有应用商店里唯一一个收费软件(本身一直是开源的)。以现在的眼光来看这个软件的确没有什么用 —— 虽然的确在功能上还算是有些独特罢了。然而最近多了两个一星差评,现在总共三个全一星让我不得不考虑了下我要如何处理这个软件。
之前有个国区评价 “太烂啦,蒙了我一块”,我也没在意。最近多了一个墨西哥区的西班牙文评价,大概是说软件“什么都没有”。翻译看得我一头雾水,但说我是诈骗(原文 'fraud')这个我算是能看明白。我倒是挺好奇什么情况能让他如此激动。激动你就申请 refund 呗,又不能来中国打我。
在这种情况下,我只好在软件描述加了一段文字,大意是软件有开源版本,不想买就去 GitHub 下载好了,软件使用有问题发我邮件,可千万别再花一块钱买完给一星了,我真是倒过来送钱给你们都行
至于为何我还给这个软件定价一块:至少要保留一个收费软件(即使一年靠这挣不了 50 刀),让我作为一个开发者有个盼头啊。


除此以外本周就没有什么要说的了。想了下,发现本周关于自己貌似没有什么值得一提的事情。此外,最近总是睡不着。睡不着的时候,总是觉得自己要是还在北京呆着就好了。

2016.12.07

 • 

睡到了凌晨三点多。下楼买了瓶可乐,清醒了些。
这几天:
孤独星球 app 上架了,Google Play | App Store。对机器的要求比较高,安卓版本虽然做了自动分辨率 downgrade,但还是最好用 Nexus 5 及以上设备。至于苹果设备,A8 芯片及以上,A7 设备在显示地面 Shader 的时候会出现大面积黑色,这是一个新问题,尚不清楚原因,也不准备修了。这个版本的孤独星球就是一个 Demo,没有其他功能,苹果给上架我反而很惊讶。


用外包的钱买了 Apple Watch S1。可以写发射核弹的手表 app 了。
得益于心率传感器,现在我的 Gyroscope 可以显示心跳了。
和我妈聊天,谈到靠工资,外包什么的,有半年不问父母要生活费了。当然这学期学费还是爸妈交的,算是半自给自足。


Cetacea-Mac 的开发慢慢继续,还是把文档存储的基准改为了 NSDocument。之前一直有个偏见是如果用了 NSDocument 就不能在 iOS 端通过 iCloud 读取数据了,直到后来我才发现可以用 NSDocument 存为 bundle-based folder,类似于 .app / .xcproject,读取的时候其实就是读文件夹。因此花了些时间修改,也真正注册上了 .cetacea 的文件后缀。
之前给 Cetacea 加了很多类似于 Ulysses / Mou 的功能愿景,加了很多开关,现在全部砍掉,秉承着“我这软件就这样你爱用不用的”的原则。现在感觉好多了,至少感觉有生之年能填完坑


终于玩上了 Watch Dogs 2 (PC)。开车还是一如既往的卡,除此以外我很喜欢,我就是那种喜欢让角色蹲在墙角等敌人一个个来然后解决的无聊玩法玩家,好像玩 Deus Ex 的时候也是经常这样。


最近吃了好多次烤鱼和牛蛙,不得不感叹长沙在这一点上还是符合我胃口的。


听了:
Soulection #286 | Soulection #287 :Dope
Technologic by Daft Punk:之前被这首歌洗脑了一暑假,原因是写我司盒子放音乐的鼓点侦测功能时老板经常用这首歌测试,但我之前一直不知道叫什么....

2016.12.01

 • 

又是新的一月了,满眼灰色的冬天。

11.30 是我司(或者说我前司,我在学校已经不写公司项目了)新品发布会。没在现场,但看 Cee 直播还是略激动的,毕竟是自己参与开发的东西。而产品出来之前说什么相关的都不好,一个是签了 NDA,暑假因为这个还被坑过一次,另一个是空口无凭总有些不对劲。现在东西出来了,我也算是可以说这是我参与的第一个落地的公司项目了,作为一个前期负责写三维场景相关的程序员的身份。
今年断断续续写了一些代码,公司的外包的,有时候会觉得写的非常没有意义,因为生产出来的东西太易碎了。hackathon 的产出虽然快,但是是以牺牲稳定性得到的。如果为了赶功能或赶着给其他人 Demo 就 hackathon 一样地写,短期内没有什么问题,但之后不重构就直接合到主 branch 总归是一件让人提心吊胆的事情。同样类似的还有后端接口没有完成,iOS 为了赶上架在本地根据参数拼接网页地址,虽说可行,但总会遇到特殊字符挂掉的,而这么多不稳定的功能放在一起,基本上就是挂了一个就全挂了。
而我总不想让自己生产出来的内容像是那些 App Store 上的软件,还没过几年就已经不能正常运作了。很多 iOS 6 时代上架而现在看来截图仍然精美的软件,在想要怀念的时候打开却闪退,总归是一件没有生命力的事情。

11 月是我迄今为止生产力最旺盛的月份。写了 ArtWall,Board For GitHub,Lonely Planet,总还算是一个不错的成绩。接下来要写的是和 Kevin 的 Unity 项目,以及之前挖的一些小坑。

2016.11.27

 • 

周日了。
外包在周二还是周三提交了。到现在还没开始审核。
黑五促销买了一堆 app,bundle 以及游戏。值得一提的是买了两款 Trackmania 系列作品,但多少令我失望的是没有很久以前玩 Trackmania Sunrise 的那种随心所欲的感觉了。
Contributions 因为之前在 Hunt 上当日排名第四,下载量暴增(单周 +559%)。提了一个新版本,也在等审核,这一版 Cee 帮忙修了 7 Plus 上因为宽色域占用内存翻倍导致挂件崩溃的问题。
接下来应该去着手写之前答应的一个 Unity 项目了,而我一直挂念着 Epoch,索性花了两晚上把 Epoch Core 做成了一个单独的 app,叫 Lonely Planet。图标和截图如下:

做到今天早晨,提交了。所以这个也在等 App Store 过审。因为是 Unity 写的,port 到 Google Play 上提交也很容易,但我现在没这个力气了,我只想睡觉。

这几天听了 Summer Breeze by Piperじれったい(2010ヴァージョン) by Anzen ChitaiShadow on the Sun by Audioslave

总觉得有什么忘了写了,回头再说。

2016.11.22

 • 

ArtWall 在向 Apple Review Board appeal 三天后终于有了结果,准备提交一个新的二进制文件。这期间给 ArtWall 加了开机自启的功能,实现功能时发现能找到的教学资源都是 12 年左右的,有些地方在 10.12 上已经不能用了。或许后面会关于开机自启写一个小总结。


Epoch Core Demo 用 Unity 5.4.3f1 打开是一片粉红,陆地 Shader 又不能正常渲染了,sigh。如果连 0.0.x 这样的小版本都能有较大的 API break change,那我真的不知道要说什么了。估计要等几天把 Shader 适配到 5.4.3f1 上。


说到外包。最近这两周写这个外包真的是让我有些烦躁,原本接的时候以为前后端齐全只差 iOS 了,结果真正开始写的时候是服务器网页和客户端一起写一起商定接口再写的。然后就是没有文档这件事情,说大不大说小不小,但到最后就会很麻烦。
举个例子,UIButton 有很多 State,特别是对于 "On/Off" 而不单单只 "Push In" 这样的按钮,其显示状态是有很多的,对应业务上网络请求也有几种选择:若一开始是 On,是按下后立即更新到 Off 状态然后等到网络请求成功与否,还是加给按钮加一个 Requesting 的中间态作为网络请求时的过渡。两个方案都可行,但如果不说清楚,到后面再改就会很费劲。而单单一个 Sketch 设计稿很多情况下是没有包括这么多状态的,没文档只照着 Sketch 做就会有很多摸不准的情况需要再去问需求方,也耗费了很多时间在这个上面。
要说写软件期间有什么收获:WKWebView 不能拦截请求做本地缓存,在内存比较小的手机上和网络图片库一起用反而会因为 GPU 的某些问题出错。易白屏。坑略多,Hybird App 慎用。


Contributions for GitHub 这个小软件之前提到过,我写完后发现有一个 bug:不能使用后台刷新功能。我一直在找这个 bug 的原因,直到最近我才发现,大部分设备都是正常的,只有国行设备,因为“网络权限”没有弹出的原因,导致了软件不能联网获取 GitHub 的 contribution svg。既然这个 bug 不是我写的,那问题就算解决了。就把这个东西放上了 Product Hunt,目前有 157 个 upvote,最令我惊讶的是 MacStories 的编辑 Federico Viticci 也给这个软件 upvote 了。

2016.11.19

 • 

本周。

做了:

  • 花了两天设计和写了一个 macOS 小软件,叫 ARTWALL
    功能是常驻状态栏,刷新 ArtStation.com 上的 RSS 流,多显示器侦测,一键设置壁纸。


(上图为 App Store 宣传图) 。

然后被拒了:


拒绝理由是:

The experience that your app provides is not sufficiently different from browsing a content aggregator web site.
While your app may facilitate access to content from a range of web sites, even when including native Mac OS X features, the experience it provides is not significantly different from using Safari. Such apps do not include enough native Mac OS X functionality to be appropriate for the App Store.

不是很懂苹果审核人员,全原生写的,功能上也用了 NSWorkspace 的一些特性,可以检测显示器个数什么的,结果和我说体验和 Safari 差不多?Excuse me?
准备过几天把自启动,定时刷新,定时换壁纸,键盘快捷键都给做了,再试试。而如果现在想要体验下的话,可以去 Dropbox 的这个链接下载。


  • 外包
    还在写。(捂脸

  • Epoch Core Demo
    介于 Epoch 估计要很长时间才能继续开发,所以三天前开了一个新 branch,会出一个基于 Epoch Core 的一个小原型,展示下基于 LibNoise 的 Shader。

听了: