Skip to content
Ider

沉淀我所学习,累积我所见闻,分享我所体验

Primary Navigation Menu
Menu
  • Home
  • About Ider
    • Who Ider?
    • Why Ider?
    • How Ider?
    • Where Ider?
    • What Ider?

IT Products(数码产品)

2022-12-08
08 December
On December 8, 2022
In IT Products(数码产品)

Pixel Watch智能手表和Pixel 5, 6 Pro 及 7 Pro手机

上个月我去亲身参加了 Google Android Summit 2022。过去几年因为疫情的关系,各类技术大会都在线上举行,今年终于可以小规模地搬到了线下,让社交变得更近。整个会议讲了很多关于 Android 开发的好货,主要集中在开发工具和 Kotlin 的 Compose,但最让大家激动的是在傍晚结束前送给每个参加的人一个最新发布的 Pixel Watch。这应该是最近5年Google在谷歌各种大会上给的最慷慨的一次了。

第三方厂基于Google配合Android系统手机为手表开发的Wear OS发布过很多智能手表,但是由于各种原因都没有Apple Watch那边受欢迎。Pixel Watch是第一款由Google自己发布的智能手表,紧靠着Pixel手机的产品线。因为是第一款自然跟比较成熟的Apple Watch还是无法比拟。

我个人对手表有比较强的需求,这样我可以随时方便地抬手看时间,而不需要每次掏出手机再点亮屏幕。不过我对智能手表一直没有很大的热情和期盼,一来它的大多功能都还无法取代手机对我而言主要功能还是看时间,而来它的低续航又需要我付出其他的精力去维持它的功能。

所以过去一年里, 我日常使用的是 Fitbit Charge 5,在保持一周左右的续航的同时,还能获得简单的健康和锻炼信息。可能正是因为 Pixel Watch 跟 Fitbit 有自然的继承,让我在 Pixel Watch 的转换感到无比的舒适。在拥有同样的 Fitbit 的功能同时,还有更好的交互界面。虽然续航是最大的短板,最多只能持续24小时,但是基于更好得电池布局其充电速度非常得快,很大程度得弥补续航得不足。另外,每天我也会在洗漱时讲手表摘下拿去充电,并没有感到不便,因此 Pixel Watch 自然成了我的日常佩戴。

 

Pixel Watch有不少 Google 和 Fitbit 出的第一方应用,也可以在Play Store上下载很多第三方应用。由于屏幕过小,我并不是特别习惯使用这些应用。但是也有几个功能我非常喜欢使用。

一个是用手表唤起手机铃声,这样就能很快找到手机;另一个是通过手表来控制在手机上的媒体播放,特别是调节音量,我就不需要拿出手机来控制了。

目前还没有对 Pixel Watch 进行深度发掘,希望以后能有更多的发现和惊喜。

Pixel Phones

自2018年介绍了一下 Pixel 3 XL 手机已经有4年时间了,Pixel系列也到了第7代。中间因为没有看到特别大的提升以及听到的质量问题我跳过了 Pixel 4,但集齐了 Pixel 5,Pixel 6 Pro 和 Pixel 7 Pro。

Read More →

2021-07-09
09 July
On July 9, 2021
In IT Products(数码产品)

我拥有过的无线耳机

之前介绍了我拥有过的四个移动硬盘,讲到我对它们的使用频率其实并不高,使用率也低所以很长时间内不会再购入新款。我使用频率比较高的电子产品,除了手机和电脑以外,最多的还是耳机。前几年对耳机的需求主要在听歌以及降噪让工作更专心,而过去一年多在家工作的日子里对耳机的使用基本全在视频会议上。过去五年里,随着无线耳机的质量越来越好,我根据需求买了五款无线耳机,就来介绍一下我与它们从过去到现在的经历。

我入手的第一款无线耳机是2016年买的Bose QuietComfort 35。在开放式办公室工作我一直期望有一部降噪耳机,如果是无线的就更好了,但在当时对于$350的价格还是比较犹豫的。

一个在Apple的朋友跟我说他们有员工折扣可以买这款耳机。这一下子让我惊讶到原来Apple员工折扣单单可以买Apple自家的产品,还有在Apple Store卖的其他东西都可以。他查了一下可以最后的价格含税差不多是原价的85折,我一下子心动了。当他说下单可以当天就近去Apple Store取货,我立刻把信用卡号发给了他。

