Haotian Zheng

钱钱钱

 • 

从拿到外包的费用后 大致算了下 除了新Macbook 花掉的钱主要有这些
话费:200¥(大部分是超出的流量费用)
用于购买软件:650¥(某些专业软件 和Mac Bundle)
用于购买游戏:120¥(我也忘了大致买了啥 反正是Steam)
赞助某个网站:20¥
鼠标:145¥(用于建模 需要一个能按中键的鼠标)
显示器:1100¥
外卖:每周250¥左右?
饮料:每周20¥左右?
Linode服务器:每月130¥
维生素:120¥
健身卡:1000¥(一年)
学费:7700¥(强制消费 不算在内)

我觉得 这个消费比例 很有趣 考虑到以后还会有更多的支出(比如上面列出的没有买衣服的费用,和琐碎的事情)
如果我继续在电子消费上每个月花上近千元的费用(而这是很有可能的) 那么我必须要保证我的收入能够维持在每个月3K左右
再进一步看 如果我要保证我能随意使用电子服务(譬如Adobe和Unity Pro订阅计划),那么我的收入必须更进一步 而我现在的解决办法是使用破解 但这并不是一种能够长久的workaround 毕竟我也是开发者 我明白软件收入对别人的重要性
所以 为了达到3K-4K的目标(我个人认为这个地步 在学校住宿的情况下 是基本可以做到经济独立所需要的月收入 但也只是最基本的独立 况且没有考虑到日后的更多费用 比如攒钱)我需要保证每个季度至少收入2W 换句话说 至少每三个月要做一个大项目 或者多个小项目
而如果想要在外包之外赚到钱 目前看只有去发传单了 这当然是一个很扯淡的行为

一个Mapkit的...Bug?

 • 

MKMapkit的MKUserTrackingModeFollowWithHeading和setCamera同时使用的时候 会有个隐形的bug...

想写一个开源的Ingress,这里面就有个需求,地图上要保证倾斜角 保证高度,而默认的Camera是没有倾斜角度的,需要加一个新的setCamera

一开始设置了

self.HackMapView.userTrackingMode = MKUserTrackingModeFollowWithHeading

毕竟追踪定位是肯定的啊...然后就是

if ([mapView respondsToSelector:@selector(camera)]) {
        [mapView setShowsBuildings:YES];
        MKMapCamera *newCamera = [[mapView camera] copy];
//倾斜角
        [newCamera setPitch:70.0];
//高度
        [newCamera setAltitude:100.0];
        [mapView setCamera:newCamera animated:YES];
    }

这个时候执行代码就会发现:
MKUserTrackingModeFollowWithHeading总是慢于setCamera的 而且优先级好像也高些(...虽然这么说有点不专业)
也就是说: setCamera会先执行 于是屏幕上Camera先降低高度 调整倾斜角度
结果一到两秒后MKUserTrackingModeFollowWithHeading一执行 整个地图移动到我的位置 这个时候之前setCamera的参数就跟着MKUserTrackingModeFollowWithHeading全部复位了
角度和高度全没了...
全没了...
没了...
了...
...

更甚 因为有设置

[mapView setCamera:newCamera animated:YES];

有时候在setCamera的animated没有执行完的时候 ,MapKit的协议

- (void)mapViewWillStartLocatingUser:(MKMapView *)mapView{ }

就已经开始执行了,而地图拿到我的位置也会进行一个动画移动到我的位置上 这个时候:
setCamera动画的目标是默认地图的位置(MKCoordinateRegion,一般是大西洋某个不知道在哪的海里面...)
MKUserTrackingModeFollowWithHeading动画的目标是我现在的位置
这两个动画同时执行 结果就是地图到最后显示的什么也不是 介于MKCoordinateRegion和我当前定位位置的中间位置....

_ (:з」∠) _


好吧...其实说起来 也不算是bug 但是按照我的理解 苹果应该做好这部分的逻辑判断的...否则我硬要使用setCamera的话 简直要把整个MKUserTrackingModeFollowWithHeading

