今天屋里飞进一萤火虫了,说实话很多年都没见过萤火虫了,半个月前第一次在美帝见到萤火虫,感觉萤火虫都长成精了。话说这萤火虫飞进屋子好几个,前几次以为是臭虫,一巴掌掐死了,突然有一次掐的时候,屁股发光,这才意识到可能是萤火虫,于是今天用吃完的腐乳的瓶子扣了一个下来,果然是萤火虫,阿弥陀佛,对不住前几个萤火虫了。量了一下,接近1.5厘米左右,很容易让人误以为是臭虫之类的虫子。在罐头里,甩一下罐头,萤火虫一旦受到刺激,屁股就会发光。好好把玩了一下,拍了几段视频后,就放到室外,放生了。

长度接近1.5厘米
萤火虫发光
用iPhone的高速摄影记录的发光过程

今年1月底购置了一个Intel NUC的小主机,主要是觉得携带方便,不占体积,而且我一般不怎么玩大型3D的游戏,所以对显卡的需求也不高,所以很多年我一直都是用的集显/核显,而我自己也有着两三年的黑果历史,但是当时都是根据需求买硬件,而不是根据硬件改黑果。刚买来那会儿,用别人的clover配置文件试了一下黑果,总是启动有问题,所以后来就上了Win10,配着我的P2415Q一直用了大半年,但是说实话,Win10配4k还不是很完善,虽然设的的200%的缩放,如果屏幕一关,不知道哪一天某些软件的字体又给你缩回去了,所以前几天又重新开始鼓捣黑苹果的事情了,经过一番借鉴和一番摸索,总算搞成了。

目前对于nuc的黑苹果有很多教程,但很多都语焉不详,甚至还有错误,我是以这个人为范本搞得,但是这些黑苹果都有一个缺陷,BIOS版本需要V056的,我的NUC被我手贱,刷到了最新版本去了,想再回来,怎么都刷不回来了。

https://www.intel.cn/content/www/cn/zh/support/articles/000005532/mini-pcs.html

按照Intel的教程,拔跳线/长按电源,换了三四个u盘试了一遍,完全没有,遂只能放弃。所以干脆就一步一步慢慢来,出了问题再google,所以以这个人为蓝本的Clover

https://github.com/sarkrui/NUC8i7BEH-Hackintosh-Build

目测BIOS设定不需要这么复杂,只要拔secure boot关了即可,VT-D不需要关,因为dart=0会自己屏蔽掉,显卡的两个内存设为64/256(64/128显卡只能识别到31mb显存)即可,也不需要调整,因为据我观察,黑苹果在安装阶段不出问题的话,后面基本没啥问题,安装阶段出问题的话,调了bios只能治标不治本,到正是使用还是会出问题。

Mac OS系统的安全装镜像如何安装就略去不表了

1、如果有白果的话,安装镜像里有相应的程序

2、Windows的话,可以用etcher

https://blog.daliansky.net/MacOS-installation-tutorial-XiaoMi-Pro-installation-process-records.html

Clover安装更简单,找个小容量的u盘,格式化成FAT32格式,直接把EFI还有别的乱七八糟的拷贝到u盘根目录下即可,这里我是用的sarkrui大神的github,再稍加改动,主要有三处需要修改


启动的第一个问题是直接就碰上了禁止符号,

https://www.tonymacx86.com/threads/solved-couldnt-allocate-runtime-area-error-during-clover-boot-install-mojave.267499/

需要在内核引导参数里加上slide=0


第二个问题就是安装时候,出现了apfs不能载入的情况,特别是针对v056以后的bios新出现的这个问题,找到了解决办法(文末附上完整的Clover文件)


第三个问题,就是安装过程会黑屏,这个问题最棘手,整整搞了两天才搞定,第一次是拔线,再插就好了,第二次直接在bios里把显存设为64/128,虽然看起来没问题,但是装好你会发现只有31mb显存,改成64/256之后,系统偏好设置一调东西,马上屏幕冻结,翻系统日志也找不出问题,发现装了multibeast,突然好了,但是dp口没声音了,我这才意识到这个clover里的显卡配置是有问题的。后来Google一番,才意识到显卡是需要打framebuffer的补丁才能用的

