MENU

半个月来的北京深圳行

11月底突然被导师安排去了趟北京开会,回来前一晚赶上了北京今年的初雪,回上海那天上午起了个大早去故宫拍了好多照片,没带相机,手机也还凑合了。雪后的故宫确实漂亮,不过人也多,照片基本都得截一下,用了fimo的tokyo 500胶卷,一块钱买不了上当,效果也还挺喜欢。

这个月中去深圳参加了时空间行为交互分析的会议,会议嘛,总有点收获,主要还是去宣讲下自己在做的研究,学术圈也需要时常social,在圈子里混还是得混个脸熟。逛了水围村和深业上城,和上海是完全不一样的感觉,水围村应该是深圳特有城中村的案例,上城可以做shopping center案例,B格不错。

2019年还剩最后10来天了,论文没怎么发,瑟瑟发抖中。

北京





深圳


SQ6改造之添加双反镜头

这应该算一个补遗的记录,因为SQ6加双反镜头的改造网上视频很多,但是有很多没有讲清楚细节,所以写这篇文章记录下。

这个改造主要方法就是Kavin Kadooka在HACKADAY.IO开源的方法,包括开源的3D打印文件,具体project细节在这个链接

首先就是需要的配件,主要配件如下表:

物件数量来源
SQ61咸鱼
双反镜头(Mamiya Sekor 80mm f2.8 TLR黑色版本)1ebay
取景器(Mamiya RZ67 腰平取景器)1ebay
对焦屏1淘宝
对焦环(M58, 17-31mm)1淘宝
前镀膜反射镜(58mm*65mm)1淘宝
3D打印套件(一套四个)1淘宝
M3*4 十字沉头螺丝6淘宝
M3*6 十字沉头螺丝4淘宝
M3螺帽 KFS2 10淘宝
M2.2*9 十字沉头自攻螺丝6淘宝
M1*6圆头自攻螺丝4淘宝
AB胶1京东
相框压片2淘宝
开镜头井字扳手(选配)1淘宝
泡脚熊sq6 mini相纸配件(选配)1淘宝

配件配齐了首先当然要整整齐齐拍个照

然后就是开始拆,镜头拆开需要用到井字形扳手,不然就算两个螺丝刀也是比较不容易拆下来的,具体怎么拆可以参考这个视频。需要注意的是主镜头连着一跟触发闪光灯的电线(假装是吧,我也没确认过),这跟电线连着的底座拆下来要小心点,而且这跟线一定会弄断,因为有个用来垫镜头的塑料套在这个电线上,电线一头连着主镜头,一头连着个底座,这个塑料的孔还就比电线粗一点,所以要拆下这个塑料肯定要弄断电线,建议在底座的锡焊点断开,后面要用可以重新焊上。不过一般也没啥用,我就让一根电线戳在外面,就是难看点(又不是不能用)。

上图是SQ6之前的几个配件之间的安装排列,1、2、4加没标数字的是3D打印的套件,3是58mm的调焦环,1和2用m3*4沉头螺丝以及m3的螺帽连接,2和3之间用AB胶粘起来,3的螺口怼进4的前口,然后从里面用62-58的转接环压紧,类似镜头压环的作用。镜头就加在1前面,镜头和1组合好以后的效果如下图。

转接环3和4直接结合起来效果如下图,注意右边图里面有个62-58mm的压环。

然后就是拆SQ6和修改里面的电路。拆SQ6很容易,可以参考Kavin Kadooka的这个log里的图片,然后一定要改造吐片电路,不修改电路的话SQ6开机会检测镜头还是怎么,然后背后模式的灯会交替闪,别的就没什么反应了。我开始还很天真认为只要拆了镜头就行,别的完全不用改,装好以后这么个反应然后重新拆开就很麻烦了。修改吐片电路参考了跑焦熊的这个视频,注意电线颜色不要搞错。电路图我截了一下图。

还有就是注意以下拆开后在电池和吐片电机的另外一侧有个闪光灯的升压电路,感觉有漏电,我被电了好几次,拆开的时候要注意。安装上3d打印的镜筒后就把SQ6的前后盖装回去,然后就是组装镜头和取景器。取景器支架和镜筒用m3*6螺丝和m3螺帽固定,对焦屏需要自己裁一下,之后对焦屏和反射镜都用相册的压片固定好,都有对应的螺丝孔。后面组装就很容易了,安装完成后就搞定了。

组装完一共就这几个部件,镜头和取景器标错了都是6,不过不影响,组装步骤是56先组合起来,36还有反光镜对焦屏组装起来,124组装起来,然后124和36组合起来,最后56利用4上面的AB胶粘合到整体上去,压紧,然后等胶凝固就行。