+ (instancetype _Nonnull)cameraLookingAtCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate
fromEyeCoordinate:(CLLocationCoordinate2D)eyeCoordinate
eyeAltitude:(CLLocationDistance)eyeAltitude

自己重写一遍...而且肯定没有苹果自己写的好


丢几个类似的问题:
1.stackoverflow

I believe this is a bug in MapKit. I made similar observations with programmatic zooming while MKUserTrackingModeFollowWithHeading is enabled: The map shortly zooms out but returns to the previous zoom level as soon as it receives the next location update.

2.openradar

MapKit: programmatic zooming during UserTracking

3.openradar

MKUserTrackingModeFollow prohibits annotation selection at the edge


EDIT:2015-9-3 12:28
写了一个ticket给bugreport
SEE:
http://openradar.appspot.com/22539174

一些脑洞

 • 

晚上学习了怎么用MODO建模一个花瓶 然后不满足于基本的渲染 开了点脑洞 从自带素材库里面拖拽了些模型 卡在自己的花瓶里面 渲染了几张
Car
Ship
Plane
Orange
Laptop


最后上一张单瓶子的图
Pingzi

显示器

 • 

大二咯
提前回到学校准备补考....
买了台Dell 21',开Xcode效果很好 唯一的问题就是 MBP盖上盖子后 想要操作就要再配键盘和鼠标了
~~ 剁HHKB! ~~


monitor

Did I adequately answer your condescending question?

 • 

Mark: [quietly] It’s raining.
Gage: Mr. Zuckerberg, do I have your full attention?
Mark Zuckerberg: [stares out the window] No.
Gage: Do you think I deserve it?
Mark Zuckerberg: [looks at Gage] What?
Gage: Do you think I deserve your full attention?
Mark Zuckerberg: I had to swear an oath before we began this deposition, and I don't want to perjure myself, so I have a legal obligation to say no.
Gage: Okay - no. You don't think I deserve your attention.
Mark Zuckerberg: I think if your clients want to sit on my shoulders and call themselves tall, they have the right to give it a try - but there's no requirement that I enjoy sitting here listening to people lie. You have part of my attention - you have the minimum amount. The rest of my attention is back at the offices of Facebook, where my colleagues and I are doing things that no one in this room, including and especially your clients, are intellectually or creatively capable of doing.
[pauses]
Mark Zuckerberg: Did I adequately answer your condescending question?


Youtube Embedded:

AVOS(LeanCloud) 出现dyld: Symbol not found

 • 

买了新Mac 想也没想就直接安装最新的Cocoapods了....结果出了这个问题

dyld: Symbol not found: _OBJC_CLASS_$_AVAnalytics
  Referenced from: /Users/Fincher/Library/Developer/CoreSimulator/Devices/65131BD8-11E6-4486-8BC8-AABF9811CD37/data/Containers/Bundle/Application/ABB7755B-E0A3-4F9E-A9D9-83BC1160F9D5/baiyunwang.app/baiyunwang
  Expected in: flat namespace
 in /Users/Fincher/Library/Developer/CoreSimulator/Devices/65131BD8-11E6-4486-8BC8-AABF9811CD37/data/Containers/Bundle/Application/ABB7755B-E0A3-4F9E-A9D9-83BC1160F9D5/baiyunwang.app/baiyunwang

COCOAPODSDYLD

老电脑:
OS X 10.10.5
Xcode 6.4
Cocoapods 0.37.1
AVOSCloud (in Podfile.lock) 3.1.2.6
新电脑:
OS X 10.10.4
Xcode 6.4
Cocoapods 0.38.2
AVOSCloud (in Podfile.lock) 3.1.3.3


Github上有对于这个问题的描述:
https://github.com/CocoaPods/CocoaPods/issues/3773
LeanCloud论坛:
https://forum.leancloud.cn/t/ios-sdk-3-1-2-6-cocoapods/1807

Issus里面说到:“Updated to 0.38.2 this issue no longer exist. closed” 但是我现在还是会有这个问题 =_=

