Latest

周记

众生皆苦

谁也不是草莓味的 我一直就比较喜欢听脱口秀:主题明确;一场大概5分钟;不需要看屏幕,带着耳机听就可以;听完了车也就到站了,不误事。 听的脱口秀多了,我逐渐的理解了“喜剧的内核是悲剧”这句话。 众多脱口秀演员中,我最喜欢的有两个,一个是建国一个是思文。两者共同点是,都十分擅长从生活中汲取段子(当然王建国这个谐音梗真的是……)。两人用脱口秀将当代青年面对的焦虑,压力,人际关系困境表达的淋漓尽致。两者中我更喜欢建国一点,毕竟同是辽宁省出来的,老乡情谊还是有的。 建国又开了一档《隔三岔五国仔饭》。和其他饮食节目要么详细教你做饭,要么疯狂灌鸡汤不同,建国做饭时总是给人一种丧丧的感觉。讲的也都是一些:想做排骨焖饭的是饭菜都在一个锅,可以少洗两个锅;炸虾炸久了就不复炸了,怎么吃不是吃;高汤有最好,没有也不能不做饭是不是等等。很丧很随性。 被各类公众号荼毒了许久的我第一次感觉到了这种丧文化的魅力。也许是每一代人到了30ish都会有莫名的焦虑感。而随着互联网的发展,90后的焦虑感被无限放大扩散了。 第一次和朋友吃饭聊创业的时候,提到到某某创业了拿到了几个M的融资,我说这人运气真好。第N次和朋

By andy

周记

节能环保

环保从我做起 前天上班路过星巴克,想着我(为了拿徽章)已经自愿加入环保俱乐部,于是进去花了20大洋买了个带盖的保温杯。 买了杯子之后,我粗略的算了一下每天大概节约了6个纸杯+小于等于6个的盖子+1个塑料瓶。谷歌说1棵树约等于8000个纸杯,这么一算,差不多3.65年我可以节约一棵树出来。尽我所能节能减排(顺便方便泡枸杞)(真想减排就少吃肉嘛) 很多事情上老美是口号喊的震天响,轮到自己的时候就打脸打的啪啪响。尤其是环保方面。 比如说节能这个事,说实话我几乎每年都能让办公室的空调吹感冒一次。而且偶尔深夜从公司附近路过,尽管楼内应该空无一人,但是整个大楼依旧灯火通明的。很多店铺也是,明明打烊了依旧亮着灯牌。 再比如说浪费,我认识的老美基本都是周末采买一冰箱的吃的,然后把冰箱里上一个星期采买的没吃的但是过期的食物扔掉。而且步行超过五分钟的路程都要开车(当然这个可能更是因为懒),家里没人也要开着空调,等等等等。 当然,环保这个事情更多的是靠自觉了。不说了,待会儿我的枸杞水该凉了……

By andy

周记

火焰纹章

白毛,粉毛,蓝毛——我全都要 上周五出了火纹新作。本来我对这类SLG游戏是不感冒的,但是最近没什么能玩的好游戏,于是咬咬牙买了首发。 周五晚上先是和两个前同事吃了饭,接着在法拉盛买了很多零食,最后带着奶茶和零食回到家里猫在沙发上打开了刚刚可以玩的火纹。 三个小时后,嗯, 真香。 小时候我也玩过GBA上的两作火纹。奈何那时候由于智商没发育完善的原因对于这类策略游戏很难上手。当然现在是对于策略类和动作类都苦手,因为又蠢反应又慢。由于那时候是用烧录卡玩的,并且烧录店的老板是我熟人,于是我自动获得每周可以免费烧新游戏的特权——火纹在我的烧录卡里活了一周,就被双截龙代替掉了。 上了大学之后因为学校有各种资源站,我尝试了各种类型的游戏。古剑奇谭,老滚,等等。尝试了很多游戏之后,对于很多人热捧的开放世界我完全提不起兴趣:一来开放世界让我觉得缺少目标,二来是我有点轻微完美主义的倾向,近似强迫症的想要清空任务列表,结果就变成了疯狂去接各种重复的支线任务。唯独对与射击类和跳台类游戏情有独钟。 工作之后,因为能玩游戏的时间少了, 并且大多空闲时间是在通勤的路上。于是开始玩起了一些手游。后来是因为

By andy

Uncategorized

一号公路

景美 人黑 地动 赶着六月底去了趟加州,开了一趟鼎鼎有名的一号公路。其实16年就想过去自驾一号公路,但是当时由于泥石流导致一部分公路封锁,所以一直推到19年才成行。 在翻阅了大量文献(游记博客)之后,我们的路线就是 SF -> Monterey -> San Luis Obispo -> LA. Day 0 MTV, SF 到了加州的第一件是就是拜山头了。上午去见了几个朋友,顺便朝圣了一下,去了Google MTV 办公室和Apple 总部,还买了俩文化衫。 下午去到了SF。走了趟九曲花街,看了看海边和金门大桥。除了流浪汉太多,不敢随便停车(怕被砸车窗)之外,整个城市还是很漂亮的。 Day 1 Monterey 第二日一早,起床洗漱退房后,我们驱车前往蒙特雷。途径了鸽子灯塔。蒙特雷是一个民风淳朴的小镇(也就是看起来没有那么多的流浪汉)