换了镜头的拍立得相对更有可玩性,光圈快门都可以自己设定,景深也能控制,还有B门,加了跑焦熊的mini相纸配件还能用mini相纸,好玩不少。

最后感谢咸鱼上istlixutong,小野人王以及B站的mqq258在拆装过程中的回答我各种问题。

捡鼠标垫配电脑系列——垃圾佬的黑苹果

家里上一个台式机升级留下了一条8G内存,hipda里年前撸了个机箱,前几天台式机水冷保修去了又撸了个新的风扇,所以一直心痒痒这三个硬件怎么利用起来。家里硬盘太多,硬盘的钱也省了。网上翻了一天黑苹果配置,咸鱼各种淘,配了个5年前配置的电脑用来黑苹果,除了CPU差一点,别的其实基本感觉不出来,日常很堪用。

•    CPU i5 4690
•    内存 8g
•    主板 技嘉b85hd3
•    显卡 rx570 4g
•    硬盘 1t
•    电源 安钛克半模组 450w
•    cpu散热 酷冷至尊T400i
•    无线网卡 买了个不免驱的换下原来台式机上免驱的

总共花了1500,显卡买了矿卡,卖家hipda坛友推荐的,老板说锻炼了3个月,拿到很新,看着像水洗的,也不管了,上机还好暂时安稳。大头是CPU和显卡,加起来1000块了,别的零零碎碎加起来500。

装了mac os 10.14 mojave,clover引导,基本都是免驱的,个别还有问题,比如一修改clover的config就进不了系统,也是醉了,连机型也不能改,现在被识别为macbook air,看着有点别扭。还有就是CPU变频好像没搞定,显卡没怎么用上,硬解没搞定,而且好像昨天连休眠也有问题。问题还是挺多,但是能用了,不做大型计算应该还很流畅的。

折腾一个周末,太花时间了,从07年第一次折腾黑苹果到今天,基本每台笔记本都折腾过,这应该最后一次这么折腾了,太浪费时间了,不过现在clover引导已经方便多了。

mojave的黑色主题还挺不错的。

mojave

满江结婚

两个室友都结婚了,一个我喝得不省人事,一个当了估计唯一一次伴郎。和这群人认识已经快13年了,当初的意气风发,现在都是半个油腻大叔,从一个个为了拼酒喝到吐到现在看着一个个体检指标箭头都改喝饮料,感觉时间太快,看着ktv 里唱着聊着的各位,感谢那五年的一起学习生活相处,期待下个十年二十年。
Happy wedding !

帕累托累积分布

前两天实验室师妹来问平时我们计算腹地的前百分之多少的人怎么定这个到底怎么计算,以及每次都要数据库到处数据excel算这个问题,想想自己也需要tableau连接数据库做可视化后挑选出相应的分段值,就想着写个脚本来实现。花了半个小时写了个直接读取csv输出最靠近10,20....90%分段值的数,查了下还是没搞明白是不是叫帕累托累积分布,不过应该是一种累积分布。

后续需要修改的就是让python直接读取postgresql数据库,然后在排序计算分段值,而且要提高下效率,现在的计算效率不是很高,不过现在能用就行(此处要配个罗玉龙那个又不是不能用的牌子233)。

顺便学了下github,把代码也放了上去,以后代码也都放github上。

https://github.com/imcake/pareto


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-11-01
# @Author  : imcake (likaike@gmail.com)
# @Link    : https://github.com/imcake

##############################################
# 计算累积频率分段值(帕累托图)
# 输入带有需要累积的值的csv文件和该值的字段名
# 输出百分之10-90对应的最相近数值
# 输出结果为字典,10:xxx, 20:xxx, ..., 90:xxx
#############################################
import pandas as pd


def get_pareto_penct(csv_name, value_column):
    data_df = pd.read_csv(csv_name, header=0)
    pencentList = []
    pencentage = 0
    for i in range(len(data_df)):
        rawList = data_df[value_column].tolist() # change colume to list
        rawList.sort(reverse=True)
        pencent = float(rawList[i]) / sum(rawList) * 100
        pencentage = pencentage + pencent # calculate the accumulated pencentage
        pencentList.append(pencentage)
    # add pencentage and raw date to a dict
    dictionary = dict(zip(pencentList, rawList))
    init_penct = [10, 20, 30, 40, 50, 60, 70, 80, 90]
    value = []
    for j in init_penct:
        # get the closest raw date of certain pencentage
        dict_key = min(pencentList, key=lambda x: abs(x - j))
        value.append(dictionary.get(dict_key))
    result_dict = dict(zip(init_penct, value))
    return result_dict


if __name__ == '__main__':
    csv_name = 'pareto.csv' # csv文件名
    value_column = 'TOTAL' # 需要累积的字段名
    print get_pareto_penct(csv_name, value_column)