2021.8.21

 • 

最近很多事情都是“在做了在做了”的状态。全职在找了,选课在看了,个人项目在上架了,驾照在办了。还有很多事情想做但连开头都没,比如比如把博客从 Ghost 迁移到 Nuxtjs 上,比如写个人游戏,比如找个时间去金门大桥看看海。在抉择做与不做乃至以此消磨时间的过程中,感觉一个人生活还是要有很强的自我调节能力,不然实在很容易一天就消磨过去了。



Hourglass 上架了,可以从 Mac App Store 下载。我还在想要不要顺手把 Diffuse Mac 给做了,但好像也没太多时间。

2021.8.15

 • 

实习结束了,有成就也有缺憾,不过暂时也不太去考虑这些,距离开学还有两周,想先放松下,然后把之前拖延的事情都给做下。
想起来临走之前和大组老板告别,他说等后面可以线下一起喝个酒之类的,说完好像想起来了什么又确认说你达到能喝酒的年龄了对吧,还挺出乎我意料的。都知道我在读研究生了,想来再怎么也不至于这么年轻,更何况来加州后一直懒得去剪头,现在是头发长到像是狮子,日常要靠帽子来压住头发的状态,整个人可能看起来更为年老落魄些 - 至少我妈和我视频电话的时候是这么说的。
然后就是,和朋友聊天的时候还提到,看到还在读本科的实习生对于在苹果实习十分兴奋,这我当然是能理解的,我也一样。只是他们谈及苹果的时候,多了一种发自内心的自豪感,处处以“我们公司”来称呼,让我想起来之前我本科的时候拿个百度的月饼就好开心要发朋友圈,有种崇拜公司,靠称呼来获取更大的组织的认同感的感觉。这也是能理解的,不管是发自内心的开心也好还是有意识地借力公司的存在感,我都没意见,只是觉得大可不必积极把自己融入到公司的 narrative 里。当然,也可能是我过于警惕大型公司这种组织性的设置,也过于注意个人空间了,但于我而言还是这样舒服些,更何况最近公司的一些新闻并不光彩,甚至到了一种反讽的程度 - John Gruber 曾经在博客里对 Facebook 工作的人表达近乎迫害的意图,即 - 你选择在这家公司呆了下去,那你活该简历烂没人要 - 这种观点还有人小丑一般地附和以及辩解,而当苹果一样做了似乎是恶的事情的时候,不知道 John 会不会因此一样一杆子打死所有苹果员工。我这里甚至不是在讨论最近公司的政策是否对与错,而是盲目把人和公司绑定在一起是一种多么危险,甚至在 John 这个语境下可以称之为伪善的举动。

EDIT:想起来似乎是这半年来第一次如此旗帜鲜明地发表看法,但无所谓了,这个博客已经叫 echo chamber 了。what do you expect?

Taking screenshots of SwiftUI views on macOS (Swift 5)

 • 
import SwiftUI

extension View {
    func imageRepresentation(rect: CGRect) -> NSBitmapImageRep? {
        let hosting = NSHostingView(rootView: self.frame(width: rect.width, height: rect.height))
        hosting.setFrameSize(rect.size)
        hosting.setBoundsSize(rect.size)
        hosting.layout()
        hosting.layerContentsRedrawPolicy = .onSetNeedsDisplay
        hosting.setNeedsDisplay(rect)
        if let imageRepresentation = hosting.bitmapImageRepForCachingDisplay(in: rect) {
            hosting.cacheDisplay(in: rect, to: imageRepresentation)
            return imageRepresentation
        }
        return nil
    }
    
    func asImage(rect: CGRect) -> NSImage? {
        if let cgImage = imageRepresentation(rect: rect)?.cgImage {
            return NSImage(cgImage: cgImage, size: rect.size)
        }
        return nil
    }
    
    func asJpegData(rect: CGRect) -> Data? {
        return imageRepresentation(rect: rect)?.representation(using: .jpeg, properties: [:])
    }
}

Usage:

let view = AnyView(<Your View Here>)
let imageData = view.asJpegData(rect: CGRect.init(x: 0, y: 0, width: 128, height: 128))

2021.8.8

 • 


Hourglass 支持读取正在播放的音乐了,后面这套机制可能能用来写 Diffuse Mac,目前四个角可选的内容基本都做完了,日历事件,时间,正在播放,天气,可能要再加一个时区时间,然后还有一些边边角角要修。
算下来搬过来一个半月了,自己一个人住方便是方便,但也容易变得懒散,再加上作息不规律,牙又开始疼了,准备先吃点药看看情况,不行的话就要约牙医了,刚好处于保险前后交接的时间段里,比较尴尬。
总是有很多事情要做,总是没有时间来做。
听了 FKJ 的 Just Piano,Funky DL 的 Jam,J-Fever 的 沙琪玛,此外还听了 On The TableEdamameCrank oFean - SOLO (SKYLAB Recapture)In The Mood (hommage to moods)GO!!!! (ON THE COUNT OF 3)Fortune - All Alone Ft. Alexander Lewis,和 COMPUTER DATA - Healing [CLIPP049]。看了 CODA,虽然中间有事情略过了一部分,但仍然看的很开心,是那种即使知道剧情走向也仍然会想看下去的电影。

2021.8.4

 • 

