Linuxでキーボード入力の補助手段としてフットスイッチを活用するには

はじめに

以前片手でのキーボード入力を支援するソフトウェアについてというタイトルで、怪我などで手首などを負傷してしまったときに使える入力方法の一つとしてHalf QWERTY(とそれをソフトウェアとして実装したxhk)を紹介しました。 ある程度はxhkを使うことでなんとかなるのですが、それでも打ちにくいキーというのは存在します。例えばキーを複数組み合わせて押さないといけない場合です。 1

  1. 組み合わせても問題ないキーの割り当てを工夫するのも一つの手ですが、どう割りあてるかが悩ましいです。既定の割り当てと衝突したりするためです。

もっと読む

階層構造データ用のGroongaのスキーマ設計方法

Groongaを開発している須藤です。

もっと読む

Gecko Embedded: 60ESR対応のフィードバック

60ESR対応フィードバックの顛末

クリアコードでは Gecko(Firefox)を組み込み機器向けに移植する取り組みを行っています。

もっと読む

Webアプリや拡張機能(アドオン)で、Web Crypto APIを使ってローカルに保存されるデータを暗号化する

※注記:本文末尾の「公開鍵暗号ではなく共通鍵暗号を使う理由」の説明について、2019年1月30日午前0時から21時までの間の初出時に内容の誤りがありました。また、2019年1月30日午前0時から2月5日20時頃までの間において、本文中での AES-CTR による暗号化処理が、 nonce を適切に指定していないために脆弱な状態となっていました。お詫びして訂正致します。初出時の内容のみをご覧になっていた方は、お手数ですが訂正後の説明を改めてご参照下さい。

もっと読む

Web Crypto API で AES-CBC や AES-GCM の初期ベクトルをより安全に生成する

先日の Web Crypto API の基本的な使い方の解説(改訂済み)においては、説明を簡単にするために AES-GCM の初期ベクトルを乱数に基づいて生成しましたが、これはセキュリティの観点からはあまり好ましくありません。本記事では、Web Crypto API で AES-CBCAES-GCM を用いて暗号化する場合の、より安全な初期ベクトルの生成方法について解説します。

もっと読む

Firefox ESR60でタイトルバーのウィンドウコントロールボタンが機能しなくなる事がある問題の回避方法

Firefox ESR60をWindows 7で使用していると、ウィンドウコントロール(タイトルバーの「最小化」「最大化」「閉じる」のボタン)が動作しなくなる、という現象に見舞われる場合があります。Firefoxの法人サポート業務の中でこの障害についてお問い合わせを頂き、調査した結果、Firefox自体の不具合である事が判明しました。

もっと読む

Firefox 67 以降でPolicy Engineによるポリシー設定でPOSTメソッドの検索エンジンを追加できるようになります

Firefoxのポリシー設定では、以下の要領でロケーションバーやWeb検索バー用の検索エンジンを登録することができます。

もっと読む

公開中のソフトウェアがWindows Defenderでマルウェアとして判定された場合の対応

当社ではIE View WEというアドオンを開発・公開しています。これはFirefox上で閲覧中のページやマッチングパターンに当てはまるURLのページをIEもしくは任意の外部アプリケーションで開くという物で、Firefox法人サポートでの需要を想定して、既存のアドオン「IE View」の仕様を参考にFirefox 57以降で使用できる形(WebExtensionsベース)でスクラッチで開発したという物です。

もっと読む

FirefoxやChromiumのアドオン(拡張機能)で効率よくタブを並べ替えるには

この記事はQiitaとのクロスポストです。

もっと読む

RubyKaigi 2019 - Better CSV processing with Ruby 2.6 #rubykaigi

RubyKaigi 2019の2日目にBetter CSV processing with Ruby 2.6という話をした須藤です。今年もクリアコードはシルバースポンサーとしてRubyKaigiを応援しました。

もっと読む

回帰テストの対象は適切に設定しよう

先日、Bug 1541748 - New tab and restored tab notified via tabs.onCreated can have invalid (too large) index という報告をFirefoxのバグトラッキングシステムに行った結果、提出したパッチがFirefox 68に反映される事になりました。

もっと読む

2019年5月4日前後から発生しているFirefoxのアドオン無効化問題の詳細な解説

「Firefox」でインストール済みアドオンが利用不能になる問題が発生中 - 窓の杜Firefox 66.0.4 リリース、拡張機能全滅問題を修正 | スラド ITなどで既報の通り、2019年5月4日前後から一般向けのリリース版Firefoxでアドオンを一切使用できない状態が発生していました。緊急の修正版としてリリースされたFirefox 66.0.4およびFirefox ESR60.6.2で現象は既に解消されており、また、既にインストール済みのFirefoxに対してもホットフィックスが順次展開されていますが、本記事では今回の問題の技術的な詳細を解説します。

もっと読む

SciPy Japan Conference 2019 - Apache Arrow #scipyjapan

ゴールデンウィークの前のことになりますが、SciPy Japan Conference 2019Apache Arrowの紹介をした須藤です。

もっと読む

「以前のバージョンでは使えていた機能が新バージョンでは使えなくなった」時の原因の調べ方

もっと読む

Thunderbirdアドオン「CardBook(連絡先)」でローカルに保存されるデータの暗号化に対応しました

CardBookと企業利用

皆さんはCardDAVという仕様をご存じでしょうか? CardDAVはWebDAVのプロトコルを使ってLDIF形式のアドレス帳をやり取りするという物で、これを用いると「読み書き両方を行えて、内容が複数PC間で同期される」という種類のリモートアドレス帳を汎用の物として実現することができます。CardDAVサーバーとして振る舞える製品にはownCloudやDAViCalなどがあり、読み取り専用に設定したリモートアドレス帳を複数人で共有するという事もできますので、企業利用では重宝する場面がありそうです。

もっと読む

株式会社アカツキさまでの新人研修の一環としてOSS Gateワークショップを実施しました

結城です。

もっと読む

MXEを使ってUNIX系フリーソフトウェアをGNU/Linux上でWindows向けにクロスビルドする

はじめに

UNIX系のフリーソフトウェアMinGW-w64でビルドすることでWindows上で使えるものも多いですが、Windows上でのMinGW-w64およびMSYS2を使ったビルドは、UNIX系OS上でのセルフビルドと比べて非常に遅いという問題があります。こういった問題はUNIX系OS上でWindows向けにクロスビルドすることで改善することができますが、様々な環境変数やオプションを指定する必要があり、ビルド方法が煩雑になります。また、どちらでビルドするにしても、依存するライブラリについて一つ一つWindows用SDKを用意する必要があり、それらを手動で用意するのも骨が折れます。特に全ての依存ライブラリを自分でビルドしたい場合、ソースコードに手を入れなければならないことも多く、非常に手間がかかります。GNOMEプロジェクトで開発されているJHBuildというビルドシステムを使うことである程度は解決することができますが、Windowsについてはサポートが十分ではなく、素直にビルドが通らないことも多いようです。

もっと読む

Firefox 67以降のユーザープロファイルの仕様の詳細

Firefox 67の新機能の1つに、インストール先ごとにプロファイルが分けられるようになったという物があります。

もっと読む

代表取締役の須藤がApache Arrowの開発でGoogle Open Source Peer Bonusを受賞

Apache Arrowの開発に参加している代表取締役の須藤です。

もっと読む

OSSへのフィードバックはユーザーフォーラムとイシュートラッカーのどちらに書くべきか?

※注:この記事の対象読者は、「OSSを使用していてトラブルに遭遇しているか、改善の提案があり、その情報を開発元に伝えたいが、どこで伝えればよいかわからない」という人です。「どういう体裁で報告すればよいか分からない」「何を報告すればよいか分からない」という人向けの話はまた日を改めて書くつもりです。

もっと読む

OSSへのフィードバックには何をどう書けばいいのか、どのプロジェクトに報告すればいいのか

※注:この記事の対象読者は、「OSSを使用していてトラブルに遭遇しているか、改善の提案があり、その情報を開発元のイシュートラッカーに伝えようとしているが、どんな内容を書けばよいかわからない」という人です。そもそも「どこに報告すればよいかわからない」「イシュートラッカーに書き込んでいいかどうか不安がある」という方は、1つ前の記事をご参照下さい。

もっと読む

GNU/Linux版Firefoxでime-modeを動作させるアドオン

ime-modeとは

CSSにはime-modeというプロパティがあり、これによりinput要素やtext要素でインプットメソッドの入力モードを制御することができます。この仕様は廃止されることが決まっているため積極的に利用すべきものではありませんが、一方で代替となる仕様や実装が無いこともまた事実です。日本の業務システムでは、入力業務効率化の必要性から、今なおこの機能を利用している事例も多いようです。

もっと読む

MariaDBへ不具合をフィードバックするには

はじめに

MySQL/MariaDB用のストレージエンジンのひとつにMroongaがあり、MySQL/MariaDBユーザーに高速な日本語全文検索機能を提供しています。 先日リリースされたMroonga 9.04では、MySQL 8.0向けのパッケージの提供(CentOS 6とCentOS 7)もはじまりました。

もっと読む

Firefoxのトラブルシューティング:Firefox 67以降のバージョンを起動すると意図せず別プロファイルが作られてしまう

2019年8月29日追記:この問題はFirefox 69以降およびFirefox ESR68.1.0以降では修正済みです。本稿はFirefox 67~68.0.x(ESR含む)に特有の現象についての解説となります。

もっと読む

OSSへのフィードバックをしてみたいけど、何をフィードバックしたらいいのか分からない

結城です。

もっと読む

OSSへフィードバックしてみたいけど、英語でどう書けばいいのか分からない

結城です。

もっと読む

Fluentd meetup 2019でWindows EventLogに関するプラグイン回りの発表した話

先日OSS Summitの共催イベントのFluentd meetupでWindows EventLogに関するプラグイン回りの発表をしてきた畑ケです。

もっと読む

Fluent Bitプロジェクトの概要とWindows対応

2019年7月17日に3年ぶりとなるFluentd Meetupが開催されました (Webサイト)。クリアコードからは、筆者(藤本)を含めて2名がスピーカーとして参加しました。

もっと読む

Groongaの回帰テストで既知の差分を吸収するには

はじめに

オープンソースのカラムストア機能付き全文検索エンジンに、Groongaがあります。 Groongaを使うと全文検索機能付き高性能アプリケーションを開発することができます。

もっと読む

Fluent-bit-go-s3とFluent BitのGo Pluginプロキシの話

はじめに

Fluent BitはFluentdファミリーを構成するソフトウェアの一つです。 Fleunt BitのWindows対応はプラグインの対応だけではなく、Go Pluginプロキシについても対応を行っています。

もっと読む

winevt_c gemを開発をした話

はじめに

Windows EventLogをRubyで取得するには元々win32-eventlog gemがありました。 このgemはWindows EventLogへ読み込みと書き込みができるものです。 ただし、文字コードに関してはCP_ACP(Windowsの初期コードページ)を使っていたため、日本語版WindowsではCP932(Windows-31J)の範囲内の文字列しか読み込むことができませんでした。

もっと読む

Fluent BitのGolang製のプラグインのDockerfileを作った話

はじめに

Fluent BitはFluentdファミリーを構成するソフトウェアの一つです。 Fluent BitはGo Pluginプロキシが提供されており、Golangにて共有ライブラリを作成することにより、プラグインとして振る舞わせることのできるインターフェースが提供されています。 この機能については、fluent-bit-go-s3とFluent BitのGo Pluginプロキシの話でも解説しました。

もっと読む

Fluent BitからGrafana Lokiに転送するには

はじめに

Fluent BitはFluentdファミリーを構成するソフトウェアの一つです。 Fluent BitはGo Pluginプロキシが提供されており、Golangにて共有ライブラリを作成することにより、プラグインとして振る舞わせることのできるインターフェースが提供されています。 この機能については、fluent-bit-go-s3とfluent-bitのGo Pluginプロキシの話でも解説しました。 Fluent BitのGolang製のプラグインのDockerfileを作った話にて突然fluent-bit-go-lokiプラグインが登場してしまっていたので、そのプラグインについての解説を書きます。

もっと読む

Firefox ESR60からESR68に移行するには

2019年7月9日に、Firefox ESR (Extended Support Release) の最新バージョンとなるFirefox 68.0esrがリリースされました。

もっと読む

フリーソフトウェアの法人向けサポートの一環で行った開発元へのフィードバックの事例紹介

当社の法人向けサポートサービスでは、企業のお客様がフリーソフトウェアを使われていて遭遇されたトラブルの解決や原因究明、文書化されていない技術情報の調査などを有償にて行っています。「特殊な労働力を提供してお客様の役に立ち、その対価としてお金を頂く」ということで、ビジネスモデルとしてはシンプルです。

もっと読む

GitLab Runnerを使ったサポートコストの低減

GitLabでCI/CDを行う場合は、GitLabに組み込みのGitLab CI/CDを使用できます。 GitLab CI/CDは、GitLab上のコミットを検知して、GitLab Runnerが指定されたジョブを実行するという仕組みで動いています。

もっと読む

Apache Arrowの最新情報(2019年9月版)

Apache ArrowPMC(Project Management Commitee、プロジェクト管理チームみたいな感じ)のメンバーの須藤です。

もっと読む

SentencePiece・fastTextをEPELのパッケージを使って簡単にインストールできるようになります

はじめに

SentencePieceは、言語に依存することなく学習データから文章をトークナイズすることができるものです。 MeCabでは言語に依存した辞書が必要でしたが、SentencePieceは言語非依存なので、辞書が不要になります。 SentencePieceについて詳しくは開発者による記事があるのでそちらを参照されると理解がより深まるでしょう。

もっと読む

EPELでパッケージをリリースできるようにするには

はじめに

SentencePiece・fastTextをEPELのパッケージを使って簡単にインストールできるようになりますでEPELでパッケージをインストールできるようにしたことを紹介しました。 SentencePiece・fastTextを簡単に使えるようにすると嬉しい人向けの記事だったのですが、それを実現するまでにどんなことをやったのかは詳しく説明しませんでした。 今回はEPELでパッケージをリリースできるようにしたいという人向けの記事です。

もっと読む

Apache Arrow Flightの日本語情報を公開

Apache Arrowの最新情報をまとめた須藤です。

もっと読む

redmine.tokyo第17回勉強会:Redmine検索の未来像 #redmineT

Redmineの全文検索プラグインを開発している須藤です。

もっと読む

他のチームの知見を活かす

はじめに

弊社では複数のチームがあり、それぞれのチームで日々案件をこなしています。 今回、あるチームで課題を解決した方法を別のチームでも使える可能性があるのでは?ということで、チーム間の情報共有を行う取り組みを始めました。

もっと読む

PostgreSQL Conference Japan 2019:Amazon RDS + Amazon EC2 + ロジカルレプリケーションを使った低コスト高速全文検索 #pgcon19j

2019年11月15日(金)にPostgreSQL Conference Japan 2019が開催されました。 私は、「Amazon RDS + Amazon EC2 + ロジカルレプリケーションを使った低コスト高速全文検索」という題名で、既存の技術を組み合わせて、なるべく楽に高速、高機能な全文検索ができる仕組みを紹介しました。

もっと読む

「Fluentd」のサポートサービスを開始しました。

クリアコードでは2015年からFluentdの開発コミュニティに参加し、Fluentd本体とプラグインの開発、サポート、各種ドキュメントの整備を行っています。 2016年以降、既存の取引先様に対してFluentdのサポートを提供していましが、この度満を持してサポートサービスの開始を宣言しました。 サービスの概要はこちらです。 先日プレスリリースも出しましたので、併せてご参照ください

もっと読む

2019年、fat gemをやめる

fat gemを簡単に作れるようにするgemであるrake-compilerをメンテナンスしている須藤です。過去にfat gemの作り方をまとめたこともあります。

もっと読む

FirefoxでInternet Explorerのwindow.open()周りの挙動を再現する

日本におけるFirefoxの法人利用の代表的なニーズは「Internet Explorer向けに作られた古いWebベースの社内システムがあるためにIEを捨てられず、社外のWebを見に行くためにFirefoxを使いたい」というものです。しかし、それとは逆のパターンとして、「IE向けに作られたWebベースのシステムをFirefoxで使いたい」という場面もあります。後者の場合にはIEとFirefoxの細かな挙動の違いが問題となることがあり、window.open() でウィンドウを開くときの挙動の違いもその一つです。

もっと読む

Apache Arrow東京ミートアップ2019:Apache Arrow 2019 #ArrowTokyo

必要に応じてイベント企画もがんばる須藤です。

もっと読む

Apache Arrow東京ミートアップ2019 参加レポート

Apache Arrow 1.0.0の正式リリースを間近に控えた先週12月11日に、第二回目となるApache Arrow東京ミートアップが開催されました。 今回の会場は株式会社Speeeの六本木オフィスをご提供いただきました。O'Reilly本が並んだ書棚を背景に、シックな木目の家具で統一された会場で、とても素敵な会場でした。

もっと読む