2019年2月19日火曜日

Aaresia

  Aaresiaは、ウェブブラウザ上で動き、あらゆるデジタル情報をまとめて管理できるソフトです。
  ミニマリズムな設計によりシンプル、軽量、高速を追求、ソフト側で一切余計な処理を行わないため、自分の情報を100%自分で制御することができます。
  また、高性能を追求するため、Rustで書かれています。
  随時、実用を通しての改良や機能追加、デバッグを行っております。


[Download] Adb & aaresia v0.7.4 (from Google ドライブ)
[動作環境] Windows 10(64bit)
[推奨ブラウザ] Google Chrome系  Firefox系  Opera
[ローカル環境非対応ブラウザ] Microsoft Edge  IE  Safari  Tor Browser  Waterfox

[Tutorial] Download方法~最低限の基礎知識まで
[Document] マスターするための情報全て
[History/License] 更新履歴とライセンス情報

日本のインターネットに危機 - DL違法化に専門家ら84名(+1団体)が緊急声明

  違法にアップロードされたあらゆるコンテンツについて、著作権侵害されていることを知りながらダウンロードすることを全面的に違法とする方針を、文化審議会著作権分科会が決めたことに対し、専門家ら84名(+1団体)が緊急声明を出した。

「ダウンロード違法化の対象範囲の見直し」に関する緊急声明


  デジタルであることの利便性は、あらゆる情報を劣化なく複製、保存できることにあります。これはコンピューターを扱う上で、かなり大きなウェイトを占めるメリットであり、これらを享受する権利を必要以上に制限する行為は、人々から自由を奪うことにもなります。特に現在は、情報のほとんどをデジタルで処理している時代であり、コンピューターがもたらしたそのメリットを多くの人が享受していますが、その権利を奪う法律は人権的にも認められないと考えます。

  もちろん、「著作権侵害されていることを知りながら」という条件がある以上、「知らなかったで済まされる」形になっているので、全く実効性に乏しい法律とも言えます。インターネットによりフリー情報が溢れている現在において、インターネットで情報を無料で見れるよう公開している時点で、その「著作物は有料である」といった感覚は持ちづらいものですし、端末で見る時点でそのデータは手元にある(ダウンロードが完了した)状態なので、極論、これを禁止しては「インターネットは使うな」という感じになりかねません。

  Aaresiaでは様々なデジタル情報をローカルで管理する都合上、もちろんダウンロードという行為は行いますが、その上で情報の断片を、価値ある体型に組み替えていくことに、Aaresiaを使う意味があると考えています。それがデジタル情報を活用していくこと、そこから新たな価値を生み出すことにつながるのです。

  現在のインターネットは情報のゴミの山です。量が多い分、コピペされたような情報、正しいかどうかに関わらず、拡散された情報に溢れ、誰しもその中から価値ある情報をフィルタリングしていくことには苦労するものですし、その結果得られたデジタル情報は、手元にまとめておく必要も生じます。
  Googleは使い勝手が悪くなったという意見を聞いたことがあります。日々生まれる情報が非常に多く、Google検索エンジン最適化の競争の結果、次々と新たな情報が検索のトップに出てくるような時代、せっかく見つけた情報が、永遠にGoogle検索で見つけ出せる位置にとどまってくれている保証は全くないどころか、そのページが削除されない保証さえないのです。
  ニュース情報の多くは時間と共にどんどんとその価値が下がるものですが、そうでない情報もあります。Aares.dbでは、辞書/百科事典/教科書などに載るような、長期的に価値を維持する傾向のある情報を中心に、リンクや青空文庫ビューアといった形で記事をアーカイブし、テーマ(項目)ごとにまとめています。検索一つで確実に自分が(一定レベルの)価値があると判断した情報にアクセスできるため、情報を扱う仕事をされている方などには非常に有効です。この度の法律は、それさえも禁止するつもりなのでしょうか。

  大げさな話になりますが、あまりの悪政でITやインターネットで仕事(や生活)がやりづらくなった場合、優秀な人から海外に移っていくケースさえ考えられます。タックスヘイブンではありませんが、グローバルな視点で生きている人たちには国境はなく、インターネットなどで便利になった分、余計住む場所の選択肢は広がっているのです。これ以上日本の法律が日本の足を引っ張らないよう、しっかり考えて対処して欲しいものと思います。

Aaresia と Aaresia Server …… これからの新デジタル時代をどう生き抜くか

  当サイトはAaresiaの公開を主な役割とし、同時に様々な情報を発信していくことを目的としています。各記事は1つのラベルを持ち、右のラベル一覧から全ての記事にアクセスが可能です。また、Aaresiaに直接関連する記事はラベルを持たず、Aaresiaからリンクでたどる形になります。
  Aaresia製作者は、Aares.dbA_Private.dbという最小限の.dbファイルのみを使い、全ての情報を管理しています。(法的に)身内以外への一般公開に適さない情報も含まれているため、ここでご紹介できないのが悩みのタネで、以前は複数の.dbファイルで、一般公開できるものを完全分離していたのですが、そうすること自体に実用的なメリットはない(デメリットしかない)ため、統合するに至りました(何らかの手段で公開できないか現在も検討はしております)。

  TutorialDocumentは、少々情報詰め込み(圧迫)感があるかも知れませんが、必要情報はしっかり記載しているはずですので、丁寧に(操作しながら)一読されることで、すぐにソフトの扱いには慣れていただけると信じております。「htmlくらいなら書ける」という方ならもちろん、「テキストエディタなら使える」というレベルの方なら、無理なくご利用いただける難易度であると考えております。全てのデジタルを最速のローカル環境で一括管理できる便利さを、ぜひ体感していただければと思います。

  Aaresiaはどこまでもミニマリズムに則った実用重視のソフトのため、マルウェアやウィルス、またはそれに類する、ユーザーにとってメリットのない処理は一切行っていません。製作者が使っているバージョンをそのまま当サイトで公開している形になります(ただ、htmlファイル経由で実行できるいくつかの非公開機能は存在します)。

  .dbファイルには極めてシンプルに項目名更新時刻内容文のみが記録され、項目の作成削除更新共にユーザーの指示以外の処理をすることはありません(.dbファイルを自動で作る機能は、ユーザーがそのような操作をすることでのみ発動します)。同フォルダに存在する指定した.dbファイルのみ操作され、他の一切のファイルに手を出すことはありません。例外としてユーザーが指示したフォルダ/ファイルの読み込みには対応しており、これにより全ての情報を一括管理することが可能となっています。

  イメージとしてはWikipediaのようなサイトを簡単にローカル環境に作成でき、動画(メディア)再生、青空文庫テキスト表示、画像表示、ソフト起動……とあらゆるコンピュータ内のリソースへのアクセスを可能とします。ローカルだけに速度もインターネットより速く、情報漏洩やクラウド上で生じるあらゆるリスクの心配もありません。インターネットの自由が制限されつつある現在、ローカル環境を徹底強化し、コンピュータによって得られるデジタルの恩恵を最大限享受するためにも、自ら完全に制御できる情報群を確保しておくことは重要であると考えます。また、本当に(時間と共に価値の薄れることのない)重要な情報群をAaresiaに、ニュースやサーバーでのサービスなど、一時的な情報はインターネットにとデジタル情報を使い分けることで、ローカル環境を最大限活用できる環境を整えていきたいと考えています。せめて身内(サークル)とAares.dbを共有できる方法はないか検討中ですが、新たなインターネット/デジタル情報との関わりを追求することで、近未来、よりよいコンピュータ環境を整える……これを当面のAaresiaの目標として掲げたいと考えております。

2019年2月18日月曜日

AClock - Aaresia連動の時計ソフト



  アラーム/タイマー/ストップウォッチ機能付きの時計ソフトです。
  Aaresiaで呼び出す際の記述例:<f,290,260,1:0000/AClock.html>

--上2段--
  時刻表示/アラーム:時/分を入力し▶でセット、Xで取り消し、■はアラーム音を止めます。

--下2段--
  キッチンタイマー:下から時間を追加していき開始でスタート、停止で一時停止、その右のボタンでセットした時間で再スタートできます。初期化で0に戻します。
  ストップウォッチ:開始の右にある [-] ボタンを押すと [+] に代わり、時間が逆に追加されていきます。開始と停止はできますが、時刻がただただ追加されていき、アラームは鳴りません。

--アラーム音--
  【効果音】飛行機離陸前チャイム「ポーン」が驚かせる感が抑えられているため、おすすめです。

--公開コード--
以下をコピペしてhtmlファイルとして保存します。アラーム音は同フォルダにAClock.webmとして保存します。

<!DOCTYPE html><meta charset='UTF-8'><style>*{border-radius:5px;font-family:Cica;background:#f9f9f9;color:#18185d}#h,#m{width:30px}#v{display:none}#nw,#tm{font-size:32px;color:#167ac6}button{height:30px;font-size:16px}button:hover{color:#ea0003}</style><body><b id=nw></b><hr>時<input id=h> 分<input id=m> <button id=b>▶</button><button id=d>✕</button> <button onclick=ST()>■</button> <b id=s></b><hr><b id=tm></b> <button id=b1>開始</button> <button id=b2></button> <button id=b3>-</button><hr><button id=m0>初期化</button><button id=m1>1時間</button><br><button id=m2>30分</button><button id=m3>10分</button><button id=m4>5分</button><button id=m5>3分</button><button id=m6>1分</button><br><button id=m7>30秒</button><button id=m8>10秒</button><button id=m9>1秒</button><video id=v src='AClock.webm' loop></video></body><script>
I('v').volume=0.3; // 音量
tr=0;tr2=0;TM(tr);sw=0;tn=1;
w=["日","月","火","水","木","金","土"],h=-1,m=-1; // 曜日Set
setInterval(function(){let t=new Date();document.title=I('nw').innerHTML=('0'+t.getHours()).slice(-2)+':'+('0'+t.getMinutes()).slice(-2)+'['+('0'+t.getSeconds()).slice(-2)+'] '+(t.getMonth()+1)+'/'+(t.getDate())+w[t.getDay()];if(t.getHours()==h&&t.getMinutes()==m){A();D()}if(sw){if(tr2==0)tr2=tr;tr2-=tn;if(tr2<1){tr2=0;A();sw=0;I('b1').innerHTML='開始'}TM(tr2,1)}},1000); // 毎秒Titleに現在時刻
I('b').onclick=function(){h=I('h').value;m=I('m').value;I('s').innerHTML=('0'+h).slice(-2)+':'+('0'+m).slice(-2)}; // 時刻Set
I('m0').onclick=function(){tr=0;tr2=0;ST();TM(tr)} // タイマーSet
I('m1').onclick=function(){tr+=3600;tr2=tr;TM(tr)}
I('m2').onclick=function(){tr+=1800;tr2=tr;TM(tr)}
I('m3').onclick=function(){tr+=600;tr2=tr;TM(tr)}
I('m4').onclick=function(){tr+=300;tr2=tr;TM(tr)}
I('m5').onclick=function(){tr+=180;tr2=tr;TM(tr)}
I('m6').onclick=function(){tr+=60;tr2=tr;TM(tr)}
I('m7').onclick=function(){tr+=30;tr2=tr;TM(tr)}
I('m8').onclick=function(){tr+=10;tr2=tr;TM(tr)}
I('m9').onclick=function(){tr+=1;tr2=tr;TM(tr)}
I('b1').onclick=function(){sw=-(sw-1);ST();I('b1').innerHTML=sw==1?'停止':'開始'}
I('b2').onclick=function(){tr2=tr;TM(tr)}
I('b3').onclick=function(){I('b3').innerHTML=tn==1?'+':'-';tn=-tn} // Timer切り替え
function A(){I('v').play()} // 音再生
I('d').onclick=D;function D(){h=-1,m=-1;I('s').innerHTML=''} // 時刻Dell
function TM(tr,a){let s=tr%60,m=(tr-s)/60;I('tm').innerHTML=m+':'+('0'+s).slice(-2);if(!a){I('b2').innerHTML=m+':'+('0'+s).slice(-2);ST()}} // Timer表示
function ST(){I('v').pause();I('v').currentTime=0} // 音停止
function I(i){return document.getElementById(i)}</script>

KeyCodeを取得 - Aaresia連動ソフト

  軽い需要がありましたので、JavaScriptでKeyCodeを取得する簡単なhtmlファイルを作成しました。Codeは以下になります。

<!DOCTYPE html><meta charset='UTF-8'><body><style>body{color:#18185d;background:#f9f9f9;font-family:Cica,arial,sans-serif;font-size:14px}</style><script>document.title='KeyCode';document.onkeydown=function(e){document.body.innerHTML=e.keyCode;return false}</script></body>

  コピペしてhtmlファイルとして保存します。
  Aaresiaからリンクを張る場合は任意の項目の内容文に下の一行をコピペします(一例)。

<f,10,10,1:0000/001.html>

  もちろん同様の機能や情報をインターネットから入手もできますが、Aaresiaではローカル環境でよりシンプルにスピーディーに行えるため、他にも必要な機能が出てきた場合、JavaScriptで自分で実装し、上記のように連動させておくと便利な環境を整えていくことができます。