プログラミング

Railsをガラホに対応させるgemをアップデートしました

去年、ガラホが発売されるのに合わせて、出したRuby on Railsをガラホに対応させる、どこの需要でできているのか微妙なGemですが、DOCOMOからもガラホの新機種が発売されるとのことで、新機種を対応させました。

正直、テストはロクにしていないので、バグっていたら連絡ください。

しかし、ガラホは以前公開した時は「闇端末の香りがする」と言ってしまっていましたが、実際触ってみると端末の完成度はなかなか高いですね。

OSのカスタマイズはどの機種も同じ会社で一括して行なっている様で、操作系は統一されていますし、スマホ向けのページの表示も崩れることがほとんどなかったです。

今年はPanasonicや京セラもガラホに参入して機種も増えましたし、料金プランも改定されて、データ通信しなければ月々1800円で使えるプランも出てきて、Wifiにも対応して着実に、ガラケーを置き換える準備を整えてきていますね。

身内にお試してガラホオススメしても致命傷にはならない感じになったので、機種変考えている人は検討に入れてください。私も考えていますし、後日レポートするかも。

Published on 11/19/2016 at 08:28 under , , .

米GitHub、テキストエディタ「Atom」をオープンソース化

http://sourceforge.jp/magazine/14/05/07/160000

https://atom.io/

というわけで、実際に触ってみましたが、正直悪くない…

ダウンロードした時に、テキストエディタなのに

実行ファイルのサイズが190Mとかあって、正直正気を疑いました

実際に起動してみると、Emacsより早く起動するのが分かります

デザインの調整がCSSで出来たり

拡張plug-inがJSで書けたり、以前こういうエディタが欲しいな、と萌ディタ等で思っていた事をより綺麗な形で実現している様です

Mac版しかまだ存在していないのが難点ですが投資する価値のあるエディタだなと感じたので、自分なりに研究していこうと思います

 

Published on 05/11/2014 at 14:06 under .

Mavericksでyacc使っていたらコンパイルエラーになったときの対処法

ドラゴンブックを片手?にYACCの勉強をしていたのですが

yaccに作成したyファイルをgccでコンパイルしようとしたら次のようなエラーが

gcc ./y.tab.c ld: symbol(s) not found for architecture

x86_64 x86_64という文字列からして64bit対応周りであろうというのは分かるのですが

それ以上のヒントがないのでいろいろとググりならがなんとか解決したのでメモ

まず、現在のgccコマンドですが、言語ファイルを指定しないで「gcc」とコマンドだけ打ったら分かるのですが

clang: error: no input files

なんでgccでコンパイルしたいのにclangでコンパイルしようとしているねん!

非常に納得いきませんが、gccコマンドがclangへのエイリアスに設定されています!

なので実際にgccでコンパイルしたいときは、gccのコンパイラを探してきてそちらでコンパイルを行ってやらないといけません

幸い「gcc-」まで打ってtabで補完をかけてみると「gcc-4.2」が見つかりましたので こちらで以下の引数で実行をしてやることで解決出来ました

gcc-4.2 -ly -ll ./y.tab.c

c言語系の開発はホント依存関係地獄ですよね

 

Published on 04/06/2014 at 12:03 under .

最近は「ロジバン」という言語を勉強しています

ロジバンという人工言語をご存じでしょうか?
存在自体は数年前に聞いていて気にはなっていたのですがなかなか手が出せていなかったのを
えいやっ!と勉強し始めることにいたしました

この子は「プログラムによる完全な構文解析が出来る」という面白い性質を備えていて

しかも発音と文字が完全一致しているので

人間がマイク越しに話した文を、完全に構文として分解できるという強みがあるんですね

ただ、実際に初めて見ると、なんか・・・結構ムズいです

というか概念的に英語とかドイツ語とか、中国語とか、今までちょっとだけとはいえ囓ってきた外国語と全然違う観念で設計されている感じがして結構苦戦させられました

なんと言えばいいのでしょう
英語や日本語なんかの自然言語は「AがBをしている」をベースにそこから自然にルールを拡張していったものに見えるのですが
ロジバンは「AはBである」という論理学をベースに拡張をしていった感じがします

ただ英語に比べれば論理的に完全なルールに依って設計されているので、ちゃんと使えるようになるまでの合計時間は短いんだなっていうのがやっと見えてきた感じです
もう少し勉強したら、実際何処までコンピューターで解析可能でどこから先が出来ないのか調べてみたいなーと思っているのですが
仮にやれても来年でしょうねぇ・・・
 

一緒にロジバンを勉強してみたいという人は、ワタシの場合は下の2つのリンクを柱にやっていますので、参考にされてはいかがでしょうか?

Published on 12/08/2013 at 10:46 under , .

flextures3.0を公開しました

ココ何週間か、実際に色々と使い方を試しながらデバッグを進めていたflexturesですが

先程、3.0.0という形でリリースいたしました

今回は、実際に運用していて困った所を解決するために、オプション周りを大幅に強化しました

概ね入れ込みたかった機能は、これで入れ終わったので、革新的なアイデアだとか、時代の大きな変化がない限りは

私用周りや実行速度をチューイングしていく方向で、大きな変化は今後はしないのではないかと思います

とりあえず、やっと次に作りたいものに取り掛かれるようになってきた感じなので

もっと開発しやすくなるようにアイデアを形にしていこうかと思います

github

https://github.com/baban/flextures

rubygems

https://rubygems.org/gems/flextures

Published on 06/24/2013 at 03:13 under , , .

Trick2013受賞者まとめ

来年もネタが思いつけば出したいなぁ…、と思っているので

完全に私家版メモ

 

Published on 06/19/2013 at 15:36 under , , .

jp mobile を Tizenに対応させてみる

せっかく手に入ったTizenの実機なので小さくてもいいから何かをしようと思って

rails標準の携帯サポートgem、jpmobileを拡張してTizenに対応させました

本当はgemにしたかったのですが、jpmobile本体との競合がまだ解決できていないので

やっつけで機能を上書きです

まずは以下のコードをrailsプロジェクト配下に作成

lib/jpmobile_tizen.rb

$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) ||
                                          $:.include?(File.expand_path(File.dirname(__FILE__)))

module Jpmobile
  module Mobile
    autoload :Tizen,         'jpmobile/mobile/tizen'

    DEFAULT_CARRIERS_WITH_TIZEN = %w(Docomo Au Softbank Vodafone Emobile Willcom Ddipocket Iphone Android WindowsPhone Tizen)
    def self.carriers
      if @carriers.nil? || @carriers == DEFAULT_CARRIERS
        @carriers = DEFAULT_CARRIERS_WITH_TIZEN.dup
      end
      @carriers
    end
  end
end

lib/jpmobile/mobile/tizen.rb

module Jpmobile::Mobile
  # ==Tizen
  class Tizen < SmartPhone
    # 対応するUser-Agentの正規表現
    USER_AGENT_REGEXP = /Tizen/
  end
end

最後に「config/enviroment.rb」の行頭で

require "jpmobile_tizen"

を書いてあげれば対応作業完了です
試験は、実機を手に入れるのは難しいはずなので
FireMobileSimulator適当なAndroid端末を使えるようにして
User-Agentを

Mozilla/5.0 (Linux; Tizen 2.1; SEC_SC-001) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.1 Mobile Safari/537.3

に書き換えてやれば大丈夫でしょう 


iPad対応の作業をしていた以下のサイトを参考にしただけなんですけどね

http://d.hatena.ne.jp/kusakari/20111107/1320645326

 

追記:

gemにしました

 rails向けにjpmobileをtizenに対応させるgemを書きました

Published on 06/10/2013 at 12:18 under , , .

flexturesのバージョン3を開発中です

https://github.com/baban/flextures

長らく安定を目指してあまり手をかけないでいたflexturesですが

なんだかんだで1年以上使ってきてみて、かなり安定してきた感じがあるので

思い切って、今まで「こういう機能を追加したいな」とメモをしていた機能をまとめて押し込んでみました

  • 実際に困った事態を解決する、オプションの大幅な拡充
  • コメントを全て(へっぽこ)英語化
  • デバッグ性能の向上

あたりでしょうか、あとマニュアルの充溢と英語化を着々と進めていく予定です

現在は安定リリースまで数週間寝かす予定なので

使いたい場合は、githubのURL指定付きでbundle installして下さい

 

Published on 06/09/2013 at 13:54 under , , .

Tizenの実機を手に入れたけど

HTTPヘッダを見たらこんなでした

Mozilla/5.0 (Linux; Tizen 2.1; SEC_SC-001) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.1 Mobile Safari/537.3

標準ブラウザはWebkitベースなので、レスポンシブWebデザインしているウチなんかは

崩れは小さそうですから改修するほどのことではないでしょう

ただ、スマホとPCでサイトを出し分けしているサイトはユーザーエージェントの中の「Tizen」の文字列を探してスマホ向けに出し分ける改修が必要だね

まぁ、そんな大きな作業ではないでしょう

ちなみに操作感ですが、AndroidとiPhoneの中間みたいな感じ、どちらにも似ていてどちらかに慣れていれば、両方から違和感なくサワれる感じ、アイコンの大きさやデザインがよく整理されていて、スクロールの速度はAndroi系の「ぬるっ」とした早いスクロールとiPhoneの「カツン」とした感じの無機的な速度の中間といった感じでした

特徴といえる特徴にかけるのが欠点に見えますが、AndroidとiPhoneの間に立って何処まで戦えるでしょうか

 

 

 

 

Published on 06/05/2013 at 05:20 under , .

Rubyist が今すぐ Elixir を使ってみるべき理由

http://m.igrs.jp/blog/2012/03/12/why-rubyists-should-try-elixir/

rubyは書きやすくて、ソコソコ奥は深いんだけど

マクロが無いのでDSL作っても記述性に限界が訪れるのと

レガシーな文法がもう廃止出来ないことになってしまっているのがなぁ…

Elixir はErlangのVMの上に乗った並列性と、それ以上に無停止メンテナンス可能な安定性が強みなんですが、正直あの異常な無停止性はいらないのと、正直 DBとかファイルとかの外界に接触するときに並列性ゆえの制御のきななさで、書き込む順番が変わっちゃうとか笑えないんですよね

ビジネスロジックの場合は、結局操作する人間自体が並列化出来ないので

あのレベルの並列性は普及しないと思います

 

Published on 06/04/2013 at 14:26 under , .