网站首页 > 文章精选 正文
你是谁,你是做什么的?
我的名字是Graydon Hoare,我是一个中年社会主义无聊的白人,住在加拿大温哥华。我最喜欢的消磨时间是在海边散步,我住在海边。我也喜欢午睡,读历史书,和朋友一起出去玩,一遍又一遍地看同样的十几部80年代的烂电影。我对公共基础设施投资充满热情,并支付足够的维护和护理人员费用。
假设这更多的是关于工作:我专业地从事软件工作,并且经常作为一种爱好。我的工作通常是开发人员工具——编译器、分析器、调试工具——或某种分布式系统。我曾在Red Hat,Mozilla,Apple,Stellar和其他一些地方工作过。可能我在这里接受采访是因为我在 Mozilla 时开始了 Rust 编程语言项目。
您使用什么硬件?
较旧的计算机,在内核数量和 RAM 方面达到最大值,并具有 NVMe 存储。在过去的十年中,我们还没有看到大量的机器改进,所以我的目标是让可靠的主力通过一种方式降低成本折旧曲线。不幸的是,相当多的机器:单独的工作和个人的,单独的Windows / Linux / Mac,以及一些来自良好但已停产的机器的库存。i7 MacBook从2013年和2015年开始播出。一些 iPhone SE。几个Linux / Windows工作站由翻新的双插槽2013 Xeon服务器部件构建,每个40路并行,128GB RAM,足以满足我需要的任何更重的提升。我仍然有几个ThinkPad在四处踢球 - 一个32GB的W530和一个较旧的X61 - 它们仍然有效,它们几乎是坚不可摧的。
我最近买了一台巨大的42英寸LG显示器,因为它们太便宜了,无法拒绝。谢天谢地,我不玩游戏,所以没有游戏硬件。我确实有一个用于本地文件服务,电影和音乐的QNAP NAS,但我愚蠢地购买了一个RAM太少的QNAP NAS,因此为了防止它分页,我让它每24小时重新启动一次。这就是我们生活的软件世界。
什么软件?
用于编辑的Emacs,大约是我一天的一半。通常远程使用其中一个更快的工作站进行构建和导航。编辑伴随着许多命令行工具和偶尔的GUI工具:编译器(clang,swiftc,rustc,go,fsc,ocamlc),调试器(lldb和gdb),分析器(perf,Instruments,heaptrack),脚本(make,Bash,Python),图表(Monodraw和OmniGraffle)和导航(RTags和源标签)。很多时候,我会使用一个或多个开发人员工具,这些工具在过去的某个时候也做出了贡献,这既有一种家庭舒适的感觉,也有一种令人担忧的感觉,比如"哦,不,软件怎么会这么乱,这是最好的选择?
我远程工作,我的大部分工作是沟通,计划,审查,讨论;所以我在阳光下使用每个聊天和视频会议程序。我的心可能在irc和trn中,但我经常使用Gmail,Slack,Meet,FaceTime,Skype,Signal,Keybase,Messages等。当然,所有这些都在Web浏览器中运行,但我对此并不虔诚。火狐在隐私和政治意义上更好;但是很多网站都是Chrome专用的,所以我使用我必须做的事情。
我的软件首选项的一个荒谬的特点是,我喜欢用低分辨率位图字体进行编辑,这些字体的边缘是像素级的,没有抗锯齿,可见的扫描线。我想这是一件怀旧的事情:我在80年代长大,"看起来是对的"。我必须与软件进行大量斗争才能使其正常工作,并且每年都变得越来越困难。目前,我正在使用一个名为ctrld的,它是Dina和我之前最喜欢的家庭Proggy的衍生物。有一些顽固分子收集和维护这些东西,我非常感谢他们。
你的梦想设置是什么?
硬件可能已经过时了,因为它将要变得一样好,并且陷入了毫无意义的装饰和计划的过时。见上文:我真的更喜欢已经停产的东西。
怀旧方面,我可能想在琥珀色的VT320面前度过我的日子 - 啊,舒缓的文字 - 但我认为它们会导致辐射病,既不是便携式的,也不是电池供电的,无论如何,我们现在需要使用网络。我不是特别喜欢网络,我梦想着一个不同的世界,在那里我们建立了一个不同的信息基础架构。
在软件方面,我真的希望我们几乎以不同的方式完成所有事情。重点一直放在眼球和参与度上,而不是"它有效吗"或"它能抵抗坏人的攻击"。几乎没有一个现代软件在任何严肃的意义上都能很好地工作或是安全的。它总是着火。一艘沉没的船,每个人都在疯狂地保释。瑞士奶酪。选择你的比喻。因此,我的梦想设置将涉及"具有任何可靠性的软件"。这可能需要将时间倒回到个人计算时代之前,并制定责任立法或其他什么。
猜你喜欢
- 2025-07-08 go语言中性能分析工具pprof使用心得
- 2025-07-08 爱上开源之golang入门至实战第三章-内存逃逸
- 2025-07-08 GO 编程:Golang的协程调度器原理及GMP设计思想
- 2025-07-08 Go语言核心36讲(新年彩蛋)--学习笔记
- 2025-07-08 c语言中堆和栈的区别(c语言堆和栈的概念和区别)
- 2025-07-08 Go 语言内存管理(一):系统内存管理
- 2025-07-08 深入解读Raft算法与etcd工程实现(etcd raft库原理)
- 2025-07-08 Go语言中的性能考虑和优化(go语言的效率)
- 2025-07-08 高性能 Go 的 6 个技巧 — Go 高级主题
- 2025-07-08 脚上的可穿戴产品,总有一款是你的菜
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)