Day One 给我推荐了七年前的照片,看了一眼还是刚高考完几个人在咖啡厅折腾项目的时候,当时刚拿到了第一台 Mac,还跑着 OS X Mavericks,壁纸是波浪那个。也大致是那个时候开始捣鼓 wordpress 和 quartz composer 之类的,然后看学长 Xcode 用的很神奇,入了学 iOS 的坑。
照片里的人好多都没再联系了,结婚的结婚,换工作的换工作,创业的创业,只有朋友圈偶尔点赞,关系后来处的最好的一两个人最终我也拉黑了,没再知道后来发生了什么。有的时候再看到这些会觉得自己的路怎么越走越窄 - 虽然我也有在交新朋友罢了。
看完照片后就想着要不要把 years of pilgrimage 那个 Unity 项目再拾起来,做成一个短篇故事集一样的 indie game,内容就是用 low poly 重现一些过去个人经历 - 重要的事件,做过的梦,之类,算是一个 3D 版本可以交互的 Day One。

2021.8.1

 • 

给博客升级到了 Ghost 4,顺便更新了下主题支持了暗黑模式。
最近在做一个新项目 Hourglass,其实就是把之前参与 Flutter Clock 竞赛的 ConeClock 拿来做成 Mac 桌面,效果是这样的:

开发进度会在这个 Twitter Thread 更新。此外最近还有些其他的想法,不知道有没有时间写了。

2021.7.28

 • 

今天给 Craig 演示了项目,具体内容受制于 policy 还是没办法写出来,但可以说是整个实习里最有“我在实习”感觉的一天了,也算是变相弥补了两次 WWDC 奖学金都没去成的遗憾。上周朋友开车陪我去了趟公司附近的 visitor center,在那里买了件公司文化衫,今天演示的时候还特意穿了作为加成,然而好像并没有人注意到 hhh

这之后可以考虑些之前因为准备演示而忽视的事情了,比如学校的秋季课程,一些个人的打算,没回的邮件之类,然后周末准备骑电单车出去逛逛,结束实习开学前去学下开车。
听了 Voyage Funktastique Boiler Room Montréal DJ Set,这套太强了,在 Apple Music 和 Soundcloud 上都收藏了一遍。以及听了 bbno$ 的 edamame

2021.7.21

 • 

还算开心的一天,给大组的老板 present 了实习项目,反响貌似还不错,也问了我一些问题,不得不说好像公司里的 manager 都挺技术的,问的问题很尖锐,明显地能感知问的人对整个东西有理解,知道某些组合的取舍,某种技术可以达到的边界,某种问题本质上的定义,可以算是技术的那种 sense,对我来说是个让我觉得很不容易的事情。原本之前一直想用员工优惠买台 iPad 但最近手头好像不是很宽裕就没买,演示之前想着那就如果这个项目能再进一轮的话就考虑买吧。结果 present 完不到两个小时,消息出来了,可以再进一步给更高层的人继续演示项目,也算是给我一个借口冲动消费了,虽然到现在我还是没买,好像也没什么想法能用来做什么。不管怎么说,虽然项目还有很多缺口,有很多我没头绪的问题,但在内部层层演示的进展还算平稳,好像自己应该更加积极和自信地去推进这个项目才对。

2021.7.13

 • 

因为上周在赶这周一 presentation 的缘故,周末好几次都是四点才睡,于是周一演示完后作息彻底乱了,傍晚五点多在打卡软件上点了 punch out 后一下子就睡了三个小时,中间被我妈打电话吵醒了一次,从接通到挂断完全是肌肉记忆一般,意识完全放在想要睡觉上。
后来又被电脑的提示音吵醒了,因为房间里个人和公司加起来有三四台 Mac 一直处于靠 Amphetamine 保持常亮的状态,所以每个提示都会重复好几次。于是生无可恋地爬了起来检查通知,好像也没什么事情,没有工作邮件,项目仍然保持毫无头绪的状态,也没有紧要的个人消息,除了已经九点了,有种活动时间突然少了三个小时的不甘。再看了眼微信 CMU 的群里已经在讨论明年 new grad 招聘的事情,我绝望地重新倒在床上,这才七月啊,哪里轮得到就要开始准备找工作了。

2021.7.12

 • 

半夜四点钟赶完第二天要演示的内容,躺在床上睡不着,就爬起来写博客好了。
算是在加州两周了,倒还挺习惯。因为是自己住 studio 的原因,没什么要顾虑的,十分轻松。也开始尝试自己煎点牛排和土豆吃,不算难也还很便宜,再加上加州订外卖有额外收费的原因,后面应该很少再吃外卖了。偶尔出下门,要么是去公司拿设备要么是去银行办业务,除此以外就没什么出去的机缘了,倒也不是不想,只是加州没交通工具实在是不方便,再就是最近实习的事情处于关键的时期,周末也在一直跑测试和改 slides,没时间出门。总之实习的事情还挺一言难进的,先看明天的演示反响如何吧。
然后最近好像偶尔还在做奇怪的梦,比如和高中同学一起去考试,结果发现没带文具还是什么的。还有就是莫名其妙地听到了好几个人的情感更新,除了感叹果然学校生活还是比其他地方要来的更有活力以外,再就是再次确认了人和人沟通没有捷径可走,而自己也应该更积极地投入时间和其他人沟通,不管是恋人,朋友还是家人,而不是满脑子只装着自己的事情。

Update:虽然公司里做的项目不能公开谈论,但倒是想起来可以记录下自己在实习生 Portal 上做的两件缺德事情:一个是在可能是分享实习生 Shot on iPhone 景点照片的地方上传了三星手机拍摄的海滩照还被收录了进去,下载下来 EXIF 信息都还在,另外一个是在推荐实习生日常使用 App 的地方推荐了自己写的壁纸软件 Mapaper,也被收录了进去,和 Slack,WeChat 等真正很有用的 app 一起并列跻身在列表上,有种插科打诨的趣味。