以前、「悪いAPIは伝染していく」という短い記事を書きました。APIが悪いライブラリを使用する別のライブラリを設計する場合には、元のライブラリのAPIの悪さを、新たなライブラリでは修正することが可能です。しかし、よく見かけるのは、使用する元のライブラリのAPIの悪さをそのまま引きずったライブラリが設計されることです。その意味で、低レベルのライブラリのAPIの悪さは、上位レベルへと伝染していきます。悪さが伝染しないように新たにAPIを設計できるエンジニアは少ないようです。 きちんとしたAPIを持つライブラリを使用しているのにもかかわらず、出来の悪いAPIを持つ上位のライブラリが作成されることがあります。私自身がかなりレビューしてAPIを整備させたライブラリを使用して、その上に出来の悪いAPIを持つライブラリが設計されているのを見ると、がっかりしてしまいます。 どんなAPIでも、最初のバージ



はたから見てると、FPGAとArduinoとRasberry PIって、なんか小さくてデバイス挿して使ってて似たもののように見えるかもしれません。 そんな中、どこが違うの?って思ってる人もいるかと思ったので、それぞれの違いと、そしてそこから得られる技術者としての知識をまとめてみます。 まあ、得られる知識として「それぞれのデバイスの使い方と周辺環境」ってのはありますが、それは当然として。「それぞれのデバイスの使い方と周辺環境」を得るメリットがわかる比較としてまとめたいと思います。 根底は「なんで最近FPGAをやってるか」っていうことの説明なので、そういうバイアスがあると思ってください。FPGAというのはチップの種類なので、実際にはDE0などのFPGA評価ボードとの比較ですが。中でもDE0-nanoは大きさや価格を考えると、豪華なArduinoくらいの位置づけとして出してきたようにも見えます
分散システムの開発に優れているなどの理由で、関数型プログラミング言語に注目が集まっています。Bashoが開発する分散キーバリューストアのRiakや、オブジェクトストアのRiak CSは、関数型言語の1つであるErlang(アーラン)が開発に使われています。 Bashoジャパンのシニアソフトウェアエンジニア 力武健次氏と、Bashoのシニアソフトウェアエンジニア Scott Lystig Fritchie氏 Bashoへのインタビューにあたり、2月から同社に参加しErlangへの造詣も深い力武健次氏と、同社シニアソフトウェアエンジニアのScott Lystig Fritchie氏が同席していました。お二人にErlangへの評価を短く聞きました。 Erlanは視認性が高く簡潔な記述ができる ──── 製品を開発する立場としてErlangをどう評価されますか? 力武氏 例えばCで書くと何千行もか

AT 8TH LIGHT WE BRING LIFE TO THE BEST IDEAS Since 2006, we've partnered with visionary leaders at the most ambitious organizations in the world. From Pfizer to Fandango. AmFam to GrubHub. We turn ideas worth pursuing intotechnical solutions at scale.o Innovationo Modernizationo Reliable Engineering Spark a Conversation > 8th Light strategic consultants marry deep product strategy with world-clas


iPad mini + Cellularを朝一番から並んで買いました!軽くてLTEでネットが使えるということで、外に持ち歩き端末としてはApple史上最高な端末です。 しかし、私は出かけるときには常にコードを書ける環境を持って歩きたいので、結局MacbookProかAirを持って出かけることになってしまいます。 最近、MBP15に代えたのでちょっと持ち歩きが厳しいなと思っていたので、この際iPad miniでコードを書く環境を構築することにしました。 まずはキーボード。前に買ってあったrapoo E-6300をBluetoothで接続してみます。一発でつながったし、サイズ感も良い感じです。 蓋になる形のキーボードも出ているようですが、とりあえずE-6300で問題なさげ。 次にメインとなるエディタです。iPadでソースコードを書くのに適していて、Dropboxに対応しているエディタといえば、

遠隔操作ウイルスに感染したパソコン(PC)から犯行予告・脅迫のメールや書き込みが繰り返されていた事件は、警察当局に逮捕された4人が冤罪だったことが明らかとなり、TBSなどに犯行声明メールを送った「真犯人」の追跡に捜査の重点は移った。犯行声明で言及のあった13件の犯行予告・脅迫は警察当局によってすべてが裏付けられたが、謎は多い。文面からは、年配者の印象を受ける一方で、ウイルス作成の手口には若者特有の傾向が垣間見えるなど、相反する犯人像も浮かぶ。 犯行声明によると、「真犯人」が仕掛けた最初の犯行予告は6月29日。ネット掲示板に、横浜市のホームページに小学校への無差別殺人予告のメールを送りつけるように細工したアドレスを貼り付け、男子大学生(19)に閲覧させた。 大学生は7月1日に神奈川県警に威力業務妨害容疑で逮捕され、2日にテレビなどで報道された。声明では犯行の手口と予告文を具体的に記した後、「
The asynchronous event-driven I/O of Node.js is currently evaluated by many enterprises as a high-performance alternative to the traditional synchronous I/O of multi-threaded enterprise application server. The asynchronous nature means that enterprise developers have to learn newprogramming patterns, and unlearn old ones. They have to undergo serious brain rewiring, possibly with the help of elec
おねえさんを組み合わせ爆発から救うために、経路を二分決定木として表しました。 http://d.hatena.ne.jp/nowokay/20121016#1350351212 前回の二分決定木を見ると、「1:2」「1:3」を通るとした場合、あとはどのような選択をしても単純な経路にならず「F」にたどりつきます。同様に、両方通らない場合も「F」になります。 このように、それ以降はどのような選択をしても結果がひとつに決まるという場合、それ以降のツリーを省略すると、決定木がすっきりします。 また、それ以降の分岐が等しくなる場合をまとめることもできます。そうすると、単純な二分決定木ではとても画面におさまりきらなかった2x2マスの経路も表示できるようになります。 このような図はツリーではなくなっているので、二分決定図、BDD(Binary Decision Diagram)といいます。この図では、「


Verify to continue To continue, please confirm that you're a human (and not a spambot).
An experienced project manager I used to work with claimed that he took the programmers’ time estimates, multiplied by pi and converted to the next time magnitude to get the true number. 1 day converts to 3.14 weeks. He had learned the hard way that programmers are bad at estimating times. To get a more precise conversion, I’vecreated a translation table for programmers’ time estimations, trying


Author Egil Möller http://redhog.org/ / redhog@redhog.org Status This SRFI is currently in final status. Here is an explanation of each status that a SRFI can hold. To provide input on this SRFI, please sendemail to srfi-49@nospamsrfi.schemers.org. To subscribe to the list, follow these instructions. You can access previous messages via the mailing listarchive. Received: 2003-11-23 Draft: 2003-1
同じ所を2度通らない道順の数 Total number of routes that do not pass by the same place twice
(追記:2012-12-15)本記事およびこれに続くその2,その3をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。電子書籍「Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 購入ご検討のほどよろしくお願いしますm(__)m 関連記事:電子書籍「Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版をGumroadか
"とりあえず"で書いた 2010 年 4 月。 これくらいは許容範囲だと思った 翌 5 月。 気になってるんだけど直すスキルが無い 7 月。 何かを諦めた 12 月。 そして時は流れ... 2011 年、暮れ。 誰かが冗談で書き添えた else 節。 //switch-case にしたいが、関数で値を取得しないといけないため、 // やむを得ず if-else を使うことにする。(2010/12/15 課長承認) if(flag == get_flag_2010_04()) { write_data(2010, 4); } else if(flag == get_flag_2010_05()) { write_data(2010, 5); } else if(flag == get_flag_2010_07()) { write_data(2010, 7); } else if(flag
気に入らない所を直して pull request 投げたら、取り入れられたので、8 日前に書いたエントリが過去のものとなっちゃいました。 関数型 以前の JSX では、関数型は function(: int): string のように書く必要がありました。 これはこれでそのまま使えるのですが、新たに (int) -> string という形式にも対応しました。 ちなみに、複数引数はカンマ区切りで (int, boolean) -> string のようになります。 カリー化された関数は、 function(: int): function(: number): string の代わりに (int) -> (number) -> string と書けます。 引数を囲むカッコは、(今のところ) 省略不可能です。 これには 2 つの理由があります。 この機能を追加したとき、JSX のパーサの能力
It’s easy to make lots ofprogramming mistakes inC++—in fact, any program over a few hundredlines is likely to contain bugs. With this book, you’ll learn about many common codingerrors thatC++ programmers produce, along with rules and strategies you can use to avoid them. Author Vladimir Kushnir shows you how to use his SafeC++ library, based in part onprogramming practices developed by the
Ruby 2.0.0 のリリースに向けた活動について、毎週くらいのペースで書きたいなあと思ったので始めます。飽きたらやめます。 ユーザ視点で面白そうな機能や、リリースに向けた進捗について書くつもりです。コミット単位の詳しいニュースは nagachika さんのruby-trunk-changes を見るといいです。Ruby 2.0 についてRuby 1.8 、1.9 に続くRuby の新系統です。 新系統といっても、RubyKaigi 2010 の開発者会議にて、まつもとさんから「100% 互換」のスローガンが発表されていますので、原則として仕様変更は入らない予定です。*1 今のところ 2.0 に入ることが発表されている大きめの新機能は、 Module#prepend キーワード引数 の 2 点です。[ruby-core:39837] それぞれの詳細は、そのうち説明したいと思います
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く