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.

I got my first suit!

Professor Goodenough in our lab won the Nobel Prize for Chemistry for 2019, I am extremely lucky to get invited to his celebration dinner, the dress code for his celebration dinner is business formal, I don’t have business formal. I have Uniqlo U blazer that I wore only when I am going to the night clubs, and I don’t want to be underdressed for that occasion.

So I got my first suit from Suitsupply, it costs me a fortune, but the process was super easy and the sales people were really nice. People always say that the rules of the correct formal attire should be taught by your father or Barney Stinson. But Andrew from Suitsupply did a great job on educating me about the details. I am moderately educated on suits now.

By the way…

I am fully aware that I parked this blog for 1 year straight, and there are reasons. Main reason would be my privacy concern, people were poking around and posting my CV to public forums, I knew they got it from here and I was appalled. I think I will try to update this blog in English and cover topics that aren’t really related to my personal information. By the way, knowing too much about me isn’t healthy, talking about it on forums is very creepy.

On expressing your ignorance

Few months back, I was in a meeting about spintronic materials, there was one fifth year PhD student from Physics department, during the Q&A session, she claimed.

“I know absolutely nothing about spin-orbit coupling, and I hope in the next student meeting we can figure it out together.” Everybody nodded, Professor said something like great please let us know about the concept you want us to cover in the future, we want to help you to learn.

That really struck a cord in me, I made the exact same statement during a group meeting in 2015, and the group paused and stared at me. Professor then said:”Just to make sure, you are a Physics student, right?”

Since then, “Not Physics student enough” was something that was bothering me when I was working on my Masters research project. I smiled and nodded like a smart angel for every group meeting and colloquium I attended. I tried my best to tuck my ignorance in. When I was confronted, I would try to spin the situation by pretending to know something (by the way, thermal excitation was my first guess for A LOT of questions). And by doing that, I felt like a total piece shit for three years straight.

I still think I am not “Physics student” enough till this day, and that’s probably why I end up in Materials Science and Engineering program instead of Condensed Matter Physics. I wish people were nice when I was expressing my ignorance, people can even throw a book at me and I will read it, give me something instead of making fun of my ignorance.

Why did I suddenly flash back to few months ago and started to gibberish you ask? I was reading papers and textbooks about the low temperature transport properties of Fermi liquid today, and I came across something I don’t really understand, I asked my old colleagues, and they commented “You don’t even know how to ask the right question.” before answering my questions.

Don’t do that, let’s be nice to stupid people.

更新:如何使用 youtube-dl 抓取 YouTube 频道的更新 | Electronic Moon

在这篇文章中,我只写了抓取的部分,但整个实现还不是非常自动化。这几天琢磨了一阵子之后,我搞清楚了如何使用 crontab 将整个抓取行为定时自动化进行,并且将抓取的内容自动化上传任意给定网盘。如果你像我一样是第一次接触 cron,网上有很多介绍教程用来入门,这里我给了 Admin’s Choice 的教程做参考。

具体的细节不在这里赘述了(因为真的太简单)唯一需要注意的一点是,执行原文中的 shell script 时默认需要在 shell script 所在的文件夹内寻找配置文件,所以在执行之前,必须将路径跳转到 shell script 所在文件夹内。「每隔六个小时自动跳转到 shell script 文件夹内并执行 shell script」的写法如下:

0 */6 * * * cd /home/YouTube/youtube_channel_archiver-master/ && sh /home/YouTube/youtube_channel_archiver-master/

而自动上传到网盘,rsync 似乎是最好的选择,关于此,网上也有很多教程可以参考。同样,rsync 的命令可以写到 crontab 里自动执行。这样 YouTube 频道出现更新之后,就可以全自动化抓取并上传网盘啦。

Source: 如何使用 youtube-dl 抓取 YouTube 频道的更新 | Electronic Moon


Getting Over It with Bennett Foddy.

我无法用语言描述我有多么讨厌这款游戏,这款 2017 年 10 月随 Humble Bundle 发售的游戏,因为特有的「对玩家的敌意」和「似乎永远无法完成的关卡」,在 2017 年底火了足足两个月。YouTube Gaming 和 twitch 上关于这款游戏的视频层出不穷,开发者 Bennett Foddy 不断接受采访揭露一茶匙这么浅的游戏设计理念:「这款游戏是为了伤害一类玩家设计的」他这么说,「在一定程度上,我是为了解构游戏设计,跳出传统游戏制作的桎梏,带着一种暗黑的幽默感来做的 Getting Over It」

