The ordeal of DIY iMac upgrade

Last two days was an ordeal for me, I upgraded my Late 2015 5K iMac that originally came with Intel Core i5-6500 processor, the infamous 1 TB Fusion Drive with 24 GB of NVME SSD storage and 1TB of spinning hard drive (Apple, this is a crime), AMD Radeon R9 M390 2GB graphics.

This model of Mac should be more than adequate for most users if Apple didn’t do the whole Fusion Drive thing. Fusion Drive is Apple’s way of combining SSD to a traditional spinning hard drive. When this concept was first introduced by Phil Schiller, the 1TB option paired a 128 GB SSD with a 1 TB 5400 rpm spinning hard drive, and in the 2nd iteration, Apple being Apple, slims down the 128 GB to merely 24 GB. This change made iMac unusable, for most cases, slow disk speed is the bottleneck. So I decided to upgrade the 24 GB blade SSD to a 500 GB Samsung 750 EVO.

The parts I got was:

  1. Samsung 970 EVO SSD 500GB – M.2 NVMe Interface Internal Solid State Drive with V-NAND Technology (MZ-V7E500BW), Black/Red.
  2. Sintech NGFF M.2 nVME SSD Adapter Card for Upgrade MacBook Air(2013-2016 Year) and Mac PRO(Late 2013-2015 Year) Note: The model number for this unit is ST-NGFF2013, they also have ST-NGFF2013-C with the same port but better insulation and a back panel to support the SSD.
  3. Intel Core i7-6700K CPU (used unit from eBay).

The tools and I got was:

  1. Apple 6pcs iMac LCD Screen Adhesive Open/Cut Wheel Tool 21.5” A1418 & 27” A1419 (eBay Link). Note: not really necessary if you have a pizza cutter, but be careful if you use actual pizza cutter, you do not want to insert it too deep to cut the cable.
  2. Apple 076-00009 Adhesive/Tape Repair Kit for iMac 27” Retina Late 2014-2015 (eBay Link).
  3. Apple 944-4365 iMac Display Service Wedge 21.5” A1418 & 27” A1419 2012-2019 (eBay Link). Note: Completely unnecessary.

I did ample research on the entire process, but the whole thing still became an ordeal, while I was doing it, I kind of wished I never had the idea of CPU upgrade in the first place. I’ll elaborate, but before that, the tutorials I followed were:

  1. iFixit: iMac Intel 27″ Retina 5K Display Blade SSD Replacement.
  2. iFixit: iMac Intel 27″ Retina 5K Display CPU Replacement.
  3. iFixit: iMac Intel 27″ Retina 5K Display Adhesive Strip Replacement.
  4. MacRumors: A list of successful iMac 27″ (2012-2019) SSD upgrades.
  5. MacRumors: iMac (Retina 5K, 27-inch, 2017) CPU and NVME SSD Upgrade Pitfalls and Tips

These tutorials and online forum posts were really helpful. I don’t want to repeat what they have said, so the main obstacle I met were:

Broken power button cable when getting the left speaker out.

This is me being not careful and too agitated in cracking the whole thing open. In the iFixit guide, they specifically said to be careful not to rip the cable off. In order to fix this, you need to use a heat gun (or hairdryer) to heat up the adhesives on the power button. Solder the wire back together and stick the power button back. It’s worth noting that the power button send signal 1 (two cables connected) to the power supply when pressed.

CPU metal bracket and the effect of unsecured CPU

So this was the main thing that I wish I knew before I decided I can do the CPU upgrade. It haunted me for 12 hours straight, and it’s all because of this metal bracket.

Loaded CPU bracket on the back of the motherboard. Photo Credit: me.
CPU bracket picture from MacRumors user sebastienc

