Saturday, October 24, 2015

工作之余应该做什么

忙着工作很多东西都搁置了。
最近想起之前的种种设想,和别人也聊到很多程序员业余时间都做什么,觉得还是培养起来自己的爱好,多学点东西比较好。
不要得过且过,过一天是一天。
等这阵子过去安定下来了,就开始好好考虑这个问题。

机遇有多重要?
之前从没有考虑过跳槽这个问题,刚刚跟Uber的manager聊天我感觉真的要重新 想一想。
read more ››

Sunday, October 18, 2015

未来一个月快快过去!

最近特别累,让我明白了几件事情。
1.马斯洛需求层次理论果然没有错。
之前还想着护肤保养健身瘦身什么的,最近忙起来,有时候累得连脸都懒得洗就睡了。。看来基本工作没有完成的情况下,其他通通靠边站吧。
2.上班之后真是身不由己了。
以前想着活干完就行了。我错了,活是干不完的。LinkedIn work-life-balance很好。我错了,老板说加班,大家不得不加。。鉴于这是特殊时期,可是如果开了这个先例以后加班成风呢?我怕。。
哎哎好想撂挑子!
read more ››

Sunday, October 4, 2015

一点迷茫

最近上班挺忙,有时候下班回家还会开电脑忙忙公司的事情。睡前追剧看以前老火的蜗居。看着看着就开始迷茫了,夹杂着一点消极。
我就想着,青春和富裕是不是不能共存呢?当我上学的时候,想买什么花钱还挺谨慎,毕竟是爸妈辛苦的工资。当时想着,等我上班自己赚钱的时候就可以随心所欲买买买啦。现在上班了,手头也不那么紧了,可是却感觉没什么期待。上班之后责任重了,要承担的东西不仅仅是学生那么简单。哎,我可能还是更喜欢“穷开心”的状态吧!
read more ››

Saturday, September 12, 2015

上班三个月小结

就分几个主题说说自己的经历和感想吧。

第一辆车

8月底买了第一辆车--2015 Prius,贷款买车。到目前总体感觉不错,就是倒车影像没有显示线让水平一般的我无法倒车入库。昨天因为阳光太刺眼,看不清影像,把车给蹭了。第一次蹭真心疼啊。在Toyota买车还是比较顺利的,就逛了一家4s店,贷款也是找的他家,虽然刚开始给了6点多的APR,过几天说了一下还是给我降到了2点多。不过多交了1000块的maintenance让我买车时心情顿时不太好了。车的保险是farmers,价格比较适中。因为是混合东西,开起来还比较顺手而且省油。希望接下来不出什么问题就好!
Github小标志让街车稍稍与众不同^^
现在车的右屁股已经不是那么光滑了TAT

工作情况

聊聊工作,最近有新产品上线,大家都比较忙。可能这对我来说是个好时候,能快速了解公司很多东西,也能迅速学习?压力还是挺大的。对我来说,就是不断的学习Android然后上手开发,然后继续学习上手开发这样。由于我们组跟其他组都有一些联系,自己也认识了几个同事,不过都不算熟吧。
不知为何,刚入职一个月他们就让我这个不做后台的人oncall,真心啥都不会,oncall第一周运气好就是把oncall第一天学的流程往复5天没有遇到什么bug。然而对于刚刚结束的这一周,事情就复杂了,因为有新产品没有加我为owner我还要提交新的rb等着approve,然后deploy总是出现乱七八糟的failure我又看不懂,别人发邮件问我asset是不是没有上传,我就帮上周没有上传的东西更新,别人问的一些问题我也没有头绪只好转给相应的人。。还好这周过去了,下周终于可以开始正式忙自己的活了。。
在这里不得不提跳槽,刚到公司听说大波员工跳槽Uber,有人开玩笑说有些组一半人去了Uber另一半没跳的则是面挂了Uber的人,我倒不以为意。直到这周我们小组走了个顶梁柱JC(还是中国人!),我们大组走了好几个人,貌似大多都是跳Uber,我才发现朝夕相处的同事可能下一周就去别的公司入职了,不禁感慨万千。对我来说,公司是哪家并不是那么重要,因为自己要学的东西太多了。等到自己翅膀硬了再考虑跳槽吧!
去年面UBER的时候拍的,那天下雨
还有就是人情味与朋友圈的问题。之前提到过自己要多交朋友,然而越发发现这不是件容易的事。一来自己初来乍到,很多同事都有自己固定的圈子,我很难把握和他们交往的度,若是太远很容易让人误会自己不够真诚,若是太近担心自己的突兀让别人感觉尴尬和厌烦。二来除了同事间的交往,没有太好的途径去交朋友,一起来湾区的而且认识的主要就是UCSD的一帮男生,无八卦可交流有木有。三来,包括自己的大多数人到了这个年纪交友开始变得谨慎,不可能从一开始就能交心,需要磨合和适应才知道是不是能称之为密友,最后还是这个度的问题。人情味嘛,我特别喜欢在国内大家一个公司里的同事一起下班吃饭唱k周末出去玩的人情味和氛围。而在美国呢,一个公司一个组的人来自五湖四海,除了工作交集很少,除了一些在bar里的社交活动,大家普遍下了班就各自回家,即使在bar里我也不怎么喝酒,不会聊太多深入的问题,心急火燎想回家。

健康与健身

上班之后,因为坐姿问题开始腰酸背痛。久坐在电脑前,对眼睛,皮肤,颈椎和腰背都有损伤。于是我约了公司的腰背测评,服务人员特别好,帮我调整了显示器,桌子和椅子的最佳高度,还帮我免费订购了显示器支架和apple的touchpad。然后我因为缺乏锻炼,又预约了公司的fitness assessment。健身教练超正,身材也爆好。这个fitness测评一共有三次meetup,第一次是测评,第二次教练和根据你的身体和目标制定健身计划,第三次就是三个月后的成果检测啦。第一次很不幸我的体脂比居然到了28.7%,体重在预料之内,她建议我每天只吃一顿主食(对我来说不太可能,我吃两顿吧),然后少吃高fat的零食什么的。第二次会面她教了我一些健身动作,练完肌肉再做一些有氧运动,还建议我参加一些比如zumba的课程。基本上每周一周五会去健身,周三参加zumba。虽然自己跳舞很挫,但自娱自乐跳的很嗨,确实非常有氧,出汗让全身都舒服起来。我每天早上吃的比较多,中午在公司主要就吃黄瓜和番茄,再加一些牛肉,没有吃主食下午也不觉得太饿,晚上回家自己煮一些面条还很暖胃。这一个月下来疗效还算明显,体脂比终于降到27%以下。
不过每到双休日就会多吃一点,中餐和奶茶基本是必备。今天去吃一家烤鱼,有一点儿国内的感觉,非常过瘾。说到奶茶,之前觉得quickly实惠又好喝,直到遇到天仁名茶!一进那个轻松小站浓浓的茶香铺面而来,那才是真正的奶“茶”,之前喝的大多是勾兑的茶不是特别放心。还有我感觉健康真是非常重要,上班之后尤其如此,果然经不起熬夜了。大概每天12点前睡,不过最近有时候会受到失眠困扰,尤其是第二天要上班的时候,那时心里就特别担心,还好担心一会就睡着了。有时候睡觉时膝盖会有点神经疼,导致我没办法睡着。。。
烤鱼超过瘾

大概就是这么个情况,另外我要考虑去做一次全身体检。还有过几天不要忘了打HPV的第三针,已经半年了。至于牙医,我打算再把下牙整一整,初中箍的牙现在又歪了TAT,不过这个优先级不高。

DMV sb至极

无力吐槽dmv,这种极其低效率的机构怎么还会存在呢?低效率也就算了,我renew个驾照去了四次dmv,因为dmv一直没把新的驾照寄给我,持续了半年!也打了很多次电话,然而我对他们的电话系统也非常不满,等半天才能跟一个活人说话。谈论的的结果往往是他们系统显示正在审查我的信息不能发新的驾照。满肚子怒气还得不得不去dmv,然后每次去dmv都要排一个小时以上的队,特别耽误事儿。最后一次去一个新的dmv,倒是不用排队,但是办事员居然是个啥都不会的新人!遇到一点问题就去问经理,我本来能拿h1b renew三年的驾照,最后竟然用我的opt renew了不到一年!也就是说我明年还得去dmv跟他们耗。。。实在无法理解,这种机构怎么能存活?更新的驾照拿不到,也无法网上查驾照的更新状态,也查不到是不是做好寄出了,是不是寄丢了。。DMV毫无疑问是我最讨厌的美国部门第一名。
DMV SUCKS!图片来自网上

好了,总结完毕,今年下一步,多交朋友,学一项技能(划船),找房子搬家,箍牙,争取回趟国。加油,开心!




read more ››

Monday, September 7, 2015

上班后某天的一点感慨

老早想写一篇博文,毕竟从6月8日开始上班到现在这三个月也开始新的阶段,同时进入了25岁大关。可惜太懒迟迟没有下手。
现在想想好像确实没有什么心得经验教训,只是当下的一些体会罢了。
哎,今天是Labor Day最后一天,明天又要上班了。每到周日晚上心情就非常沉重哎自己太懒了。
而且这周我还oncall!!
好辛苦心好累。。
前一阵子把移动硬盘里我本科和研究生时期的照片全部上传到google photos上去了,巨多,40多个G。单单上传都花了一整天。然后自己慢慢删除一些没用的照片。。这又是一次回忆的过程。无论当时多么的不喜欢上学,现在想起来却是非常珍贵和值得留恋的。想想也是,去年冬天面试各家公司的时候,我成了每周飞2趟三藩,劳累到趋近于崩溃的空中飞人,但是现在我还是挺想念那段在机场在飞机上在三藩的点滴。
自己确实是个恋旧的人,对回忆里的片段无论在自己当时的心境如何,现在想起来都是非常美好的。可能是因为现在全都看得到结局吧。很难想象自己老去以后,看到当年的自己的感慨呢。。
就以某个同学的签名作为结尾吧。
有些日子虽然已经过去很久,可依然还有零星的记忆。

好了,祝自己下周上班开心一切顺利吧~近期重大事件下次再写:)
read more ››

Thursday, July 2, 2015

Useful Links

How to Enable the Developer Options in Android 4.2 on Nexus 4
http://www.valuewalk.com/2013/05/how-to-enable-the-developer-options-in-android-4-2-on-nexus-4/

INSTALL_FAILED_UPDATE_INCOMPATIBLE when I try to install compiled Trebuchet.apk on device
http://solvedstack.com/questions/install_failed_update_incompatible-when-i-try-to-install-compiled-trebuchet-apk-on-device

Gradle and Android Studio.....

R.java
http://developer.android.com/guide/topics/resources/accessing-resources.html
Once you provide a resource in your application (discussed in Providing Resources), you can apply it by referencing its resource ID

http://stackoverflow.com/questions/20673625/android-gradle-plugin-0-7-0-duplicate-files-during-packaging-of-apk

Undo 'git add' before commit
http://stackoverflow.com/questions/348170/undo-git-add-before-commit

getContex
http://stackoverflow.com/questions/13684094/how-can-we-access-context-of-an-application-in-robolectric

Android unitTest support
http://tools.android.com/tech-docs/unit-testing-support

make android emulator smaller
http://stackoverflow.com/questions/2359895/android-emulator-screen-too-tall

Implements vs. Extends in Java
http://stackoverflow.com/questions/10839131/implements-vs-extends-when-to-use-whats-the-difference

List vs. Arraylist
http://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java

Array vs. Arraylist
First and Major difference between Array and ArrayList in Java is that Array is a fixed length data structure while ArrayList is a variable length Collection class. You can not store primitives in ArrayList.
http://java67.blogspot.com/2012/12/difference-between-array-vs-arraylist-java.html

Android Category
The BROWSABLE category is required in order for the intent filter to be accessible from a web browser. Without it, clicking a link in a browser cannot resolve to your app. The DEFAULT category is optional, but recommended. Without this category, the activity can be started only with an explicit intent, using your app component name.
https://developer.android.com/training/app-indexing/deep-linking.html

Android Webview
http://developer.android.com/guide/webapps/webview.html

Purpose of using buildscript in build.gradle
http://stackoverflow.com/questions/17773817/purpose-of-buildscript-in-gradle

Androidmanifest path&pathprefix&path
The path part of a URI which must begin with a /. The path attribute specifies a complete path that is matched against the complete path in an Intent object. The pathPrefix attribute specifies a partial path that is matched against only the initial part of the path in the Intent object. The pathPattern attribute specifies a complete path that is matched against the complete path in the Intent object, but it can contain the following wildcards:
http://developer.android.com/guide/topics/manifest/data-element.html

scheme://host:port/path or pathPrefix or pathPattern
        <activity
            android:name=".infra.deeplink.DeepLinkHelperActivity"
            android:configChanges="keyboardHidden|orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!--  For Deep Linking -->
                <data
                    android:host="www.linkedin.com"
                    android:pathPrefix="/voyager"
                    android:scheme="https" />
            </intent-filter>
        </activity>


Troubleshooting
logansquare com.bluelinelabs.logansquare.nosuchmapperexception could not be mapped to a json object
Sol: proguard-rules.txt!!
https://github.com/bluelinelabs/LoganSquare

hashMap vs arrayMap
ArrayMap is a generic key->value mapping data structure that is designed to be more memory efficient than a traditional HashMap.
https://developer.android.com/reference/android/support/v4/util/ArrayMap.html

pass class into the method is slow
Reflection?

Remove files from Git commit
If I made the wrong commit, not pushed yet....
http://stackoverflow.com/questions/12481639/remove-files-from-git-commit

Merge latest two commits into one
$ git reset --soft "HEAD^"
$ git commit --amend
http://stackoverflow.com/questions/2563632/how-can-i-merge-two-commits-into-one

Transparent activity in Android
http://stackoverflow.com/questions/2176922/how-to-create-transparent-activity-in-android

 To allow your app to take advantage of these changes and ensure that your app fits the style of each user's device, you should set the targetSdkVersion value to match the latest Android version available.

Intent ACTION_VIEW
action -- The general action to be performed, such as ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, etc.
data -- The data to operate on, such as a person record in the contacts database, expressed as a Uri.
http://developer.android.com/reference/android/content/Intent.html

Android click event outside a dialog
Dialog dialog = new Dialog(getActivity());
Window window = dialog.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dialog.setCanceledOnTouchOutside(false);
dialog.show();
http://stackoverflow.com/questions/9516287/android-click-event-outside-a-dialog

Git patch apply
$ git apply ../rb562855.patch
http://makandracards.com/makandra/2521-git-how-to-create-and-apply-patches

No underline for drawable in android
http://stackoverflow.com/questions/18869605/failed-to-convert-drawable-into-a-drawable

FILL_PARENT (renamed MATCH_PARENT in API Level 8 and higher), which means that the view wants to be as big as its parent (minus padding)
WRAP_CONTENT, which means that the view wants to be just big enough to enclose its content (plus padding)

bring view on front of everything
yourView.bringToFront();
http://stackoverflow.com/questions/6759279/how-to-bring-view-on-front-of-everything

Set radius in Android
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <corners android:radius="10dip"/>
</shape>
http://stackoverflow.com/questions/16161448/how-to-make-layout-with-rounded-corners

Slide down and gone
Cool!
view.animate()
    .translationY(0)
    .alpha(0.0f)
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setVisibility(View.GONE);
        }
    });
http://stackoverflow.com/questions/19765938/show-and-hide-a-view-with-a-slide-up-down-animation


Error:Timeout waiting to lock buildscript class cache for build file
delete everything under ~/.gradle/caches


read more ››

Wednesday, May 20, 2015

这才是夏天

这才是夏天

五月初拿到approval notice我立刻买了回家的机票。5月11日从SFO出发,当地时间5月12日下午飞抵上海。当时上海天气真不错,非常凉爽,跟我印象中上海夏天的潮湿闷热很不一样。晚上吃了绿茶餐厅然后就休息了,结果!失眠了!一夜没睡。。5月13日下午坐动车,回郑州。

回国的一大原因便是吃,受够了美国千篇一律的饮食一定要好好改善改善,吃吃吃!可惜前两天用力过猛导致最近消化不良伴随轻微腹泻,现在没什么食欲TAT

早点

胡辣汤,我的爱!大清早吃到一碗街边5块钱的胡辣汤豆腐脑两掺,配着油条,真是人间享受。煎饼果子也是一绝,为什么就是个鸡蛋饼加上脆脆的麻叶和榨菜就这么好吃呢?胡辣汤如下。
 

河南烩面和卤面

河南烩面历史悠久,郑州当地合记烩面和萧记烩面比较有名。我最喜欢吃的是合记,羊肉汤里放着木耳,粉条,黄花菜,羊肉,枸杞,有时候还有鹌鹑蛋,汤鲜味美,特别好吃!之前我对烩面还没什么感觉,2009年我第一次离开家去上大学开始有了家乡的情怀,特想念那一碗热腾腾的羊肉烩面。 卤面就是很多别省人口中的焖面,五花肉,豆角,豆芽,配着闷面条特别的香。奶奶做的卤面最好吃,这次回家奶奶还特意做了一大锅,配着西红柿蛋花汤下肚那叫一个爽。作为北方人,我对面食的情结是与生俱来的。只是出国之前一直是潜伏期没有爆发,到了美国我总想吃一碗热腾腾的面,在我看来,一碗美味的面配着小菜下肚是最过瘾最痛快的了。卤面如下,
 

街边小吃

我心中最正宗最诱人最接地气的就是路边摊了。什么烧烤,烤鱼,炸豆腐,烧饼夹菜,大盘鸡,虽然不卫生,偶尔吃一两次应该问题不大。

颓废啊

自从硕士毕业,整个人都特别颓废。这是我的毛病,忙了一段时间之后,一下子放空自己,包括高考完的那个暑假,本科临近毕业的大四和之后的暑假,还有现在。每天就是宅宅吃吃玩玩混日子。。不同的是,过了这个空档期我就要脱离学生时代步入工作殿堂啦。早点收心,多做准备。

夏天

国内的夏天总能让我感觉特别舒服,即使有漫天的柳絮,讨厌的蚊子和大大的太阳。。这些总能让我回忆起中学时代的种种美好。我也看到了在记忆中的变与不变。 “大上海城”是我十年前经常逛的地方,当时觉得什么店都高级的不得了,吃喝玩乐都有。这两天故地重游看到了一些新的门店,但是大体没有什么变化,只是现如今再看那些不变的门店不变的饰品,心态倒变得不同了。如今郑州有了很多新Mall,万达,万象城,大卫城,国贸360什么都有,包括面包新语,满记甜品的吃货店和各种大牌名品店一应俱全,地铁一号线已经投入使用,二号线和五号线明年开通,郑州越来越有“商城”的意思了。

说点儿什么

最近大奇哥结婚了,应该是我届CSE系中国人第一个领证的,祝福祝福。看到新娘子的新婚感言,我也非常感动~能在纷繁复杂的世界找到这样一个能让自己全身心付出的人真是不易呀。我也会好好珍惜身边的幸福! 后记:我很想念之前自己在初中的发小们和在上海实习时候的小圈子。最近常常感到孤独,有许多话想与他人分享。是时候多交朋友了!提笔忘字,我还能写这么一堆废话,真是服了自己。
read more ››