https://www.insanelymac.com/forum/topic/334899-intel-framebuffer-patching-using-whatevergreen/

但是,但是坑爹的是这个clover配置虽然写着framebuffer,实际上注释掉了,不知道是故意的还是v056版本的bios不需要

AAPL前面打了#
修改完成的AAPL,ig-platform-id, 0x0003ea5

所以,用Plist Edit Pro去掉屏蔽,然后把值修改正确即可,也不需要把显存改成64/128了


至于无线网卡,我是用的TP-LINK RE350K中继把WIFI转成了有线来用,这玩意还能OpenWRT,所以我就下手了,这样可以免掉很多驱动问题。TP-LINK还是很给力的,比那些Cisco的设备便宜,又好用。

就是这货

至于蓝牙吗,暂时没需求,我是用的带接收器的无线鼠标,就这样。


最后用Clover Configurator输入SerialNumber,SmUUID,CustomUUID就可以开心的黑苹果啦,什么iMessage完全不是问题

Clover可以直接从https://github.com/sarkrui/NUC8i7BEH-Hackintosh-Build 里面下载,把上面链接里面的config.plist覆盖掉原来的plist即可。

Good luck!

我的父亲在年轻的时候基本上踏遍了许多城市,甚至某年公派出国远赴迪拜,十几年后,果然我又走上了父亲那条“远游”的道路,甚至比父亲走的更远,来到了背面的美国。其实要问旅游出行的意义,我反倒觉得旅游出行就图个新鲜,呆久了,反而会开始骂娘,例如我在没到美国之前,听来了总觉得美国是不错,在国人一代又一代“国外的月亮比较圆”的精神传承下,对美国充满了无限的憧憬,对那些有机会移民非常羡慕,等到自己真正有机会在美国呆了一大段时间,各种不满意,各种吐槽,甚至有一段时间晚上特别想回国,想念国内的小龙虾,想念学校的食堂,到头来反而觉得,美国也好,中国也罢,还是其他国家,无非都是讨生活的地方,美国即没有国内宣传那样水深火热,也没各种公知宣传那么美好,同理,我们也是如此。人,总是喜新厌旧的,一个地方呆久了,总会有点厌烦的,所以需要适当的旅游来调整心态,同样,读书也是如此,在学校的时候想着回家,呆家久了,父母厌烦了,就想着回学校。

中国打卡地图

有一阵子,我把所有照片,无论是过去Android的,还是相机的,一股脑倒入了iCloud,过去我在Android必开地理信息记录功能,所以才有了今天“打卡”地图。目前去过中国最北的地方是北京,最南的地方是香港,最西的地方时兰州,最东的地方就是生活时间最长的包邮区啦。

美国打卡地图

美国去的地方倒不是很多,无非就洛杉矶、丹佛、达拉斯和纽约,洛杉矶国内飞丹佛中转,剩下的就是开会和生活所在地了。

欧洲打卡地图

去年12月回国,为了满足我环球旅行的愿望,特意做了一趟瑞士航空,从苏黎世中转了一下,毕竟飞中国飞美国过太平洋,美国过大西洋飞欧洲,欧洲飞欧亚大陆回中国也算环球了吧。不过那趟纽约->苏黎世->上海航班的做了累死我了,时差倒了一星期都没过来,基本上中美直飞航班,我两三天就能倒过来。

浦东->纽约
纽约->苏黎世
苏黎世->上海

先来分享分享纽约的经历吧

飞机上看纽约的夜景