好像是-ObjC flag 在新的cocoapods里被移除了 导致静态的没办法link 然后我记得pod update后 Jazzhands也报错了.....
目前的办法 估计只能 sudo gem install cocoapods -v 0.37.1 尝试中...

Create, not Consume

 • 

WechatScreenShot
我和吴总聊天的时候 说到一个话题:
“一个整日在社交网络转发内容而不发布原创内容的人 究竟是出于什么样的心态 ?”
这是一个我一直以来就很好奇的内容
原因不外乎是我的社交网络上有不少这样的人 平日转发各类说说 或者公众号内容 但不见其人发过什么属于他自己的感想。
我有时候会琢磨 在我接触的很多人都为了linkedin的首页更好看而添加各种履历的时候 竟然还有一部分人 在社交账号首页摆了大堆毫无价值的转发内容 而不见任何可以代表个人能力/思想/兴趣的内容

而这大大增加了别人通过网络了解他的难度

然后吴总回复 大意是说 估计这个人自己也知道没人会看他的主页 所以他不在意这些 换句话说 这个人甚至还没考虑到这一步
不过话说回来 的确 很多时候 我们考虑的事物 是大部分人都不会去考虑的 这不是什么故意显得精英主义 而是说 固有的现实 全国大半的人 生活不需要考虑这些
就如同我平时联系的好友 都有访问Github, StackOverflow(解释下 这两个都是技术人员常去的网站)或者谷歌的需求 但是放眼全国 就不说全年龄段了 大学生里面 百分之九十都只是用网络看个电视剧刷个微博而已 他们对国外网站没有需求 所以他们对网络上的审查乃至自我审查都并没有感觉
这是事实 也不可悲 没有什么可悲的 天性而已
创造内容的人永远是少数 消费价值的人永远是多数 这就是天性 负责拍韩剧的和追韩剧的 人数哪个更多大家都明白 拍韩剧的和追韩剧的 收入哪个更多 大家应该也明白
说到这个 想起来前几天在Steam(游戏购买平台)上面看到的一款漂移游戏 售价11刀 看评论算是都挺喜欢 但是因为穷的原因 我只能等打折扣的时候 再去捡个漏
然后我后来去游民星空(国内游戏网站)逛 竟然也看到了这款游戏 当然 是破解版
然后下面有三条评论(到现在总共就四条)
commentsondrift
对于破解不破解 盗不盗版的问题先不讨论 首先我注意到的就是 这里的评论 和Steam上的游戏评论有很大差别
游戏固然不能满足所有人的审美 有可能国内大部分人不喜欢这种漂移游戏 不过Steam上的人在差评的时候 至少能说出游戏的问题在哪里:“我因为这个不喜欢游戏” “我觉得这个不好” 然后开发者至少能根据这些有价值的反馈改进游戏
但是我不知道为什么在这里 差评也不给个具体的理由。 “内容很烂”,烂在哪里?如何改进?都没有说到。
那评论还有价值么?至少在帮助改进游戏上 是没有任何价值的 是没有帮助的
那就可以称之为 “垃圾评论”, SPAM ,该删掉的那种。


不要做任何没有价值的事情。同时在消费内容的同时 尽可能产出价值 创造价值
这是我到现在的体会
很多情况下 创造价值 就能挣钱 这是最明显的利好
其次 创造价值 很明显是自我提高的一种方法 自我升值的一种手段
然后 至少你的生活会有事情做 而不是下载个破解游戏还骂游戏烂
没有价值的事情很多 就比如事故发生后转发祈福什么的 除了刷掉别人的屏幕以外没有任何作用
如果你想做有价值的事情 事故发生后 捐钱 献血 这是真正有价值的行为 或者你都不想做 那你可以不关心这个事故 去投入你所有的精力 在你的领域创造价值 专心做你的事情 这样 在整个社会的层面上看 你仍然是促进发展的


