小於的宅基地

但愿每次回忆都不觉愧疚




ModBus 空调组件及中央空调接入 Home Assistant 细节

2018-10-29 |

玩Home Assistant有一段日子了。一直想把家里的中央空调接入进去。无意间Google到Yonsm老师的blog好像看到了一线希望:《ModBus 空调组件及中央空调接入 Home Assistant 简述》。

于是按照文章和论坛中讨论的指引购入了相关的模块。由于第一次玩modbus这个工业互联协议,中间也走了不少弯路。这里对《ModBus 空调组件及中央空调接入 Home Assistant 简述》没有提及的细节做一个补充.

开始之前首先要在心理上做好打持久战的准备😱️

»

不拆机给Mac Mini用上Fusion Drive

2016-02-28 |

家里的Mac Mini是2014 late的中配。硬盘1T没有定制SSD或者Fusion Drive。一直想自己改造成Fusion Drive。奈何Mac Mini被苹果上次升级后从原来的两个SATA硬盘位变成了一个PCIe和一个SATA31。而且PCIe接口的SSD相较于普通SATA接口的价格一致居高不下。保修期内又不想拆机,于是只能作罢。

最近mini慢得越来越让人难以忍受。想起来之前听IT公论主播Rio在播客里面介绍,他用USB3.0接口外接SSD,将整个OS X系统装在外置移动硬盘上,得益于USB3.0接口的速度提升效果还不错2。

于是最近买了个USB3.0转SATA3的移动硬盘盒,用一块闲置的镁光M4 128G外接,和内置的1T HDD硬盘组了Fusion Drive。OS X运行速度提升明显(公司的iMac也用的是Fusion Drive,感受上几乎没有区别)。

这个方案有这些优点:

  1. 方便,不拆机。即使将来SSD坏了或者要换一块更大的SSD同样不用拆机。
  2. 成本低
  3. 不影响保修
  4. 得益于Fusion Drive,系统会判断哪些文件需要放在较快的SSD上面。

Fusion Drive

组建Fusion Drive其实很简单,前提是你要会使用命令行。具体操作可以参考MacWorld的这片文章:

How to make your own Fusion Drive

Trim enable

OS X 10.10.4开始系统中多了trimforce命令。算是Apple官方允许第三方SSD开启trim功能了。

下面命令可以实现:

1
sudo trimforce enable

参考:osxdaily:How to Enable TRIM on Third Party SSDs in Mac OS X with trimforce

胶水

考虑到Mac mini上的USB口可能要经常插拔,会不小心带到SSD硬盘口,造成Fusion Drive两块盘数据不能同步产生故障,于是我用热熔胶枪做了固定(手残将就看吧)。

Boot Camp

家里这台电脑偶尔还要用用windows3,于是需要用Boot Camp装个双系统。

步骤跟正常的一样,但是在进入windows安装程序的时候,选择磁盘后会进行不下去。会出现类似“无法创建磁盘之类的提示”。在这个问题上我也困扰了好久。

解决的办法是这个时侯把ssd拔出来直到windows安装成功。然后格式化Boot Camp分出来的盘。windows安装完成后把SSD插回去。

Time Machine

为了数据安全,及时备份。 最好是家里有NAS可以自动备份。

成品

  1. iFixit: Mac Mini Late 2014 Hard Drive Replacement . Youtube Video: PCIe SSD & flex cable install on Mac Mini (late 2014) for OS X Fusion Drive[Teardown & Reassembly] ↩

  2. 我买的硬盘盒标称SATA3转USB3.0的传输速率达到5.0Gbps基本上已经达到了目前主流SSD速度的瓶颈了。 ↩

  3. 我在上面装的是windows10 ↩

»

照片同步服务--iCloud Drive照片同步服务使用报告

2015-08-13 |

关于Apple的照片同步服务,我从今年三月分开始用到现在总体感受还是很满意的。

三月份我和老婆出去旅行,老婆的iPhone6在旅途中丢失了。我们最心疼的并不是手机本身,而是里面的数据(总的来说就是照片和视频,尤其是在旅行过程中拍的照片)。为了避免悲剧再次发生,回国后我决定正式启用iCloud Drive来同步/备份我的照片(之前用照片流5G免费空间,抱着能用最好,不能用拉倒的心态)。正好在这个时间节点OS X上面的Photos应用也出来了。Apple免费的5G空间显然日常就是不够用的,于是我订购了每个月20G/¥6的存储空间方案。国内的网络环境同步虽然有点慢,但是并不恼人(毕竟只要在wifi环境下手机电量充足或者充电状态下时是静默执行的)。期间我也会时不时使用美国的VPN,感觉同步速度似乎会快一点。