因为我现在呆的地方在石溪,距离纽约城区还是相当远的,去趟City最便宜的方式是火车,至少一个半小时,所以目前正儿八经在City里面玩就去过一次,其他几回都是办事情,办完事情就走了。说实话,每一个到过时代广场的人都不得不佩服我们宣传能力的强大,新华社广告、北京亦庄广告始终在滚动。说实话,我这人旅游不爱消费,更多时候是走马观花,只要来过,亲眼见到就心满意足了,而不是过去扫货。最震撼的应该是911纪念广场,原来的楼变成了水池,正好我去的时候,一个名字上面插上了一朵花,更令人唏嘘,这个名字的背后一定充满了很多故事,让人不得不去感叹生命的脆弱,其余的景色就是美国经典摩天大楼的套路了,刚来都会觉得很新鲜,时间长了,就审美疲劳了。

时代广场
时代广场
911事件纪念广场

在纽约,有一个很有意思的事情,纽约证交所一条过道之隔,竟然是各种小摊贩,类似国内的庙会,看过国内高大上“金融区”的人表示这很不“金融”,一边上千万亿美金的流动,一边几块钱的砍价的市井,果然好戏谑。虽然我在上海见过浦东的市井之地,但距离陆家嘴至少还有的一公里的间隔。行了,先写到这里,有空再更。

纽约证交所
证交所边的摊贩,穿过一个弄堂就是证交所


目前来讲HTTPS是大势所趋,我之前一直用StartSSL的免费证书,但是自从被360收购后,出了一串幺蛾子,而且也不支持泛域名,后来就干脆不用了,转向了Let’s encrypt

Let’s Encrypt有个好处,只要指定了token,就可以自动从DNS运营商确认域名所属,自动颁发证书,用脚本可以做到定期更新证书,领域Let’s Encrypt可以一个证书支持多个域名/泛域名

但是有一个比较头疼的问题是,我这边终端比较多,两个lede的路由器上了https,还有若干的云服务器,如果每个客户端都从Let’s encrypt获取证书,势必需要在每个机器都安装acme工具链,可能会引起token泄露的风险,其实证书泄露倒是小事,一是我这种小站没啥攻击价值,二是let’s encrypt家证书有效期只有三个月,但是如果godaddy账户token泄露的话,将会直接影响域名的安全性。

所以一个合理的方式是一台机器用于处理证书,然后其余服务器全部从这台机器上下载,但是海外站点在国内访问并不稳定,因此用GitHub来转运证书

流程如下

云服务器(自动更新证书)–>对称加密–>更新到Github–>下载–>对称解密

这样做基本可以保证证书可以传递,又可以最大限度保证域名账号的安全性

有一台华为手机,装了Relay ME用来把国际漫游的国内联通卡的短信/电话转成邮件发送到邮箱,用小号Gmail邮箱登录发到大号上面去,结果今天突然莫名奇妙不让登录了,之前还以为是有人想黑我小号,结果一看登录的ip地址,才反应过来,不让我登了。

对于Google这速度,无语了。。。

今天被某位同学焖饭刺激到了,大清早被刺激了,身处美国大乡下,这片饮食洼地,馋的要死,遂晚上只能搞个炒饭来满足一下自己的胃了。

某位同学的焖饭,加上美颜,太诱人了

大概中午的时候,做饭的时候多做了一点,扔冰箱里,因为刚做好的饭水分太大,吵起来容易糊锅,所以所以放冰箱里可以蒸发一下水分,让米更有颗粒感。

然后就是烧肉、虾,我是懒人,放一起焯,然后一起炖了,油、生姜、老抽、生抽、糖、醋、鸡精一个都没少,不知道是不是我的错觉,感觉这边猪肉腥味不是很大,也没必要放酒。先做好一个类似糖醋猪肉虾的魔性菜,还剩下适当汁水的时候,把饭倒进去,让饭吸收一下汁水,最后放菜,铲刀一顿胡搞,基本就能出锅啦,味道还不错。

其实主要是虾买的比较大,如果不像搞红烧肉那样炖,基本很难入味,也就很难吃。但是光搞虾又吃不饱,所以只能把虾和肉放一起胡搞啦。

今天听到一师兄做关于reinforcement neural network的报告,突然很想把以前某个关于机器学习的想法给实现一遍,再说现在机器学习红遍全世界,再不了解一下,感觉跟科研脱节了。

