在DIY的路上前行

年纪大了 在我们那个年代 DIY还是个新鲜的名词 自己也义无反顾地投身其中 不论是开发 还是做东西 甚至写文章 不让自己手闲下来 把想法变成现实 大概这就是我对DIY的理解。最近打印了些模型 打磨地狱又开始了,平时太忙没时间,为了提高效率,必须上电动工具。我其实并不太感冒这些电动模型工具,价格偏高是一方面(相对于这个东西本身的价值),另一方面可用性太局限了(除了超声波刀)。但是,事儿赶事儿,周末就剩一天了,网购都嫌不够快,那么就自己来吧。

郡士和号手都有电动打磨工具,原理大同小异,和博朗电动牙刷的工作机制一样,甚至外形都差不多,所以自己做起来也非常容易:

  1. 准备废弃刷头一个,拔毛清理
    IMG_1321
  2. 制作一个用来固定砂纸的转接头,或者直接用原刷头的地盘也可以
    IMG_1325
    IMG_1326IMG_1327
  3. 剪裁双面胶和砂纸并固定在刷头上
    IMG_1328
    IMG_1329
    IMG_1333
  4. 完工,可以用了。

清理和清洗刷头,设计接头和打印,组装,1小时肯定能搞定。
如果你用的是博朗的高端牙刷,震动频率更高的话,那就高级电动模型磨了:)

S^2: 你们要的自动同步功能来了

题外话

近期因为SA2 Study on Traffic Logical Status Awareness的new SID立项的缘故和大家作沟通,SA2各位专家的意见都很真切,我会尽量完善,在此先谢过了。

不过,再忙,既然说好的事情,该有还是要有的:有自动同步功能的3GPP_FTP_Downloader v3.0 来了!

下载地址:
链接:https://pan.baidu.com/s/14Bt4M1vLhi973BuWrg_WhQ
密码:znhe

屏幕快照 2018-04-12 14.37.18

同步功能

马上就要开会,闲话少叙。基本的使用功能就不多说了,可以参考这篇和这篇。

这里主要介绍一下同步和自动同步功能。

屏幕快照 2018-04-12 14.39.19

Sync Now 同步功能属于一次性的功能,会自动下载所选会议目录下的所有文件(包括子文件夹下的文件)。如果有文件已经存在,并且大小一致,将不会重新下载。

同步操作下载的文件会保存在应用程序所在目录的/会议名称/目录下。

AutoSync自动同步功能将会按照设定的时间(默认30分钟),设定一个计时器。当计时器结束时,触发一次上述的同步操作,并启动一个新的计时器。

自动同步开始后,会有提示。

再次按下自动同步按钮,会停止自动同步。

即使开启了自动同步,如果你想马上进行同步,也可以按Sync Now按钮,马上进行同步。

但是如果目前正在进行同步的操作,那么当前的同步下载过程将会继续进行,只是在本次同步结束后,才会更新新的状态(例如停止自动同步,或者进行新的同步)。

此外,这次windows版本增加了状态窗口,可以看到程序的运行状态信息。
屏幕快照 2018-04-12 14.45.09

写在最后

希望大家能够支持和co-source我们的研究立项, Study on Traffic Logical Status Awareness, S2-183763, S2-183767, 非常感谢 :)

Mac被Time Capsule救回来了

背景

RMBP服役的年头进入了第四年,老当益壮,时时让人惊叹“用了这么多年,竟然还丝般顺滑,性能依然强劲”,但是相比起来,同样已经服役2年多(这是第二台time capsule的工作时间,第一台Time Capsule在第一年的时候,莫名其妙坏掉了,于是苹果给换了一台新的)的Time Capsule的存在感就是一种让人完全忽略的状态:静静地躲藏在笔筒、本、杂物的后面。虽然,Time Capsule只要上电就实际上是7×24小时工作的,但是,也只有在极安静的时候,才能注意到一两声硬盘启动时特有的嗡嗡声,仅此而已。

系统崩坏

前面说到了,RMBP是相当优秀的电脑,相比较硬件配置,这更得益于优秀的操作系统。这4年来,电脑平均每天的运行时间不低于8小时,平均每周的关机次数小于1次,但是,意外宕机的次数大约1只手就能数的过来,即使非常非常偶尔地强制重启(其实这里暗含了一个容易被忽视的事实:发生意外重启的次数实际上很少),当再次按下电源按钮的时候,系统也能满血复活。

于是,就在几天前的下午,当我发现finder发生了卡顿,并且在退出了几乎所有的应用后,finder仍然在转风车的时候,我自然而然地选择了强制关机,悠然地夹着本到会议室去开会,一边和访客寒暄,一边自然地翻开rmbp,等待macOS重启复活。然而,这次一切静止在了登陆之后的进度条。

我没有死心,继续重试重启电脑,但是,每次在输入密码之后,进度条在2/3的地方就开始停顿,然后,龟速进展到100%后,就失去任何动静。我故作镇静,重启+CMD+R,尝试用磁盘管理程序来检查是不是文件系统出了问题:主硬盘检测没问题;挂载主分区,输入密码,再急jiu….唉,怎么主分区挂载不上了?再试一次,连输入密码的窗口都弹不出来了。重启再来一遍,一样的故障,第一次挂在主分区,可以输入密码,但是挂载不上,第1+n次挂载,密码输入窗口一闪而过。

抢救RMBP

莫非是SSD的寿命到了?立刻致电苹果客服。本以为电话客服会直接把我踢给Genius Bar,但是出乎意料,MacOS的电话客服非常有耐心,也非常会安慰人,一方面用各种已知的方法,一步一步带着我,尝试帮我解决问题(例如已经试过的急救,以及重置NVRAM 或 PRAM),另一方面,也确认SSD没有问题,让我安心。

当然,这次的问题是比较严重的,重新选择启动盘,系统提示在硬盘上没有找到系统。所以,在电话沟通了1小时以后,最后的结论是:可能是系统文件丢失或损坏,尝试抹掉系统,然后用Time Machine恢复。

这时候,Time Capsule登场了。这时,我产生了两个疑问。第一个疑问:怎么连接Time Capsule。我的TC禁用了无线功能(出于安全和使用寿命考虑),平时是通过ThunderBolt口,连接TB Hub再用过网线与TC相连。但是,在系统恢复的窗口中,并没有有线连接到选项,RMBP上也没有网线插口。客服MM这时,很笃定地告诉我,照往常那样连接就可以。我将信将疑,把TB线插好后,不需要做任何设置,只需要选择从Time Machine恢复,很快就提示找到了TC。

第二个疑问:TC能担负起恢复整个系统和文件系统的重任么?这个问题其实由来已久。由于苹果一贯的黑盒策略,Time Machine的工作一直是在后台默默进行的,备份了哪些内容,备份到了什么地方,保存成了什么文件,其实都是不透明的。这种全自动化的好处是,你完全不会感受到Time Machine在工作,但是,也不知道Time Machine是真的在正常工作还是其实已经挂了,考虑到曾经的TC用坏的经历,这种顾虑更加严重?另一方面,Time Machine以前只是用来恢复一些简单的文件,这次要一次性恢复整个系统,其实难免担忧。因此,从TC中找到可以恢复的系统镜像列表是至关重要的第一步。这是一段让人的焦虑的等待时间,每次小菊花转一圈,你都不确定将会出现的是错误提示还是系统镜像列表,没有预估时间,让人更加紧张。但是实际上,只过了大约1分钟左右,系统镜像列表就成功地获取了,这也是TC工作2年多来,第一次列出这个列表。当看到镜像是大约3小时以前完成的,我一个多小时以来,第一次感到了安心,重要的数据和文件有找落了。

然后,就是开始恢复,没有什么可以做的,感谢了苹果客服,挂了电话,拿着备用电脑,我就继续去开会了。再回来检查已经是接近4小时以后。这时,系统已经自动重启,进入了正常的登录界面,忐忑地输入密码,看着进度条刷地一下走到头,桌面文件慢慢浮现,终于,长舒一口气,RMBP又活过来了!

