今年も軽く振り返り。 子育て 春に二人目が産まれたのが今年最大のイベントでした。二人目は女の子です。予定日を過ぎてもなかなか産まれて来ず焦りましたが、5日遅れで無事産まれてきました。男女の違いなのか個性なのか分かりませんが、息子が赤ちゃんの…
今年も軽く振り返り。 仕事 昨年後半にスタートアップをレイオフされ、2月からAdobeで働き始めました。 shinichy.hatenablog.com AdobeではiOSのカメラアプリの開発をしていたのですが、夏頃に組織再編でチームが解散してしまいました。1ヶ月半以内に社内で…
Metaが11,000人をレイオフした昨年の11月9日、私の働くスタートアップでもレイオフがあり、レイオフの対象となってしまいました。 昨年3月にも勤め先のスタートアップが倒産してしまい、6月から働き始めたばかりだったので、またかという感じでした。 shinic…
今年も軽く振り返り。 仕事 今年は仕事面は人生で一番大変でした。3月下旬に働いていたスタートアップが倒産してしまい、なんとか別のスタートアップに転職したと思ったらわずか5ヶ月後に会社の業績不振で所属チーム全員レイオフされてしまいました。スター…
7月はアメリカではDisability Pride Month(障害者プライド月間)です。6月のLGBTQ Pride Monthに比べて知名度が低い気がしますね。うちには2歳の息子がいますが、息子は自閉スペクトラム症(ASD)という障害があります。以前は単に自閉症と呼ばれていたようです…
去年サンフランシスコにあるFintechのスタートアップに転職しましたと書きましたが、なんと1年も経たないうちに会社が資金難で潰れてしまいました…。 会社には日本人の方も何人かいて、1ヶ月前に元同僚の方がブログに詳細をまとめて下さっています。会社が…
今年もようやく仕事を納めたので軽く今年を振り返り。 子育て 毎日1歳児の子育てに追われて大変ですが、ようやく歩けるようになったりデイケア(保育園)に行き出したり順調に成長しているので嬉しいです。 少しずつ言葉も喋り始めて可愛さがどんどん増してき…
この記事はKafka Advent Calendar 2021の7日目の記事です。 Kafka Streamsのタスク割り当ては TaskAssignor インターフェースで抽象化されており、具体的な実装は2.6以降は HighAvailabilityTaskAssignor、2.4-2.6までは StickyTaskAssignorというクラスで行…
この記事はKafka Advent Calendar 2021の2日目の記事です。 最近仕事でKafkaコンシューマグループの動作に関わる幾つかのパラメータチューニングをしたので、備忘録として残しておきます。 Kafkaコンシューマーの日本語での説明はKafka コンシューマー — Con…
この記事はJetBrains Advent Calendar 2021の1日目の記事です。 今の会社ではClojureでバックエンドのアプリケーションを開発しており、Integrant というライブラリを使っていわゆるDI(Dependency Injection)をしています。 Integrantの詳細はこちらの記事が…
色々今年の振り返りブログ読んで触発されたので、自分も振り返ってみた。 私生活 子供(第一子)が生まれた。完全に子供中心の生活になった。大変だけど幸福度も上がった。 子育てが忙しいのとCOVIDであまりでかけたりできなかった。高い家賃払ってアメリカに…
Inkdropというマークダウンエディタについての記事がバズっていたので興味を持ちました。 Markdownエディタを作って月15万円稼ぐまでにやったこと — Inkdrop 今はQuiverを使っています。デスクトップアプリの出来はすごくいいんですが、iOSアプリが全然使い…
クラウド上でchainerを高速に動かすためにクラウドサービスのGPUインスタンスを調査してみました。 NVidiaの GPU Cloud ComputingのページにGPUが利用可能なクラウドサービスが列挙されていますが、今回はAzureとAWS、さくらについて調査しました。 Google C…
この記事は Qt Advent Calender 2015 の14日の記事です。 QEventLoopクラスを使って非同期処理を同期的に扱う方法を紹介したいと思います。 QEventLoop はQtのイベントループを扱うクラスです。イベントループについては2日目の記事で分かりやすく解説されて…
util.inheritsでアロー関数を渡すとエラーになるので調査していたところ、アロー関数はコンストラクタとして使えないことが分かった。 原因はアロー関数のprototypeがundefinedになるため。 再現コード 'use strict';var util = require('util');var EventEm…
QLocalSocketとQEventLoopを組み合わせると、非同期なネットワーク呼び出しを同期的に記述できます。(もちろんUIスレッドはブロックしません)。 詳細はここの”Forcing event dispatching”という箇所を参考にして下さい。 http://qt-project.org/wiki/Threads…
昨年10月にアメリカから帰国したんですが、まだ一部ペンディングのトランザクションがあって帰国前にアメリカの口座を閉じれず、帰国後に閉じたんですがすごく時間がかかって大変でした。最初に電話で問い合わせてから小切手を受け取るまでに3ヶ月半かかりま…
npmを現在開発中のエディタに埋め込んで一緒にバイナリを配布したいので、npmが使用しているArtistic License 2.0について調べてみました。 主にPerlで使われているようです。 http://ja.wikipedia.org/wiki/Artistic_License 原文 http://www.perlfoundatio…
環境 Mac OS X 10.8.5 (Mountain Lion) Realforce 86u RealforceはWindows用キーボードなので、デフォルトではWinキーはCommand、AltキーはOptionに割り当てられたり等、Mac用のキーボードとかなりレイアウトが異なります。ここではKarabiner(旧KeyRemap4Mac…
環境 Mac OS X Mountain Lion Qt 5.3 cmake 3.0.1 qmakeからCMakeベースのプロジェクトに移行 まずはCMake, NinjaをHomebrewからインストール brew install cmake ninja qmakeベースのプロジェクトからCMakeベースのプロジェクトに移行するため、下記のよう…
普段Scalaで開発する時にはsbtのインクリメンタルコンパイルを使用するのですが、シングルディスプレイいっぱいにIntelliJを広げているといちいちターミナルを開いて確認しなければならないので、コンパイルが完了したら通知センターに通知を行う方法を考え…
インストール 以下のオプションを付けて色々試したがビルドエラーになってうまくインストールできなかった。 $ brew install mysql51 $ brew install --use-llvm mysql51 $ brew install --use-clang mysql51 以下のようにAppleのgccを使ってコンパイルする…
以下のScala実践プログラミングの限定継続のサンプルをIntelliJで動かす時にハマったのでメモ。 import scala.util.continuations._object Main extends App { val answer = reset { val x = shift {k: (Int => Int) => println("A") println("k(10) = " + k…
MacのiTunesのプレイリストをAndroidに同期したかったので、方法を調査してみました。 現時点で以下の4つの方法を見つけたので、それぞれ比較してみます。 Google Play Music + Play Musicアプリ Google Play MusicはPC上のライブラリを丸ごとGoogleのサーバ…
Scala実践プログラミングに出てきた継続モナド(Continuationモナド)を理解するに手こずったので、備忘録として簡単に説明を残します。該当ページはp.304,305です。 以下は継続モナドの定義です。 class Cont[A, B](m: (A => B) => B) { // for内包表記用のメ…
ここ最近ずっとAndroidの単位変換アプリを開発していましたが、ようやくそこそこの完成度になってきたのでGoogle Playストアに公開しました。 ConvertBox - 単位変換 よくある単位変換ツールですが、検索機能に力を入れており、「華氏86」と検索ボックスに入…
辞書アプリなどのSQLiteに保存されたデータを使うアプリでは、アプリの初回起動時に何らかの方法でデータをDBにインサートする必要があると思います。 件数が少なければ外部ファイルからインサートしてもいいのですが、件数が多くなってくるとこのインサート…
少しはまったのでメモ。 以下のようにsetOnItemSelectedListenerでnullを設定すればいけるかと思いきや、これではnullに設定してもonItemSelectedイベントが呼ばれてしまいます。 spinner.setOnItemSelectedListener(null) spinner.setSelection(0) 以下のよ…
RobotiumでSoloではサポートされていない操作を行う必要がある時、textView.setText(“hoge”)のようなUIに対する変更のコードをRobotiumのテストで実行すると、以下のエラーとなります。 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the…
ListViewでadapterにSimpleCursorAdapterとCursorLoaderを使用している状況では、onLoadFinishedメソッドの中でadapter.swapCursor(cursor)を呼び出してListViewの中身を更新すると思います。 この時swapCursorの後にListViewの選択行を変更するには、以下の…