这部耳机的好不用多说,降噪功能让我工作时可以非常专心,出差的时候我也会带到飞机上来隔绝飞机上的声响好安心入睡。耳机的音效也是让我最舒适的,完全打压Apple的各种耳机。耳机的电源续航能力也很好,所以一直用到现在。现在耳机垫因为时间原因已经老化破皮了,我还刚刚给它换了新的。

要说不好的地方,夏天带着比较热是一个,但考虑到办公室的空调总是很低这个不是问题;另一个就是比较大也比较沉携带起来不太方便,一般我都留在办公室的抽屉里。最多的状况还是同事有事找我时基本完全听不到他们的声音呼唤,接着就被他们拍肩膀吓到。

Read More →

2021-02-15
15 February
On February 15, 2021
In IT Products(数码产品)

我拥有过的移动硬盘

从大学到现在,我一共给自己买过四个移动硬盘,每个的价格基本在700-1000人民币左右,但是他们的存储容量基本符合摩尔定律在扩张。随着云存储、流媒体等技术的普及和稳定,我估计不会再有买移动硬盘的需求,因此借个机会来聊聊我买过的移动硬盘来回忆一下过去。

目前还带在身边的下边三块,还有一块在一次家人过来玩时让他们存储照片带回去了,下次有机会找到了再补上照片。

Read More →

2020-01-16
16 January
On January 16, 2020
In IT Products(数码产品)

下载Google Photos上的所有图片

Google Photos是我最爱的Google服务之一,它让我能把所有手机拍摄的图片、视频都保存到云端从而解放我手机的存储空间。上传之后,我还可以在电脑上的浏览器或移动设备的应用程序上按需要浏览和下载。而且因为我用的是 Pixel 手机可以上传原始尺寸也不算空间,因此我经常还会把单反相机拍的照片拷贝到手机中再上传来保证画质。
不过这一便捷性是建立在几个重要基础上的:好的网络;可以访问Google服务。去年年底回中国就碰到了无法使用Google Photos尴尬:Google被墙,VPN访问慢。那一刻让我深切感觉到还是本地的内容访问比较快。
于是回来的第一件事情就是想办法下载所有Google Photos里的备份到我的5TB的移动硬盘里。这样万一以后再配到类似的事情,或者Google Photos崩了,我还能找到过去的回忆。

从2014年开始用Google Photos到现在,我存了差不多100GB的照片,而Google Photos浏览页上一次最多只能下载500张照片。要想用愚公移山的方式去完成这任务,恐怕真的是子子孙孙无穷尽也。

好在Google的账号允许拥有者下载其在Google服务上使用的所有数据,其中也包括Google Photos:https://takeout.google.com/

勾选Google Photos之后还可以点击打开列表来选择想要下载的文件夹(按“上传日期”和“自建相册名”分)

然后在该页最后点击下一步进入压缩文档格式选择页面,最好选择大尺寸的文件,不然多个文件下载起来还是很麻烦的。

另一方面,我又想到个问题:以后我再来下载不是还会把之前下载过得又打包下载了一遍。于是我希望按年份来分组下载备份。可惜内容选择页面上没有提供过滤的方式让只勾选特定年份的选项,点击几百次来选中特定年份又不实际。

于是乎,我拿出所剩不多的JavaScript技能写了一段脚本来全选特定年份的图片文件夹:
[codesyntax lang=”javascript” lines=”normal”]

$0.querySelectorAll(':scope > div').forEach(function(option) {
    if (option.querySelector('label').textContent.startsWith('2015-')) {
        option.querySelector('input').click()
    }
})

[/codesyntax]

打开浏览器的开发者工具(Developer Tools)窗口,找到并选择包含所有选项框的html元素,再到指令控制台输入上边那段代码,就能完成想要的选择结果了。

以后只要根据实际需求来修改 if 里的条件来下载特定的年份或者自定义相册就可以了。

2018-10-29
29 October
On October 29, 2018
In IT Products(数码产品), Mobile Development(移动开发), Tangential Speech(漫话杂谈)

Google Pixel 3 XL 用户体验