随他怎么讲,但我认为,这款游戏是为了 reddit 和 twitch 设计的,它的设计理念只是为了成为一个 meme,迅速占领大家的注意力并且迅速离开,赚一笔快钱,是相当可耻且不配称作游戏的。

解构游戏设计,跳出桎梏,带着一种暗黑幽默感设计的游戏,是 2013 年底由 Galactic Cafe 发布的 The Stanley Parable,它结构和嘲讽了游戏开发者和玩家的微妙关系,试图预见了玩家在面对一款游戏时会做出的所有尝试——甚至在成就系统里,开发者还一定程度上嘲笑了那些成就完美主义者,设计了一个完全不可能完成的成就。The Stanley Parable 是深思熟虑的产物,它甚至相当无趣,但它探讨的关于游戏与玩家的关系具有非常精细的质地。换句话说,它并不是一款为了病毒性传播而制作的游戏。

但在移动流量大爆发的今天,很多游戏开发者确实是在为了直播开发出了类似于 Getting Over It 的游戏,这些游戏制作粗糙,但具有较强的对抗性(无论该对抗是发生在玩家与游戏还是玩家与玩家),可以在反复练习之后炫技。在病毒传播之后,知名主播暗暗较劲在比拼,开发者笑嘻嘻数钱。还有好多类似 Getting Over It 的作品,为了避免招骂在此就不一一列举了。

Netflix 脱口秀专场推荐


我来推荐几场 Netflix 脱口秀专场。众所周知,Netflix Originals 的电视剧是屎,但 Netflix Originals 的脱口秀专场异常好,大概是因为脱口秀制作不像电视剧一样头绪很多,能 fuck up 的地方比较少,只要脱口秀明星本人不要发挥失常,不要对着别人撸管,做的节目不会差到哪里去。


Dave Chappelle – The Age of Spin: Live at The Hollywood Palladium 

作为脱口秀界当之无愧的元老级人物,Chappelle 阔别 10 年之后的 LA 首秀实在是太棒了。这场讲了关于 OJ 的四个小故事,很多敏感梗,气氛非常 Chappelle. 如果你只看一场,那就看这一场吧!(片头和片尾的旁白,是 Morgan Freeman)

Dave Chappelle – Equanimity & the Bird Revelation

仍然是他,Equanimity 和 Bird Revelation 是一个合辑中的单独两集。作为首集的 Equanimity 的场子更大一些,讲的形式和结构也略微正式一些,笑话和梗的 delivery 行云流水。Chappelle 在这场碰了敏感话题,也有完全严肃的说情梳理环节,非常了不起。而在 Bird Revelation 中,场子更小,给人的感觉更私人 一些,在这场中,Chappelle 讲了 Louis CK 的性骚扰指控,尺度大到晨间新闻和 the view 上会被轮个好几天的地步。也很推荐。

Louis C.K. – Hilarious

非常 Louis 的一场,可能是继 Oh My God 之后路易发挥最棒的一场,忘了 2017 吧!如果你没有听说过 Louis C.K.,先去看 Oh My God,然后再来看这一场。

John Mulaney – New In Town

作为 SNL 的老牌编剧,John Mulaney 曾一度以俊俏的脸庞成名(并不是这样的)这一场他同样讲了很多自己的成长经历,对自己进行了较为精准的总结与嘲笑。整场秀的结构非常非常工整。在 Netflix 上 Mulaney 还有另一场 the comeback kid,也较为好看,但因为那场中间太干了,所以推荐这一场。

Jack Whitehall – At Large

2017 年 Netflix 待 Jack Whitehall 不薄,但他本人也较为争气,交上来的这一场秀和 Travels With My Father 质量都非常高。在这场秀中,Jack Whitehall 可以说使出了浑身解数搞笑,虽然用了很多之前讲过的老梗,但仍然值得一看。最后,In case you are wondering, Jack 是直男。

总之先介绍这五场,说起 Netflix 脱口秀,很多人都会提到 Ali Wong 的小车祸和 Amy Sschumer 的抄袭/尴尬大车祸,其实不是这样的,Netflix 脱口秀的质量非常高,希望能给你带来一些快乐。