By andy

周记

Libra 币

蹭热度一时爽,一直蹭一直爽 昨天FB宣布了他们自己的数字货币Libra 币。各路新闻纷纷报导顺带着把FB的股价推高到了194。昨晚的新消息是各路机构开始呼吁要对Libra加强监管,审查等,又把股价拉了回来。 那么问题来了,要知道市面上各种币数以十万计,为啥偏偏Libra币就能突然爆火?就凭他爸是FB? 简单来比对一下Libra币与其他数字货币 储备金支持 数字货币被人诟病的问题之一就是背后缺少储备金支持,导致空气币满天飞。这家吹完自己的一个币能够在北上换一套房,那边就敢吹自己一个币就能让马一龙带你去火星转一圈。与之相反Libra背后有着储备金的支撑,换句话说就类似你把钱存进银行,你的账户上多出来的数字是有着真正的金钱对应的。所以风险相比其他数字货币低很多。 稳定币 Libra号称稳定币,会与当地法币依一定比例稳定兑换,因而相比比特币更具有交易属性。比特币的波动性使它的投资(机)属性远大于交易属性 挖矿 根据白皮书所说,Libra Coin 的唯一获取途径就是通过法币向Libra 机构购买(是不是很像Q币?),并且销毁途径是用Coin从机构回购法币。而非比特币通过奖励的

By andy

周记

Vim SoftCore Player

vim是编辑器之神,能用好的都是神 第一次接触vim是在大二的时候吧,当时是 Micheal@ 给我演示他如何使用vim写程序。对于用惯了visual studio 2008 一键编译,一键调试的我来说,一个在命令行里黑洞洞的编辑器,一个用h,j,k,l来移动光标的编辑器实在令人提不起兴趣。 后来因为某些原因需要在服务器端来写代码(大多是配置文件),所以稍微学了一下如何使用vim。但是极高的学习曲线、各种蜜汁plugin,让我还是止步于快捷键组合vim infant 的程度。当然对外我还是自称是重度vim user——毕竟相比nano/emacs,我只会用vim。 再后来,第一份工作的时候用的是windows + visual studio 2015,这个在win下堪称完美的组合直接打消了我用vim的想法。尤其是vs2015 在当时是写C#的无二利器。第二份工作倒是基本上在服务器上鼓捣代码了,不过处于某些原因,很多vim 的插件没法安装。强上vim,很多时候效果还不如用sublime 来的好。后来我的主力开发工具就成了vs code + sftp。大多数时候这套组合能够满足我的需

By andy

周记

修马桶与换门锁

‌软件工程师不懂硬件维护 最近家里有俩硬件出了问题,一个是马桶不停的漏水,一个是门锁有点问题。于是在查阅了各种攻略教程之后,在亚马逊上下单了“智能”门锁和一个马桶的衬垫。 说起这个硬件维护啊,软件工程师还真是不擅长。按图索骥撞上了门锁,用钥匙一试,装错了(多转了半圈,结果门锁不上)。拆下来重新装之后,发现门内的把手装倒了。三装两拆之后,终于把锁装好了。马桶的衬垫也是费了很大的力气,先拆下来各种部件,再换上新的衬垫,然后用更大的力气再把它安装回去。 估算了一下这些东西,要是找bumper 或者 locksmith,没有个300块应该下不来。顿时有一种赚了300块的感觉。这可比码工时薪可高太多了。 最后,愿你的马桶永不漏水,锁眼永不卡断钥匙,阿门。

By andy

c++

std::move

21天是肯定没法学会C++的。22天也不行。 C++11里引入了一个新的概念 :移动。 这个概念说简单其实很简单,因为它是介于拷贝和引用之间的一种概念。但还是有很多小伙伴表示不理解移动到底做了什么,如何理解移动。 要想理解移动,先来介绍一个概念:左值与右值。 左值与右值 笼统来讲,左值就是能够对其取地址的值。反之就是右值(临时变量也是右值)。比如1, 2.0, true, nullptr这种纯值类型,就是妥妥的右值。再比如 int a = 100; , a是左值,100是右值。在给a赋值的过程中,我们将右值拷贝到了左值。(其实并不是完全这样,编译器会做一定程度的优化,但为了方便理解,我们不考虑编译器的功劳) 两个栗子 在早期C++里,我们通常用指针或者引用来传递一个‌大变量,因为可以避免一次拷贝的开销。第一个栗子:如果我们有一个比较大的右值变量,我想将它传递给其他的函数,该如何避免/减少拷贝的开销呢?比较熟悉的朋友可能会说,我们可以传递 const

By andy

周记

华为手机

科技博主来蹭政治热度了 昨天收到了一个朋友的微信消息: XX,请教你下,这次Google禁华为,到底是哪些功能不能用了?我没大看明白:一个是以后的OS都不更新?然后所有Google 的apps 都禁止下载?那访问呢,比如已经下好的apps? 为了防止消息不准确造成的错误解读,我是等到了今天白天看了一圈新闻之后才打算写这个博文的。 首先回答下小伙伴的微信: * 哪些功能不能用:Google play,GMS 等Google原生的app * 以后的OS都不更新?:不,按照现在的Android 开源授权,依旧会有更新,只是没有办法预览新系统。 * 所有的Google apps都禁止下载?:应该是 * 访问已经下好的apps?这点没有任何确认的消息,有可能已经存在的app可以继续使用,也有可能无法访问服务器了。 接下来谈一谈短期与长期的影响。 短期影响: 对于国内来说,这个短期内几乎没有影响。毕竟国内用不了Google 全家桶这已是既定事实了,那官宣不支持也没有什么大影响。毕竟大部分服务在国内已经有了本土化的替代品。而从操作系统上来说,Android 是开源的,所以华

By andy

c++

所有权与智能指针

没错,技术博主开始写技术文了 从我开始学C/C++的时候,指针和内存管理就是最让我头疼的东西:要么是忘了释放内存造成内存泄露,要么是多重释放造成了访问失败。甚至有些时候一个方法有多个返回语句的时候还要在每一个返回语句前释放一下内存。当时就在想为什么不能像Java一样有一个智能的垃圾回收器,来管理所有的内存呢。 这个痛点一直困扰到我开始学STL。原来STL早就考虑到手动释放内存的繁琐,所以提供了多种智能指针:auto_ptr, unique_ptr, shared_ptr, weak_ptr,并引入了“所有权”这个概念。大大简化了工程项目中的内存管理。也让我意识到我学的是假C++,真C(菜)。 所有权 单一所有权 两句话:所有权的拥有者有义务释放内存或转移所有权。同一时刻只会有一个所有权拥有者。 共享所有权 和用裸指针一样,所有权的拥有者不必负责释放内存,引用计数器会负责释放内存。同一时刻可以有多个所有权拥有者。 unique_ptr 重要的事情说三遍: unique_ptr 不能被拷贝 unique_ptr 不能被拷贝 unique_ptr

By andy

Uncategorized

狼人杀与一夜狼人杀

与麻将,北美玩家的周末三俗活动系列 我常常自诩是一个桌游爱好者,尤其是卡牌类游戏,从3C到三个杀都玩的还OK。唯独有一类桌游我特别不擅长,就是狼人杀这类开局一张嘴,游戏全靠编的(好吧,如果算上麻将的话是两类)。 上周接触了一夜狼人杀,游戏体验嘛,很一言难尽。比起狼人杀,它解决了第一轮被杀的玩家冷板凳的不良体验。但是对于新人来说,尤其是村民身份的时候,大多时候都是一种“我是谁?”“我在哪?”“我在干嘛?”的状态。加之缺少狼人杀每轮死掉一名角色的“确定”证据,整局游戏就像在猜薛定谔的身份。 职业所需,我经常要梳理清别人的需求并且上下文代入以便分析问题。这使得我从习惯上会假定别人说的都是对的,然后就被带到沟里了。再加上不擅长嘴炮类游戏,常陷入一种唉听着这个人说的有道理,下一个说着与之相反的逻辑,听听也挺在理。最后看谁说的都有道理,只好finger cross & “跟谁熟就跟谁投吧”。 啰嗦了这么多,归根结底还是理工男讷于言敏于行且不善打嘴炮的美德导致我没有很擅长这个游戏(对,真的不是我菜,是这游戏不是我的菜)。

By andy

周记

Option and future

选择与未来——从不灌鸡汤的角度来聊聊刷题与IT 最近有几件事让我觉得应该谈谈职业选择/发展。一是听说前东家又有同事溜了,一个组流动性高达40%;二是有小伙伴问如何准备面试;最后是昨天收到一个小朋友的求助,关于如何选择职业。 从我个人角度来说,我是很幸运的。能把爱好当作职业。从大环境来讲,IT仍是目前极具竞争力的行业。尤其在955的环境下,少了996的疲于奔命,多了更多的时间可以支配。当然从另一方面来说,职业发展不在工作的8小时内,下班后依然要学习工具/技术。 选择:跳?不跳? 北美IT圈有一个惯例,每年3-6月是跳槽的高峰期。原因有四,一来3月左右,前一年的奖金/股票已经到手,跳槽的机会成本比较小;二是跳槽成功会有一个比较高的签字奖励(现金 + 股票)和涨薪;三是新公司招人一般是做一些新产品,相比在现在公司做维护,开发新品对未来的职业发展更有帮助;最后就是,跳槽可能会顺便升一级。 不跳槽的原因,最多的就是因为身份。比如被绿卡/h1b牵扯住了之类的。少数的是因为懒或者怕学新技术。也有的因为有机会当team lead/tech lead。

By andy