上周收到了Pixel 3 XL,简单上手使用之后,最直接的感受是比较失望:

  • 丑陋的刘海造型,而且特别的厚,大部分应用都还没有对其做适应,所以状态条看起来非常不协调
  • 背后的材料变成了玻璃的,没有了原来铝材料的质感好
  • 新的导航手势也不是很舒适,特别是上划两次才能打开应用列表,因为用上划一次来取代了最近使用应用列表
  • 扬声器非常的差,播放声音时背后震动很强烈,声音也闷得好像是老式收音机
  • 跟Pixel 2 XL相比没有特别大的提升

值得点赞的地方可能就是:相机拍摄的照片更加清晰了,特别是前置摄像头带了两个摄像头,拍人像更好看了;还有那 Nexus 系列就有的到了 Pixel 前两代却去掉了的无线充电功能。

对于刘海就特别想吐槽,这部分跟状态栏重叠,所以会导致能显示的通知消息比原来少,非常的讨厌。对于有些应用将状态栏改成其他颜色时,刘海就会特别明显,但是如果进行屏幕截图,刘海的黑色部分又会被自动补全,造成所见影像和生成的图片不一致,非常的抓狂。
要想去除刘海,就需要打开“开发者选项(Developers Options)”来设置,但是真缺了那状态栏的一点空间又觉得挺可惜的。最搞笑的是“Double Cutout”,对称的上下两个刘海,可惜截图是看不出来的。

应用方便,对于 Pixel 3 和 Pixel 3 XL 独享的 Screening Call 表示赞叹,可以过滤掉不少垃圾电话。有些不足的地方是翻译过来的文字必须当场阅读,电话挂断之后就会消失,如果能自动把内容转到Google Voice的留言信息保存起来就更好了。

另外,非常喜欢 Google 还在 beta 测试中的 Digital Wellbeing 的服务,可以看到每天在各种应用上浪费的时间。

同时设置时间来约束使用时长,当天的配额用完后,系统就会应用启动图标变灰并且不能再使用。比如我把 YouTube 的时间设置成了30分钟来防止自己沉迷,但实际是经常我就去设置那边把约束时间去掉,然后静静地在 YouTube 上度过了3个小时。所以本身的自制力才是关键。
希望以后这个服务可以推出更多功能,比如这些功能都是我希望其提供的:导出数据;家长约束并设置不同密码(这样就可以交给太太来管制我);桌面图标小插件;更方便的访问入口。

 

最后,放两张Pixel XL系列的照片(比较讽刺的是照片使用太太的 iPhone X 拍摄的),以及三款手机的规格对比。

Pixel 3 XL Pixel 2 XL Pixel XL
Height 158 mm (6.2 inches) 158 mm (6.2 inches) 154.7 mm (6 inches)
Width 76.7 mm (3.0 inches) 76.7 mm (3.0 inches) 75.7 mm (2.9 inches)
Thickness 7.9 mm (0.3 inches) 7.9 mm (0.3 inches) 8.5 mm (0.3 inches)
Weight 184 grams (6.49 ounces) 175 grams (6.2 ounces) 168 grams (5.93 ounces)
Screen Size 160 mm (6.3 inches) 152.4 mm (6.0 inches) 139.7 mm (5.5 inches)
Screen resolution 2,960 x 1,440 pixels 2,880 x 1,440 pixels 2,560 x 1,440 pixels
Pixel Density 523 ppi 538 ppi 534 ppi
Screen To Body Ratio 83.49% 76.71% 71.04%
RAM 4 GB 4 GB 4 GB
Storage space 64 GB, 128 GB 64 GB, 128GB 32 GB, 128 GB
Processor Qualcomm Snapdragon 845 Qualcomm Snapdragon 835 Qualcomm Snapdragon 821
Graphics Adreno 630 Adreno 540 Adreno 530
Camera 12MP rear, dual 8MP lenses front 12MP rear, 8MP front 12MP rear, 8MP front
Colors Just Black, Clearly White, Not Pink Just Black, Black and White Very Silver, Quite Black, Really Blue
Release date October 9, 2018 October 4, 2017 October 4, 2016
2017-12-14
14 December
On December 14, 2017
In IT Products(数码产品), Programming Life(程序人生), Tangential Speech(漫话杂谈)

