タグ

ブックマーク / nowokay.hatenablog.com (13)

  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

    プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
    stealthinu
    stealthinu 2023/08/19
    これ10年前のエントリなのに今書かれたエントリとして読んでもまったく違和感ない。つまり本質的な指摘だったってことだな。
  • CTranslate2でRinnaモデルをコンバートしてCPUや8GB GPUで動くようにする - きしだのHatena

    CTranslate2はTransformerモデルをCPUGPUで効率的に動かすライブラリです。 https://github.com/OpenNMT/CTranslate2 CTranslate2の機能のひとつにモデルの量子化があります。INT8で量子化すると雑に必要メモリが半分に。そしてCPUでも動かしやすくなるので、GPUなくてもLLMが試しやすくなります。 まあ、INT8を使うだけだと、モデルの読み込み時のfrom_pretrainedにload_in_8bit=Trueをつければいいのだけど、これがbitsandbytesというライブラリを使ってて、そしてbitsandbytesがWindowsに対応していない。*1 一応、有志がビルドしたDLLを使えば動くのだけど、めんどい。 https://qiita.com/selllous/items/fbaa2c3d2d504e43

    CTranslate2でRinnaモデルをコンバートしてCPUや8GB GPUで動くようにする - きしだのHatena
    stealthinu
    stealthinu 2023/06/15
    CTranslate2でrinna-3.6Bをコンバートして動かすエントリ。CTranslate2で量子化するとCPUでも動く。
  • エンジニアのためのChatGPTプラグイン3選+1 - きしだのHatena

    前のブログでも紹介したのだけど、ChatGPTプラグインのローリングアウトが始まって使えるようになっていて、結局みんな使うのはこの3つくらいかなーとなったので、まとめておきます。 前のブログはこれ。 Bardも世の中のサービスぜんぶGoogle製と思ってるらしい - きしだのHatena 同時に使えるのは3つまでのようだけど、他のプラグインはアメリカ不動産情報など日からは使いづらかったり、作ってみたレベルだったりなので、結局この3つに落ち着くかなーという気がします。 WebPilot これは手放せなくなります。Web記事を読み込んでくれるプラグイン。 ChatGPTには「この記事を要約して」しか入力しなくなりそう。 このエントリを要約してもらっています。 大規模言語モデルの「脳波」が反応してる部分を壊すとどうなるか試した - きしだのHatena ※ 追記 15:21 ぼくのところには

    エンジニアのためのChatGPTプラグイン3選+1 - きしだのHatena
    stealthinu
    stealthinu 2023/05/15
    WebPilotとAskYourPDFがあれば確かにだいたい事足りそう。
  • シンギュラリティは来ない - きしだのHatena

    ChatGPTが思いがけずいろいろなことを人間より賢くやっているのを見てシンギュラリティという言葉を使う人が増えたように思いますが、逆に、シンギュラリティは来ないのではという思いを強くしています。 まず、この文章でのシンギュラリティがなにかという話ですが、レイ・カーツワイルが「シンギュラリティは近い」の1章の終わりで「さあ、これが特異点だ」といっている特異点、そのシンギュラリティです。 シンギュラリティは近い―人類が生命を超越するとき 作者:レイ・カーツワイルNHK出版Amazon この特異点は単にAIが人間より賢くなるというだけではありません。人間より賢くなるだけだと、便利な道具が増えるだけなので、大騒ぎするほどの変化は起きません。人の仕事を奪うといっても、蒸気機関ほどでもないですね。印刷機などと並んで、人の生活を変える転換点にすぎず、ただひとつの点をあらわすシンギュラリティには なりま

    シンギュラリティは来ない - きしだのHatena
    stealthinu
    stealthinu 2023/04/20
    この「来ない」は単にLLMがこのまま伸びて人より賢くなっただけではということだと思うけど、それでも来ると思うよ。人より賢いやつが大量にコピーできるのでそれが科学全体を推し進めるのだから。
  • エラー処理の方針とString#equalsの書き方 - 2009-02-19 - きしだのはてな

    String#equalsを使った文字列リテラルとの比較の書き方として、str.equals("リテラル")と書くのがいいか、"リテラル".equlas(str)と書くのがいいかという論争がありました。 そこで、この問題について、エラー処理の方針と絡めて考えてみようと思います。 エラー処理の方針として、エラーパッシングとエラーリカバリーという考え方があります。 エラーパッシングは、エラーがあってもそれを無視して処理を行うという考え方です。例えば音楽データの再生時に、データの一部が欠けていたとしてもそこを適当に補完を行って再生を続けるような考え方です。 人間相手の処理では、エラーによって処理が止まるよりも、それなりの対処を行って処理を続けることのほうが求められるので、ユーザーインタフェースやコンテンツのプログラムではエラーパッシングで考えることが多いと思います。 エラーリカバリーは、エラーが

    エラー処理の方針とString#equalsの書き方 - 2009-02-19 - きしだのはてな
    stealthinu
    stealthinu 2015/04/09
    javaで"hoge".equals(foo)みたいな書き方、ずっと気持ち悪いなあと思ってたんだけどfooがnullでもぬるぽにならないための簡潔な書き方なのね。使うようにする。
  • JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena

    夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ

    JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena
    stealthinu
    stealthinu 2014/07/09
    『おっさんの言語』として肯定的に語られてる。
  • コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena

    以前、「勉強会に参加しないと不幸になる話」というのをアップしました。 勉強会に参加しないと不幸になる話 - きしだのはてな このときは、勉強会x勉強会という枠だったので、「勉強会」と表現していますが、実際にはコミュニティに参加しないと不幸になる話でした。 あと、ここでの幸せ・不幸せというのは、エンジニアとして、という話で、エンジニアリング能力があがるとか、エンジニアリングの活動がやりやすいとか、エンジニアリングの活動が評価されるとか、エンジニアリングの話題を共有できる仲間が増えるとか、そういう観点です。 エンジニアとしての幸せ以外にも、人生にはさまざまな観点の幸せがある、ということは最初に補足しておきます。 会社が教育機能をもっていない エンジニアとしての幸せに大切なのは、エンジニアリング能力を上げていくことです。 ただ、2013年の産業経済省IT人材白書の概要に IT企業に対して、201

    コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena
    stealthinu
    stealthinu 2014/02/25
    『会社が教育機能をもっていない』『会社がコミュニティ機能をもっていない』あー。僕の会社は僕しかいないから当然なんだけどwでもわかるな。なんかとても。
  • Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena

    Seasar2の機能追加停止が宣言されてから、すでに6年弱たっています。 Seasar2.4に対する追加要望があれば、もちろん検討します。ただし、大きな変更や追加はもうないでしょう。 Seasar2の今後のロードマップ 2008-01-29 - ひがやすを blog 後継になる予定だったSeasar3も開発が中止されて3年たちました。 Seasar3開発中止 2010-08-06 - ひがやすを blog ここでSeasar2.5を出す方向で動くということでしたが、実現しませんでした。 あのころSeasar2に関わっていた人も、ScalaがメインになったりNode.jsをさわったり、不意ながらPHPをさわったり、さわってみるとPHPもそれほど悪くなかったり、やっぱりPHP気にわなかったりと、いろいろな道を進んでいます。 DIコンテナ自体の機能も時代遅れ感がでてきており、関連プロダクトも

    Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena
    stealthinu
    stealthinu 2013/11/07
    機能を枯れさすのも必要だけど新規開発を行って行かないとコミュニティが消滅し結局プロダクトが消滅するということなのだな…
  • MVCは死んだ。MOVEするときがきた - きしだのHatena

    Conrad Irwinさんの「MVC is dead, it's time to MOVE on.」を訳してみました。 MVC is dead, it's time to MOVE on. この訳文も原文のライセンスを引き継いでCC-BY-3.0ライセンスで利用可能とします。 追記13:58 すでに訳してた方がいました。MVCの時代は終わった。MOVEを使い始めましょう。 - ふじこのプログラミング奮闘記 MVCは死んだ。MOVEするときがきた MVCはすばらしいアイデアだ。モデルを持ち、モデルは内部に少しの状態をもつ。ビューは内部に少しのUIをもつ。そして、コントローラは内部に少しの・・・ 何を持つ? 私は確かにこのことに気づいた最初の人物ではない。しかし示されたようなMVCの問題のために、あなたは最後には過剰なコードをコントローラに詰め込むことになる。なぜなら、他にどこに入れていいか

    MVCは死んだ。MOVEするときがきた - きしだのHatena
    stealthinu
    stealthinu 2012/07/04
    MVCからMOVEへ。結局Cにいろんなものが押し付けられるすぎて分離が難しい場合があるから、Eventを入れてもっと分離できるようにしようぜということ、らしい。
  • Twitterでフォロー返しをしたらDM送って消えるスパム - きしだのHatena

    このところフォローされたアカウントの中に、どっかで拾ったかわいい女の子アイコンで、つまりスパム臭いアイコンで、発言0でフォロー数も200くらい、フォロー返し50くらいという感じのアカウントがいくつかあった。 とくに宣伝ツイートしてるわけでもないし、まあそういうツイートみたらフォローはずせばいいかと思ってたんだけど、なんの意図があるんだろうなと思ってた。 そしたら、これDM送るのが目的のスパムだったみたいだ。 だいたいメールの文面はこんな感じ。 xxxのつぶやきを見てフォローしたxxxです。でもxxxの都合で退会することにしました。せっかくなのでメールください。xxx@ yahoo.co.jp それぞれ文面違うけど、退会するからメールくれという内容。 Twitterでアカウント消すことをあまり「退会」って言わないと思うんで違和感あった。あと、メアドはyahooで、それぞれアドレスは別。 DM

    Twitterでフォロー返しをしたらDM送って消えるスパム - きしだのHatena
    stealthinu
    stealthinu 2011/11/14
    DMを送るためにフォロー返しさせてスパム対策でアカウント消されること見越して、先にDMでメールアドレス書いて送ってtwitterアカウントを削除と。いくつも手順踏ませるスパムだな。
  • Google App Engineでコードを書くと、処理のひとつひとつが課金に見える

    先週末、ちょっとしたプログラムをGAE/Jで動かして実際に使ってもらってみたのですが、そうすると、いままでテストでちょこちょこやってたときには全部のDaily Quotaが0%だったものが、数%の数字を示すようになります。 これを、ちゃんとプロモーションして多くの人に使ってもらおうとすると、課金が発生したり制限にひっかかったりしそうです。 で、たとえばDatastore APIの呼び出し回数がヤバいとして、API呼び出しを減らすためにキャッシュしようとすると、MemcacheのほうのAPI呼び出し回数がヤバくなってきます。 で、じゃあということでデータストアにデータを置くようにすると、保存量の制約で課金がかかってきます。で、それならと、データストアに置くのはシリアライズしたデータにしてデータ量が最低限になるようにすると、今度はその処理をするためのCPU時間で課金がかかってきます。 コードを

    Google App Engineでコードを書くと、処理のひとつひとつが課金に見える
    stealthinu
    stealthinu 2009/12/16
    GAEだと富豪プログラミングができなくなる。ある意味、プログラマの腕が可視化されるというメリットがあるという考え方。
  • どうでもいいことをあたかもなんかすごいことのように語るメソッド - きしだのHatena

    どうでもいいことを、あたかもなんかすごいことのように語る方法を考えてみる。 まず、書きたい「どうでもいいこと」を決めよう。 とりあえずここでは、「明星のインスタント焼きそば作るときにかやくを入れ忘れたのだけど、それってフタの説明が悪いんじゃない?」ということを書くとしよう。ここで、読んでる人に「ようわからんけどなんかすごい」と思わせるために話の主題をずらすのが大切だ。今回は、結論を「UFOのターボ湯切りいいよね」ということにしよう。 文はこのようになる。 先日明星のインスタント焼きそばをべた。 ふたの説明を見ながら手順どおりに作ったのだけど、べる段になって、かやくはあらかじめ入れておかないといけないことに気づいた。これはふたの説明が悪いのではないか。ふたの説明はインスタント焼きそばの味を最終的に決めるものであるから、わかりやすく書くべきである。 UFOのようにかやくをあらかじめめんの

    どうでもいいことをあたかもなんかすごいことのように語るメソッド - きしだのHatena
    stealthinu
    stealthinu 2009/06/03
    もってまわった結論への誘導が良いなあ。
  • StrutsでJava離れが進んだ - きしだのHatena

    やっぱStruts難しいなぁ ちょっと不勉強だとすぐにおぞましいコードになってしまう。 というか、このおぞましいコード、どうにかして欲しい。 でも作った人も一生懸命使いこなそうとしてるんだよねぇ。 むしろ、いろんな機能を使いこなしてしまってるからおぞましいコードになってるような気もするし。 勉強がちょっと足りないだけでコードがあられもないものになってしまうのは、今思えばフレームワークとして失格といえるかもしれない。 EJBの場合は「触らぬ神」で「たたり」が無かった人も多かっただろうけど、Strutsは「常識」になってしまったし。 でもこれってStrutsが悪いというより、Javaの構造的な問題なんだね。 使いやすいフレームワークを作る仕組みがない。メタフレームワークとでもいうか。 その結果が設定ファイル地獄。 で、Javaは難しすぎってことで、.NETに流れちゃったんだろうな、みんな。 J

    StrutsでJava離れが進んだ - きしだのHatena
    stealthinu
    stealthinu 2005/10/18
    Strutsはダメだったという件
  • 1