后记

使用Time Machine恢复系统之后,部分通过激活码安装的软件需要重新注册,例如:Alfred,Hazel,Nums,iPic(联网后自动重新激活)。

惊不惊喜,意不意外?软件更新了

首先,非常感谢大家的关注和反馈。3GPP FTP Downloader作为一个非常小众的工具程序,能有3位数的下载量,其实已经大大超出我的预期了。
这段时间,参加了Reno和Montreal的两次会议,我也对这个小程序进行了评估,发现了几处不尽如人意的地方。距离下次开会时间还早,本想偷偷懒,但是精神洁癖似乎又发作了(其实是因为一不留神,就到写稿的Deadline了),于是意外地有了这一次的提前到来的软件更新。
这次更新包括了Bug修正,文件下载功能完善,以及新增了文件的通配符匹配方式。下载地址:https://pan.baidu.com/s/1-nVwArIehE82TIeNOALH9g
包括:mac、win_x86(32位)、win_x64(64位)版本以及新版的JRE。
启动方法和之前的一致,请参考有用功:3GPP提案下载太烦了,怎么破

Bug Fix

有同学提到了的这个bug,我也遇到了。对于还没有更新到服务器文稿,会生成一个无效的zip文件。在这个版本中,会检查文件的下载状态,避免这个情况的发生。

功能完善

  • 增加了对会场local FTP中文件和public服务器上Meetings_3GPP_SYNC目录中文件的下载;
  • 改进了文件查找方式,可以进行子目录的迭代查找,这个特别适用于下载会场提交的Revision的文稿,这些文稿有的被放在inbox目录,有的被放在update_01,有的被放在update_02;
  • 增加了配置文件的自动生成功能,避免程序启动发生意外;
第一项改进并不是新功能,访问Local FTP可以通过手动(manual)的方式来实现,访问Meetings_3GPP_SYNC可以通过编辑配置文件实现,但是在开会的时候,发现还是做成可以直接使用的方式比较轻松,可以尽可能地减少键盘操作,尽可能不要打断工作思路。
手动模式在设计的时候,主要考虑是应对一些突发情况和需求。但是,在实际使用中我发现意义并不大。在未来的版本中,可能会考虑将手动模式的选项去掉。
文件查找方式的改进源于下载Revision文稿时发现的一个问题:由于秘书会适时地整理会场提交的新文稿,因此虽然大家都会上传到inbox目录,但是可能到了讨论的时候,提交的文稿已经被移到了诸如update_01这样的临时目录中,或者被放要求放进Draft目录;这对下载某篇特定文稿来说,会造成相当的困扰。更新后,下载文件变得更加无脑化,简单讲……你就让程序自己去下载吧。另外,顺手把FTP服务器文件路径的配置文件也改为自动生成了。

新增功能

这次更新最重要的部分是增加了对*通配符的支持。这个新增功能源于一个看起来特别不起眼的事情:查看Agenda。因为要在不同的会场来回跑,因此总是会比较关心主会场Agenda的调整情况。但是,人不在的话,并没有办法及时知道当前Agenda更新的什么版本了。所以,最偷懒和直接的办法,就是把所有的agenda都下载下来,不论是发布在Agenda目录里的,还是Draft目录里的,统统自动撸下来。然后再看现在到哪个版本了。
引入通配符,下载就完全不用关心目录结构这种事情了。
以上面提到的下载Agenda为例:不用区分大小写,在file list里面填上agenda再加上一个*号,按Download,就可以了。

同样,这个功能也可以用来查找并下载其他的文件,例如:Frank的ChairmanNotes:

目前程序里的通配符功能非常初级,仅仅起到一个标记的作用,也就是说输入agenda* ,*agenda,甚至agen*da,效果是一样的。(需要正则表达式的同学,请举手告诉我)另外,为了防止意外下载,在程序中也做了文件数目限制,如果单个文件夹内通配符匹配到的文件数目大于100个,那么就不会下载。

提问时间

有同学留言:
在会场的时候,我也会使用类似的方法,使用everything这样的软件来进行本地检索(macos: spotlight + alfred),这主要是因为开会时候一篇一篇过提案,基本就是跟着主席的节奏走,讲到哪篇跟到哪篇。但是,在会前做Contribution Review或者或者会后整理Report的时候,我还是更倾向于用这样一个工具将一个专题的文件集中下载存放在一起后再操作。同一个主题的文稿放在一个文件夹,再配合一些辅助手段(例如,macos的快速预览功能),不论是阅读还是作批注,比起用搜索引擎按照编号一遍遍反复查找到文件后再处理,都会方便很多。
还有同学留言:
这些情况基本上都是与系统安装的jre版本有关。基本上下载和使用和系统对应的JRE能够避免很多稀奇古怪的问题。我也会尽量多在windows下进行一些版本的测试,就像这样:
目前最新的JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
以上就是全部内容,如果使用中有任何问题,欢迎给我留言。
See you in Sanya!

Traveler’s Notebook 书脊

TN的收纳袋很实用,特别款更是漂亮。

但是使用中发现一个潜在的问题:绑绳在固定收纳袋的同时,会造成收纳袋两个边沿的变形,久而久之,很担心这种变形会导致收纳袋这个地方开裂,甚至造成收纳袋和绑绳互相磨损的情况。

于是,我设计了这样一个有弹性的支撑条,像脊柱一样控制住最外侧的绑绳,改善绑绳和收纳袋之间的受力关系,尽量降低绑绳对收纳袋以及外皮造成的变形。

由于收纳袋我是放在最外层,加装之后,其他内芯就完全能够起到固定住收纳袋的作用,因此实际使用中,收纳袋能够保持稳定。

书脊采用3D打印,适合标准版的TN。

我把模型发布在Thingivers上。

 

关于迭代器,血的教训

对容器内元素进行修改,共有3中方法:

vector<int> vec_a;
vec_a.push_back(123);
vec_a.push_back(123);
vec_a.push_back(123);
vec_a.push_back(123);

vec_a[1] = 234;

vec_a.at[1] = 234;

vector<int>::iterator vec_a_iter = vec_a.begin() + 1;
*vec_a_iter = 234;

血的教训就是:在用=的时候,一定要知道对C++来说,很多情况下=是进行赋值,而不像Java一样,取得了对象的引用!

int a = *vec_a_iter;
a = 456;// a 从234 变成456
cout<<a<<endl;
cout<<*vec_a_iter<<endl;

这时候,*vec_a_iter是没有发生变化的。

记住:对容器内元素进行操作,就上面3中方法。如果用迭代器,老老实实的用(*iterator)来操作,不要偷懒!

 

iPhone升级了iOS11后总是睡死,怎么办?

自从升级了iOS11之后,iPhone 6P经常一睡不醒。

于是,悲剧的一幕总是上演:
当你站在收银台,打算用iPhone付款的时候,当着收银员的面儿,手机就点不亮了,home、侧键,能按的地方全试一遍,没反应。

在后面长长的一溜儿人,纷纷投来的关切的眼光中,你想把手机砸了心都有了。手忙脚乱一通,翻出现金信用卡赶紧付完了款。

但就在这时,你的6P屏幕突然亮了,一通乱闪之后,siri也蹦出来了,若无其事地说,对不起,我没听清楚你说什么。。。。。。

终于,忍无可忍,抹掉手机数据(DFU也可以),重新恢复了一下。

流畅的操作又回来了,:)

印象里iOS11 也用新的文件系统,大约是旧的程序数据和系统数据与新系统和新的应用程序的兼容性不佳所致。

反正,问题解决了,应该是可以挺到iPhone X铺货了。

有用功:3GPP提案下载太烦了,怎么破?

每次开会,都会跟踪几个研究方向。通信汪的日常,需要在会前做contribution review。

5G的饼越画越大,汪们无比激动,提案数目成倍增长。每次开会动辄上千篇提案,提案的编号都要升一位才能解燃眉之急。

Screenshot

看着翻了N屏还没到头的TDocList,汪同学的内心是崩溃的,眉头拧成了疙瘩。

下载需要看的提案,在3GPP的FTP上都不知道要翻多少遍,想到这些,汪同学不禁在心中又使劲骂了一遍:

“这哪儿是人干的活计!”

“看提案才是你汪该干的事儿,下载这种粗鄙的工作,就应该让那电脑干,反正咱也不用交电费!“”

码农斯基似乎洞悉了汪同学的小心思,探头过来搭话。

二人对视,会心一笑。

如果只是做Contribution Review,通过下面这个简洁的Work Flow和一个有效的工具,就可以把想看的内容单独收集起来。

Workflow的内容很简洁:收集、批量下载、自动保存。需要人做的事情就是收集阶段,从TDocList中筛选出提案号。而剩下的工作就交给3GPPFTPDownloader来做了。

下载地址在这里,区分系统哦。

Step 0:启动程序

系统上需要安装JRE。对于Windows系统,双击jar文件就可以启动;对于Mac,拜教主和厨子所赐,需要在终端中启动:


  java -XstartOnFirstThread -jar xxx.jar

程序启动后的主界面如下:

  • FTP Server:FTP服务器的url或者ip
  • Meeting Type:3GPP工作组
  • Meeting Name:某个工作组下的具体某次会议
  • Remote URL:FTP文件路径
  • File List:需要下载的文件的名称

Step 1:选择工作组

通过下拉菜单选择3GPP的某个工作组。之后,程序会自动更新这个工作组内的所有会议名称信息。

Step2:选择会议

Step3:添加提案号并下载

添加需要下载的提案号,每行一个。之后点击Download便开始下载。文件会自动保存在”程序所以在目录下/会议名称/当前日期和时间” 目录下。

Tips:

  1. 通过点选Manual,可以手动编辑ftp服务器和文件路径。
  2. 目标路径并没有指定到服务器的Docs路径上,因此,可以下载某次会议目录下的所有文件。例如,想要下载某次会议的meeting report或者其他zip文件,只需要选择某次会议后,输入会议报告的zip文件的名字(去掉.zip),就可以直接下载了。这和前面介绍的下载提案的方法一样。
  3. 通过修改程序目录下的meeting_path_cfg.cfg,可以自己定制需要呈现的工作组。格式:工作组的名字@ftp服务器上的路径,例如:SA2@/tsg_sa/WG2_Archd;增加、删除都可以,例如增加一行:LTE@/tsg_ran/WGs_LongTermEvolution
  4. 如果你偏爱脚本,可以尝试我以前写的一个shell脚本,没有GUI那么方便,但是体积小巧。

 

十一,刷四环

上一次计划刷四环,还是2016年的事情。叫嚷着(2016年)入秋了就去骑四环,但是一转眼,已经一年过去了。

十一第一天,心里想着必选要making progress,于是心动不如行动,换上骑行服,带上防毒面具和头盔,出发。

线路概览。从天通苑出发刷四环其实不是特别划算,来回要多走20公里。从工体出发的话,可能10公里就差不多了。所以,这次四环,我没有慷慨地把这个长长的尾巴舍弃掉。

一些基本数据,20km/h这个速度还是挺好(看)的,距离也不错。骑到最后10几公里,腿有点疲劳,但是,也熬过来了,而且,速度没下降太多。

专心骑车,其实没有照什么风景。就是突然抬头,咦到这里了,然后,偶然地看到一两个感兴趣的内容,拍一张。

快到姥姥家了

吃午饭的地方

在绿化带上,席地而坐,自我感觉好像到了国外,舒坦。

Big Mac遥望国贸,那是中国樽吧?

南十八里店桥附件,有个污水处理厂

红领巾公园的树和云

最后,辛苦了,小白兔


这样一来,二环,三环,全都收入囊中,完成任务!