协同效应 – 从《炉石传说》的地牢冒险随想到职场工作

上周炉石传说发布了新的扩展包,里面还提供了免费的PvE冒险模式:Dungeon Run。我也趁着假期完成了所有职位的通关,而且差不多一半的职业都是在第一次尝试就过了,只有两个职位尝试了比较长的时间。这过程有一定程度上是凭借这顺气:碰到容易的Boss;拿到超强的Treasures。

而另一个可以致胜的点是我在Twitch经常听炉石主播提到的是:Synergy–协同效应。最近在看的《The 7 Habits of Highly Effective People》一书中的第六条Habit也讲到了是“Synergize”。所以这个观念一时间不停地在冲击着我,也让我去体会到有时候做事情的成效不仅仅靠努力和运气,同时也需要周围的环境和人物一起形成协同效应才能达到最大的成就。

先用炉石的概念来解释Synergy。最简单的就是青玉(Jade Golem)卡,单独每一张都没有什么特别强大的,但是一旦卡组里有越多Jade卡,他们就可以让后边的卡变得越来越强大。卡与卡之间形成的效应所起到的结果远大于单卡价值简单的累加。在Dungeon Run中,还有一些Passive Effect(“被动效果”,或者“光环效果”),比如Battlecry(战吼)触发两次,让Jade Golem增长更加迅速,也让Jade卡变得更加强大。而如果卡组里没有什么卡可以配合这些Passive Effect的话,那选取他们也就变得浪费,这也是Synergy的体现。

工作中,不同职位之间的合作也需要Syngergy。在新公司的第一年,我碰到了一个超强的PM和一个超厉害的Data Scientist,前者负责发现项目,后者在项目发布后分析成果和问题,我与他们合作来完成项目的实现部分,整个环节十分的流畅。工作时候可以专注在自己的长项之上,有问题也能快速找到他们来帮我解决,所以项目做起来总是得心应手。即使同在工程师这职位上,也可以行程好的Synergy,今年下半年我和一个iOS以及一个Backend工程师行程了一个小组专门负责架构,我们各自都只对自己所工作的平台十分了解。但当我们一起合作时,通过不断的交流和询问,每次都能很快地发现问题所在,还能迸发新的灵感,而且我们完全互相信任所以可以全权交由其他人去推进项目的完成。

除了团队成员之间的Synergy,公司的环境也会对个人职业发展有Synergy的作用。极端的例子,如果长期得不到合适的项目来做,那显然无法发挥出自己能力。我自身也有体验,我一直想锻炼我的Leadership,但是在之前的几家公司,我合作的都是比我Senior的工程师,显然很难发挥出我的Leadership,另外我的Manager也没有要求我这方面的能力所以就没有特别地培养我这方面的能力。到了新公司,每年有很多的Intern来锻炼我们Leadership,这就让我在这方面有了很好的提升;同时还会招收大量的New Grad和Return Intern,大量Junior工程师的存在,也能让我能自然而然地承担起Leader的责任去指导帮助他们。这在炉石中的体现就是Distributed Mana Curve,虽然后期的单卡很强,但是没有前期卡帮忙过度的卡组也不会有好的胜率。

 

Synergy是非常有趣的现象,我们往往只关注了个人的强大而忽略的整体的作用,总觉得只要自己足够强大就可以适应各种职场环境,而实际上同事和公司文化对我们的影响也有着不可忽视的作用。

 

2017-09-04
04 September
On September 4, 2017
In IT Products(数码产品)

让MacBook Pro的Touch Bar一直显示功能键

前阵子从公司那里得到了最新的带 Touch Bar 的 MacBook Pro 电脑做开发,总体而言比之前一代的 MacBook Pro 真的是好太多了。更轻更薄的机身,电池更持久,键盘接近机械键盘(也更吵)。最喜欢的当属具有指纹识别功能的Touch ID,让我开机只需一个手指就能完成,省去了大把输入密码的时间。

Touch Bar 虽然很酷炫,但也有些适应的地方,最明显的就是在日常的开发中,我对于 F1 到 F12 这些功能键(Function Keys)用得非常平凡。特别是在Intellij中做debug,单步调试更是离不开它们。一开始每次都要多按一个Fn键显然不方面。