我之前管理照片用的是OS X下面的Aperture。今年春天OS X的升级带来的Photos可以把之前Aperture图库中的照片导入到Photos的Library。我自然是毫不犹豫这么做了。不过稍微有点不爽的是:之前在Aperture中对图片的修改是不能带过来的。不过考虑到Photos的目标并不是要成为像Aperture这样的专业修图软件也是可以接受的。说到这些图片很多都是用一台松下Lumix GF6相机拍的。大部分是JPG格式,一张照片在8M左右;也有一部分是Raw格式的,大小在20-30M左右。目前我整个图库中有12,638张照片,226个视频(大多是1分钟左右用iPhone拍的短片)。整个图库的大小是111G。回想今年4月初开始使用Photos的时候数据量跟现在应该也差不多。

我家里有一台今年款的Mac Mini中配7天24小时开着。家里的宽带是网通20M(国内的网络环境似乎网通的国外出口带宽要比电信好不少)。这个情况下,我100G左右的数据大概是在4-5天完成同步的。这个过程中间,之前20G的iCloud空间不够用,我就升级到了每月200G/¥25的套餐。由于我这台Mac有1T的存储空间,所以我在iCloud的设置中选的是将原件下载到此Mac。我在iPad 4(16G),和iPhone 6(64G)和一台15寸的retina MacBook Pro(256G)上都选择了优化存储空间。目前我iPhone里面照片的磁盘占用空间是9.8G。同时我在公司使用的一台iMac(1T Fusion Drive)也选择了将原件下载到此Mac。

后来Flicker出了新的uploader。有免费1T空间可以把iPhoto/photos中的原图上传到Flickr,正好可以作为一个备份方案。但是用了一阵子后来发现不灵,可能是我国内网络的问题吧。

下面来谈一下为什么开头我给出了非常满意的评价:

  1. 前面忘报家门了:我是一个iOS开发者。从我之前的描述可以知道我日常使用的设备都是Apple家的。所以就我个人来说不存在跨平台的说法。我想这大概是很重要的一点。如果让我安利一个人来使用这个服务我会这么说:在我使用的设备上,当我需要一张照片/视频的时候。它已经静静地躺在那里了。我的使用经历来看:一张用iPhone拍摄的照片,手机电量充足在连接wifi的情况下。5分钟以内一般都可以在我的Mac上面的Photos里面看到原图了。遇到紧急情况需要马上在Mac上使用刚刚拍摄的图片我用AirDrop来解决。

  2. 由于可以选择优化存储空间,很大程度上解决了设备存储空间限制的问题。使得把我所有照片随身带着走成为了可能。我通过Mac上的Photos把一些特殊事件的照片放在不同的相簿里面。在一些碎片的时间,翻翻旧照片其实是一件很轻松惬意的事情。或者和三五好友在一起的时候,可以随时分享一段旅行经历或者几张有趣的照片。

  3. 在任何一台设备上对照片做了修改,按照我的理解是iCloud都把修改相关的参数进行了同步。这样的好处是修改后并不会多出一份照片,浪费存储空间。同时又可以在任何一台设备上把照片恢复到最初的状态。

不足:

  1. 由于选择了优化存储空间,苹果默认是把别的设备上上传的图片的缩略图静默同步到iOS设备上的。当我们需要看真正的为设备优化的清晰的图片,第一次需要等右下角的圆圈转完,才能正真看到为此设备优化的照片。这个过程不少时候会比较难以接受。
  2. 使用第三方App对照片进行了修改。这个时候只能另存一份照片,同步一次。我觉得比较理想的方案是:Apple把照片修改所需要的相关属性的API全部开放,第三方App对照片做修改也只是修改照片附加的属性(就像系统的Photos App对照片进行的修改)。这样就能做到第三方App修改照片同步的也只是照片修改信息,而是不是一张新的照片。
»

iOS开发工具:自动生成@2x,@3x图片

2015-04-25 |

自从Apple推出iPhone 6 Plus后为了对其适配完美在做图片的时候又多了一种尺寸也就是@3x的。虽然新生代神器Sketch可以方便存成不同尺寸的图片,但是不可否认的是Photoshop在设计师心目中的神圣地位目前还是不可撼动的。为了提高工作效率我希望有一个工具或者流程可以在设计师给我一张6倍(2和3的最小公倍数)大小的图片后自动缩放生成2和3倍大小的图片。之前想过用拖拽(Drag & Drop)的方式来实现,最近了解到OS X有Finder Action的功能可以更加方便/适合做这个事情。

