タグ

ブックマーク / hydrakecat.hatenablog.jp (13)

  • ChromeOS用SKKを公開しました - hydrakecat’s blog

    chrome-skk v0.1.10を公開しました。インストール方法などはREADMEを参照ください。 もともとjmukさんがhttps://github.com/jmuk/chrome-skkとして公開していたレポジトリをフォークさせてもらいました。当はChrome Web Storeに公開したかったのですが、Manifest V3に移行する必要があり、service worker化に関するバグが意外と時間がかかりそうだったので、先にzip形式で公開することにしました。 SKKはもう10年近く愛用しているIMEで、1年前に私用のノートパソコンをPixelbookにしたことがきっかけでChromeOS用のSKKの需要が自分の中で高まりました。幸い、上記のjmukさんのレポジトリを見つけたので、適当に変更して手元で快適に使っていたのですが、せっかくなので公開した次第です。 どれくらいChr

    ChromeOS用SKKを公開しました - hydrakecat’s blog
    peketamin
    peketamin 2022/08/08
  • 浮動小数点数のパーサを書いてみた - hydrakecat’s blog

    先日、こういうツイートを見かけた。で、さいきん浮動小数点数づいているのもあって自分も浮動小数点数の文字列表記をパースして単精度および倍精度浮動小数点数に変換するパーサを書いてみた。 非常に苦労したので書いた もっといいやり方がありそうだし、もっとうまい説明ができるかもしれないけどこれが限界でした・・・ 文字列少数点数表記を IEEE754 倍精度浮動小数点数にエンコードする方法|Sukesan1984 #note https://t.co/2v5f1eMzea— Sukesan1984 (@sukesan1984) October 22, 2020 この記事では、自分が実装したパーサを説明する。説明はいいからコードを見せろ、という人はこちらをどうぞ。 https://github.com/hkurokawa/FloatingPointNumberParser ゴール 今回は浮動小数点数の理

    浮動小数点数のパーサを書いてみた - hydrakecat’s blog
    peketamin
    peketamin 2020/11/01
  • 浮動小数点数の二段階丸め誤差 - hydrakecat’s blog

    さいきん『浮動小数点数小話』という同人誌を読んでFMA (Fused Multiply-Add)の二段階丸め誤差(double rounding error)について色々と知る機会があったのでまとめておく。ついでにFMAに関するOpenJDKのバグっぽい挙動を見つけたのでそれも併せて記しておく。 FMA (Fused Multiply-Add)とは FMAは以下のような演算のことを呼ぶ。 この演算自体は行列の乗算やベクトルの内積の計算でよく現れるものであるが、通常の浮動小数点数の乗算と加算を別々に行うと誤差が出るので一度の演算で正確な値を算出したいときに用いる。たとえばC言語(C99)では fma、fmaf、fmalという3つの関数が導入されているらしい。 FMAの実装における二段階丸め誤差 FMAはターゲットとなるCPUのアーキテクチャがFMA命令をサポートしていればその命令を直接呼び出

    浮動小数点数の二段階丸め誤差 - hydrakecat’s blog
    peketamin
    peketamin 2020/10/21
  • 中年プログラマの競プロ事始 - hydrakecat’s blog

    これはなに 自分がここ2年ほど趣味として競技プログラミングをやった経緯と感想です。いわゆるプログラマの定年と呼ばれる35歳を過ぎてから始めたのですが、思ったよりも楽しめました。自分のようなシニアと呼ばれるプログラマが競プロに興味を持ってくれたらいいなと思って書きました。 競技プログラミング競プロ)とは 競技プログラミング(以後、競プロ)は、プログラミングをして順位を競うコンテストです。コンテストはたいていオンラインで毎週のように開かれており、誰でも参加できます。形式としては、与えられた時間内にいくつかの問題を解くコードを提出して、その正解数と提出までにかかった時間を競うというものです。たいていは、コードの実行時間および使用メモリに制限があり、その制限内で実行できるコードを書く必要があります。またコードが正解かどうかは出題者が用意したテストケースをパスするかどうかで判定されます。 多くのコ

    中年プログラマの競プロ事始 - hydrakecat’s blog
    peketamin
    peketamin 2020/07/27
    "歩いているときや電子レンジを待っているとき、温泉につかっているときに、なにか考えることがほしくなります" ニヤリ
  • 近況報告 - hydrakecat’s blog

    TL;DR 11月中旬にmixiを退職してGoogle転職しました 引き続きAndroidアプリを作っています mixiのみてねチームもとてもいいところなので、興味がある人はぜひ 11月の中旬からGoogleでソフトウェアエンジニアとして働いています。勤務先は引き続き渋谷で、やっていることもAndroidアプリを作っているのでそんなに変わっていません。 よいチームに巡りあうことができ、毎日たのしくやっております。 一方で上司も含めてチームに日語話者がほぼいない状況は初めてで、自分の英語のできなさを噛みしめつつ、がんばっています。 みてねは大企業の新規事業部でしたが、POの笠原さんとさえ話をつければ物事が進むところや個々に大きな裁量が与えられるところなど、スタートアップ然としていて楽しかったです。 メンバーもよい人たちばかりで、互いに敬意を持って働けるよいチームでした。興味がある方はぜひ

    近況報告 - hydrakecat’s blog
    peketamin
    peketamin 2019/12/16
  • 『データ指向アプリケーションデザイン』を読んだ - hydrakecat’s blog

    『データ指向アプリケーションデザイン』を読んだ。たいへんおもしろかった。技術書でこんなにわくわくしながら一気に読んだのは『Androidを支える技術』以来かもしれない。 データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理 作者: Martin Kleppmann,斉藤太郎,玉川竜司出版社/メーカー: オライリージャパン発売日: 2019/07/18メディア: 単行(ソフトカバー)この商品を含むブログを見る 書はソフトウェアシステムの設計について「データ」という観点からまとめたものだ。もちろんデータベースは登場するが、それだけでなくJSONなどのデータ形式、RPC、メッセージキュー、全文検索インデクス、バッチ処理やオンライン処理も等しく「データ」という観点から扱っている。特筆すべき点は、理論だけでなく実際のミドルウェア製品を引き合いに出しつつ具体例を

    『データ指向アプリケーションデザイン』を読んだ - hydrakecat’s blog
    peketamin
    peketamin 2019/09/24
  • レビューしてもらいやすいPRの書き方 - hydrakecat’s blog

    以下は元々Fablic在籍時の2017-10-05に会社の技術ブログinFablicに投稿した記事(http://in.fablic.co.jp/entry/2017/10/05/090000)でした。inFablicが閉鎖されてしまったため、会社の了承を取った上で転載しております。 元記事にリンクを貼っていただいていた方に対しては大変お手数なのですが、こちらにリンクし直していただければ幸いです。 こんにちは。Androidエンジニアの黒川(@hydrakecat)です。 みなさん、Pull Request(PR)は書いているでしょうか? PRを出したあとの1つの悩みに、なかなかレビューしてもらえないというもがあります。 長い間放置されて、ようやくレビューしてもらったときには、既に自分の変更内容を忘れていたり、ベースブランチとのコンフリクトが大量に起きていたり、とレビューが溜まるのは、レビ

    レビューしてもらいやすいPRの書き方 - hydrakecat’s blog
    peketamin
    peketamin 2019/02/08
  • 近況報告 - hydrakecat’s blog

    TL;DR 4末でFablicを退職してフリーランスをやっていました 8/1からmixiに入社し、家族で写真を共有するサービス「みてね」の開発に携わる予定です 業務委託で働いているだけですが、 https://kibe.la を作っている BitJourney はいい会社なので興味がある人はぜひ その他 Too longと書きつつ、ぜんぜん長くなりませんでしたが、そんな感じです。何社か話を聞かせていただき、ありがとうございました。また、向こうから声をかけていただいた企業もいくつかあり、感謝しております。 「みてね」は、試しに1日だけ働かせてもらったところ、チームの感じが良さそう、かつ、大企業だけれど新規事業でスタートアップっぽい雰囲気なところが気に入って入社を決断しました。 BitJourneyは前からフリーランスで働いてみてないかと声をかけていただいており、いい機会だからと働かせてもらい

    近況報告 - hydrakecat’s blog
    peketamin
    peketamin 2018/06/24
    わおわお
  • ソフトウェアエンジニアに必要な英語 - hydrakecat’s blog

    ソフトウェアエンジニア英語の話というのは、しばしば話題になります。 それだけ多くの人が英語について気にしていると思うのですが、「英語やらなきゃ」と言っている人に話を聞くと意外と動機が漠然としている印象があります。 果たして日企業で働くソフトウェアエンジニアにとって英語は必要なのでしょうか?必要だとしたら、どういう英語が必要なのでしょうか? この記事は、そのあたりの疑問を自分なりに整理するために書きました。 いつもの固い記事とは違って、きちんと下調べもしていないし、勢いで書かれた内容となっていますが、ご容赦ください。 なお、この記事はエンジニア英語力 - 怠惰を求めて勤勉に行き着くに触発されて、 Androidアプリのビルド待ち時間に書かれています。エモい記事を書いてくださったしろやまさんと、Androidアプリのビルド時間、それに業務時間中に記事を書くことを快く許してくれた会社に感謝

    ソフトウェアエンジニアに必要な英語 - hydrakecat’s blog
    peketamin
    peketamin 2017/12/15
  • companion object vs. top-level - hydrakecat’s blog

    JavaにはあるけれどKotlinにないものの1つに、クラスメソッドやクラス変数があります。 この記事では、そのクラスメソッドとクラス変数をKotlinではどう定義すべきかという話をします。 より詳細に言えば、メソッドや定数*1をtop-levelで宣言するのとcompanion objectに宣言するのとどちらが良いかという話です。 Java -> Kotlin 自動変換 JavaからKotlinへの自動変換を使ったことのある人は、Javaのクラスメソッドや定数がcompanion objectに変換されることに気付いたでしょう。 こういうJavaクラスがあったとして、自動変換をすると、 package shape; public class Circle { public static final double PI = 3.14159265358979323846; private

    companion object vs. top-level - hydrakecat’s blog
    peketamin
    peketamin 2017/12/02
  • 『Androidを支える技術』を読むべきか? - hydrakecat’s blog

    ソフトウェア・エンジニアを長くやっていると、自然と得意分野というものが出来る。 自分だったら、Androidアプリ開発やJavaの仕様についてはそれなりに知っているつもりだけれど、LinuxカーネルやGPUについて詳しいとはお世辞にも言えない。 得意分野というと聞こえはよいけれど、それは裏を返すと、他のことを学ぶのに及び腰になるということだ。さっきの例でいえば、LinuxカーネルについてもGPUについても知っておくにこしたことはない。それでも、「興味はあるけれど、いますぐに必要じゃないからいいか」という気分になって後回しにしてしまう。 この記事で紹介する『Androidを支える技術』はそういう知っておくにこしたことはないことを解説している。 『Androidを支える技術』とは Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plu

    『Androidを支える技術』を読むべきか? - hydrakecat’s blog
    peketamin
    peketamin 2017/08/28
  • wakatime で振り返る2016年 - hydrakecat’s blog

    2016年がもうすぐ終わってしまう。あと10日足らずだ。 今年は色々とあったので、ブログにまとめておきたいと思ったのだけれど、ダラダラと羅列するのも芸がないし、ここはwakatimeというサービスを使ってコーディング時間と一緒に振り返ってみようと思う。 ちなみに、このwakatimeというサービスは無料で一週間分のコーディング時間*1が記録できるもので、バロメータのようなものとして愛用している。課金すると閲覧可能なログが1週間から1年になるそうだ。 今回は、たまたま1年分のログを一定期間閲覧できるという限定解除ボーナスのようなものを見つけたので、それを使ってみた。この年の瀬に発見したのはタイミングが良かった。 1月〜3月 初っ端から申し訳ないが、どうやら最初はこのサービスをデスクトップのIDEにしか入れていなかったようで、その頃のMacでやっていた仕事時間はログされていない。 今年の1月は

    wakatime で振り返る2016年 - hydrakecat’s blog
    peketamin
    peketamin 2016/12/21
  • RxJava は Subscriber を中心に捉えると理解しやすいんじゃないかという話 - hydrakecat’s blog

    これは RxJava Advent Calendar 2015 の第22日目の記事です。昨日は kazy さんによる RxJava 2.xについて でした。 この記事では、 RxJava を理解するために自分が RxJava をどのように捉えているか、という話をします。なお、自分は ReactiveX や Reactive Functional Programming について詳しいわけではないので、その方面の理解の助けになるものではありません。どちらかといえば、RxJava という特定のライブラリをこう理解しておけば全体の挙動を把握しやすいのではないか、という生活の知恵のようなものになります。RxJS や他のライブラリではまた異なる実装かもしれませんのでご留意ください。 RxJava は非常に強力でよく考えられたものですが、ソースを見て挙動が直感的に分かるとは言えないライブラリです。稿

    RxJava は Subscriber を中心に捉えると理解しやすいんじゃないかという話 - hydrakecat’s blog
    peketamin
    peketamin 2015/12/22
    大作…!
  • 1