好在Apple早就预计到了这一点,在系统偏好(System Preferences)中可以及其方面的指定应用程序,针对这些程序一直显示功能键。

打开 Keyboard 设置,接着选择 Shortcuts 一栏,在左侧列表中找到 Function Keys 一项。然后就可以在右侧栏里添加需要一直显示功能键的应用程序了,比如我常用的 Intellij 和 Android Studio 都在上边,Genymotion 也即将上榜。

另外,在 Screen Shots 这一项上,也能发现多处了截取 Touch Bar 上显示内容的快捷键。

2016-12-22
22 December
On December 22, 2016
In IT Products(数码产品), Knowledge Base(心得笔库), Programming Life(程序人生)

从图形界面回到终端

oh-my-zsh

电脑一开始起源于终端(Terminal),通过键盘输入简单文字,在黑白界面上输出字符。直到图形界面(Graphical User Interface, GUI)的出现,有了更加直观的视图显示,有了更简单的人际交互,电脑才真正普及成个人电脑。

在我的工作经历中,我一直从事都是前段开发。从最早的网页开发,到现在的Android开发,基本上所有代码都在本地电脑运行,所以我很少需要去使用终端来输入指令来执行操作。虽然也学习了Vim,但是绝大多数时间都是使用强大的可视化IDE,例如Visual Studio、Android Studio等等。简单的编辑也会倾向有Sublime Text之类的应用程序。

可视化的应用程序可以让人很快上手操作,通过鼠标寻找菜单目标,或者更新设置都是非常简便的操作。视图窗口也会提供更多不同的内容显示来反馈各类信息。

但是随着开发越来越深入,我越来越感到使用鼠标,以及切换各类视图让我的工作效率变得越来越慢。特别是开始使用多个屏幕进行工作时,鼠标需要被拖动的距离也变得越来越长;每当我在Chrome中打开无数个网页窗口,寻找到想要的页面也越来越难。这其实也反应了费茨法则(Fitts’ Law)。

因此我越来越希望我的手指能够保持在键盘上,而不用在键盘和Trackpad直接来回切换。于是我开始习惯通过各类程序的快捷键来操作,倾向在终端输入指令来进行操作,使用GNU Readline来移动光标。这样大大提高了我的效率,但是依然有很多时候,我花时间来回切换。再者因为我的主业在Android上,我还是不会

前阵子我上了Jim Meyering一堂关于如何高效使用终端的课,一下子又让我对终端变得非常着迷:键盘指令满屏幕地飞;无需拖动光标就能进行文字选择;随时随地都可以Vim指令……太多太多好玩又高效的功能。

于是我开始研究起终端的知识,从Mac默认的bash切换到zsh;安装了Oh My Zsh;学习tmux的指令和配置……

但是在接下来的一周里,我的效率没有提高反而降低了好多:我要花大把的力气重新为zsh配置我的初始指令;tmux完全不支持Mac专有的指令;使用Vim的页面指令并没有滚动鼠标来自自然流畅。

我渐渐怀疑使用终端是否是个退步的表现,研究这些指令是否真的对我有帮助?我想来想去,想出了一个比拟:

现代人基本都会开汽车,汽车简单的操作让更多人接受这个工具;但是仍然有很多人喜欢开摩托车,喜欢不一样的速度与激情。从效率上讲,汽车比人力要快很多,也能承载更多的人;但在交通拥堵的街道上,摩托车却又更为有效。

汽车的功能变得越来越多,然而操作变得越来越简单,让更多人可以接受和使用;摩托车的功能却被其空间所局限,操作也很复杂。

这样对比,我就变成了在想:我要学摩托车吗?于是答案就变成了:我学。而且我也真的有考了摩托车驾照。因为开摩托很酷。

所以为了酷这个原因,我也要深入研究终端指令。最近,这些指令也为我带来了极大的帮助:

我在重构一些Java代码,需要重命名某个包(package),而那个包下有数百个文件,还有很多引入(import)该包下的class也需要更新。虽然Intellij有重构的功能,但由于代码量实在太大,Intellij既不能承受这量度,也无法完全的更新所有文件,特别是一些不被Intellij识别的文本文件和资源文件。于是我花了些时间写了脚本,直接用grep来查找,用sed来修改,要是错了就用版本控制撤回,一切是如此的高效而又可重复。