话说十年前,我入数学建模时,就开始跳进了神经网络的坑,那时候学了很多,也做了很多推导和工作,但是那时候限于cpu计算能力,这个方向一直不温不火,自己也在校报水了一点小文章,标题叫《基于RBF网络模型的XXXX系统》,可以说大概有了解,却没有深入,最佩服的自己还是大概11年的时候,跟着学校的研究生做了一点NN的工作,结果还不错,但是那时候完全没有发文章的意识,只是觉得好玩,毕业了,工作了也就丢了。但是大概14还是15年开始,随着gpu加入,这个方向大火,今天已经燎原了,感觉错过了整整100亿。同时在12年,玩了一下比特币,觉得没挖到,就算了,看看今天的价格,感觉自己又错过了100亿。感觉自己天生就是穷的命

今天突然有种想玩一把机器学习的冲动,再一看,基本上机器学习都是用Python写的,毕竟现在核心计算都交给GPU了,用点胶水语言也无所谓了,要是放过去,说用Python做高性能计算是绝对不可想象的。大概五六年前,计算机领域大概流行这样一种模式,小规模验证用脚本语言,大规模计算用C来干,这才几年的光景,感觉这句话过时了。

话说自己接触Python也是本科期间,我本科没事的时候,最爱干的事情就是把图书馆理工科区转一遍,看看有什么好玩的书,所以也大概接触过Python,大概知道是个脚本语言,会写个Hello World。直到读研的时候,才开始用了比较多,用Python做爬虫,特别是Html上结构化的东西,用Beautifulsoup是比较方便的,再后来,用Python写点网络协议方面的东西,最后止步用Python写后端,说实话,读研那会真的是不务正业,天天搞这些乱七八糟东西,果然读博了感觉自己还是同样不务正业。

用Python最头痛的就是环境配置的问题,特别是在集群/超算上,不像个人计算机,你是没有权限改动系统文件夹的,所以基本上都是从头编译运行,自己编译一版Python,但我发现这条路走不太通,Python依赖的环境变量太多,感觉我搞不定,后来我发现组里的小伙伴都在用Anaconda来配Python,感觉自己已经落后了一个时代了。在小伙伴指点下,终于找到Anaconda是怎么用的,感觉超级方便。

https://it.stonybrook.edu/help/kb/installing-software-packages-locally-with-anaconda

安装包直接用conda install,方便程度感觉接近apt-get了。

哎,说实话,我高中毕业那会,关于对计算机专业的看法,我问了一下物理老师,他说,搞计算机的话,你得终身学习,现在想想这句的确不错。但幸运的是,我的专业不是计算机,但是干的计算机活,所以可以放松要求自己啦~~~哈哈哈

下面两个图展示了Anaconda里面Python和系统里面Python的区别

[GCC 7.3.0] Anaconda
[GCC 4.8.2] …Red Hat

不过话说,有一点真的很奇怪,之前学校集群用pbs的时候,gpu的队列空的一塌糊涂,反而用slurm之后,gpu资源紧张了一踏糊涂。现在想跑个程序还得等。哎

虽然吐槽归吐槽,但是石溪的集群还是很不错的,各种package都有,管理员都很好,碰到问题都会很乐意给你解决,使用率相对国内来说还是比较高的。

现在撞库攻击越来越普遍,一个人几乎不可能记下不同网站不同的密码,所以我现在采取加密Excel文档+随机密码来保存密码,虽然有很多密码管理软件,但是通用性并不是很强,而且如果涉及云存储的话,并不是很放心,加密的Excel集中管理虽然风险比较大,但是比被撞库的风险要小。甚至部分网站的密码找回全部都用的随机字符填充,然后再保存下来了,也不用纠结你到底喜欢哪一本书,你最好的朋友是谁了,而且很多问题答案过了一段时间可能自己也记不得了。

 

我现在都是用自己用Qt写的随机密码生成工具来用作密码生成,一般用”-“隔开,常用的话,输个两三遍也就能记住了。

