Profile

Cover photo
Rui Ueyama
Works at Google
Lives in Mountain View, CA, USA
920 followers|383,626 views
AboutPostsPhotos+1'sReviews
People
Have him in circles
920 people
Hiroshi Ichikawa's profile photo
Ai Makabi's profile photo
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Mountain View, CA, USA
Previously
Shibuya, Tokyo, Japan - Matsudo, Chiba, Japan
Contact Information
Home
Mobile
+1-650-450-8437, +81-80-3518-1786
Email
Work
Address
Google 1600 Amphitheatre Parkway Mountain View, CA 94043 USA
Work
Occupation
Software Engineer
Employment
  • Google
    Software Engineer, 2007 - present
Basic Information
Gender
Male
Looking for
Friends, A relationship
Other names
植山 類
Links
YouTube
Contributor to

Stream

Rui Ueyama

Shared publicly  - 
 
McDonald'sのハンバーガーはなぜ広告と見た目が違うのか? についてMcDonald's Canadaがストレートに回答していてびっくりした。
3
Rui Ueyama's profile photo
 
撮影用のハンバーガーは、中に入っているピクルスとかオニオンが見えるように、カメラに対して後ろに傾けて作ってある、というのがサイズが違うように見える最大の理由ぽい。
 ·  Translate
Add a comment...

Rui Ueyama

Shared publicly  - 
 
TCCのテストコードを通そうとしてしばらくがんばってみたけどいまだにこれを通すには至らず。これを通せるようになったらTCCと同等レベルに到達できたといえるだろうから難しくて当然なんだけど。

飽きてきたのでまずTCC本体をコンパイルできるようにするほうに方針を転換することにした。

ほかのコンパイラのテストコードはバグ出しの役に立つけど、その性質上わりとどうでもよい重箱の隅を満遍なくつつきまくるものなので、そればっかり相手にしていると正直飽きる。なかなか進まないし。

というかコンパイラを作って一つ学んだことは相当バグってるコンパイラでも素直なコードは意外なほど問題なくコンパイルできてしまう、ということかも。そうなると重箱の隅つつきテストコードは「実際はこんなのあんまり問題じゃないだろうし・・」とか思ってしまうという。
1
Shiro Kawai's profile photo
 
コンパイラに限らず、ソフトウェアってだいたいそんなものって気がします。(こちらが想定する)素直な使い方をしてもらう分には動くってところまでは結構簡単に行くけれど、ユーザはいつだって想定の斜め上を軽々と飛び越えてゆく…
 ·  Translate
Add a comment...

Rui Ueyama

Shared publicly  - 
 
TCCのテストを通そうとしているんだけど、未実装の機能とバグっている箇所があってなかなかテストに通らない。

TCCは2~3万行くらいで実装されたCコンパイラ(一つのアーキテクチャに絞ると1~2万行くらい)で、そのコンパクトさであれだけの機能をサポートしているのはすごいと思う。Cコンパイラだけではなくアセンブラとリンカが実装されていてそのサイズは驚異的。作者のFabrice Bellardさんは真のスーパーハカーとしか言いようがない。

TCCのソースコードはなんども読もうとしてみたんだけど、いまいち全体像がつかめないまま。コンパイラというのは複雑なプログラムだから、普通は複雑さを分割統治して制御できるようにいろいろ工夫するものだけど、TCCは複雑なものをそのままの複雑さで実装して、きちんと動いてしまっている感じがする。こんなすごいコードは少なくとも今の僕には書けない。真似したいコードかというとちょっと違うかもしれないけど、こういうコードを書くことができる人がいるんだという意味でちょっと感動させられる。
 ·  Translate
8
Add a comment...

Rui Ueyama

Shared publicly  - 
 
C99のダイグラフを実装してみた。ダイグラフは一部の記号を直接入力できないマイナーな環境のためのすごく変な機能で、たとえば"["の代わりに"<:"と書いてよいなどということが決まっている。

ダイグラフはトークナイズの際に変換すればいいだけなので、意義はないけど別に害もない。

C89のトライグラフという機能もあって、こちらは明らかに有害といわざるをえない。トライグラフは三文字からなるシーケンスなんだけど、ソースコード上の どこに あらわれても無条件に置換が行われると決まっているので、printf("huh??!") が"huh|"を出力するとかいうことになってしまう。??!は縦棒のトライグラフ。役に立つ場面が皆無なのに問題を引き起こすことは容易に想像できそうな困った機能。

GCCではトライグラフは実装されているけど、デフォルトで無効になってる。この選択は妥当だよねー。僕のコンパイラではトライグラフはサポートするつもりはない。
1
Add a comment...

Rui Ueyama

Shared publicly  - 
 
C11の_Genericを使いたくなったので実装してみたんだけど、実装したあとにコンパイラのソースで実際に_Genericを使ってみたら、GCCでエラーになってしまった。手元のGCC 4.6.1は_Genericをサポートしてないぽい。このオチは予想していなかったけどこれでは結局使えない。

