サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
夏の料理
fukuno.jig.jp
反響あったパスワード付きZIPファイルの話、GPUを使った高速化、やはりありました!(Thanks! @JG1WWKさん) 「パスワード付き ZIP ファイルを hashcat + JtR + GPU で総当たりしてみる - CUBE SUGAR CONTAINER」 300万円するGPU、NVIDIA Tesla V100 を使うと、なんと秒間280億探索! Go言語で作成しMacのCPUで動かした速度の16万倍のスピード! 一般用 RadeonⅦ や GTX1080TiFHC- でもこの半分程度の性能がでることにも驚きます。 ここで使われている hashcat というツールは、MacのGPUでも動きます。 PKZIP2が現行バージョンでは動きませんでしたが、同じアルゴリズムと思われるSHA2-256でのベンチマーク結果は・・・ hashcat -b ==================
強いパスワードを作成するアプリを作りましたが、実際現代のパソコンでパスワードを突破するのにどの程度の時間がかかるか検証してみました。 手頃で高速でマルチコアに強そうという理由でGo言語を使ってみた結果、1秒間に18万パスワードをトライできる性能となりました。数字7桁のパスワードなら1分、8桁でも遅くとも10分で突破できます。 パスワードトライ中、全CPUフルに使い切ってます! goルーチンを使って、1,2,3,4,5・・・と増やしてみたところ、Core i5の2コア4ハイパースレッディングでは、3が最も速いという結果となりました。ただ、最速でも1スレッドの2倍弱にしかなりませんでした。 そもそも、今回のプログラムは無駄が多いので、パスワードトライに特化してメモリの動的確保を0にすれば、更に10倍くらい速くもできるはず。 GPUをうまく使えば、飛躍的な高速化ができるかも? アルファベット小文
Ruby on Jam を実現した、mrubyVMの軽量実装「mruby-l1vm」 その軽さを生かして、WebAssembly化。web上クライアントサイド記述言語としての可能性を探ります。 「mruby on web」 アプリを開き、mruby 2.0 以降でコンパイルした、中間コード mrb ファイルをドロップ。 VMがバイトコードを実行し、最終値を表示します。 サンプルプログラムとお試しバイナリ sum.mrb a = 100 sum = 0 while a>0 sum += a a -= 1 end sum 必要なメソッドなどは、emb_method内に実装すればOK! DOM操作などをつければ、クライアントサイドのプログラムをRubyでサクサク書いちゃうことも可能ですね! WebAssmeblyのバイナリである、wasmファイル、4KBを超える場合 Web Workers を使
ELEKITのタチコマ感がかわいい、手頃な新ロボット「フォロ [ MR-9107 ]」は、コンパクトな360度転回&六足歩行機構と、改造のしやすさがステキ! 頭を一旦外して、IchigoJamとモータードライバ経由でつないで、動かしてみました。センサーつけたり、喋らせたり、ネットにつないだりしたいですね。 FOLO、Amazonで約4000円とお手頃価格 前後に歩く心臓部。歯車セット用の治具を使ってネジ止め。グリスを塗りながら作ると、静かでなめらかな動きになるはず!(塗らずに組み立てたので一度オーバーホールする予定) ケーブルを挟んでしまわないように、きれいに収めましょう。電池の格納場所は頭の中心。美しい設計を楽しみながらの楽しい組み立て。 組み立ては簡単、1時間でFOLO完成! Nitendo Laboで組み立てレッスンした子供へのステップアップにもちょうどいい! LEDを使った光る目の
IchigoJamでつくるオリジナルキャラクター、たくさん作るとプログラムが溢れてしまいます。 (じぶんだけのキャラをつくる / はじめてのプログラミングその19) そんなときに便利な圧縮技術。168byte、21コのキャラクターがわずかこの2行! * 圧縮にカタカナを使ったので打ち込みはちょっと大変(-はハイフン、カタカナの長音記号は使いません) メモリに書き込んであるデータを、効率よくプログラム形式に変換するプログラムのつくりかた。 IchigoJamのキャラクターを眺めると、アルファベットなどとカタカナだけで128文字分はありそうです。 128コのキャラクターは7bit分データを表せます。 8bit(=1byte)を表現するのに足りない1bit分を7つ集めて1つの文字とすればちょうどいい。 0-82の83文字を「,(44)」から「~(126)」、83-127を「ア(177)」から「ン
テトリス風、マインスイーパー風と、IchigoJamの1プログラムの容量制限、驚きの1KBプログラムが次々と登場する中、なんとパックマン風ゲーム「Ichigo Pac」が登場。 作者は、VLED勝手表彰でjig.jp賞をもらっていただいた、その筋屋さん! 自作の #IchigoJam のBASICで作ったパックマン、実機で動かしてみました。 実機だと、けっこうスリルがありますよ。 ソースプログラムはこちら。実機に入れてみよう。 (まだバグがあるかも)https://t.co/sdPmIkuRx7 pic.twitter.com/IrZorzvieZ — ダイヤ編成支援システム その筋屋【公式】 (@Sujiya_System) March 20, 2018 敵キャラ、モンスターは4体が追いかけてくる!イチゴを取ったら逆転、連続確保で高得点! すごいのはステージ生成。わずかこの1行!(RUN
昨年は審査員参加したRESASアプリコンテスト、今年は発表会参加&基調講演。 「第2回 RESASアプリコンテスト | 地方創生に役立つアプリケーションを募集します」 ノミネート&受賞した皆さんおめでとうございます! 日本の各地方にある宝 x 好きなこと x 手頃な技術 の組み合わせは無限大! 開会メッセージと共に紹介された、前回の最優秀賞「ひなたGIS」の紹介。昨年審査員一同度肝を抜かれた、宮崎県庁の職員、落合さんによるプロ顔負けの作品。 公開され、意欲的にバージョンナップが続いています! 「HINATA GIS - 地理情報システム ひなたGIS」 第2回 RESASアプリコンテスト 最終審査会 10作品ショートレビュー ankaa - プレジャーボート保有数日本一を誇る広島、年間たった14日間しか稼働しないのはもったいない! 漁獲高の減少、当事者減少によって減少する漁業とレジャーと組
小学生の頃、MSXの投稿されてすごいゲームが使っていたZ80マシン語に憧れ、挑戦したハンドアセンブル。 16進数で、#CD = サブルーチンのCALL、#C9 は、RET(サブルーチンから戻る)、#00 はNOP(何もせずスキップ)くらいは、ずっと覚えているまま。 国産ルネサスの8bit/16bit CPU、RL78用IchigoJamの移植も進む中、Z80 to RL78 converterを考えてみる。 「RL78 ファミリ ユーザーズマニュアル ソフトウェア編」を見てみると、懐かしいレジスタ群! A, B, C, D, E, H, Lという8bitレジスタ構成はZ80とほぼいっしょ。Xレジスタという、AXと合わせて16bitにできるレジスタや、1Mbyteまでのメモリ空間を扱うための、ES、CSレジスタを使うあたりに成長したZ80の姿を見た気がして感動できる。 RL78は16bit
START: 10 45 45 10 1:00 10 オープニング セッション1 セッション2 休憩 セッション3 エンディング
コンピューターの気持ちに近づけるマシン語。 IchigoJamだけで始めるArmマシン語入門に続き、 ブラウザだけで始めるWebAssemblyマシン語入門その1です。 コンピューターは高速に計算する機械(=マシン)です。 メモリ(=記憶装置)に2つの数があったら足し算する電子回路があるとします。 1と1をメモリに書いたら瞬時に2が得られます。 (参考「なぜコンピューターは計算が速いのか? 電気回路で計算ができる謎を解く」) 足し算だけだと使いみちが限られるので、引き算・掛け算や、計算順序を変える機能などを追加します。 機能を区別する方法は何でもいいのですが、計算が得意なコンピューターのために、それぞれの機能に数を割り当ててあげると効率的です。 やってほしい計算を表す数をずらずらと並べたもの、これがマシン語プログラムとなります。 IchigoJamで使っているのはArmという会社が考えたコ
お待たせしました、Raspberry Piで動くIchigoJam、IchigoJam RPiのベータ版がIchigoJam-FANからダウンロードできるようになりました! 超簡単エルチカがラズパイでも実現です! * 書籍は、高専プロコンで出会った高知高専の今井一雅さん著「Raspberry Pi ZeroによるIoT入門- Zero W 対応」 LED1 OK LED0 OK わずか8MBのファイル群を、microSDカードにファイルをいれて、ラズパイにセット、電源をいれれば数秒で起動、LED1、エンターでラズパイのLEDが光ります!(まるで、IchigoJam!) 10 LED1:WAIT60 20 LED0:WAIT60 30 GOTO10 RUN Break in 10 SAVE0 Saved 42byte OK IchigoJamのボタンを押しながら電源ONの代わりに、キーボード
IchigoJam BASIC リファレンス (英語版) 【IchigoJamプログラミング、ネット教材】 はじめてのプログラミング(動画、動画付き) はじめのいっぽ&ミニゲームズ(動画) IchigoJamプリント IchigoJamプログラミング入門 ダンブンゲームズ by PCN 【はんだづけから楽しむ、IchigoJamハーフキット】
重さ0g、150円の世界最軽量、最安値のパソコン「IchigoJam Zero」と「IchigoJam Things」をリリース! I released the world's lightest 0g/150yen PC "IchigoJam Zero" and "IchigoJam Things"! Finger Size! 指の上サイズ! (photo human ver.) Weight: 0g (IchigoJam Zero) / 9g (Raspberry Pi Zero) IchigoJam ZeroRaspberry Pi Zero
I am invited to the event "BIG Raspberry JAM Tokyo 2016" by Raspberry Pi users group. with Mr. Eben Upton(@EbenUpton), inventor of Raspberry Pi! Eben's first program on IchigoJam BASIC during just few minutes! 10 FOR I=1 TO 1000 20 LED1 21 IF BTN() X="FOO" ELSE X="BAR" 30 WAIT10 40 LED0 50 WAIT10 51 PRINT STR$(X) 60 NEXT Going out for beer with engineers: the same the word over! pic.twitter.com/le
日本初のパソコン、日立ベーシックマスター。 38年前の今月、1978年9月に日本初登場の8bitパソコン、CPUの周波数はなんと750kHz(0.75MHz)! RAM4KB、32x24文字のモノクロテキスト、BASICとマシン語、スペックがIchigoJamっぽい! マシン語やBASIC、周辺機器や自作ゲームの売り買い情報満載の当時のユーザーの熱気が伝わる1984年の同人誌「BASIC MASTER LEVEL2 MAGAZINE」を入手!(LEVEL2とは、ベーシックマスターのROMが4KBから8KBになった拡張用の意) IchigoJamは、こどもでも手軽に手に取れる紙を基本にしていますが、子供にとってもネットという手段は当たり前、せっかくつくったプログラムは広く公開したくなるはず。 そんなとき便利なこどもネットワークボード「MixJuice」、IchigoJamにこうして挿して使い
さくらのIoT Platformα、お借りしたモジュールをIchigoJamに接続、超簡単にネットにつながりました! IchigoJamとの接続は4本のみ、赤の5VをCN5(5Pソケットをつける)の5Vへ、黒をGNDへ、その隣の黄色がI2CのSCLなのでEX1へ、次の黄色がI2CのSDAなのでIN3へ。 I2Cのプルアップ抵抗はモジュールに入っているとのことなので、これだけでOKです。(※プルアップ付きのEEPROMモジュールをつけても動作しました) 画面に表示されているように、たった2つのコマンドでモジュールからネットへの送信が完了しています! POKE #700,48,1,73,#AA,0,0,0:?I2CW(79,#700,1,#701,6) このように書けば、まさにたった1行。 先頭行 48(=#30) が送信コマンド、次にチャンネルの1、4byte正数を表す73(=ASC("I"
IchigoJam BASICでプログラミングに慣れ、晴れて自分のパソコンをゲットした人にオススメしたいプログラミング言語のひとつ、JavaScript! JavaScriptは、世界中のパソコンやスマホ、3DSやPS4などゲーム機など、ブラウザ上で動くプログラミング言語。 WebサイトをつくるHTMLと合わせて使うことで、世界中に使ってもらえる作品がつくれちゃいます! こちら1〜15までをすばやくタップするゲーム「fifteen」 「fifteen」 6秒切れたらすごい!! とりあえずやってみたいのはゲームですよね?テキストエディタ(わからなければ検索!)で、こちらのコードを打ち込んで(コピペ厳禁)、fifteen.html として保存(文字コードはutf-8)、ブラウザで開いてみましょう。 こんなに打つのはしんどい・・・と思う人は、JavaScriptへ進むのはまだ早いです。Ichig
オープンデータデイが世界一盛り上がり、オープンデータ都市も200を超え、国による地方創生戦略も相まって、勢いづく日本の地方自治体。 ただ、日本全体の進捗としては10%ちょっと、VLED勝手表彰2014において、CiP準備会賞を受賞した家計簿・会計アプリ「Zaim」は独自の調査で、日本の全自治体の補助金情報をカバーしたとのこと。 オープンデータ都市まとめなど、いろいろと自動化する第一ステップ、全自治体のWebサイト一覧を作成しました。 「localgovjp by Code for Fukui on GitHub」 - 日本の区市町村ホームページ&緯度経度 Thanks! 地方公共団体情報システム機構 & 国土地理院 個性的なドメインが見られたので、ドメイン種別ごとにまとめてみたのが、こちら。 「日本の自治体ドメインセンサス」自治体ホームページのドメインを調査してみました。 自治体の信頼性を
VLED優秀賞、国交省、国土地理院のオープンソースな地図アプリの進化が早い! 「「地理院地図」で地形分類や災害情報を3D表示 ~3D表示できる情報が増えました~|国土地理院」 Webアプリ上で、航空写真や地図を下地に、線をひいたり、テキストを載せたり、作図したものを、そのまま3D表示できるようになりました! 「地理院地図」 いろいろな地図に切替できて楽しい! 国土地理院地図のいいところ - 最新の道路、鉄道が載っている! - 様々な情報が見られる! - 昔の写真が見られる! - どこでも標高がわかる! - 3Dでも見られる! ただ何と言っても一番のいいところはオープンソース(GitHub)で改造し放題なところ! 多機能をぐっと絞り込んでシンプルに見せるのもひとつの改造。 下記は結構便利な、地図印刷機能に特化させた印刷地図です。 A4、縦、横、サイズを合わせて、簡単に印刷できます! 「印刷地
IchigoJam、誕生のきっかけの一つ、イギリス発の格安パソコン、Raspberry Pi。 「目指すはMSX! Raspberry Pi より安価な IchigoJam 発表!」 ブログを振り返ると2013年10月に「MSXの再来となるか?低価格パソコン、Raspberry Pi」と入手したものでした。 先日、この旧ラズパイをIchigoJam風にし、ついにプログラムがかけるようになりました! IchigoJam BASIC が Raspberry Pi Model B で5秒で起動し、エルチカプログラミングする動画 せっかくなのでもう一度、ラズパイと並んで記念撮影! Raspberry Pi Model B, Raspberry Pi Model A+ IchigoJam, IchigoJam U ラズパイモデルとIchigoJam比較 ※未実装(unpopulated) = はんだ
図書館をもっと楽しくのカーリルと、鯖江市図書館のコラボで実現、本の場所を探してくれるアプリ「さばとマップ」が発表されました! iBeaconの設置場所、図書館の館内本棚データはオープンデータ、アプリも館内ナビアルゴリズムもオープンソース(MIT) on Github! 2階建の図書館内に131コ設置されたiBeaconを使って、現在位置を算出し、目的の本の本棚まで簡単にたどり着くことができました! iPhone/iPadでぜひ体験してみてください。(さばとマップ on the App Store) Androidも、一部機種では現在位置表示に対応。(さばとマップ - Google Play の Android アプリ 鯖江市図書館オープンデータを使って、早速、つくってみたのが、こちら 「鯖江図書館ビーコンマップ」 - 1F/2F切り替えて、開発に必要なuuid/major/minorを確認
現代のパソコンは電源を入れるとOSがすでにインストールされていて、当たり前のようにウィンドウな画面が出てきます。 これをOS部分から作って使ってみます(これを近年はベアメタルと呼ぶらしい)。 先日作りかけた「IchigoJam for PC」は、残念ながら実機では起動しなかったので、もう一度名著「30日でできる! OS自作入門」を読みながら、挑戦! ちょっとプログラミングをかじったことある人向けに書かれているので非常に楽しく読めます。 (Amazonさんによると私はこの本、2006/4/4に購入した様子、もう約10年前!Kindle版もでています!) Intelのマシン語を使うのは実は初めて。8bit時代から、レジスタがA(8bit)、AX(16bit)、EAX(32bit)と歴史が感じられて楽しい。 今日は、画面モード320x200に切り替えて、文字とドットを表示してみるところまで。 本
マシン語の体験が終わったので、高速に足し算するプログラムをつくってみましょう! プログラムをひとつひとつマシン語対応表を見て、2進数列にして打ち込んでいくことをハンドアセンブルといいます。手(ハンド)で組み立てる(アセンブル)ので、ハンドアセンブル、てづくりですねっ! IchigoJamのマシン語では、レジスタというBASICで使う変数のようなものが使えます(ひとまず安全に使えるのは、R0-R3の4つ)。レジスタに値をいれたり、レジスタ同士で計算して、その結果によって分岐(BASICでいうGOTO)することで、プログラムを組み立てます。 まずは、指定した数字までを足し算するマシン語プログラムをつくってみます。 BASICから渡される数は、レジスタR0に入っていて、RETした時に同じくレジスタR0に入っている数がUSRコマンドの値となります。 まずは実験 R0=R0+1 をハンドアセンブルし
コンピューターが本当にわかる言葉は0か1のカタマリ(2進法)で表現されたマシン語だけです。 どのような2進法表現でどう動くかはコンピューターによって違います。 IchigoJamで使っているコンピューターは、16コの0か1のカタマリ(16bit/16ビット)で動きをコントロールします。 0011000000000001 これはR0レジスタというコンピューターの一時記憶の1番目に1を足すというマシン語です。 最初の5bitが足し算をしろという命令コード、次の3bitが使うレジスタの番号、後に続く8bitが足す数です。 00110 000 00000001 これをPOKE文を使ってメモリに書き込みます。(IchigoJam web でも試せます) POKE#700,`00000001,`00110000 #700はメモリの位置を表します。`は2進数で数値を表します。 下位の8bitを先に、上位
こどもパソコンIchigoJamを使い始めるにあたってネックになるのはPS/2キーボードの入手です。 どうやらまだ根強い需要があるらしく、家電量販店にもしぶとく残ってくれています。 PS/2キーボードが無くならない3つの理由 1. ゲーム / ゲーミングPC(USBキーボードでは、7つ以上のキーを同時押しができない、参考) 2. セキュリティ(USBメモリを使わせたくない現場用、参考) 3. 組込み開発が容易(IchigoJamなど、低スペック低価格コンピューターでも使える) IchigoJam、だいたいのPS/2キーボードで動いていましたが、動作しない報告がいくつか届き、調査したところ、キーボードの初期化コマンドを送信することで動作することがわかりました。(参考、PS/2仕様) 今回、下記のキーボードでの動作確認を完了しました。 SANWA Supply SKB-KG3W (新対応!)
市町村名を聞いて、まず気になるのはどこにあるか? 以前、国交省オープンデータを使ったアプリ「日本のまちビューワー」を作るときに使った、 日本の区市町村の緯度経度まとめデータ「localgovs.js」を使って、 まとめて変換が簡単なツールをJavaScriptのWebアプリとして作成。 「区市町村ジオコーディング 〜日本の区市町村名にまとめて緯度経度をつけるツール〜」 軽量なので、統計データの可視化などで気軽に使えます。 「地方創生人材はどこへいった?」でも活躍しました。
※文部科学省発表(「諸外国におけるプログラミング教育に関する調査研究 / 平成27年3月 大日本印刷株式会社」情報教育指導力向上支援事業(諸外国)|学校教育分野|教育の情報化)の「分析した教科書・教材で扱われているプログラミング言語一覧表(P20)」を元に加工 - Bee-Bot - アルゴリズムの基本を学ぶロボット - Kodu - ゲームづくり体験 - Scratch - ブロックを組み合わせてアルゴリズムをつくる環境 - Snap! - Scratch風 - App Inventor - Scratch風 Androidアプリ開発環境 - QBASIC - マイクロソフト製入門用プログラミング言語 - Visual BASIC - 現代も広く使われるプログラミング言語 - 游游 ・・・ 情報求む! 日本も負けてられないですね! プログラミングを体験してくれた小中学生数百人を見てきての
次のページ
このページを最初にブックマークしてみませんか?
『福野泰介の一日一創 / create every day』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く