随机密码生成器源代码下载

美帝其实总体说来生活不错,但是几乎每个留学生都需要面对一个很重要的问题,就是吃还有理发(男生),以前留学圈有个玩笑,国内连开水都不会烧的女生到美国来居然会泡面了。我来说说我在美帝怎么吃的,这里学校有食堂,刚到那会儿,东西不全,基本上以食堂居多,但是食堂的很多都是墨西哥卷,并不是很好吃,刚来只能将就一下,等到开学了,就有自助餐,早餐8刀,中餐9刀,晚餐10刀,夜宵(晚上九点后)8刀,在门口掏了钱,进去随便吃,当然我见过很多人出个早餐的8刀,然后吃一天的,黄皮肤居多,果然国人在薅资本主义羊毛上面一点都不手软。不过话说食堂自助还算可以,饮料/薯条/披萨/水果/冰淇淋基本都有。

但是如果顿顿吃食堂,早餐+午餐放在一起,晚餐单独,一个月接近600刀了,开销还是比较大的,所以基本上以自己做饭居多,特别是我们这种访问的,每天空闲的时间比较多,因此有大把的时间做饭。刚来的时候,手里原材料有限,人生地不熟,只能搞点酱油面对付对付,不过味道也还行,能下得了口,人饿的时候,什么都是好吃的。

后来的话,基本上生活习惯了,熟悉了Walmart还有几个超市后,基本就开始了生活的正轨了。现在NY地区也有生鲜送货的网站FreshGogo,可以定期送到学校,然后过去取,还是很方便的。有一段时间觉得Walmart的罐头便宜,就疯狂地买了一堆罐头,然后炒着吃,不过吃到最后,闻着那股罐头味就受不了了,再也不吃了。基本上每天白菜配猪肉的组合,这边猪肉还是很便宜的,一公斤猪肉6刀左右吧,基本吃半个月没有问题。

要论做菜经验,基本就是乱炖,盐+味精+酱油+糖+油放了,基本味道不会差到哪儿去,糖醋排骨之类需要加点生粉最后勾芡一下。

青菜+胡萝卜猪肉+白米饭

糖醋排骨+醋溜包菜+豆子+白米饭

有一阵子,解锁了烙饼的新技能,配合粥还是很不错的。

总体来说,如果拥有一双发现的眼睛,有一点动手技能,自己做做饭,在美帝生活还是很安逸的。

在图论中,有一类图是比较特殊图,Regular Graph,我不知道正确翻译是什么,且称为正规图吧,这类图有一个很好的性质,就是图中的每一个Vertex,也就是每一个点所接的边是一样的。

例如,立方体就是有四个点,每个点有三条边(也称之为度)的Regular Graph,简称4k3

维基百科的定义如下:

In graph theory, a regular graph is a graph where each vertex has the same number of neighbors; i.e. every vertex has the same degree or valency. A regular directed graph must also satisfy the stronger condition that the indegree and outdegree of each vertex are equal to each other.[1] A regular graph with vertices of degree k is called a k‑regular graph or regular graph of degree k. Also, from the handshaking lemma, a regular graph of odd degree will contain an even number of vertices.

Regular图的示意(来源:http://mathworld.wolfram.com/RegularGraph.html)

现在问题来了,不同点数,不同的度,到底有多少种不同的组合呢,这的确是一个非常有意思的课题

目前可考的,是Jason Kimberley这个人,填了非常多的数字,结果链接如下

http://oeis.org/wiki/User:Jason_Kimberley/A068934

他做出最大结果是

40K36

有8845303172513781271种不同的组合

太佩服这个人了

基于GENREG这个很古老的程序做的,话说我也联系过这个软件的作者,跟他说我们打算在超算上面跑,他也很认真地回复了哈,给了很好的建议。

不过说实话,这种问题非常难做,需要非常多的机时,而且程序中大量的递归,导致很难并行化,所以还是一步一步来吧。

话说genreg貌似下载链接有问题,我来传一份吧

genreg95下载地址