foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

柘製作所のハッカホルダーの香りを強くする

環境

  • 柘製作所 ハッカホルダー
  • ウェーブ HG ワンタッチ ピンバイ

問題

  • 柘製作所 ハッカホルダーの香りが弱い。

柘製作所(tsuge) ハッカホルダー ブライヤー #50690

柘製作所(tsuge) ハッカホルダー ブライヤー #50690

解決方法

ピンバイスを使って、ハッカホルダーの穴を広げる。
今回は下記で書いたピンバイスを使用した。
foldrr.hatenablog.com

上記ピンバイスには専用のドリル刃が必要なので、好みに合わせて1.2〜1.6mm程度のドリル刃も用意する。
できれば、1.2mmと1.6mm以上の2つを用意する。
複数種類用意する理由は後述の注意事項を参照。

WAVE HGワンタッチピンバイス 専用ドリル刃 (単品) ドリル径 1.4mm

WAVE HGワンタッチピンバイス 専用ドリル刃 (単品) ドリル径 1.4mm

穴を広げる箇所は下記5箇所。

  • A. 本体内のハッカを格納する透明ケース部分(2箇所)…ドリル刃1.6mm以上を使用
  • B. 本体先端部の通気口(2箇所)…ドリル刃1.2mmを使用

注意

注意が必要なのが上記 B. の通気口。
こちらの穴を広げないと吸いづらさを感じるのだが、広げすぎると本体を傾けた際にハッカがこぼれ出てしまう。
実際に1.6mmのドリル刃を使ったところ、時折ハッカがこぼれうようになった。
B. についてはあまり広げず、必要なら新しい通気口を空ける方がよさそう。

以上。

手軽に使えるピンバイスを手に入れる

問題

  • 手軽に使えるピンバイスが欲しい。

解決方法

  • ワンタッチ ピンバイスという商品はドリル刃の交換がとても簡単。
  • ドリル刃の交換でネジを緩めるために何度も金具を回転させる必要がない。
  • 交換手順は下記。
    • 本体先端部(金色部分)を先端方向へ引っ張る。
    • 引っ張っている間にドリル刃を差し込む。
    • 引っ張っていた本体金色部分を戻す。
  • 上記の仕組みのため、本体とドリル刃とを六角ボルトのような独自の形状で固定する。

HG ワンタッチピンバイス (単品)

HG ワンタッチピンバイス (単品)

Amazon Kindleで固定レイアウトの本なのか分かりやすくする

問題

  • Kindleの本が固定レイアウトなのか分かりにくい。
  • 買った後で固定レイアウトだと気付いて、ハイライトやコピペができずがっかりしたくない。

解決方法

f:id:foldrr:20170103060220p:plain

以上。

オフライン環境でアウトライナーを使うためにATOM FoldingTextをインストールする

環境

問題

解決方法

  • ATOMをインストールする
  • FoldingText をインストールする 
    • ATOMを起動する。
    • ATOMのメニューから ATOM -> Preferences... を開く。
    • Preferences の左側にある "Install" をクリックする。
    • Preferences の右側にある "Search packges" に "foldingtext-for-atom" と入力し、returnキーを押す。
    • Preferences の右側下に該当する一覧が表示されるので、
    • "foldingtext-for-atom" の右側にある "Install" ボタンをクリックする。
    • インストールが終わるまでしばらく待つ。
    • "Install" ボタンが "Settings", "Uninstall", "Disable" ボタンに変わればインストール完了。
    • ATOMを一度終了し、再起動する。
  • FoldingText によるアウトライン操作を開始する
    • ATOMのメニューから File -> "New Outline" をクリックする。 ※File メニューの下の方にあるはず。
    • 新しいタブが開きアウトライン操作ができるようになっている。
  • FoldingText で編集したアウトラインを保存する
    • ATOMのメニューから File -> Save をクリックする。 ※アウトラインは *.ftml というテキストファイルとして保存される。

補足

以上。

AndroidからAWS API Gatewayへ接続する(Cognito認証なし)

AndroidからAWS API Gatewayへ接続する(Cognito認証なし)

環境

問題

解決方法

SDKの準備

AWSコンソールからSDKのZIPファイルをダウンロードする。

  • ダウンロードする時の入力項目
    • 「グループ ID」
      • SDK作成者のパッケージ名。
      • 例: com.example.foo
    • 「Invoker パッケージ」
    • SDK本体のパッケージ名。
    • 例: com.example.foo.apigateway
    • アーティファクト ID」
      • 後でSDKをビルドした時のJARファイル名の一部になる。
      • 後でSDKを利用する際の *ApiClient クラスのクラス名プレフィックスになる。
    • アーティファクトバージョン」
  • ダウンロードしたファイルを展開する。
  • 展開先でビルドする。
    • mvn install
    • mvnでプロキシが越えられない時は?
      • mavenのインストール先/conf/settings.xml を編集する。
  • ビルドしたら下記ファイルが出来ている。
  • ビルドしたモジュールをプロジェクトへ追加する。
    • ビルドしたファイルを Android Studio の モジュール/libs にコピーする。
    • Android Stduioを起動してプロジェクトビューから
    • コピーしたJARファイルを右クリックして、「Add As Library...」をクリックする。

SDKの呼び出し側の実装

コンテキストを取得する。 Instrumentation Test の場合は下記で取得できる。

context = InstrumentationRegistry.getInstrumentation().getTargetContext();

ファクトリを生成する。

factory = new ApiClientFactory();

クライアントを構築する。

AndroidApigatewayExampleClient client = factory.build(AndroidApigatewayExampleClient.class);

APIを呼び出す。

Model model = client.[ハイフンを単語区切りとしたリソース名]+[リクエストメソッド名](引数, ...);
assertThat(model.getId(), is(Integer.valueOf(42)));

参考

http://dev.classmethod.jp/cloud/aws/api-gateway-with-android/

MacからContour Mouse Driverをアンインストールする

環境

  • Mac OS X 10.11.6 El Capitan
  • Contour Mouse Driver for OS X Version 3.1.0

問題

  • Mac から Contour Mouse Driver をアンインストールしたい。

解決方法

まず環境設定を削除するため、システム環境設定を開く。
Contour Mouse Driverのアイコンを右クリックして、
「環境設定パネルを削除」をクリックする。

次にPKGファイルの登録を解除する。
ターミナルを開き、下記を実行する。

$ sudo pkgutil --forget com.contourdesign.mouse.installer

以上。

Android Java で Retrolambda を使ってラムダ式を使う

環境

問題

解決方法

Retrolambda というライブラリを使うと コード上はラムダ式を使いつつ、 ビルド時に Android 上で実行できるバイトコードに変換してくれる。 手順は下記。

Gradle の設定ファイルを変更する。

// PROJECT/build.gradle
  buildscript {
      repositories {
          jcenter()
+         maven {
+             url "https://plugins.gradle.org/m2/"
+         }
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:2.1.2'
+         classpath "gradle.plugin.me.tatarka:gradle-retrolambda:3.2.5"
      }
  }

  allprojects {
      repositories {
          jcenter()
      }
  }

  task clean(type: Delete) {
      delete rootProject.buildDir
  }
// PROJECT/app/build.gradle
  apply plugin: 'com.android.application'
+ apply plugin: 'me.tatarka.retrolambda'

  android {
      compileSdkVersion 24
      buildToolsVersion "24.0.0"

      defaultConfig {
          applicationId "example.com.androidretrolambda"
          minSdkVersion 19
          targetSdkVersion 24
          versionCode 1
          versionName "1.0"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
+     compileOptions {
+         sourceCompatibility JavaVersion.VERSION_1_8
+         targetCompatibility JavaVersion.VERSION_1_8
+     }
  }

  dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      compile 'com.android.support:appcompat-v7:24.0.0'
      testCompile 'junit:junit:4.12'
  }

Gradle の設定ファイルを変更したら Gradle Sync を実行する。 Gradle Sync が終わると下記のようにラムダ式が使えるようになっている。

// MainActivity.java
  public class MainActivity extends AppCompatActivity {
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);

          Runnable r = () -> {
              Toast.makeText(this, "run", Toast.LENGTH_SHORT).show();
          };
      }
  }

上記のようにラムダ式で記述できるのでコールバックが簡潔になる。
また this も外側の MainActivity.this が参照できる。

参考

以上。