カテゴリー「プログラミング」の112件の記事

2019.01.26

MZ-700フルJavaScriptエミュレータ v1.0.6 をリリース

昨年からリファクタリングしていたChromeで動くMZ-700のエミュレータを更新した。

Xuybvpsn

UIスレッド側の実装が、HTMLや、UIオブジェクトと密接に関連しすぎていて、もつれた毛糸の玉みたいになっていたので、なんとかほぐした。完全ではないが。

↑このあとちょっとモバイル向けの調整入れて、v1.0.6 になっている。

リポジトリ

Webアプリ

今後の予定は未定です

  • さらにUIオブジェクトの相互依存を分離。
  • まだ動かないMZTがあるので調査分析
  • 選択と集中。
  • 別サーバーでも簡単に動くようにしたい。例えばブックマークレットでも動くとか。
  • MZ-1500エミュレーション機能。ま、ちょっとずつ。PSGとグラフィックかな。
  • 脱jQuery。

というか、いきなりMZ-700の起動画面が表示されても知らない人はどうして良いのかわからないだろうし、きちんとした説明をしたいのだが、どこから手を付けるか思案中。

2019.01.08

戦々恐々GitHub vs BitBucket

GitHubの無料ユーザーでもプライベートリポジトリが使えるようになったようで。早朝いきなり本年最初の英文記事翻訳作業にかかる。

記事でも触れてあるが、BitBucket への影響が気になる。

BitBucketは無料アカウントでプライベートリポジトリを作れるという、GitHubとは逆のアプローチをとっているサービス。

BitBucketのプライベートリポジトリは5人と共有できるので、GitHubの3名よりは多いのだけど、自分に限れば「中途半端なもの置き場」になっていて、公開できるものはGitHubへPushするという使い方になっている。

てなことで、今後BitBucketをどうしようかなというところ。


GitHubとBitBucketは、ユーザー側からすれば上手く住み分けができていたがマイクロソフトがバランスを崩しにかかってきてる感じで怖いというか優しくないな。

GitHub Projectが個人的なタスク管理としてはいまいちモヤっとしていたので、今のところはTrelloが良いなと思っているが、そのうちこれもひっくり返るかもしれないな。

戦々恐々。

2019.01.04

あけましておめでとうございました

Dsc_4536

リファクタリングの年末年始

昨年末は、MZ-700フルJavaScriptエミュレータのリファクタリングにいそしんで・・・

年始もMZ-700フルJavaScriptエミュレータのリファクタリングにいそしんだ。

そして大方の予想を裏切って、いまだにデプロイできていない(泣)

というのも、このWebアプリ版エミュレータではWebWorkerを手軽に使う npm TransWorker を使用しているが、自分で作っておいてその使い方がカオスになってるという始末。手抜き改築増築の繰り返しでこうなってしまったのだが、これをどうにかしなくては、どうにもならないというナニガドーナッテイルノカワカラナイ状態。

スッキリさせれば、ブログやWebページで簡単にMZ-700を動かせるようになるはずで、かねてからのMZ-1500のエミューレーションにも手を付けられるという算段。

ま、もちょっと手を入れるので、気長に。

飲酒計画

新年早々辛気臭くてゴメンナサイだが、今年はちょっと本気でお酒を控えようかと思っている。

リファクタリングが遅々として進まないのも、つい飲んじゃうっていうおっさんの甘さに起因していると本気で思っている。

昨今酒で人生を棒に振る人がたくさんいるし、自分でも「そないに飲まんでもええやろ?」と常々思っているのだが、辞められない。情けない。

五十肩

そして昨年末から肩が痛くて治らないのだが、これの遠因も酒ではないかと・・・。

あごを上げ、首を後ろへ逸らせると、右の首筋から肩甲骨あたりにスジを違えたようなヤな痛み。

元々姿勢が悪く、体が硬いところに加齢で筋肉が硬くなってる。そこへ飲酒による脱水が拍車をかけて、余計にひどくなってるのかも?とか思っているのだ。

ということで

本年もよろしくお願いします。 あ、自転車ももうちょっと乗りたいな。ランニングもね。

2018.11.26

Dedicated WorkerからShared Workerへ

Readme_top

WebWorkerのコンテキストで生成したインスタンスのメソッドをメインスレッド側からあたかもRPCのように非同期で呼び出すためのモジュール transworkerなんだけど、