然后 当你不再做无价值的事情后 你可以尝试创造价值 喜欢玩游戏 就去学做游戏 喜欢看科幻特效 就去学AE/Nuke 喜欢读书就尝试写东西
试着去创造你之前消费的事物 然后拿去 卖你的游戏 卖你的后期特效 卖你的书 挣点钱 或者什么也不做 但是你至少明白某些事情的运作流程了 世界的规律或许会更清晰一点
至少这点 是令人欣喜的

添加了上一篇和下一篇

 • 

好像这个Feature只有在0.60+才可以 我之前一直用Ghost 0.5.7 怎么都是空白
我用的是喵大大的Vno主题 在post.hbs添加这个就行

<section class="{{post_class}}">
  {{#next_post}}
  <p><a class="btn-border-small" href="{{url}}">上一篇 : {{title}}</a></p>
  {{else}}
  <p><a class="btn-border-small">已经是最新的文章了</a></p>
  {{/next_post}}

  {{#prev_post}}
  <p><a class="btn-border-small" href="{{url}}">下一篇 : {{title}}</a></p>
  {{else}}
  <p><a class="btn-border-small">已经是最后一篇了</a></p>
  {{/prev_post}}

</section>

虽然我到现在也没搞明白 为什么下一篇对应的是prev_post 而上一篇则是next_post 明明这里写的是反的

--------巨大的分割线 _(:з」∠)_—---------

Pomo - Start Again Ft. Andrea Cormier

年限

 • 

Uhands是我参与的第一个创业项目 项目开始于我高考完的那个暑假 参与期间对我影响很大 有很多事情 或许是因为Uhands才开始思考并且付之行动的
现在Uhands业务已经不再运行 不过网站也还能正常访问 虽然很慢 当时项目的Landing Page就是一个Wordpress主题,配合缓存做成了静态而已
刚才登录到后台 网站一副年久失修的样子 有几个引用的地方都404了 WP版本还是3.9 插件有十几个要升级 拦截了十几条垃圾评论 诸如此类


很多初创的网站都用了WP当作静态页面或者CMS来用 放个下载链接 新闻啥的 我们当时也是
一个比较水的团队 技术不是自己的 锋哥和我提起过他们 然后那次我们看他们的官方网站 也是WP 也是3.9 下面版权所有还是2014
看网站有个经验就是 如果你看到一个网站 版权所有的年限都已经过期了好几年 那么多半这个项目就挂掉了 至少是人浮于事 运营堪忧


Uhands当时的网站没有做自动更新底部日期 而是后台的主题选项里面直接HardCode进去的"Copyright 2014"

然后我刚才登进去 把网页底部的 "Copyright 2014" 改成了 "Copyright 2015"


EVE贴图的一些实验

 • 

现在用TriExporter提取EVE出来的贴图不再是dd, n, pgs 的了 而是ar, no, pmdg(见图)

(当然有可能国服仍然在使用dd, n, pgs ,因为这次我是从世界服提取出的dds贴图)


不管怎么说 新的贴图更加让我摸不着头脑
把EVE的贴图在Unity里面重现一遍 在之前就比较蛋疼 我需要先用GIMP把dds打开 调整对比度和饱和度 输出为png 然后导入Unity 使用基本的Bumped Diffuse 这样基本能看出来是EVE的船(逃

看EVE的Dev Blog 对于新贴图是这么解释的:

_AR

We’ve moved the albedo maps, which work with the factional information to generate the actual color information for the hull, to inhabit the R, G, and B channels of a texture called _AR. The alpha channel is occupied by the Roughness map, accounting for the name of the packed texture. A and R together…PBR Bros.

_NO

We run the Normal Maps, X and Y, into the high quality alpha and green channels of a second packed texture for maximum precision. Then the Occlusion map fills the blue channel to generate the _NO texture. The red channel of this texture is as of press unused, though CCP Salvo is ever so excited to explore additional ways to irritate CCP Mankiller, so who can say what the future may hold?

_PMDG

Material and Glow, which also benefit from increased quality, are set into the green and alpha channels of a third packed texture, and the Paint and Dirt maps round out the red and blue channels. This final texture is appropriately named _PMDG.

尝试使用shaderforge做 大致是这样的: