在洛杉矶申请日本签证

打算4月底的时候回国休假三个礼拜,顺便把工作签证给转好。于是心思活络地就想要么先取道东京玩几天,而且早就听闻在美帝申请去日本的旅游签证比在国内申请要简单得多。订机票的时候,先看multiple city的路线发觉也并没有很划算,于是就先买了LA到东京再从上海飞回LA的往返票,然后趁着东航促销,再买从东京飞回上海的机票。

鉴于像这种情况,去日本签证性价比最高的就是过境签(Transit Visa),就是适合日本只是经停一下待几天再前往第三方国家的,而且签证费也便宜只要6美刀。虽然过境签是日本认可的,但是查日本驻洛杉矶领事馆官方网站上并没有列出如何办过境签,而只是列出了短期旅游签。在查了一番别的领事馆网站以及打电话咨询了洛杉矶领事馆之后,其实办理需要的材料跟短期旅游签证是一样的,但是在签证申请表上”Purpose of visit to Japan”那里需要注明transit去哪里而已,另外过境签发的应该是单次入境且最多待15天的签证,然后签证颁发3个月内不用即失效,而短期旅游签证根据行程可能会多次入境或者可以待更久。

签证所需的材料就按网站上给的短期旅游签证需要的材料准备就行:

  • 有效护照
  • 2寸X2寸照片一张(贴在签证申请表上就行,不用额外的)
  • 签证申请表
  • 所有航班的行程单(重要的是必须要有你的名字、出入境的日期和机场)
  • 证明你在美国合法身份的材料(像我H1B的话就是I-797 Approval Notice和Notice of Action,学生就是I-20,绿卡就是带着绿卡,美国公民的话你不需要签证)
  • 最新的银行statement(我是BOA的eBanking,直接去ATM选打印full statement就是截止到当天的最近交易记录,我还带了份上个月的,但是最后签证的时候他们说不用。至于余额要多少,其实完全根据你将在日本待多少天定的)
  • 因为我工作了,就带了最近两张pay check
  • 宾馆的预订确认单(如果不确定住哪,可以先找那种会full refund或者入住当天才付钱的酒店先订好,注意确认单上也必须要有你的名字以及check-in、check-out的日期)
  • 旅行每天详细的计划(签证的时候会查是不是每天都写了,但不用写得特别详细,写个每天要干(买)什(买)么(买)就行了)

另外,

  • 关于美国签证、身份及visa stamp。如果你是回国途中顺带玩下日本,只要身份合法就行,不需要有效的visa stamp。如果你是美国往返日本,或者从国内返回美国的时候在日本逗留,这类情况,是需要有效美国visa stamp的。
  • 有个很热门的问题就是要不要担保人的邀请函。其实很tricky,如果你说你是去日本看朋友的,那就要对方的邀请函,如果你说你是去旅游的,那就不要,可以省去很多麻烦。
  • 签证申请表上有个问题”ID No. issued to you by your government”,我的理解就是身份证,但其实无所谓。
  • 第二页的监护人按照自己的情况填,邀请人的话,旅游/过境签都不用填。
  • 一般的情况,照这样准备就没问题了,反正最保险的就是先网站上看好然后打个电话过去问下。
  • 关于递签,一般在你附近有领事馆的话,就不能递签,必须面签。洛杉矶的面签速度很快,我的经验就是1点半过后去基本没有人,直接过去交材料,签证官会审核一下,大概20分钟就完事了,一般隔一天就能拿到,我周二去签的,周四就拿到了。

日本驻洛杉矶领事馆在臭名昭著的downtown。

周边停车最划算的其实是Grand Central Market自带的停车场,只要在那里消费满10块钱,就可以免费停一个小时,停车场的地址:

从S Hill街的门口出来走楼梯或者乘Angel’s Flight(暂时关了)上去就行,别忘记要先在门口check-in。

2014

年末了,总归要在这里做个交代的。

2013年上半年还是有点意思的。1月份的时候托朋友的福,冒充音乐人去Anaheim参观NAMM展,见到了Deep Purple的Steve Morse、Dream Theater的John Petrucci还有Primus的Ler,路上还偶遇了Stevie Wonder。去NAMM主要就是有机会试试各种吉他,但是Gibson展位不是很给力,倒是Fender把所有目前在生产的量产吉他都带了过来,试得还挺爽的。3月份的时候去了Austin感受SXSW,没有买那个贵得要死的badge,就是借一个机会去看看,见识到了一个小小的酒吧竟然可以分成左右两半、上下两楼、楼里街上都有不同的乐队各演各的。还去了SRV的雕像膜拜了,后来那个周日晚上还去看了大神Eric Clapton的演出。因为每年SXSW也是国内一些乐队借机来美国巡演的时候,所以有幸近距离接触到了Carsick Cars跟嘎调,只可惜那天他们在洛杉矶演出跟Green Day撞车了,因为那是第一次看GD,也只好放弃了。之后4月,就是去了朝思暮想的Coachella音乐节,两次。没什么说的,不论从阵容、舞台、音响及各种周边都应该是全美国最好的了,唯一的遗憾就是Lou Reed因身体原因没能来于是就永远地错过了。

至于下半年,不好也不坏,就是没有什么特别值得在这里交代的了,或许搬了新家算是一件大事吧,一个人住舒服是挺舒服的,但有的时候确实也是挺无聊的。

这一年在工作上嘛,最主要的还是工作签证搞定了,从4月申请到最后7月才拿到还是费了点周折的。然后这一年也从自己业余写的几个小项目上收获了一些。5月份的时候还有机会尝试了下Google Glass,但是因为目前应用有限,还是被eBay上高几倍的价钱给收买了。

这一年有这两本书我觉得挺好看的,一本是Nate Silver的The Signal and the Noise,还有就是Peter Hessler的Country Driving。前者讲了概率论在实际生活中的各种应用,很有意思,”There is a widening gap between what we really know and what we think we know.”。后者则是一个美国人讲他在中国生活的故事,写得实在太真实了,写别的国家的感受我们身边天天都能接触到,但都是去一个国家几天看到一些不一样的就发出强烈感叹那种,而他的这本非常贴近中国老百姓的生活,作为一个外国人能写出这样的书确实不容易。其实Peter Hessler的中国三部曲都挺不错的,但有一本还差一点没看完是年末的一个小遗憾。

这一年听了点新的唱片,我作为一个土摇,十大的豆列戳这里,还做了一个Rdio的playlist

这一年有一个有意思的地方,就是攒钱技能学到一点点。其实主要就是放弃了很多看演出的机会,不过好不容易攒到的一点钱,最后年末的时候都折腾在搬家上了。

说到演出,这一年尽管少看了不少,但还是有一些值得一提的。

  1. Triumph Dog @ Festival Supreme。13年最大的改变就是越来越喜欢看各种喜剧了,接触了蛮多comedy电视电影、深夜脱口秀和stand-up。正巧Tenacious D的两位在Santa Monica Pier搞了这个喜剧节,请来了诸如Noel Fielding、Zach Galifianakis、Sarah Silverman、Adam Sandler以及他们自己the D。当天最搞笑的还是这只狗,短短的15分钟,把13年一年可以嘲笑的事情都嘲了一遍。那天嘉宾还请到了Conan O’Brien跟Andy Samberg的Lonely Island。
  2. Dylan Moran @ Largo at the Coronet。他是喜剧Black Books的主创跟主演,欧洲的不论是乐队还是comedian都很少有机会来美国的,所以逮着就得去捧场啊,最后笑了整整一个多小时。
  3. the Who @ Staples Center。”Who are you? Who, who, who, who?”。都是年事已高的老人,再也没有现场砸吉他了,但是还有机会能看到Pete在台上演他的甩风车手就知足了。
  4. Robert Plant @ Shrine Auditorium。尽管是他的个人solo巡演,但还是演了不少耳熟能详的飞艇的歌,小小地满足了下。
  5. Eric Clapton @ Frank Erwin Center, Austin TX。克拉普顿老师是现在活着的吉他弹得最好的白人,句号。
  6. the Rolling Stones @ Staples Center。他们叫滚石乐队,他们演了50年了,就是这样。
  7. Black Sabbath @ LA Memorial Sports Arena。Ozzy这个烟酒毒了四十多年还没挂掉的传说在六十多岁高龄下也还是演一场少一场的。尽管去年看过了,但是这次多演了两首新专辑的歌:End of Beginning和God is Dead?。像Paranoid这样的经典听几百遍都不会厌的,更别提在现场看了。
  8. Green Day @ Fox Theater。这个对于我的意义太大了,大学的时候Dookie跟American Idiot听了几百遍,跟寝室同学一起排练他们的歌,这次终于有机会见到真身了。因为我买了Idiot Club,所以直接站到了最前面的pit区。他妈的Biilie Joe跟Mike就在我跟前啊!爽死了!
  9. Pearl Jam @ LA Memorial Sports Arena。这是我第一次去看他们,Eddie Vedder去年121212演出作嘉宾出现的时候就已经泪流满面了,所以这次更是尤为期待。Pendulum + Release开场,差点就哭出来了。尽管两场下来还是有一些歌没有演,但是大部分我喜欢的都演了,很尽兴。还有不足就是第一场太远了,人声听不清楚,所以这也是他们列在第二的原因。
  10. Stone Roses @ Coachella 2013。我这里说的是第一周,因为,从来没有看过石玫瑰演出的我被他们彻底地吹走了脑子。尽管不晓得有时候主唱猴王拿着两根棒棒在干什么,但是,但是John Squire的吉他实在是太棒了。整场演出无论从灯光还是音响等等,都做到了极致。

2013年总得来说不好也不坏,最大的转变就是突然觉得”Back home in LA”这个expression还挺酷的,或者说美帝没有别的地方会让我不顾一切过去重新开始的,本来以为波士顿会是那个地方的,但是10月份回去了一趟发觉那里的朋友走的走,结婚的结婚,也并没有我什么事情了。

2014年,我也没觉得会有什么大的改变,至少现在没看出来一些不好的会有什么转机,但是,还是得继续过呗。

最后,听歌吧。

石玫瑰的Made of Stone,没有能比这首能更贴切地叙述我这2013年。

Xamarin Evolve 2013

不久前,Xamarin在德州Austin举办了第一次他们自己的程序员会议,但是因为各种原因我没法现场参加。而且由于时差的问题,也错过了keynote和很多session的现场直播。

今天,Xamarin终于把第一天的keynote发布了出来。在keynote里,介绍了Xamarin从成立到现在的一些有趣的故事,进军移动领域的原因,他们CTO Miguel是如何从Linux粉转向果粉的,Xamrin 2.0的介绍,F#和Async开始beta测试,新的内嵌iOS designer,以及新产品Xamarin Test Cloud。Keynote地址在这里:Xamarin Evolve 2013

重点提下Xamarin Test Cloud,这是一套自动化UI测试(Automated UI Testing)框架。因为在iOS有几个版本,还有几个不同的设备,测试会变得很繁琐。在Android平台上这个情况更加严重,不仅版本众多而且还有两三千种不同的设备。面对这么繁多的设备,在所有真机上测试你的程序变得几乎不可能。在我实际Android开发的时候就碰到过这种情况,说得夸张些就是几乎每增加一个测试的真机就会出现一个新的问题。而Xamarin Test Cloud正是想解决这个问题。目前提供他们web app,可以上传你的程序的apk(Android)或者ipa(iOS)文件,选择想要的机型然后开始测试。当然,除了web app,也有API可以嵌入到你自己的开发过程当中。

Xamarin Test Cloud

既然叫Automated UI Testing,手工点app上的各种按钮,填写各种文本框等等这类根本算不上自动化测试。Xamarin Test Cloud最令我激动的是提供了一套脚本来自动化这些测试,比如定义脚本来进行“打开app->输入用户名和密码->点击登录按钮”这样的一系列操作,然后就可以在各个设备上看到跑这个脚本的情况,多少通过了,哪些有crash,crash的话就会有相应的log,哪些反应比较慢就会给出警告,非常方便和使用。最后提一点,Xamarin Test Cloud是适用于所有Android/iOS app的,并不仅限于用Xamarin写的app。

除了keynote,会议的session部分也即将上线,非常期待。一些有意思的session更新后,我会在这里及时更新。

2012年度F1 OPT报税

今天终于拿到联邦的退税了,加上前一阵拿到的加州退税,现在来总结下今年的报税。

2012年,我还是学生F1签证,期间也没有任何校内校外的工作。接着毕业后用OPT全职上班,所以今年报税过程其实不是很复杂。

因为作为非居民的外国人,很多网上的报税软件都不适用,而且很多软件也没有方便地将中美5000 Treaty作为抵税的一部分,所以还是得自己动手去IRS网站上下表格填好邮寄过去。作为外国人,要填的无非是1040NR表以及其附属的一些证明身份的表格。因为我除了毕业后上班也没有别的收入,所以就用简化版:1040NR-EZ。至于怎么填写1040NR-EZ,有两份指南必须要看,一个是IRS官方的1040NR-EZ Instructions,还有一个就是杜克大学中文报税指南。前者是最详细的官方指南,里面附有每年缴税的基线什么的。后者则是给看不懂官方指南里专有学术名词的人的简易指南,非常实用。两个要结合着看。另外,要证明自己是non-resident,还得额外填下8843表,不过因为是F1,所以只需要填写Part 1 General Information和Part III Student部分就可以。填完后,把两张表打印出来,再加上自己的I20、EAD卡、护照首页和签证的复印件各一份寄给IRS就行,地址在官方指南里有。

填完联邦税,州税就容易太多了。尽管我上半年在麻省波士顿读书,下半年搬去加州洛杉矶工作,但在波士顿的时候没有收入,所以我只需要在加州报税。报州税直接去加州的Franchise Tax Board网站上一步一填就好了,在折腾完联邦税之后,这个真是小菜一碟。填完大概一个礼拜就收到退税了。

对于我来说,除了这两个报税,还有一个另外的退税。因为以OPT身份上班,理应不该缴纳Medical Tax跟Social Security Tax,不过公司不知道这个还是缴了这些税。一来我当时也忘记这回事,二来等我想起来的时候已经过了2012年所以没法及时向公司要回这些钱,得自己跟IRS打交道填表要回。现在我还在等这部分的退税,待我拿到后会在这里及时更新。

—-Updated on Feb 17th, 2014—-

经过几次周折之后,终于在10月份拿到了Medical/Social Security Tax。要回的过程主要就是填8438316表。843表大部分要填的地方都比较简单明了的,就第7个问题要填原因,我也是网上找的模板,大致是这样的:

I am a non-resident alien for tax purposes (I have been here for less than 5 calendar years) and am in (F-1) student status. I worked with (OPT) authorization at XXX company and while I worked there, they withheld Social Security taxes in the amount of $XX  and Medicare taxes in the amount of $XX. According to IRS Pub. 519, I am not subjected to Social Security and Medicare taxes. I have attached a letter from my company stating that they would not refund the taxes to me. I have attached my visa status and work documentation to provide my eligibility to work in the United States. I request a total refund of $XXX.

8316的话也是比较简单,特别double check第一题千万别误选NO,要选YES,否则都白搭。然后要从公司管这类事情的地方(比如Payroll部门)要一封说明没法直接从公司拿回这些钱的信。把这些材料再加上证明学生身份的I20、签证、EAD卡的复印件全部寄过去,接着就是漫长的等待了。注意,要先把那一年的税先报了,然后再去要Medical/Social Security的税。

Disclaimer: I do not provide tax, legal or accounting advice. This material has been prepared for informational purposes only, and is not intended to provide, and should not be relied on for, tax, legal or accounting advice. You should consult your own tax, legal and accounting advisors before engaging in any transaction.

MonoDroid.TimesSquare发布

之前看到Square发布了一个在Android上选择日期的widget,觉得挺不错的就想着把这个小项目移植到Mono for Android上。经过一段时间的开发,算完工了。代码库放在了GitHub上。

用法

CalendarPickerView作为custom view嵌入到layout里,像这样:

<monodroid.timessquare.CalendarPickerView
    android:id="@+id/calendar_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

对于layout还想多说几句。因为这个控件占用比较多的控件,所以最好给足空间。在屏幕小的设备上最好用对话框、全屏的fragment或者单独一个activity。屏幕够大的话倒是不推荐全屏显示,用一个fragment或者对话框就行了。

接着在activity/dialog里的 OnCreate 方法中或者fragment里的OnCreateView方法中,需要用一段有效的日期和当前选择的日期来实例化这个控件。比如像这样:

using Java.Util;
...

var nextYear = Calendar.Instance;
nextYear.Add (CalendarField.Year, 1);

var calendar = FindViewById (Resource.Id.calendar_view);
calendar.Init (new Date (), new Date (), nextYear.Time);

然后就可以用calendar.SelectedDate来得到所选择的日期。

实现细节

Square当时是如何想到写android-times-square这个小项目的可以看这里

Android上,用Java Calendar类(MonoDroid里有这个类的绑定)来计算日期。我们曾经考虑过用别的第三方库来实现,不过还是觉得让我们的库越小越好。在layout上,我们就自己写了个ListView:每行代表一个月,对于每个月再分别计算尺寸啥的,这样可以加快滚动速度。

下载

这里下载最新版本,然后以library project加到你的程序里。

软件许可

使用Apache 2.0许可。其实这倒是让我稍微补了一补课的地方。

Xamarin 2.0

之前几个礼拜就收到邀请参与private beta的测试,今天,Xamarin终于发布了他们移动跨平台工具的新版本:Xamarin 2.0。这里略微的介绍下我比较感兴趣的新功能。

  1. 新的IDE:Xamarin Studio 
    Xamarin Studio的前身是MonoDevelop,一款用于在Linux/MacOS/Windows下写C#应用程序的IDE。新版本主要重新设计了UI,之前时不时会有问题的代码完成也有了巨大的改进以及全局搜索等等。官方blog里详细地介绍了这些改进是怎么来的。

    Xamarin Studio
    Xamarin Studio
  2. 在Visual Studio里开发iOS应用
    以前,这也是可行的,但是需要很多的弯路要走,也不是很稳定。这次官方总算加入了这个功能。他们的办法是通过网络与另一台Mac来传输编译调试所需要的信息。这个功能非常实用,因为Visual Studio是套非常强大而且完善的IDE,而且也还有另外一个杀手锏:ReShaper,能极大地增加开发效率。
  3. 新的价格
    新的版本也带来价格的变化。这次加入了有app体积限制的免费版本,降低了独立开发者和企业级的价格。不过对我来说,独立开发者这一档没有Visual Studio支持还是蛮令人扫兴的,毕竟VS上有ReShaper这个神器。

    Xamarin Pricing
    Xamarin Pricing

别的改进还有很多,比如多了个组件商店,可以下载(有的收费)一些组件拿来直接用,避免时间浪费在重复造轮子上。这里有篇非常详细的上手体验介绍,感兴趣的可以去看。

关于跨平台开发,势必会带来的一个问题就是,许多功能其实只是在不同环境/语言下的再实现,那这样的重复造轮子是否值得?或者说有没有这样一种工具或者语言能简化这部分的开发过程?

答案是有的。比如像PhoneGap这样,用你最喜欢的框架写个适合移动设备的web app,然后用各平台自带的浏览器控件包装一下。这样的好处就是只需要写一个web app就能在各个平台上跑,效果也都一样,开发时间又短,但显而易见的主要问题就是性能不好、依赖于当前平台浏览器控件所能支持的系统API以及需要实时在线。

为了解决这些问题,又有了类似像Titanium这类叫做hybrid app的新办法。就是提取出各个平台公共的UI控件以及API,再配合上web app,整合成一个app。好处就是相比之下性能会好一些,应用合适的数据存储方式后并不需要实时在线,但仍然运行起来不是很流畅,不能方便地调用系统API,所能提供的API也不全。

而Xamarin则走了一条不一样的路。上述两种方案的首要问题就是一个移动应用是否真的必须在每个平台上的设计和操作一模一样?他们认为,不需要,每个平台都有其独特的UI,比如像他们CTO Miguel在MIX11会上所示范的:Mono UI

既然如此,那不如在UI层上使用各个平台原生的控件,而业务逻辑层数据层则共用一套代码。这样既做到了拥抱各个平台原生UI的独特之处,又最大程度地共享代码加快开发效率。

此外,他们选择了C#这个非常强大又高效的语言,比如这些杀手级feature:LINQ, Lamda表达式,var匿名类型等(JAVA?!)。再通过P/Invoke实现每个平台上所有API的绑定。由于C#及其虚拟机CLI(Common Language Infrastructure,即.Net的核心部分)加入了ECMA标准,于是他们脱离微软自己实现了这些。当然也不用担心版权纠纷

那最后的性能到底如何呢?试试看像Bastion这样的游戏,或者iCircuit这样的跨平台应用,以及我最爱的云音乐软件Rdio就知道了。:)

所以,如果想要每个平台达到最好的用户体验又要最大程度地共享代码,Xamarin的这套移动开发平台可能是最好的选择。

2013

2012!这一年值得回味值得纪念的事情有很多。

暂时告别了学生身份。然后开始正儿八经地以写代码为生,也算圆了小时候的一个梦想。与此同时,谈了不到一年的感情告吹。也为了她,从波士顿搬到了洛杉矶。其实既然感情都已结束,整个LA除了湖人也没别的可以留恋的,我应该有无数的理由离开这里,去我想去的地方,比如北上三藩,又或者回到波士顿。想了很久,还是没有。首先工作上还是有很多挑战的让我乐意继续在这里干着,这些相比别的东西对于现在的我来说更加重要,先扒干净自己碗里的嘛。另外,对于程序员来说,工作的地点真的已经不再那么重要了。这篇Why I Love Being A Programmer in Louisville的文章从程序员的观点解释了这点,TL;DR版可以直接拉到后一段。话再说回来,即使真的又折腾回了波士顿,又能怎样?之前的朋友们也一个个离开了,没离开的也都开始组建家庭生儿育女买房养车,离他们的生活也越来越远。况且熟悉也并非总是件好事。对于我来说,不就重新开始么!干干净净地来到一个新的城市也挺好的。

之后感恩节的时候,趁着还没过期的签证,趁着Morrissey取消了感恩节的演出,趁着还不算太贵的机票,回了一趟魔都。见了很多老朋友,当然最重要的还是父母和老一辈们,也没忘孝敬老人家,把银行帐户给掏空了也在所不惜。跟家人还有朋友们天天吃吃喝喝了一周半瞬间重了10斤后,又回到了美帝,差不多一年的大事也都结束了。在这里还是省略了一些事,想着现在可能还不是合适的机会说,就先这样吧,过一阵有机会再说,也或许过一阵后自己都已经淡忘了。

2012看了很多非常牛逼的演出,挑了十场我比较喜欢的。

  1. the Black Keys @ Staples Center。我这是我第二次看the Black Keys,第一次在波士顿的时候因为不是在内场,听得不是很尽兴。来LA后,他们突然又加了一场,立马买了内场票。他们的歌嘛,很多唱的都是屌丝的苦情歌,所以还是有很多共鸣的,哈哈哈。非常带劲的鼓,漂亮的吉他riff和solo,好听的旋律,很是过瘾。这也是我第一次在湖人主场看演出,望着那么多退役球衣和冠军锦旗,又是不一样的感觉。这点上,比在波士顿的TD Garden头上顶着绿军球衣感觉要好很多。
  2. 李志 @ The Crest Bar。挺有意思的一次经历,因为这是我自己组织的演出。不过想想一个波士顿人能在陌生的LA组织起这场演出也挺不容易的,哈哈。那天李志状态不错,整场效果也挺好。
  3. Band of Skulls @ Fonda Theatre。他们是我今年不小心发现的一支非常好的乐队,算是传统的三大件。现在越来越多的乐队喜欢加上点电子乐的来”丰富”他们的音乐,但大部分加的电子非常俗气。精心的编配加上美妙的男女和声,强烈推荐他们的两张专辑。
  4. Phantom Planet @ Troubadour。这是我在LA看的第一场演出,也是他们四年后的第一次复出演出,所以显得非常有意义。喜欢上他们就是当时看的the O.C.这部美剧,还跟当时一起看的朋友说毕业的时候我也要唱着”California”去加州,但没想到竟然是这么来到了加州。这部剧说穿了没啥内涵,都没看完,但倒是给我介绍了些不错的独立乐队,比如the Subways, the Rooney等等。
  5. Black Sabbath @ Lollapalooza,能见到活着的Tommy Iommi就已经很幸福了。因为他健康的问题除了这场和他们家乡的演出外所有的演出都被取消了,这是我去Lollapalooza音乐节最重要的原因。现场也没让人失望,演了很多耳熟能详的歌。
  6. Led Zeppelin @ Edwards Theatre。其实这不算是一场现场演出,是07年重组演出电影的首映,但没想到电影院里看效果也非常好。当灯光暗下的时候,电影院里的观众也像在现场似的开始尖叫,除第一和第二首电影院里音响太轻以外,感觉跟在现场看也没啥区别,大家也一同跟着熟悉的音乐一起哼唱。
  7. Jack White @ Gibson Amphitheatre。当时耿耿于怀the White Stripes的解散,以为再也看不到了。所幸后来他自己出来单干了。又拜大LA所赐,2012年他在LA演了5场。前两场的时候我还在波士顿,终于等到他再来的时候就没错过了。第三第四次也是连演两场,分别是全男乐队和全女乐队。因为第一天的位置在最后面,于是看了第二天还有比较前面的位置后果断在开场第一秒后就买了第二天的票。最后年末还在KROQ Almost Acoustic Christmast Show上再来了一发,尽管这次只有四十分钟,但对我来说感受是最深刻的。我喜欢他的就是每次演出都能给人不一样的感觉,让人真正感觉是在现场,而不是录音室的重演。
  8. Aerosmith @ Staples Center。无需多说,我的启蒙乐队。今年在LA演了两场。第一场感觉他们都已经老了,但是第二场却完全不一样,Steven Tyler高音也飙得上去了,舞台效果也没70年代那么土鳖了。不过看到Joe Perry那苍老的双手,Joey Kramer气喘吁吁地用光手打鼓,还是有点心疼的。
  9. Red Hot Chili Peppers @ Lollapalooza,看过两场,尽管Boston的一场是我的生日,但那场由于在山顶加上很多心事,其实不是特别尽兴。反倒是芝加哥那场,早早地排队进去了,跟着大伙儿在泥地里一起唱啊蹦啊特别激动,也始终不会忘掉Snow (Hey Oh)前奏riff响起瞬间的感受。RHCP各位成员都发挥地很好,很满足。
  10. Buckethead @ Great American Music Hall。好几年都有看演出跨年的习惯,今年也不例外,正巧Buckethead在三藩跨年,就专门跑过去看了。Buckethead的音乐是我写代码时候听的,主要是因为没有人唱,很能让人集中注意力,而且吉他各种效果的运用也很有想象力,算是把吉他这个工具给用到家了。现场非常好,自己用鼓机、采样和Loop效果器作伴奏,时而跳跳机械舞,倒计时结束后还跳了Gangnam Style,尽管大部分观众都是”What the fuck is that shit”的表情。最后照例发了玩具给大家。对于我来说,自己默默记得在2012结束2013即将到来这个关口的心情就好了。:D

2012也听了很多碟。挑选了10张最喜欢的,放在了Rdio上,顺序不分先后。豆列版戳这里

除了这10张以外,前RHCP的吉他手John Frusciante的电子乐专辑“PBX“,Patti Smith的”Banga“,Bruce Springsteen的”Wrecking Ball“,滚石乐队的新歌加精选”GRRR!“,Led Zeppelin的07年重组演出专辑”Celebration Day (Deluxe Edition 2CD + 2 DVD (CD sized digipak)“也都是非常好。可惜,无情地被冒泡算法给干掉了。:P

2012,不管怎样,都已经过去了。

2013,我在洛杉矶,期待更有意思的一年。

—-

最后,听歌。

Surface RT

前几天路过一个微软的临时商店,禁不住好奇就过去问了一些减肥界奇葩 Surface RT的情况,很遗憾没有真机试用,于是他们就给了我一张预购卡,说礼拜五发售的时候,凭这张卡12点以前来就可以不用排队直接买,还说当天前100名买Surface RT的送一年Xbox Music Pass。鉴于店员太热情,以及对Xbox Music的好奇,那就那天去买一台吧,反正14天内都可以退货。

礼拜五中午11点多到了那里,没想到特别冷清。目测也就几个人排队吧,不像当时iPhone 5发布的时候,8点开门,12点多才排到我。凭着预购卡很快就拿到了机器和Xbox Music Pass。因为我看到结帐的柜台上还有五六十张Xbox Music Pass,所以就顺口问了店员大概卖了多少台,他说大概快到100台的样子,我说不是只有前100位顾客才有Xbox Music Pass拿吗,怎么还有那么多?他说“哎,说说而已,我们想让我们的客户满意而归”。我仅买了机器,没有买额外的键盘,因为我的初衷只是想试试这台机器。

Microsoft Holiday Store in Glendale, CA
就这么寥寥几人

接着,开箱!

Surface RT Unboxing
Surface RT开箱

开机一些简单的设置之后,就到了首页。

Surface RT Home Screen
首屏

来说说对这台Surface RT的感受。

首先是我喜欢的部分。在对Apple的工业设计和UI审美疲劳后,微软这套Metro/Mordern/Windows 8/WTF UI的确令人耳目一新。硬件上的设计也确实下了一定的功夫,比如自成一体的小支架,Touch Cover键盘。整台Surface也不重,准确来说比iPad重了20克,但如果不是脑残果粉的话根本感觉不出来。这套UI也确实非常流畅。以前用Windows Phone的时候就感觉得出来,就系统流畅度而言比Android好多了,跟iOS不相上下。Surface RT还自带杀手级应用Office套件。

Surface with Integrated Stand
Surface自带的支架

但是,我还是准备退掉这台Surface。

这套令人耳目一新的UI在一些细节上还没做好。比如,默认情况下锁完屏回到首屏时候要输入的密码是你微软帐号的密码,而不是简单的四位数字。这对于密码是十几位的同学(比如我)感觉非常难用。像这种类似不人性化的地方还有很多。造成了很多不爽。

Password

显示屏是个大问题。被Retina显示屏宠坏之后,再回头看这个10寸屏却仅仅只有1366*768分辨率的屏幕,颗粒感非常强烈。微软在宣传上也尽忽悠广大人民的智商,说是凭借Clear Type这个字体渲染技术,显示效果会比iPad好很多。可是每平方英寸只有这么点像素,再好的字体渲染技术也无济于事。

系统的流畅不等同于应用程序的流畅。每次拿到新的平板或是手机,总会玩一款神作游戏——水果忍者来测试应用程序的流畅度。很遗憾,用Surface RT玩的时候经常性会有一些卡住的情况发生。原生应用程序也这样,更不用说那些HTML 5写的游戏,比如Cut the Ropes在Surface上也很卡。

Fruit Ninja on Surface RT
Windows RT上的的水果忍者

还是Windows。尽管Surface RT用的是专为arm处理器/平板/手机设计的操作系统,但很多地方还是离不开Windows桌面版的影子,并没有完全的重新设计。平板/手机使用的特点跟桌面很多地方是不同的,微软考虑到了这点,但没有想明白。Windows RT仅仅因为要使用Office套件而专门保留了桌面模式,但又不能自行安装别的x86软件,这点显得很不自洽。为什么微软不专为Windows RT写一套Office?此外,当选择查看所有Apps的时候,会发现很多x86系统里耳熟能详的软件,比如cmd.exe, 记事本,画图,远程桌面,Windows Defender.exe等等,但是令人不相信爱情的是竟然没有扫雷和纸牌!所有这些x86的程序有一个共同的毛病就是没有为触摸屏专门设计。大部分时候我恨自己为什么没有纤纤细指。在桌面模式的时候,如果是在编辑模式下,是不会出现虚拟键盘的,在退出编辑模式的时候也不会自动隐藏虚拟键盘,都需要手动打开/隐藏。有时候系统也会出现没有响应的情况。等等等等。这些细小的地方没做好,实在是很让人厌烦。即使是自家杀手级应用Office,也有很多莫名其妙的错误,比如像这位评测的那样,而且不适合手指太粗的人使用。

退掉的另外一个原因就是我已经习惯了好多有且仅在iOS上的Apps,比如Garageband, iBooks, Newstand, FaceTime, Reeder, Tweetbot等等。Windows Store才开放没多久,费时费力地去找这些Apps的替代品显然不值得,况且要找到同等质量的更是困难。这也是每年Google I/O回来拿着发到的设备,却有种融入不进去的感觉,以至于越来越果粉。:p

既然选择要退掉,比较感兴趣的Xbox Music Pass也就没法试用了,这,还是有点遗憾的。

这些就是我的感受,想看更多评测的,除了前面提到的那篇Gizmodothe Verge的两篇也挺好,如果对Surface RT感兴趣的可以去看看。

听歌,听闻朴树和张悬在上海的树与花演唱会非常精彩的样子,那就推荐首悬儿的《城市》。

Ubuntu 12.10

听闻今天Ubuntu出了新版本12.10,立马就去升级。

官方有个如何升级的指南。我用的是在Linode上的12.04 LTS,按照官方指南,用

do-release-upgrade

升级不了,显示没有最新版,其实应该加一个’-d’的参数表示升级到最新的开发版。

do-release-upgrade -d

升级成功后别的都一切正常,但是php出了问题,进blog后nginx提示502错误。请教一番Google大神后,原来,从12.10版本起php5-fpm开始监听UNIX domain socket而不是之前127.0.0.1:9000端口的TCP请求。因为既然作为一台web服务器,大部分情况下PHP和Nginx是跑在一台机器上,用UNIX socket使用文件传递数据的方式反而更方便,所以之后就使用UNIX domain socket作为默认的配置。升级之后,nginx的网站配置却并没有变,FastCGI仍在监听127.0.0.1:9000,所以找到fastcgi_pass的选项,更改成unix:/var/run/php5-fpm.sock 就行。

vim /etc/nginx/sites-available/yourwebsites

当然,你也可以更改php-fpm的配置,让其仍然监听在127.0.0.1:9000端口上。

vim /etc/php5/fpm/pool.d/www.conf

找到listen这个选项,改成127.0.0.1:9000就行。

最后,记得重启nginx服务或者php-fpm。

另外,这篇文章非常详细地解释了UNIX domain socket和TCP socket的区别,推荐阅读。

咦,最近这首歌的旋律总是回荡在我脑子里,尽管昨晚看了Led Zeppelin的电影。

解决Ubuntu下WordPress无法自动更新的问题

首先,我又搬家了,趁着两个月前Linode周年庆送的100块钱,试试Linode服务器

然后又开始一次迁移。之前LEMP (Liunx/Nginx/MySQL/PHP) 在Amazon EC2上搭的环境无法启用WordPress的自动更新,还有自动安装主题插件什么的,我一直以为原因可能是Nginx的问题,想着这次换新服务器,换换看Apache是不是能解决,但还是不行,于是继续换回Nginx。在一次偶然的Google搜索后,发现其实只要改变网站目录的所有者为”www-data”这个用户即可:

chown -R www-data /$DirectoryOfYourWebsite

原因在于运行Nginx的用户对于网站目录没有读写权限造成的,所以只要看下Nginx是哪个用户在运行就行了,把网站目录的所有者改为那个用户就可以启动自动更新了。

查看Nginx是哪个用户在运行可以用如下命令,注意,应该看worker process是哪个用户在运行:

ps aux|grep nginx

Linode有个问题就是,我选择的Fremont, CA机房,当时给的IP地址被挡在了伟大的墙下,换IP还得输出双向mtr报告,否则就不给换,可我人又不在国内。于是又想换回EC2了。其实相比Linode, EC2也不是那么贵,关键得下狠心定下一年或者三年的Reserved Instances租约,会有一笔不小的初始费用,但之后按小时计价算下来比Linode便宜很多,即使综合来算还是便宜。而且EC2只是Amazon Web Services的一部分,其提供的别的服务也是很有意思的。另外EC2要是IP被墙,可以很方便地随时要一个,然后再释放掉老的。嗯,所以还得再想想。

听歌,几年前听小精灵的时候,觉得不对胃口,现在听倒是觉得好好听啊!