When you place the CPU on the LGA 1151 connector on the motherboard, the CPU is not secured on board at all. When you put the heat sink on the CPU with thermal paste, the CPU will be picked up by the heat sink, when you load the metal bracket on the back side of the motherboard, the CPU will have a chance to slip a bit and misalign. If you failed to notice the unevenness of the heat sink and keep loading the bracket, the PCB board on the CPU will be bent and you will be damaging the LGA 1151 connector.

But how do you tell whether you have the CPU properly installed? What will the system behave when you try to boot it up with a not properly installed CPU? For me, I have two kinds of behaviors: (Note: about diagnostic LEDs and diagnostic ports on the mother board, there are plenty of documents easy to find on the internet)

1. The diagnostic LED 1 on the motherboard lights up when I connected the iMac to power, LED 2 3 and 4 was off and remained off when I pressed the power button. In this case, the power button was okay, the power supply unit (PSU) was okay, the control cable between PSU and motherboard was okay, the diagnostic terminal on the motherboard could not read 12V signal between port 1 (GND) and port 11 (power up signal).

2. The diagnostic LED 1 and 2 was on when I connected the iMac to power, the fan starts to spinning low speed, the LED 2 may briefly turn off and went on again even without pressing the power button, the fan is spinning up till its at full speed. The diagnostic terminal reads 12V between port 1 (GND) and port 11 (power up signal)

For case 1, its tempting to replace the PSU because according to the diagnostic LED, PSU is having trouble sending power up signal to the motherboard. For case 2, it’s really strange but we can tell its a CPU problem, because no LED 3 means motherboard is not talking to the graphics card, and the CPU should have working graphics card. Could it be a motherboard issue? I really don’t know.

These scenarios were rarely discussed online, I was panicking for few hours before I saw sebastienc’s reply on MacRumors. In one particular entry, he said:

Getting LED 1 or LED 1-2 both means CPU issue. Ultra fan speed also was due to that…

So I recollected myself and started to take the CPU off the motherboard, only to found out that the PCB is slightly bent and the CPU moved a little bit to the right, the CPU had connection issue. Some of the LGA 1151 pins are slightly bent. I spent few hours straighten them out and reloaded the CPU, put everything back and plugged in the power again.

The LED 1 is on…

The LED 2 is on… (wait, I didn’t even press the button yet wtf did I fail again)

The fan starts to spinning up. (oh that can’t be good, I am going to press the power button because why not)

The LED 1 is on, LED 2 is on, a dimmed LED 3 is on?

I heard the power chime. The fan is still spinning like crazy but I figured that’s because I haven’t connect the hard drive and the hard drive thermal sensor yet.

The rest was a blur, by that time I was 18 hours in this project and I haven’t ate anything for more than 24 hours. Before that power chime, I was worried and I was broke, I checked prices for PSU, for new mother board, for new Mac Pro (haha), and I checked my bank balance.

The outcome

After macOS reinstallation, the system is super fast and I can feel it. The SSD benchmark is blazing fast. TRIM is automatically enabled and the drive is operating under X4 link width. The only catch is, I have to set the hibernate more to 25 to be able to resume properly from sleep (for 2017 iMacs and later models, you don’t need to do this), the command is: sudo pmset -a hibernatemode 25 standby 0

For the CPU part, I didn’t really experience much difference cause CPU was honestly not the bottleneck of this machine, I still ran a few benches nonetheless, the CPU temperature is hotter to my taste but I could not be bothered to go through that process again if I don’t have to, so I’ll leave it as it is.

This project was challenging and I thought I did pretty good research beforehand, turns out it was way harder than I thought, in hindsight, I wish I stopped when I installed the NVME drive, the CPU upgrade was waaaay harder. I don’t think I want to do this in the future. It was fun, but the uncertainty and the amount of mental stress I have been through was not good.

I understood that people may have the same issue, and I hope my article can shed some light in your situation, and I sure hope Google can take you to the right place. For me, if I didn’t read the post from sebastienc, I would order a new PSU and wasted bunch of money already.

If you have any questions, feel free to comment or to contact me and I will be very happy to help you with that.

软件代理怪兽思杰马克丁-PingWest 品玩


Source: 软件代理怪兽思杰马克丁-PingWest 品玩


The top 8 Chinese phones – The Verge

It’s time to stop dismissing Chinese phones as knockoffs. We’ve all seen the endless parade of iPhone clones, yes, but over the past couple of years, manufacturers from China have stepped up their game in a big way, turning out devices that are innovative, attractive, and straight-up desirable in their own right. If you don’t think there’s any reason to pay attention to Chinese phones, it’s because you haven’t been paying attention.

确实相当热血的一段话,说中国 Phone step up their game 了,变得 innovative 了,下面榜单是 Top 8 Chinese phones

结果榜单里有小米 8——一款从头到脚抄袭 iPhone X 的产品。

回顾 the verge 对国产厂商的报道,有「mate x 虽然抄袭 MacBook Pro,但我们觉得没问题」还有「P20 还没开机我就爱上了它」,还有本文。

没错,the verge 在 2018 年确实收钱收得厉害。

Source: The top 8 Chinese phones – The Verge

如何搭建属于自己的 RSS 服务,高效精准获取信息 – 少数派

Source: 如何搭建属于自己的 RSS 服务,高效精准获取信息 – 少数派

这篇文章写得很不错,我已经在我的 buyVM 上跑起来这个服务了。不过文章中实现的办法没有考虑到 VPS 重启之后的问题。所以可以进行以下两点改进:

  1. 原文中作者在 docker-ttrss 上装了自定义主题和插件,但是重新启动之后这些改动并不会被保存到 container 中,所以需要做一下 docker commit,将改动保存。
  2. 同样是重启之后会遇到的问题,原文中作者部署两个 container 的时候没有考虑重启之后 container 自动启动的问题。基于这个考虑,可以在 docker run 之后添加 –restart=always 参数来保证每次重启系统之后 container 能被带起来,数据库和 ttrss 的 container 都需要这么操作,所以文中的两个 command 修改为:

docker run -d –restart=always –name ttrssdb nornagon/postgres
docker run -d –restart=always –link ttrssdb:db -p 80:80 -e SELF_URL_PATH= docker-ttrss-m(这里的 -m 是我 commit 之后新创建的 container)

当然执行了作者给的命令发现没有自启动,想要添加自启可以用 docker update 来执行,例如:docker update –restart=always ttrssdb 这个命令就会把现有的 ttrssdb container 修改成自动启动的运行方式。

别忘了,第二点改进的大前提是 docker 作为服务已经部署好了自动启动,否则的话以 docker 开头的命令无法被执行。

现在我有一个自建 RSS 了,可以不用给 inoreader 付钱了,快乐。



Ulysses 的过度自信

今天,Ulysses 推出了他们筹备已久的订阅模式收费,作为 Mac iOS 平台的旗舰写作应用,Ulysses 的价格从 Mac 版本 45 美元 iOS 版本的 25 美元买断售价改为了 5 美元每月,卖出了 60 美元年费的高端价格。老用户可以限时享受 50% 的折扣,一共 30 美元年费。

副总裁 Max Seelemann 真诚发文解释修改订阅模式的背后逻辑,文章是比较迂的开发者投入成本讨论加上握紧拳头发誓提供次世代 Markdown 书写体验。作为一个开发了 12 年的 Mac iOS 平台软件,面对积攒的庞大(且固化)用户群体稍微谈一下开发成本,其实也没有那么讨厌,但为什么 Medium 的回复恶评如潮呢?


简而言之,如果用户试用了Ulysses,或者在订阅期结束之后没有续费,Ulysses 就变成只读的状态。这是在新的定价模式下可以做出最糟糕的一个限制:一个写作者,在一个付费软件里由自己创作的作品,因为没有继续给这个软件付费,自己的作品就只拥有只读权限。

这基本上像是勒索。因为 Ulysses 并没有提供很方便的文档库迁移功能,也没有在声明的任何一个位置说明了用户在付费期间内创建的文档应该怎么导出,这对一个生产力工具来说是一个致命硬伤。一个笔耕不辍的写作者,每年要交 60 刀才可以访问自己的工作,这真的是年度爆笑。没有人会放心把自己写的东西存在这样的软件里面。

另外,Ulysses 给了新购老用户(Mac+iOS 接近 70 美元哦)最高长达 18 个月的订阅期补偿,也是一个非常愚蠢的政策。用户付了这么高的价格不是为了有一天被告知自己的 App 不能获得任何更新的,多长的补偿和多么低的限时折扣也不能让人痛快继续交年费。况且在补偿模式出来的第一天,Ulysses 就出现了巨型 bug:如果你在补偿期内定了限时特价年费,补偿期会直接被清除:

在应用内商店里,显示了我可以一直免费用到 2018 年:


Ulysses 官方 twitter 上也说了这个问题,并连连道歉:

但是说真的,改订阅制,庞大的老用户群体几乎是第一时间会遇到这样严重的 bug,难道真的不能测好了再上线吗?另外,在官方博客里,学生的定价是 11.99 美元/半年,但是在 App 里,显示的是 10.99 美元/半年。


这样的低级错误不禁要让人想起 Ulysses 的磨洋工慢速更新传统了,直到今天,Ulysses 仍然不支持插入表格,也不支持插入 LaTeX 代码或者数学公式。即便这已经是现代 Markdown 编辑器的标配了(感谢 MathJax),老牌写作软件丝毫没有要照顾理工科群体的想法,只有官方支持博文指导用户在每一篇文档的开头处加上代码块引用 MathJax 乃至 mhchem 插件(做个更新加上这个很难吗?)

所以,对,在 Markdown 编辑器遍地开花的今天,有很多精美编辑器可供选择提高生产力,这时候再发博文哭穷,把自己原本已经高价的软件再转订阅模式,可以说不是一般的自信了。

P.S. 既然谈到了 Markdown 编辑器,不妨问一下,原定 2015 年 4 月上线的精美 Markdown 编辑器「Mou」,上线了吗?答案,我的朋友,是没有。

任何对 iTunes 同步感到惊奇的媒体人都是被盗版音乐养大的

当年,想用 iPod 听歌简直麻烦至极。首先你必须有台电脑,装 iTunes,因为没有 iTunes,你的 iPod 根本激活不了。

那会儿,MP3 播放器就是 U 盘,直接往电脑上一插,音乐文件直接拽进去就行了。所以当我们这些习惯了 MP3 的人和 iPod 初次相逢的时候……那感觉别提多奇怪了。

首先,你要把你的歌导进 iTunes 里——不让拖拽,要点击菜单-导入文件/导入文件夹到曲库,这种当时已经很落后的操作方式,我至今印象深刻。至于格式,iTunes 支持 MP3,但 MP3 格式跨越了十几年的时间,文件编码不一,经常会有文件导入失败。再加上苹果有自己的无损音频格式,而且 iTunes 在当时不支持 WAV、FLAC、Ogg
(当年我的很多“高清”文件都是 WAV 格式,见笑了),所以要用第三方软件转换成苹果支持的格式才能导入。

如果在 MP3 年代,买了正版实体 CD 或者在 iTunes Store 买了数字音乐的话,是没理由发出这样的惊呼的。实体 CD 在 iTunes 转录之后,CDDB 搜索 ID3 信息并自动写入 M4A 文件,方便到令人尖叫,更别提 iTunes 音乐商店的内容了。

只有在各种盗版 MP3 下载站下载的歌曲才需要做文中描述的繁琐步骤,所以在这个程度上嘲笑 iTunes 是不太配的,紧急引用 Marco Arment 也不配。

iPod 死了,iTunes 为什么还不陪葬?