これまで DedicatedWorker にしか対応していなかったので、SharedWorkerでも使えるようにしようと思った。

まあ、思っただけなんだけど。

この機構って、ブラウザのタブ間で通信するAPIでも使えるし、サーバーとのWebSocketによる通信にも使えるって、何年も前から気付いているんだけど、夜な夜な酒ばっか飲んでないで、ちゃんと実装しなければなとも思った。

まあ、思っただけなんだけど(まだなんにもやってない)。


Linuxシステムプログラミング
Robert Love ロバート ラブ
オライリージャパン
売り上げランキング: 155,773

最近のプログラミングに関する風潮は、言語を覚えることに集中しすぎている感じを受ける。 社会的に必要とされている問題に対して知識や技術をどう使うかということが重要なので、言語の前に社会科必要だろうって思うけど、そういう流れにはならないんだなー。

2018.11.06

nodistで最新npmをインストールできなかった

nodeのバージョンを 10.13.0 に上げた。最新のLTS。

nodist使っているのでGit Bashから、

$ nodist 10.13.0
10.13.0
Installing 10.13.0

Installation successful.

とやってOK。しかし、Power Shell でNodistが動かないのがよくわからない。

そして、npmも6.4.1に上げようとしたが失敗。

$ nodist npm 6.4.1
npm 6.4.1
Cannot read property 'trim' of null.
Sorry.

Node.js超入門[第2版]
Node.js超入門[第2版]
posted with amazlet at 18.11.06
掌田 津耶乃
秀和システム
売り上げランキング: 8,880


これ以降、npmが動かなくなってあせる。

$ npm version
internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Program Files...........

エラーメッセージで調べてみると、nodistはnpmをGitHubのリポジトリででリリースされているバージョンからとってくるらしく、Tags ・ npm/npmを確認すると、最新は6.2.0-next.1というバージョンだった。仕方ないのでこれインストール。

$ nodist npm 6.2.0-next.1
npm 6.2.0-next.1

OKだった。nodistってちょっと引っかかりがあるね。たまにしか使わないし。

関連リンク

513ruzs3ljl

2018.09.01

Pythonで「作って動かすALife」の1章読んで「人工生命」へのワクワク感が半端ないです

どえらい本を買った感!!!
Dsc_3771

先日、自転車関係のこまごましたパーツと一緒に勢いこんで発注した、7月28日発売の「作って動かすALife」(第2刷)が夕方配達されてきました。「大型で非常に分厚い本」と思い込んでいましたが結構お手ごろサイズでポストに投函されておりました。

Pythonによるプログラムが豊富となっているので、慌てて自宅PCにAnacondaをインストールしながら、まえがきと1章をじっくり読んでみたら、

「久々に『凄い本』を買ったなー!!!」と、知識欲的武者震いです。


作って動かすALife ―実装を通した人工生命モデル理論入門
岡 瑞起 池上 高志 ドミニク・チェン 青木 竜太 丸山 典宏
オライリージャパン
売り上げランキング: 1,528


「まえがき」ではこの書籍の目的や位置づけなどが説明されてるので必読ですね。 そして、1章では「人工生命」の歴史や研究実績が詳述されています。 「興味のあるところから読めばよい」とされていたけど、この1章は最初に読んでおいたほうが良いと思いました。

今後どんどん発展するはずのこの分野について、歴史や現在までの研究成果、そして人工生命とはなんであるかという問いに対する考え方が書かれています。この辺、押さえておいたほうがよいはずですよね。

しかし、著者はおそらくすげー賢い人なんだと思います。論理的で簡潔な筆致であるが故、どちらかというとアタマの悪いほうの自分は、じっくり慎重に読んで、やっと理解できた気がしましたよ。

例えば、自分が面食らったのは以下のような文章:

社会的な合目的性にドライブされるエンジニアリングにとっては、無目的性から生まれた生命現象を真に包括的に理解する動機も必要も存在しないのだと言えるでしょう。

このことは、軍事や経済の需要という強い合目的性に後押しされて超高度に発達してきた計算機(コンピュータ)をもってしても、いまだに生命の本質に到達できていないことの理由のひとつなのかもしれません。

前後3回ぐらい読み返して理解しました。 この文章の前に「エンジニアリングは具体的な目的をもって発展してきた」が、 「生命の進化は自然淘汰によるもので目的などなかった」と書かれています。 だから「具体的な目的によって発達してきた現在の形式の計算機が、いまだに生命の本質に到達できていないのは必然なのかもしれない」という論理展開。本質的に違うんじゃないかという。 ということで、この後「そもそも生命は計算によってとらえることができるだろうか?」と問題提起され、 「ALife(人工生命)の領域は、この問題に向き合うものである」とのことなんですよ。

さらに、まえがきと1章だけでも、アラン・チューリングやフォン・ノイマンのお話がガツガツ出てきて、この分野に興味があるけど専門的には学習してこなかった自分にはビンビン来ました。

「人工生命」という興味を引く分野の入門書だし、「流行りのPythonで動かしてみよー」的な軽い気持ちだったのですが、なんだか本気になってきました。

いやいや軽く「やってみよ―」で充分に良いのだけどワクワク感が高まりましたわ。

うん、もの凄い本を買ってしまった。

2018.07.28

予想外の動きに必死のパッチで対応する

台風が東からやって来るとのことで、朝から家にこもってGoogle Drive APIをダラダラ叩いていたのだが、APIのガイドに書いてある通りにやってもうまくいかず、埒が明かないモヤモヤ募る。

なにかこう達成感的なものを感じたくなったときの常とう手段って掃除か料理かあるいは段ボール工作ですよね(?)。 とっておいた段ボールのパネルで、かねてからの懸念事項を解決しよう。

スマホ視聴台2.0。 割にしっかりできました。 Dsc_3304


家族がよろこぶ ダンボール工作
pika
日本ヴォーグ社
売り上げランキング: 4,852


縦置きはあまり需要がないけど、充電しながらでも大丈夫。 Win_20180729_09_17_08_pro

横置き。最近はスマホでテレビ的なものを見る機会が多いので便利。
Win_20180729_09_26_09_pro

後ろからはこんな感じ。
Win_20180729_10_01_11_pro

と、なんとか心の平静を取り戻し、再び Drive APIに対峙して、試行錯誤の末、夕方ごろに問題解決。

一部のドキュメントに間違いがあったというオチだった。

Google Driveへファイルをアップロードするとき、既存のファイルを更新するには「PUT せよ」と書いてあるのに、実は、PATCH じゃないと動かないと。。。 確かに別ドキュメントにはPATCHだと明記されていた。

さらに「新規作成はPOSTせよ」と書いてあるけど、このREST APIではファイル名を指定できない。 結局、先に別APIでリソース情報のみのファイルを作成してから更新するという2段階が必要だった。


日中雨はほとんど降らず。しかし夜9時、ウォークに出ようとしたら突然降り出した。 東からやって来る珍しい台風は予測できない感じがある。 てことで、ほぼ運動なしの土曜日だった。

2018.07.26

「楽しい」は無尽蔵のエネルギー

「やっていて楽しい」ということが全ての原動力になるんだろうなという話。

仕事は楽しいかね?
仕事は楽しいかね?
posted with amazlet at 18.07.26
デイル ドーテン
きこ書房
売り上げランキング: 2,208

今日帰宅すると、自宅に義父が所有していた「ステッパー」という足踏み運動の器具があった。 家内によれば、次男が使いたくなったらしく、急遽実家からお取り寄せ。 次男に聞けば今日は200回やったらしい。運動に目覚めたのかも? 学校では、ほぼ毎朝ランニングをやっていたので、夏休みに入ってカラダを動かしたくなったのかも。

次男の趣味は、スーパーマリオなどのゲームの架空のリメイク版を脳内で作り上げること。 まるでゲームの説明本みたいに楽しそうに説明してくれる。 障害によるものだと思うが、繰り返しが多くて、さらに自分にゲームの知識がないから理解できないことも多いのだけど、やっぱり楽しそうに話す次男を見ていると、こちらも楽しい。

ゲーム画面の画像や、設定やストーリーのテキストも作成しているようで、今日はじめてざっと見せてもらった。 画像はオリジナルの画像をコピーしたり改変したりしているらしい。 そしてテキストはちょっと考えられないぐらいの分量があったみたい。

小学校卒業時には「プログラマーになる」と書いていたけど、今はあまり興味がないようだ。 実際に描いた画像などを脳内で動かしているからプログラミングの必要がないのだろうと思う。

次男の得意技をまねしてマリオフォント的に書いてみたが、、、
Dsc_3303

案の定、ダメ出しもらった。「これは正確にはマリオフォントではない。パソコンで表示して参考にすれば?」だって。


朝夕ちょっと涼しい気がした。気のせいかもしれないけど。 夜7時から8時にかけて、ゲリラ豪雨的な雨雲が北から南へ移動していったが、ギリギリ降らなかったみたい。

2018.07.15

酷暑ラン他

先日からリファクタリングしていたBNFモジュールをようやくPublish。増築改築でカオスになった「だらしのない実装」を解析しながら少しずつまともにしていく残念な作業。さらにユニットテストのカバレッジが低くて独立元のモジュールで動作確認。

水分補給を欠かさず、お昼ご飯をしっかり食べて、午後2時から6キロラン。気温も高いが陽射しに直接体力を奪われる感。汗がひどい。

Dsc_3188

気象庁の統計では、明石の最高気温は30.7℃。もうちょっと高いと感じていたがそんなもんか。 他の場所では38度を超えていたところがあったそうで、風が吹けば余計に暑いってことですね。 水冷方式を取るしかないのか。

夕方からGoogle Drive APIと戯れる。こちらも仕様を調べつつ、思いつくままコードを書いているから、「そこじゃないだろう」な箇所が散見。ホビーとはいえキチンと考えて進めたい。

基礎から学ぶ Vue.js
基礎から学ぶ Vue.js
posted with amazlet at 18.07.16
mio
シーアンドアール研究所 (2018-05-29)
売り上げランキング: 1,469

夜、ツールの英語放送を見ながら筋トレ2セット。石畳の連続で落車多すぎ。痛々しい。

2018.07.08

Pythonで人工生命(ALife)を実装し理論を学べるオライリー本(7月28日発売)

作って動かすALife ―実装を通した人工生命モデル理論入門
岡 瑞起 池上 高志 ドミニク・チェン 青木 竜太 丸山 典宏
オライリージャパン
売り上げランキング: 18,697

その昔(1998年ごろだと思う)、Tierra(ティエラ)っていうコンピュータで動く人工生命に興味を持って調べていたことがあった。

当時、シンプルな幾何学図形で表された人工生命が、進化を繰り返しながら繁栄したり衰退したりという様を観察できるスクリーンセーバーがあって、夜中にぼーっと眺めていたのだけど、そういったソフトウェアの技術的なことを調べていくと自然にティエラに行きついた。

ティエラは、仮想マシンの中でDNAの複製をシミュレートしているようなもの。 この仮想DNAは仮想マシンの命令コードを使って自己複製するように組まれたプログラムで、限られたメモリ空間内に存在する。生命はスレッドであり一度実行すると別のメモリ領域へプログラムを複製し、新たなスレッドを開始する。メモリ内の情報は一定の確率でランダムにビットを反転するようになっている。また複製時のコピーでも一定の確率でミスが発生する。これらは紫外線によるDNAの破壊や突然変異のシミュレーション。 ただし、ビジュアルに観察するのが難しくて、プログラムの入手が困難だったため、自分で動かしてみることはなかったが、その機構には感心した。

※ ちなみに、自分はこれまで20年間「ティアラ」と読んでいたので違和感がある。ティエラはスペイン語で地球という意味だそうだ。


てなことを、7月2528日発売(日付間違えてた)の「作って動かすALife ―実装を通した人工生命モデル理論入門」を知って思い出した。ティエラに触れられているかどうかも知らないが。 Pythonで実装するようだけど、あまり言語に依存していなければいいな。

2018-09-04 追記
当書籍を購入しました。注目度高かったみたいで、発売から約一か月後にやっとお届け。初版の第2刷でした。 ファーストインプレッションはこちらです→Pythonで「作って動かすALife」の1章読んで「人工生命」へのワクワク感が半端ないです

今のところ人工生命は実用的な何かというわけではないと思うが、将来的にはBotやAIと融合していくようにも思う。

なにより当時のティエラへの関心が、現在の知識や能力に、つながっているというのは確かなこと。 きっかけはどこにでも転がっていて、興味を持って関わってみれば、きっと何かの糧になるのだろう。

作って動かすALife ―実装を通した人工生命モデル理論入門
岡 瑞起 池上 高志 ドミニク・チェン 青木 竜太 丸山 典宏
オライリージャパン
売り上げランキング: 17,459

より以前の記事一覧

2019年2月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28    
フォト

Google AdSense

銀の弾丸

無料ブログはココログ

他のアカウント