2017年11月30日木曜日

待っているよ、サイバーマンデー!

ちょっと違うね。。。
普通、サイバーマンデーは感謝祭の次の月曜日です。
いわばブラックフライデーの次の月曜日です。

でも、日本では違います。
今年のアマゾンのサイバーマンデーは、
12月8日(金)から12月11日(月)までです。
アマゾン愛用者として、
ウィッシュリストが長くなっているだけです。
早くセール来ないのかな。。。

2017年11月29日水曜日

パワーバンクをRaspberry Piのバッテリー代わりに使ってみました

Raspberry Pi 3の入力電源が5V 2.5Aです。
普段は電源アダプターを使用しています。
でも、停電したら、強制的にシャットダウンされます。
ノートパソコンと同じように、
バッテリーがあればいいなと思いました。

そこで、携帯用の充電パワーバンクを電源として使えるかどうか、
「実験」してみました。
以前から持っていた5V 1A出力のものを使うと、
電流が足りなくても何とか起動できます。
ちゃんと使えます。しかし、パワーバンクを使いながら、
充電しようとすると、一瞬電源が落ち、再起動されます。
やはり、安いものはUPSにならないのですね。

百均で買った5V 1Aのパワーバンクも使えます。
ただ、同じ弱点です。
安いパワーバンクをバッテリーやUPS代わりに使うためには、
もうちょっと工夫が必要です。

ちなみに、ネットで調べたら、
もうちょっと高いUSB Cを使用するパワーバンクなら、
充電の切り替え時に電源は落ちないという話があります。
ま、そんな高級のものは持っていませんので、
試すようがありません。。。😅

2017年11月28日火曜日

Google BooksのAPIから情報を入手する

先日、書籍管理ツールを作りたいと書きました。
では、書籍情報をどのように自動的に入手できるか、
やってみました。

使ったのがGoogle BooksのAPIです。
使用言語はJavaです。

まず、あるISBN isbn(文字列)を使って情報を入手するには、
URL url = new URL("https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn);

そして、もらった情報(JSON形式)をStringBufferに換えます、
JSONObjectに変換します。
例えば、JSONObjectがjObjの場合、
JSONArray items = jObj.getJSONArray("items");
で情報をJSONArrayに換えたあと、
情報が入っているJSONObjectは
items.getJSONObject(0).getJSONObject("volumeInfo")
です。

そして、各項目のキーは、
書籍名:key("title")

出版社:key("publisher")
出版年:key("publishedDate")
著者(リスト):key("authors")
ジャンル(リスト):key("categories")
です。

日本語の書籍も、書籍名、出版社、著者は日本語のままです。
しかし、ジャンルは英語です。

あとはUIを作るだけだ!
と思いますが、それは私の苦手なところです。。。😅

2017年11月27日月曜日

白鵬40回優勝、でもまずは業界のことを

さすが40回も優勝を果たした白鵬です。
横綱として相撲業界を背負う自覚が半端ではありません。
自分の優勝を祝うより、
まずは業界のことを話します。
度胸が違います。

地位のある人、
しっかり自分の立場を自覚しましょう。
いくら私事でも、私だけでは済みません。

2017年11月25日土曜日

間違いが認めたくない、詐欺師の手口

言葉で人を騙す。
騙された人は、騙されたと認めない。
騙されても、わかっていても、
自分の選択が正しかったと言い張る。

詐欺師の手口です。

だって、人が弱いです。
自分の間違いを認めたくないのです。
間違った選択を正当化するのです。

でも、間違いを認めなければ、
正すことができません。

勇気をもって、間違いを認めましょう。

2017年11月24日金曜日

正しく生きるために

またも企業の改ざん。
そして、相撲業界で事件の報告遅れ。

なぜ隠すでしょう?

正しく生きるための勇気を持ちましょう。

2017年11月21日火曜日

太極拳に補完的な練習を入れよう

「八極に劈掛を参ずれば神鬼もみな恐る」
八極拳に劈掛掌を参入すると更に威力が勝るとのことです。

同じく、太極拳の練習にも他の武術を取り入れることによって、
さらなる威力が発揮できると思います。
私は主に太極拳を練習していますが、
個人的に、孫式太極拳の4代目として、
形意拳と八卦掌を取り入れれば太極拳も補完できるではないかと思います。
太極拳をベースとしながら、
形意拳の五行拳で発勁の練習を補完し、
八卦掌の歩法で足捌きを練習する。

あくまでも補助的な練習です。
ベースの太極拳の練習が最も重要であることに変わりがありません。
基礎がしっかりできてから、
さらなる成長のために補完項目を取り入れましょう。

LinuxとWindowsを両方使う時、Windowsの起動を優先したい場合

WindowsのPCにLinuxをインストールしました。
でも、Grubの起動オプションでは、Linuxが優先的に起動されます。
Windowsをメイン、Linuxをサブにしたい時、どうすればいいのでしょう?

Grubのデフォルトオプションを変えればいいのです。

まず、Linuxを起動し、ターミナルを開きます。
で、
fgrep menuentry /boot/grub/grub.cfg
を実行して、Windowsのオプションを見つけます。
menuentry 'Windows 10 (loader) (on /dev/sda1)' --class windows --class os {
のような行を探します。
この場合、必要な情報は:
'Windows 10 (loader) (on /dev/sda1)'
です。

次に、ターミナルで
gksu gedit /etc/default/grub
を実行し、エディターが起動されたら、
GRUB_DEFAULT=0
を探して、
GRUB_DEFAULT='Windows 10 (loader) (on /dev/sda1)'
に換えます。ファイルを上書き保存します。
そして、ターミナルで
sudo update-grub
を実行します。

これでGrub起動時のデフォルトオプションがWindowsになるはずです。

参考:https://askubuntu.com/questions/52963/how-do-i-set-windows-to-boot-as-the-default-in-the-boot-loader

2017年11月20日月曜日

Windowsブートローダーを復帰

Linuxをインストールした。
そのあと、やはりWindowsがいいと思い、
Linuxをアンインストールする。
でも、まだGrubが起動される。
どうすればいいでしょう?

その時、ハードディスクのマスターブートレコード(MBR)を修正する。
一番簡単な方法は、Windowsで
WindowsKey+Xを押します。
そして、 「コマンドプロンプト(アドミン)」を開きます。
で、bootsect /nt60 <drive name>: /mbrを使います。
例えば、WindowsがCドライブにあるなら、
bootsect /nt60 c: /mbr
で復帰できます。

参考:https://askubuntu.com/questions/429610/uninstall-grub-and-use-windows-bootloader

2017年11月18日土曜日

画像をPDFファイルにまとめる

例えば、いくつかの画像があります。
それを一つのPDFファイルにまとめたい時はどうすればいいでしょう?

LinuxではImageMagickというツールがあります。
apt-getで簡単にインストールできます。
sudo apt-get install imagemagick

そして、画像ファイルを番号順に名付けして、ImageMagickのconvertコマンドを使えば、
一つのPDFファイルにまとめることができます。
例えば、
pg01.jpg、pg02.jpg、pg03.jpg、... pg45.jpg、pg46.jpgというファイルがあれば、
convert pg*.jpg pages.pdf
を実行すると、全部46ページを一つのpages.pdfファイルに保存します。

2017年11月17日金曜日

「最高」の一言

私は機会があれば、本屋へ行きます。
本屋で最近流行の本とは何かを知るのが好きです。

先日も本屋へ寄る機会がありました。
「最強の仕事術」「最強のリーダーシップ」「最強の教科書」「最強の健康法」「最強の学問」など、
「最強」を使う題名が多く目に入りました。
「最強」の本ばかりです。

最強とは何でしょう?
漢字で「最も強い」と書きますが、
何と比べて強いのか、なぜ強いのか、
内容を読まないと分からないものです。
しかし、最も強いものとは、その分野において一番強いとの意味です。
一つしかないのです。
なんでもかんでも「最強」を使えば、
逆に著者が主観的に「最強だ!」と思っているだけではないかと疑問がわき、買うのをやめます。

「最強」はとても便利な言葉ですが、
使いすぎると説得力がなくなります。
もう少し語彙を増やして、もっと適切な言葉で表現してほしいです。
読者にわかりやすい最強の題名を目指しましょう!

私も気を付けます!😅

2017年11月16日木曜日

Javaで音を鳴らす

Javaで警告など音を鳴らすにはどうすればいいでしょうか?
WAVファイルを再生する方法もあります。
でも、BASICならSOUNDPLAYコマンドのように、
単純にある周波数を一定の時間に鳴らすのができないのか?

グーグルで調べたら、
Toolkit.getDefaultToolkit().beep();
というメソッドがあります。
(事前にimport java.awt.Toolkit;
をする必要がありますけど。)
でも、なぜかLinux Mintでなりませんでした。

もう少し探したら、StackOverflowでこのクラスを見つけました。
まさかBASICのSOUNDコマンドと同じ、
ある周波数を一定の時間に鳴らす。
700Hzを0.5秒に鳴らすには、
SoundUtils.tone(700,500);
  
ここで紹介します。ーーーーーーーーーーーーーーーーーーーーー
import javax.sound.sampled.*;

public class SoundUtils {

  public static float SAMPLE_RATE = 8000f;

  public static void tone(int hz, int msecs)
     throws LineUnavailableException
  {
     tone(hz, msecs, 1.0);
  }

  public static void tone(int hz, int msecs, double vol)
      throws LineUnavailableException
  {
    byte[] buf = new byte[1];
    AudioFormat af =
        new AudioFormat(
            SAMPLE_RATE, // sampleRate
            8,           // sampleSizeInBits
            1,           // channels
            true,        // signed
            false);      // bigEndian
    SourceDataLine sdl = AudioSystem.getSourceDataLine(af);
    sdl.open(af);
    sdl.start();
    for (int i=0; i < msecs*8; i++) {
      double angle = i / (SAMPLE_RATE / hz) * 2.0 * Math.PI;
      buf[0] = (byte)(Math.sin(angle) * 127.0 * vol);
      sdl.write(buf,0,1);
    }
    sdl.drain();
    sdl.stop();
    sdl.close();
  }

  public static void main(String[] args) throws Exception {
    SoundUtils.tone(1000,100);
    Thread.sleep(1000);
    SoundUtils.tone(100,1000);
    Thread.sleep(1000);
    SoundUtils.tone(5000,100);
    Thread.sleep(1000);
    SoundUtils.tone(400,500);
    Thread.sleep(1000);
    SoundUtils.tone(400,500, 0.2);

  }
}

2017年11月15日水曜日

書籍管理ツールを作ろう

昨日、所持書籍を管理するツールを紹介しました。
だが、やはり自分で作ることにしました。
次のプログラミングプロジェクトです。
言語はJava、JREがあればWindowsでもMacでもLinuxでも動けるはずです。

今の考えは、Google BooksのAPIを使った、書籍情報を取得する。
パソコンについているカメラでISBNをスキャンする。
データはXML形式で保存する。
基本情報は:
  • 書名
  • 著者名
  • 出版社
  • 出版年
  • ISBN
  • ジャンル
あとはユーザのコメントです。
基本表示は一覧、でもジャンル別、出版年順、著者別の表示もできるようにしたいです。

いつかこのツールを公開できるといいですね。
お楽しみに!😉

2017年11月14日火曜日

ISBNで所持する本を管理

ISBNを読み取り、そして自動的に本のデータをネットから取得し、
持っている本を管理するツールが欲しかったです。
最初、自分で作ろうかなと思いましたが、
ちょっと調べたら、
既にあるとわかりました。

日本語の本なら、
本棚 本と雑誌管理、新刊検索
というアプリがあります。
(「蔵書マネージャー」もありますが、楽天ブックスしか検索できないみたいです。)

洋書なら、
Book Catalogue
がいいみたいです。

まだちゃんと使っていませんが、
携帯のカメラでISBNをスキャンして、
自動的に本をデータベースに登録するみたいです。
便利そうです。
時間がある時、使ってみます!😄

2017年11月13日月曜日

ヒーローの旅

ごく普通の少年。
とても難しい目標。
最初は避けようとしたが、逃げられなかった。
与えられた目標を達成するために旅をでる。
他人に助けられながら少年が成長し、目標を達成する。
そして、得られたパワーを持って故郷に戻る。
最終的に到達した場所は出発した場所と同じです。
でも、少年は別人になりました。

神話や物語の原型と言われる
キャンベルの「ヒーローズ・ジャーニー(英雄の旅)」 という説です。
この流れにそって物語を書けば、失敗はしないでしょう。
あとは中身です。

2017年11月11日土曜日

守れないルールは作らない

以前、組織のルールを作る側に従事したことがあります。
ガバナンスのため、こうするべきだ、ああするべきだと思うことがいっぱいありました。

でも、上司に提案して、言われました。
「現場でこのルールを守るために、なにをしなければなりませんか?彼らはこのルールを守ることが実際にできるのか?」

あ、そうだ。
守れないルールを作っても仕方がありません。
紙上ではしっかりしているとは見えても、
現状は違う。
計画があっても実際に実行できていないと同じです。

実行しない計画を立てても意味がありません。
守れないルールを作っても意味がありません。
実行可能、実現可能なものを作りましょう。

2017年11月10日金曜日

BASICでプログラミング基礎を固める

昔、コンピューターを学ぶ時、BASICがよく使われました。
文法的に英語に似ている、そして簡単です。
もちろん、簡単だから、複雑なことがやりにくいです。
でも、できなくはない。
コンピューターを理解すれば、
簡単な号令を組み合わせして、組み立てればできます。

キーワードは、「コンピューターを理解すれば」です。
だからBASICを通じて、コンピューターの基本を学ぶ。
そして、学んだ基本を使って、コンピューターを操作する。
操作することによって、理解を深める。
深めた理解に基づいて、更に複雑な操作をする。
この繰り返しで、コンピューターについての理解をどんどん深めていく。

今はライブラリで数行のプログラムでも複雑なことができます。
でも、裏でどんなことをしているのか?
そして、バッグが出たら、どう解決するのか?
コンピューターに関する理解が浅いほど、解決するのが難しいです。
やはり最初から、BASICを通じて基礎をしっかり固め、
次にCやJavaやPythonなどで応用するのがベストではないかと思います。
皆さんはどう思うでしょうね?

2017年11月7日火曜日

RaspbianやUbuntuでVICEをインストール

RaspbianやUbuntuでVICE(C64やCommodore PETのエミュレータ)をインストールする方法を紹介します。

まず、必要なソフトをインストールします。
sudo apt-get install build-essential byacc texi2html flex libreadline-dev libxaw7-dev texinfo libxaw7-dev libgtk2.0-cil-dev libgtkglext1-dev libpulse-dev

次に、VICEのソースをダウンロードします。
現在最新版(v3.1)のダウンロード先はこちらです。

ダウンロードしたディレクトリに入り、以下の一連のコマンドでインストールします。
tar -xvzf vice-3.1.tar.gz
cd vice-3.1

./configure --enable-fullscreen --with-pulse --with-x --enable-gnomeui
make
sudo make install

基本的に、/usr/local/binに実行ファイルをインストールします。必要であれば、/usr/local/binをPATHに追加しましょう。
export PATH=$PATH:/usr/local/bin

次に、必要なROMをダウンロードします。
cd ~

mkdir .vice
wget http://www.zimmers.net/anonftp/pub/cbm/crossplatform/emulators/VICE/old/vice-1.5-roms.tar.gz
tar -xvzf vice-1.5-roms.tar.gz
sudo cp -a vice-1.5-roms/data/* .vice/

Commodore 64(略してC64)にエミュレータを実行するには、
x64
です。

その他に、x128(Commodore 128)やxvic(Commodore VIC20)などもあります。

ちなみに、Raspbianは基本的にPulseAudioがありませんので、インストール必要があります。
sudo apt-get install pulseaudio
これをしないと、エミュレータを実行する時、エラーが表示され、音が出ません。

2017年11月6日月曜日

テキサス州乱射事件

またもの乱射事件。

アメリカはイスラム教徒によるテロ事件が起きると、
すぐに移民政策を持ち出します。
でも、何回も乱射事件がおきても、
なかなか銃の規制について語りません。

あと何人が死ねば、アメリカは真剣に銃規制を考え始めるでしょう?
もっと早く銃規制を取り入れれば、何人の命が救われるでしょうか?

自由は無責任と違います。

2017年11月4日土曜日

イバンカ氏来日、WAW20127でハラスメントについて講演

イバンカ氏来日、WAW20127で講演しました。
ハラスメントについて話しました。

WAW2017って、世界で成功した女性たちの集まりです。
なぜイバンカ氏が招かれたでしょうか?
だって、成功したことって、本当にあるの?
ただお金持ちのお家に生まれたから成功したのではないか?
ホワイトハウスに入って10ヶ月、
やりたいこと一個も実現していませんし。
実行力のなさすぎ。
世界の成功した女性たちと一緒にしないでほしい。
彼女たちに失礼すぎる。

そして、ハラスメントについて話す前に、
自分の父親にそれについて話したらどう?

国のトップでもないこのような人に厚い待遇をする首相も、
恥としか思いません。
日本の面子を捨てないでほしい。

2017年11月3日金曜日

プログラムの作り方

プログラミングに入る前に、まずはプログラムの作り方についてちょっと話します。

まず、プログラムってなに?

例えば、パソコンにあることをさせたいです。
いきなり「人のかおを描いて」と言っても、
パソコンは理解できないかもしれません。
プログラムって、ある「問題」を解くために、
一つ一つのやることをパソコンに指示する「手順」です。

「人のかおを描いて」の例にもどると、
まず大きい円を描く。
そして、円の真ん中に小さい円を描く。
次にその小さい円の下に、上向きの三日月を描く。
最後に小さい円の左右に黒い点を一個ずつ描く。

簡単にいえば、プログラムの作り方は、
1.なにをしたいのかを考えます。これは「問題」です。
2.「問題」を小さく分けます。
3.それぞれ小さい「問題」を解くためのコンピューター号令を書きます。

難しい問題であれば、3番のところに、
また1番~3番までを繰り返して、
小さい問題をさらに細かく分けます。

そして、3番のところ、
プログラミング言語で号令を書くことが最終目的です。
しかし、まずは箇条書きで書いても大丈夫です。
すべてのポイントを書いたあと、その手順を一回確かめます。
論理的に流れているなら、
プログラミング言語に換えて、パソコンで確かめます。

プログラムにミスがあれば、
それを直して、またパソコンで確かめます。
直す、確かめる。
この繰り返しでプログラムを完成します。

2017年11月2日木曜日

情報セキュリティの基本

今日は情報セキュリティの基本について、ちょっと紹介します。

個人の情報はとにかく、
企業の大切な情報を如何に守るのか、悩むでしょう。
ここで、いくつかの基本ステップを紹介します。

1.情報セキュリティソフトをインストール
これは基本中の基本です。おすすめは特にありませんが、自分の予算に合わせて購入しましょう。
ちなみに、フリーソフトもあります。

2.データの暗号化
仕事で使うデータを暗号化するソフトがあります。
すべて仕事用のパソコンにそれをインストールし、業務用データを暗号化しましょう。
そして、暗号を解読する権限を一定の人々(部長以上)に指定し、お客様にデータを渡す必要な時だけ解読して渡します。

3.USBなど書き込みメディアの管理
簡単に持ち込みできるようなメディアはなるべく使わないにしましょう。
例えば、職場でUSBの使用を禁止し、必要な時だけ、上司の許可を得て会社のUSBを使うとか。
もちろん、万が一紛失しても、データは簡単に漏れないようにUSBで保存するデータは暗号化しなければなりません。

4.記録を徹底的に
データの解読、USBの使用など、しっかり記録しましょう。
記録が徹底的に行うと、不正をしようとする人も、考え直します。
抑止効果があります。
そして、不幸に調査が必要になっても、調べやすいです。

5.社内ネットワークの権限を細かく誰が何を見れるのか、しっかりした権限管理をしましょう。
「いや、内の社員は企業スパイではないよ」と思っても、
権限をしっかり管理すれば、不注意で情報を漏らすことも抑制できます。

6.インターネットから隔離
業務用パソコンをインターネットにつながらないことがベストです。
つながらなければ外部からの攻撃を受けることもありません。
普段で使用するパソコンを社内ネットワークにつながり、
インターネット用のパソコンを別途に設けます。
そして、相互にデータを移動する時は、徹底的にウィルススキャンを実施してから移動すること。

以上簡単に情報セキュリティの基本を紹介しました。
全てをやっても万全ではありませんが、大抵の事故を防ぐことができます。
とりあえず1~5番は徹底的にしましょう。
6番ができるならベストです。
後は自分の会社の事情に合わせた個別対策を導入しましょう。

2017年11月1日水曜日

自分らしく、ありのまま

一年前、どこへ向かうのか分からないまま会社を辞めて、
自分の進みたい道を歩き始めた。

まだどこへ向かうのかよく分かりません。
いまでも模索しています。
分かるのが、人に役に立ちたいです。
そして、自分らしく、ありのままで生きていきたいです。

とりあえず一歩一歩、前へ進む。

またもアメリカでテロ発生

ニューヨークの街、トラックで人を轢く。
ハロウィーンがそんなに怖い日なのか?

爆弾や乱射より死傷者が少ないですが、
トラックなど自動車で人に突っ込むことも同じテロです。

人を殺さないと、自分の声が聴いてもらえないのか?
私たちは、そんな社会、そんな世界を作ったのか?
もっと人々の声に耳を傾けるようにしましょう。
その一言を聞いて人の命が救えるなら、聞きましょうよ。

より良い世界の実現へ。