现在就因为zsh那强大的路径补全,我也越来越离不开它;也渐渐地习惯了tmux的指令操作。

2016-05-09
09 May
On May 9, 2016
In Article Collection(聚宝收藏), IT Products(数码产品), Knowledge Base(心得笔库)

Android开发中真机和模拟器的体验

做移动开发总是离不开在移动设备上做测试,虽然说Android设备单机可能比iPhone便宜,但是真要各种设备集齐也是不小的开支,再加上要试验不同的Android版本那组合起来又有好多了。所以一般开发者往往只在特定几个设备中做检验。需要测试不同版本也会求助于模拟器(Emulator) 。

Google为Android提供的自带模拟器的效果以前实在惨不忍睹,随着Android Studio 2.0出的模拟器倒是提高了不少,但依然挺糟糕的。
android-avd

大多公司都会购买Genymotion使用,可以创建多种不同版本的模拟器,即使是最新的版本也能很快支持。虽说价格抵上一部真机,却得到好多不同版本和厂商的设备,而且效果优越、功能丰富,真实物超所值。
genymotion

由于某些纠纷,Genymotion默认没有Google Play Services,就无法使用Google的Play Store,Account等等。不过网上也有很多攻略教大家怎将其么安装到Genymotion上,于是都可以在上边打《炉石传说》了。

真机和模拟器各有下边这样那样的缺点:

真实设备 模拟器
  • 价格昂贵
  • 不易携带多个
  • 同一设备不支持多种版本
  • 容易没电
  • 老设备会断货
  • 无SIM卡
  • 无摄像头
  • 不支持推送
  • 多手势不方便
  • 使用习惯不一致

Read More →

2016-03-31
31 March
On March 31, 2016
In Article Collection(聚宝收藏), IT Products(数码产品), Special Tricks(奇技妙招)

让Mac开口说话

《实用Mac的Dictionary应用程序》已经帮助我们翻译英文单词,提高了阅读的能力,但是“听”和“说”还是大问题。发音要是不标准,念出来给别人听可能还是得不到理解。Mac也想到了这个问题,所以自带了发音程序来,当然机器念出来的英语还是会有不流畅的感觉,有些发音也可能不到位。

在许多原生Mac应用程序中,都很好的集成了发音选项,只要选取想要电脑阅读的段落,然后选择“Start Speaking”就可以听到朗读开始了。
speech-on-page

在System Preference里也可以为Speech设置快捷键,这样无论在哪里选中文字都可以让电脑来阅读:
speech-shortcut
Read More →

Posts pagination

1 2 3 Next
Facebook
Twitter
LinkedIn
RSS
ZhiHu

Recent Posts

  • 三年居家工作感受
  • Pixel Watch智能手表和Pixel 5, 6 Pro 及 7 Pro手机
  • 我拥有过的无线耳机
  • 毕业工作一个月,我差点被开除
  • 我拥有过的移动硬盘
  • ProtoBuf 2.0 method count optimization for android development
  • 面过100场行为面试后

Categories

  • Algorithm Analysis(算法分析)
  • Article Collection(聚宝收藏)
  • Data Structures(数据结构)
  • Design Patterns(设计模式)
  • English Posts(英文写作)
  • Front Interface(界面构想)
  • IT Products(数码产品)
  • Knowledge Base(心得笔库)
  • Language Tips(语言初试)
  • Mathematical Theory(数学理论)
  • Mobile Development(移动开发)
  • Programming Life(程序人生)
  • Reading Notes(阅而后知)
  • Software Engineering(软件工程)
  • Special Tricks(奇技妙招)
  • Tangential Speech(漫话杂谈)

Tags

Aero Android API Bash Binary Search Bitwise Operation Book C/C++ Career Chrome Conference CSS Debug Device DOM Extension Framework Game Gradle Hearthstone HTML Initialization Intellij Interview iOS Java JavaScript jQuery Keyword Language Issues Mac Microsoft Mobile Modifier Objective-C PHP Principle Reference Regular Expression Static String Tools Tutorial UI XML

Blogroll

  • Ahmed's Blog
  • Gert Lombard's Blog
  • Gordon Luk
  • Jack & Allison
  • 开发部落

Archives

Designed using Chromatic. Powered by WordPress.