ついでにGCC拡張のtypeof()もサポートしておいた。当面両方とも使い道がないけど短いコードで実装できたからまあいいかなと。
1
Add a comment...
Have him in circles
920 people
Hiroshi Ichikawa's profile photo
Ai Makabi's profile photo

Rui Ueyama

Shared publicly  - 
 
Google Official Blog、一番下に着目。
Posted by Rui Ueyama, Software Engineer.
20
Add a comment...

Rui Ueyama

Shared publicly  - 
 
タネンバウム先生のMinix 3の本を買ったらインド版だった。そういえば最近ルピーの通貨記号が決まったとか知ったけど、これがそのUnicode 6.0から入ったという記号ぽい。「き」にしか見えない。
6
Rui Ueyama's profile photoJunio C Hamano's profile photo
2 comments
 
Amazonのマーケットで買ったんですが$40しましたよ。
 ·  Translate
Add a comment...

Rui Ueyama

Shared publicly  - 
 
Goのトートバッグが売ってた
 ·  Translate
12
Add a comment...

Rui Ueyama

Shared publicly  - 
 
+shinichiro hamajiさんのIOCCCのコードが動かないなぁとぼやいたらHamajiさんがパッチを送ってくれたのでマージ。ありがたやありがたや。おかげでこれが動くように。
3
shinichiro hamaji's profile photoRui Ueyama's profile photo
8 comments
 
古いシンタクスとかはたぶんどうでもいいわけで、コンパイルエラーは全部コメントアウトして、セマンティクスだけチェックしてみるとかはどうなんでしょう。
 ·  Translate
Add a comment...
Rui Ueyama's +1's are the things they like, agree with, or want to recommend.
About Time
market.android.com

The night after another unsatisfactory New Year party, Tim's (Domhnall Gleeson) father (Bill Nighy) tells his son that the men in his family

La Luna
market.android.com

The timeless fable of a young boy coming of age in the most peculiar of circumstances. It's the first time his Papa and Grandpa are taking h

Google 身份验证器
market.android.com

Google 身份验证器会在您的手机上生成两步验证码。为避免帐户遭盗用,您可以启用两步验证,为帐户多添加一道安全防线。采用两步验证后,登录时不仅需要输入您的帐户密码,还需要输入 Google 身份验证器应用生成的验证码。前往 accounts.google.com/SmsAuth

Maps
market.android.com

Explore new places, discover local favorites, and navigate your world with Google Maps. Available on Android phones and tablets with a simpl

Facebook
market.android.com

Keeping up with friends is faster than ever.• See what friends are up to • Share updates, photos and videos • Get notified when friends like

Feedly, your magazine-like start page
www.feedly.com

Synchronizing feedly v.. Please wait...

bkノート
plus.google.com

ソフトウェア開発に関する雑多な事柄

HTML5 Rocks - How Browsers Work: Behind the Scenes of Modern Web Browsers
www.html5rocks.com

A resource for developers looking to put HTML5 to use today, including information on specific features and when to use them in your apps.

Author information in search results - Webmaster Tools Help
www.google.com

Wondering about authorship markup, but not sure where to start? Based on feedback from authors and webmasters, we've simplified the proces

NASA - Voyager 2 to Switch to Backup Thruster Set
www.nasa.gov

NASA's Deep Space Network personnel sent commands to the Voyager 2 spacecraft today to switch to the backup set of thrusters that controls t

Google Voice - Apps on Android Market
market.android.com

Make cheap international calls with your Google number. Send free text messages. Place calls and send text messages showing your Google numb

Page Speed Online — Google Developers
developers.google.com

Developers. Page Speed. Your web browser must have JavaScript enabled in order for this application to display correctly. Authentication req

Kindle
market.android.com

The Kindle app puts over a million books at your fingertips. It’s the app for every reader, whether you’re a book reader, magazine reader, o

Angry Birds
market.android.com

Use the unique powers of the Angry Birds to destroy the greedy pigs' fortresses! The survival of the Angry Birds is at stake. Dish out reven

re2
code.google.com

an efficient, principled regular expression library

Where's My Water?
market.android.com

MEET SWAMPY IN WHERE’S MY WATER? — THE HIT DISNEY APP ON ANDROID!WHERE'S MY WATER IS THE HIT DISNEY APP EVERYONE IS PLAYING! NOW WITH OVER 4

Google +1 Button - Chrome Web Store
chrome.google.com

+1 a web page, anywhere you go on the web.

Food: GoodDecor: GoodService: Good
Public - a year ago
reviewed a year ago
6 reviews
Map
Map
Map
Public - 9 months ago
reviewed 9 months ago
Quality: ExcellentFacilities: ExcellentService: Excellent
Public - a year ago
reviewed a year ago