Folder Actions is a feature of OS X that lets you associate AppleScript scripts with folders. A Folder Action script is executed when the folder to which it is attached is opened or closed, moved or resized, or has items added or removed. The script provides a handler that matches the appropriate format for the action, as described in this chapter. Folder Actions make it easy to create hot folders that respond to external actions to trigger a workflow. For example, you can use a Folder Action script to initiate automated processing of any photo dropped in a targeted folder. A well written Folder Action script leaves the hot folder empty. This avoids repeated application of the action to the same files, and allows Folder Actions to perform more efficiently. from:Apple Developer

经过一段时间的摸索,我用下面的一段脚本来满足我的需求。

解释一下下面这段用AppleScript写的脚本的作用:

首先可以指定一个文件夹来启用这个脚本。每当往这个文件夹中添加文件的时候脚本会被触发。脚本触发后先会检查一下添加的图片长和宽是否都是6的倍数,如果不符合会把图片放到Error Images的文件夹里面,并且会弹框提示哪些图片有问题(之前做了把提示朗读出来提醒设计师,感觉效果也不是很好)。如果验证通过那么会把图片压缩的两倍和三倍的大小放到Processed Images文件夹,文件名为也加上了熟悉的@2x和@3x。同时原图片文件会转移到Original 文件夹。

效果如下:

那么问题来了,怎么做?

  1. 打开脚本编辑器,把下面这段AppleScript脚本存到~/Library/Scripts/Folder Action Scripts 文件夹,命名成auto image scale

  2. 对需要设置的文件夹右键,选择服务->文件夹操作设置,然后选择刚才存的auto image scale。具体操作入下图

  3. OK,把需要转换的图片拖进这个文件夹就可以了。

题外话

  1. Yosemite开始OS X中AppleScript可以用Javascript来替代。但是搜索到的资料和系统的的示例代码都是AppleScript写成的。而且脚本编辑器中JS的文档看起来也只是AppleScript文档的一个转译。又为了了解AppleScript所以直接用AppleScript写了。以后可以尝试用JS写一下毕竟可用的三方库多很多很多。
  2. 在/Library/Scripts/Folder Action Scripts中有一些系统预制的脚本可以参考。
  3. 设置Folder的文件夹,之后不要重命名。如果有需要,重命名后重新设置一下Folder Action。
  4. 设置了启用了Folder Action后会在会在~/Library/LaunchAgents/和生成com.apple.FolderActions.enabled.plist和com.apple.FolderActions.folders.plist两个启动plist。打开看看启示就是启动两个AppleScript。
  5. Automator也可以用来写Folder Action。只是限制比较多,需要灵活还是要用AppleScript/JS来写。作为工程师还是直接全部用脚本来写好了。
»

求攻略iOS开发工程师招聘

2015-04-10 |

求攻略是什么

求攻略一个是直接可以订到当地导游、包车、当地活动、民宿等等个性化的旅游攻略社区与服务的移动APP

在求攻略上聚集众多个性化旅游P2P服务的攻略社区电商平台,之处,在求攻略还是可以方便地买到其它标准型的旅游产品,门票、WIFI、当地参团游等等。

求攻略的使命:“让每一次自由行都玩得好!”

求攻略解决了什么问题

求攻略的目标是为了解决两个问题:

  1. 自己做自由行攻略太痛苦,太费心。
  2. 怎样可以更深入地玩,体验当地特色,结交当地好友。

公认自由行比跟团游好,首先是自由行做攻略太痛苦,求攻略上有大量达人与我们精编的攻略,让用户拿着求攻略直接就可以出行。其实是自由行怎么玩得更好更不一样需要有当地人来引导,求攻略上有大量当地服务者可以为用户服务,让用户玩得更好。

在求攻略可以方便地知道怎么玩的攻略,可以方便地预订个性化的服务。 这里有漂亮、健谈的正规当地导游; 这里有幽默、专业的正规包车司机; 这里有多彩、有趣的当地活动体验。 这里有舒适、温馨的当地民宿;

工作环境

我翻了一下我的iPhone找了一些我日常拍的照片给大家看看: 公司去年4月份正式成立在杭州城西的优盘时代,经过小伙伴们半年的努力,在国庆假前夕麻利得把公司后面的墙给推倒了,面积扩大了一倍!

于是每天下午3点钟小伙伴们可以在更开阔的场地跳操了呢:

下面是平板支撑团队:

为了鼓励大家站立办公,少看《颈椎病康复手册》刚刚那个蹲着的行政美女直接去订做了两张站立办公桌:

空气也要干干静静的:

互联网美甲进公司,妹子们乐坏了:

认真工作的运营/市场妹子们:

小伙伴的生日是不能忘记的:

食物饮料也是敞开供应的,太多了摆放不是很文艺:

求攻略iOS开发工程师招聘需求

基本要求

  1. 熟悉Objective-C语言编程
  2. 熟悉git/git-flow
  3. 良好的编程习惯
  4. 熟悉cocoapods
  5. 熟悉命令行

加分项

  1. 能用Swift写简单应用
  2. 在github有贡献(提过Pull request,自己的开源项目,提交过issuse都算)
  3. 熟悉函数式编程
  4. stackoverflow/segmentfault上回答过问题(收到评分多优先)
  5. 看完今年WWDC session核心课程
  6. 拥有自己的独立blog
  7. 熟悉一门脚本语言(shell/python/ruby…)

减分项

  1. 使用baidu搜索

简历投递

yosemite@qiugonglue.com

»

支付宝的红包到底有多不靠谱

2015-02-11 |

这两天关于支付宝抢红包的事在微信朋友圈炒的是沸沸扬扬,不管是内部流出的表格还是后来某大神做的日历提醒都被各种转发。本来挺好一件事情,人家一个愿意发钱,我们一个愿意抢钱。

不过事情在今天早上发生了一些变化,搞得人好郁闷。

事情是这样的:

09:20

早上大家刚刚到公司纷纷在讨论抢红包的事情了。

09:55

订阅了某大神作的日历生效了:

日历截图

于是打开支付宝客户端开始等红包

9:59:59

好紧张,好紧张到底能不能抢到呢!!!!

10:00

第一轮抢钱开始了!!戳~~~~~~~~~~~~戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ 戳~~~~~~~~~~~~ !

(۶ૈ ۜ ᵒ̌▱๋ᵒ̌ )۶ૈ=͟͟͞͞ ⌨ 啊!!!!失败了,全公司没有抢到!!!!

10:05

翻朋友圈,晒的都是这张图:

抢红包失败

有朋友也是某知名大企业的,据说若大一个办公室就没有一个。感觉这个事情有点蹊跷了。

11:20

反正年底了也没什么事做,作为一个苦逼的创业者。想着怎么通过这个事情传播一下呢?

  1. 来一个抢不到红包抵制支付宝万人签名的网页。(https://www.qiugonglue.com/choubuzhonghongbaodizhizhifubao.html)
  2. 做个网页统计一下有多少人抢到了,有多少人没抢到:

于是

原型

在群里面丢了这张图片跟大家聊了一下,反正也没多想就简单计数统计一下呗。半个钟头出成果。啦啦啦好开心。。

聊天

12:05

同事把网页做好了!!!

赶紧丢到朋友圈分享吧!!!!

网址:支付宝红包,你中了吗?

12:45

不过啊有不少朋友转发了呢!嗯有很多人没有拿到红包,骗纸!!!!!!!(۶ૈ ۜ ᵒ̌▱๋ᵒ̌ )۶ૈ=͟͟͞͞ ⌨

13:45

太多啦

不对啊,怎么有这么多人中奖!!!!毁三观啊。

然后我们看了后台访问日志:

日志

这是我们数据库里面的访问日志:

日志

有一个ip在不断刷我们点中奖的接口:

ip

查了这个ip。这是什么鬼,ip来自阿里巴巴!!!!!

14:30

看到了支付宝关于上午红包的解释

解释

总结

写这篇blog的目的是记录一下今天的狗血事件。阿里巴巴这么大公司,年底搞这么大阵仗要给大家发红包。我们没有收到也就算了啦。结果我们做一个统计页面,尽然有来自阿里巴巴的员工来干扰这个数据。我不管是出于阿里官方行为还是个人行为就想讨一个说法。

当然了可以说我们的页面有问题,没有没有防止刷的问题。但是这个事情时这样的:

  1. 创业公司唯快不破。我们就像尽快写个可以在微信传播的页面出来。

  2. 别人来刷,或者阿里员工在家里刷我们完全没有意见。要知道ip来自阿里,而且是工作时间。我们可以认为这段时间里面阿里是花钱雇这个员工在做事的。所以这件事应该是代表阿里。那么阿里给大家发红包,结果没发好。我们三方来写一个统计页面,阿里自己来干扰数据这是几个意思????

»

Xcode6 beta3(6A254o) all-product-headers.yaml 错误

2014-07-10 |

Apple最近放出了iOS8 beta3,Mac OSX yosemite DP3, Xcode6 beta3(版本号是6A254o)更新。在用xcode的时候会出现一个奇怪的错误导致编译不能通过。

1
2
fatal error: invalid virtual filesystem overlay file '/[Long-path-goes-here]/all-product-headers.yaml'
1 error generated.

xcode6 beta3 bug

通过问Google在Stackoverflow: Xcode 6 beta 3: invalid virtual filesystem overlay file找到了解决办法。

原因是Xcode在编译生成all-product-headers.yaml的时候格式有错误,最后两个括号没有括回去。

解决方法:

  1. 找到/[Long-path-goes-here]/all-product-headers.yaml这个文件
  2. 把最后的方括号和大括号补全
  3. 保持并设置这个文件为只读(每次编译的时候这个文件会被重新生成)

补全后的文件像这样:

1
2
3
4
5
6
{
  'version': 0,
  'case-sensitive': 'false',
  'roots': [
  ]
}

目前没有更好的解决办法,只能等Apple 下次更新了。不知道在beta4之前会不会发布一个紧急修正版。

»

WWDC 2014 HD Videos

2014-06-09 |

今年WWDC的信息量特别大,有必要好好看一下今年的WWDC 2014 Session Videos。无奈网络问题看HD的太卡,看SD的有很模糊根本看不清XCode中的演示代码。

于是抓了那张网页,取出了全部HD videos的URL。丢在家里的NAS里面用aria2下载。这样就爽多了。

其实这些视频也可以不用下载可以直接用QuickTime Player或者VLC直接复制进去链接地址看就可以了。就看和Apple服务器连接快不快了^_^。

QuickTime Player:文件->打开位置(⌘L)

QuickTime Player open network

VLC:File->Open Network(⌘N)

VLC Player open network

»

关于swift的一些东西

2014-06-06 | Swift |
  1. swift中的单例: dispatch_once singleton model in swift

  2. Cocoapods with swift: Swift项目中集成Cocoapods

  3. stackoverflow swift-language tag: 看看别人的问题和解答,初期很有帮助

  4. 中文入门BLog: 来自苹果的编程语言——Swift简介

  5. Github swift语言排行趋势: Swift trending repositories

  6. 一个专门介绍swift编程的blog: swift-iOS

  7. WWDC14 Sessions HD Videos

project

  1. RxSwift: ReactiveCocoa作者新开的swift项目

欢迎修改给我提交Pull Request:Github page: sth about swift

»

给一个毕业孩子简历的建议

2014-06-03 |

最近一个小孩211大学毕业,想进某知名互联网公司工作。我帮他看了一下简历,提了点意见。下面是回信内容:


你好,你的简历我大致看了一下。跟据我的检验,和工作经历你是否可以在下面几个方面做修改:

  1. 最好把Doc格式的简历转成PDF(很有可能看你这份简历的主管或者工程师用的是Mac或者Linux,这个时候你这个格式就比较尴尬了。然后其实在工程师眼里Doc格式看起来比较low。小小建议如果有心成为一个优秀的程序员学一下Unix下面的命令行吧)。这么一个小小的操作可以让你的简历看起来与众不同^_^

  2. 如果过是面试XX的程序员最好把党员背景去掉。可能这个条件在银行这样的单位比较有用。但是在XX这样的单位比较开放。很有可能在主管眼里这是一个减分项。

  3. 看起来你的这个简历是直接在网站上复制黏贴下来的吧。如果是呢,最好自己手工写一下(这样看起来就比较平庸,因为有很多人会直接复制黏贴。不管怎么说会显得你比较不用心)。如果有时间可以了解一下Markdown(可以Google一下)的纯文本方式,然后转成PDF。并且把.md和.pdf一起发过去。这样会加分的。

  4. 个人感觉求职经历就不用写了。他们不会care的。

  5. 把你智能门锁的项目重点介绍一下。这个是关键。然后提前他们主要看的是你的实战经验。

  6. 如果你在学校的时候用github,stackoverflow,segmentfloat,知呼这些网站的话都把自己在这些网站的profile页面写上。这些比简历牛逼多了。如果你github上开源代码贡献足够多的话简历都可以不用直接丢一个链接给他们就可以了。

»
1 2 … 4
於卓慧

於卓慧

38
14
20
RSS
© 2011 - 2018 於卓慧
- NexT.Muse