福井県知事、杉本さんに会いにクリスと訪問、福井県庁。

福井平野一体をサイバーバレー(CyberValley)と新たに名付け、いろいろチャレンジ始まってます。 元気いっぱい福井県庁チームと!

SDGs実現に必要になる、サイバー空間とリアルをつなぐ様々なツール。一番身近な例は地図かもしれません。


osm2csv
オープンデータな地図、オープンストリートマップの出力形式、OSMファイルから点データをCSVに変換するツールを作りました。 CSVファイルならExcel他、いろんなツールで使いやすいですね!


データを取得したい場所で「エクスポート」を押せばOK!広すぎるとエラーとなるので適度にズームしてお試しください。


拡張子osmのファイルをドロップすれば、CSVファイルのできあがり!


osm2csv test
名前入り点データのみ変換して表示してみたテスト。なんだか場所が間違ってますね・・・。
身の回りの自由な地図、オープンストリートマップ、キレイにしましょう!

細かなデータを入れれば入れるほど、楽しく美しい地図になって、いろんな人に活用してもらえる可能性アップです。 散歩しながらデータを集めて、ユーザー登録、間違っている場所を直したり、点を追加すれば、あなたもまちの貢献者!
taisukef | OpenStreetMap」「kristopher tate | OpenStreetMap」←こんな風に編集履歴が残ります


csvbeauty」もバージョンアップ!
余計な前後空白や、数値のコンマを削除できるオプションを追加しました。設定はブラウザに保存されます。(localStorage使用)

ツールでまちを良くしよう!

意思表明を弱めてしまう、安易な脱ハンコには反対です。 ハンコのメタファーを残しつつ、DXするHANKO実験中

ハンコといえば、第二のふるさと名古屋に、お城のシャチホコも由来なハンコの老舗「シヤチハタ株式会社」。 舟橋社長を、コネクトフリー社クリス、京都大学坂出さんと中さんと共に鯖江市役所、SCC、Hana道場、さばえSDGs推進センターへご案内。

佐々木市長、中村副市長、熱いディスカッション、ありがとうございました!


職員の人たちも熱い、鯖江市役所!


ありえないと言われる鯖江商工会議所、Sabae Creative Community、通称SCC。黒田会頭と。
本日はシヤチハタ株式会社の舟橋社長が来所されました | SABAE CREATIVE COMMUNITY


鯖江市のIT力を支える「Hana道場」、来年の「越前がにロボコン」もどうぞお楽しみに!全国、全世界から参加可能です。


DXはSDGsの要、鯖江市役所の出先「さばえSDGs推進センター」もご案内。ステキな場所が多いんです。
本日は名古屋のシャチハタ様と京都大学からお客様がセンターに来られました

iPhoneで撮影した写真は、HEIC形式。JPGと違って、ブラウザで表示できないなど使い勝手がまだ悪いのが問題です。 さくっと、プログラムでまとめて変換するプログラムを作りましょう!

const list = await Deno.readDir("./"); for await (const f of list) { const fn = f.name; if (!fn.endsWith(".HEIC")) { continue; } console.log(fn); const opt = `--setProperty format jpeg ${fn} --out ${fn.substring(0, fn.length - 4)}jpg`; console.log(opt); const p = Deno.run({ cmd: ["sips", ...opt.split(" ")], stdout: "piped", stderr: "piped" }); await p.status(); await Deno.remove(fn); }

heic2jpg.js ととして保存し、Denoをインストール、次のコマンドでそのフォルダ内のHEIC画像をまとめてjpgに変換します。

deno run -A heic2jpg.js

元ファイルを残して置きたい場合は、最後の remove の行をコメントアウトしましょう。

物体であるハンコは、正式には印章(いんしょう)といいます。押したあとが印影(いんえい)。役所や銀行などに登録したものが印鑑(いんかん)です。 ハンコのセキュリティは、紙に押した印影の複製や、印影から逆に印章を作ることが難しいことを担保にしています。 きっと印影は、画像ではなく紙に対する凹み具合などいろいろと加味されるのでしょう。

PKI(公開鍵暗号基盤)に例えると、印章が秘密鍵、印影が公開鍵によって作成した電子署名、印鑑が認証済み公開鍵って感じですね。

PCNの新製品発表会にて、新型IchigoJam「IchigoJam R」発表!

PCN新製品発表会


じゃん、こちらがIchigoJam R x IchigoSand


目玉はUSBキーボード対応!


IchigoSand、鯖江のメガネテクノロジー、人肌にやさしい石油を使わない素材、アセテートを使ったIchigoJam R専用ケース by EIGHT SENSE!


メガネ同様、いろいろな柄がかわいい!


テクニカルな大発表、IchigoJamは、ArmからRISC-Vへ。
2014.4.1誕生から長らく使ってきたCPU、NXP社のLPC1114、Arm Cortex-M0アーキテクチャーに加え、オープンなアーキテクチャーRISC-Vに対応!
(LPC1114向けサポートも続きますのでご安心を!)


なんとインタプリター、10倍速!
CPU周波数が倍、ビデオ信号の出力が、DMA(Direct Memory Access)によって空いちゃいました。


RISC-V Internationalメンバー、コネクトフリー社代表、Zen言語開発者、帝都久利寿!


Zen言語は、C言語に代わる、安全、快適、高速なプログラミング言語。


Zen言語zen4ij を使って、プログラムは全く一緒で、RISC-Vマシン語をコンパイルできます!

例えば、引数を1足すだけのシンプルなZen言語プログラム

export fn main(param: i32) i32 { return param + 1; }

Arm版 (make build; make dump)

0000000 1c40 4770

RISC-V版 (make buildr; make dump)

0000000 0505 8082

共に16bitのマシン語命令、オープンなアーキテクチャーなので、学習教材としても本気開発環境としてもフリーに大いに活用できます。
比べてみよう、RISC-VとArm、RISC-V対応かんたんマシン語「asm15r」

One more thing...


エンジニア大好きHHKB(Happy Hacking Keyboard)のPFU社、松本さん出演!
USB接続するHHKBにも対応したのを記念した、HHKBxIchigoJam コラボ!(USBハブ機能付きは未対応)


HHKB x IchigoJam コラボ企画 - Happy Hakking with Kids
なんと、Twitter投稿でIchigoJam R 墨とHHKBが当たる!


IchigoJam R 墨、かっこいい!

加速する、こどもプログラミング環境、こプサミレポートへ続く!
プログラミングは水泳の如し、全学年10時間カリキュラムに挑戦「クイズ タシテ テン!」

links
- こども達と楽しくプログラミングしよう!USBキーボードに対応した新「IchigoJam R」で、HHKB墨とのコラボ決定!Happy Hacking with KIDS! – about yrm
- 今年最後のイベントは「IchigoJam R」の発売発表 | SABAE CREATIVE COMMUNITY

ネットが星を覆い、電子や光が駆け巡る現代
アジアの一角に横たわる、ここ福井から送る新番組
Cyber Valley, Japan


コミュニティラジオ局「NPO法人たんなん夢レディオ」毎週金曜14:00-15:00
同サイトにて、同時にネット配信あり


Cyber Valley, Japan - cybervalley.jp
福井平野は山に囲まれた盆地(valley)、この一帯をサイバーバレーと名付けます!
leaflet.mjs x 地理院地図 で、サクッと地図化


サイエンスカフェ コロンブスのたまご
母校、福井市の明道中学校のすぐ近く、たんなん夢レディオのサテライトスタジオも兼ねた、芸術と科学と発想力を養う場所。個人利用は無料。金曜日土曜日からオープン!


たんなん夢レディオ伊藤会長と帝都久利寿


デジタル標高地形図「北陸」 | 国土地理院
サイバーバレーを確認した地図は、この国土地理院のデジタル標高地形図でした

links
- Webも攻殻機動隊も25周年!新浜県でオープンデータ講演。今年の神戸ITフェスティバルは何かが起こる!?
- とんがる福井で新プロジェクト「CyberValley」安心と信頼の社会基盤をアップグレード!
- Kris in Sabae-land - 自由のもたらす恵みを確保しよう!日本語パーサーと憲法前文

情報化促進貢献個人等表彰にて、経済産業大臣賞をいただきました。
令和2年度「情報化促進貢献個人等表彰」経済産業大臣賞をjig.jp が受賞しました

推薦公募で決まる、第49回となる歴史ある表彰。 「COVID-19 Japan 新型コロナウイルス対策ダッシュボード」と「PUSHかんたんオープンデータを活用した福井県施設ダッシュボード」を評価いただきました。

データ提供にご協力いただいた方々、アプリをシェアいただいた方々のおかげです。ありがとうございました。 行政、民間、シビックテックにおいて、ますますのオープンデータ活用の契機として活用します!


第一報を鯖江市長、佐々木さんに報告。連携協定結ぶKDDI松野さん、サイバーセキュリティー教育「CyberSakura」や「IchigoJam」プログラミングなど、IT人材教育をすすめるNPO法人エル・コミュニティ代表竹部さんと共に、コロナ禍で一層厳しくなる行政こそ、民間の強みを活かしましょう。


COVID-19 Japan 新型コロナウイルス対策ダッシュボード
グラフからも明確な第三波ですが、全国均一的ではありません。


ほとんど感染者がいないローリスク地域もありながら、入院治療を要する者(厚労省)が病床数を上回る地域まで様々です。居住地、行き先に合わせた個々の対応が重要です。

民間企業Google社により11/17に発表された感染者予測が、結果と比較するアプリをつくりました。

COVID-19 福井県のPCR検査陽性者数、入院者数 予測値
福井県の11/15予測時点の折れ線グラフに、棒グラフで結果を並べてみました。大きく増加し減少する形になり、結果近い値になっています。


COVID-19 福井県のPCR検査陽性者数、入院者数 予測値
11/28時点の予測でも当初の予測とほぼ変わらず増加の傾向とのこと。


COVID-19 大阪府のPCR検査陽性者数、入院者数 予測値
大阪府の11/15時点予想を上回る結果でした。


COVID-19 大阪府のPCR検査陽性者数、入院者数 予測値
11/28時点の予想は現状に合わせ上方修正されていて、引き続き増加の予想となっていますが、あくまで予測。未来は変えられます。都道府県別、予測時点別に見られます。気になる地域をご覧ください。


12/4(金)14:00-15:00 たんなん夢レディオの新番組 Cyber Valley, Japan (サイバーバレージャパン)を始めます。 インフラとしてのオープンデータの広まりを受けた次の一手は、リアルとつなぐDXを含めた、サイバー空間の活用にあり。 サイバーナビゲーターは、コネクトフリー代表 帝都久利須とjig.jp会長 福野泰介

Let's go to the next stage!

地理的フロンティアが無くなって久しい地球は、言わば島国。
280年続いた江戸幕府、持続可能な社会のヒントは島国日本にきっとある。
人類が地球外へと飛び立つ第二次大航海時代を迎えるためにも、SDGsの達成は急務。
福井から新たなライフスタイルを創造提案する「CyberValleyプロジェクト」開始!


コネクトフリー社代表の帝都久利寿さんと、さばえSDGs推進センター長の関本さんと! 余分な資源を使わない文化へのアップデートはSDGs実現の要!課題に立ち向かういろんなツールを活用、発明していきましょう!


福井県庁産業労働部の方と!みんな熱くて温かい!


第4回越前がにロボコンで、実況中継や、運営メンバーとして大活躍した福井高専生。鯖江に福井高専あり!校長の田村さんと地域と共に強くなる、未来の高専像をディスカッション。


新しいもの好き、SCCにて北陸経済連合会、事業強化部長の杉山さんと再開!


プログラミング好きの中学生には最高の部活の場、Hana道場!


第4回越前がにロボコンでチームメンバーが、歩行部門優勝、準優勝者!PCN武生の代表、森田さん交えた作戦会議。早速来年に向けて意欲抜群とのこと。PCNこどもプロコンなど、次世代を担う人材づくりますます加速させましょう!


福井のIT系業界団体、福井県情報システム工業会福井県庁未来戦略課とのMTG、チャレンジで未来を作ろう!写真 by 360度、まるっと空間撮影できる RICHO THETA


code4fukui/vision: 福井県長期ビジョンオープンデータ
福井県長期ビジョンPDFを中学生も大好き、テキスト形式(MarkDown)のオープンデータ化していくプロジェクトを始めました。 まずは大事なところ、スマホでサクッと見てみましょう。


「安心のふくい」を未来につなぎ、もっと挑戦!もっとおもしろく!
2040年福井県長期ビジョンの基本理念がおもしろい!
人口減少によるインフラ余りとコロナによる減収下、現状維持は簡単ではありません。
ここは防戦ではなく、より質の高い福井へと転換目指すチャレンジへと昇華できるチャンスとする前向き福井!


とんがろう、ふくい。新時代、はじまる!!


福井県庁が掲げる、しあわせ先進モデル!くらしの新デザインプロジェクト、日本一質の高いくらしを実現する。 世界一質の高いくらし、創りましょう!


福井県長期ビジョン
2040年の将来像と基本理念、県の人から寄せられた福井県の良さや課題をまずはまとめました。 エビデンスとなるオープンデータや、進捗を見るダッシュボード連携など、いろいろやりたいこと見えてきます。


サバエ・シティーホテル最上階イル・ヴィゴーレでランチ、一望できる福井平野から名前が決定「CyberValley(サイバーバレー)」


新番組、Weekend CyberValley、鯖江のラジオ局、たんなん夢レディオとネット放送
12/4(金)14:00-15:00から、毎週金曜日スタート!

links
- 福井県長期ビジョン

デジタル社会の教科書「攻殻機動隊」。最新作に登場するモデルであり唯一実名登場している、京都のコネクトフリー社の代表、帝都久利寿(クリス)。DXGOVの共同発起人。

デジタルSDGsメガネアプリ、近日公開予定!めがね会館9F、さばえSDGs推進センターにて


数の制限があるアナログなSDGsメガネ、デジタルなら人数無制限、非接触で安心!


音響に対してナイスアドバイス!


Kris in Cyberland


クリスと竹部さん in front of Hana Open Innovation Dojo (Hana道場)


3才でMac、5才でプログラミングをはじめたクリス


つくる技術を次世代に伝える次世代(福井高専のプログラミング好きの後輩で、現福井大学生&withメンバー)


鯖江のおいしいが詰まった、文化の館のカフェ「こっしぇるん


自分の体は、自分で選んで食べたものからできている


こっしぇるん上嶋さんのご紹介で、自由を感じる大きな古民家へ


クマ返しを装備してもらった柿の木


物理からみんなでつくるコミュニティースペース、オーナーの木村さん!


データシティ鯖江、さばえのオープンデータを共につくってきた牧田さん


鯖江に根付くNPO活動と長期視点


世界を目指す鯖江商工会議所の地下、その後1F SCCにてMTG


parseJA
サイバー空間とは何か?人とは何か?定義や原典を探るのがエンジニア。日本国憲法前文を吟味すべく、句読点で改行するだけのシンプルな日本語パーサー(字句解析プログラム)を作ってみました。

日本国民は、 正当に選挙された国会における代表者を通じて行動し、 われらとわれらの子孫のために、 諸国民との協和による成果と、 わが国全土にわたって自由のもたらす恵沢を確保し、 政府の行為によつて再び戦争の惨禍が起ることのないようにすることを決意し、 ここに主権が国民に存することを宣言し、 この憲法を確定する。
鯖江市は市民主役、日本国は国民主権。
「恵沢(けいたく)」=恵み。自由のもたらす恵みを確保しよう!
われらとわれらの子孫のために、祖先のことは言っていないのがおもしろい。
日本国民は、 そもそも国政は、 国民の厳粛な信託によるものであつて、 その権威は国民に由来し、 その権力は国民の代表者がこれを行使し、 その福利は国民がこれを享受する。 これは人類普遍の原理であり、 この憲法は、 かかる原理に基くものである。 われらは、 これに反する一切の憲法、 法令及び詔勅を排除する。
「これに反する一切の憲法、法令及び詔勅を排除する。」と憲法なのに憲法自身をも原理においては排除すると言い切るのがクールです。

「厳粛な信託」をいかに実装するか?デジタル化した国政とは?
DXGOV hosted by Code for Sabae の次回開催お楽しみに!

Zen言語で作るIchigoJamプログラム zen4ij、なんとZen言語開発者自ら早速改造!?

実機で動かすため、IchigoJamのはんだづけもしてくれました!無事LEDが光り、PCとのUSBシリアル接続もOK。久利寿とオンラインで��しつつコンパクト版にトライ、動いた! 最終的なサイズは、112byte。C言語より4byte、Arm thumbのマシン語で2命令少ない!


zen4ij に、プルリク送ってもらって、こちらの環境でも確認、マージ完了!
(プルリク=プルリクエスト=改善案置いておくからよかったら引っ張って使ってねという意味、マージ=改善案を採り込むこと、共にGit用語)

Zen言語の使い方や、ビルドのコツを直接聞くことができた。サイズ縮小のポイントとして不要セクションの削減が肝だった。下記が改良版 かわくだりゲーム in Zen言語(switch構文がいい感じ)

const ij = @import("std15.zen"); export fn main() callconv(.C) i32 { ij.cls(); var x: i32 = 15; var score: i32 = 0; while (true) { ij.locate(x, 5); ij.putc(236); ij.locate(ij.rnd(32), 23); ij.putc('*'); ij.putc(10); ij.wait(3); switch (ij.inkey()) { 28 => x -= 1, 29 => x += 1, else => {}, } if (ij.scr(x, 5) != 0) { break; } score += 1; } return score; }

公平を期すため rust4ij も改良、ただ同じく不要セクションを消しても Rust 版では 124byteと、Zenの112byte、C(gcc -Os)の116byteに及びませんでした。 なぜ、サイズが違うのか?それは、それぞれのコンパイラが出力するマシン語に差があるからです。コンパクトなプログラムでいろいろ見比べると個性があっておもしろい!

果たして、どこまで小さくなるのか?
コンパイラを使わず、asm15マシン語でプログラムしてみたところ、82byteで実装できた! (追記、Thanks 100byte→98byte82byte by @fujitanozomuさん)

PUSH {R4-R7,LR} R6=#C0 'cls R3=[R6+(#CC-#C0)/2]W GOSUB R3 R4=15 ' X R5=0 ' S 'putc R7=[R6+(#C4-#C0)/2]W @LOOP 'locate X,5 R0=R4 R1=5 R3=[R6+(#CE-#C0)/2]W GOSUB R3 'putc neko R0=#EC GOSUB R7 'rnd(32) R0=32 R3=[R6+(#C0-#C0)/2]W GOSUB R3 'locate R0,23 R1=23 R3=[R6+(#CE-#C0)/2]W GOSUB R3 'putc *, enter R0=#2A GOSUB R7 R0=10 GOSUB R7 'wait 3 R0=3 R3=[R6+(#D6-#C0)/2]W GOSUB R3 'inkey() R3=[R6+(#CA-#C0)/2]W GOSUB R3 R0-=28 R0-=1 IF HI GOTO 2 ADC R4,R0 'scr(X,5) R0=R4 R1=5 R3=[R6+(#D0-#C0)/2]W GOSUB R3 R5+=1 R0-0 IF 0 GOTO @LOOP R0=R5-1 POP {R4-R7,PC}

IcihgoJam APIは、アドレスの8bit範囲内に16bit範囲内の関数ポインタを書き込んであり、ファームウェアのバージョンが変わっても使用できるMSXのBIOS的な仕組みを採っています。(例、CLSの呼び出し)

'cls R7=#CC R7=[R7]W GOSUB R7

削減のポイントは、使える命令が限定されるハイレジスタ(R8以降)で、唯一関数内で値を保存せず使用してよいレジスタ、R12を繰り返し使用するAPIのキャッシュとして使用したところです。 だいぶ最適化が進むコンパイラ技術ですが、まだ発展の余地があるってことですね!

ちょうどネコのキャラクターパターンが96byte目からなので、#700からマシン語を書き込んでも動きます!

POKE#700,240,181,204,39,63,136,184,71,15,36,0,37,196,39,56,136,132,70,127,137,32,70,5,33,184,71,236,32,224,71,32,32,192,38,54,136,176,71,23,33,184,71,42,32,224,71,10,32,224,71,3,32,214,38,54,136 POKE#738,176,71,202,38,54,136,176,71,28,40,0,209,1,60,29,40,0,209,1,52,32,70,5,33,208,38,54,136,176,71,1,53,0,40,219,208,104,30,240,189 ?USR(#700)

コンピューターに初めての触るこどもから、ガチなエンジニアまで、幅広く楽しめるIchigoJam。 そのヒミツを書いた「情報処理 2020年8月号 (日本語) 雑誌」 now on sale!

この度、情報処理学会の会誌『情報処理』に「プログラミング...

上松 恵理子さんの投稿 2020年7月20日月曜日


今日のおやつ、いちごティー

日本社会にテクノロジーが根付かない原因は信頼か? 独自開発のIoTとZen言語による解決を目指すコネクトフリーCEO、帝都久利寿さん。 マイクロソフトと任天堂があるシアトル出身、5才からプログラミングし、10代で会社を売却し、単独来日、再び創業。 日本&技術好きの同志。

プログラムが使うメモリ、使ったまま忘れたり、使ってはいけないところを触るとソフトウェアは停止する。 このいわゆるバグは、アプリを使う人をイライラさせ、車や社会インフラなどで起きると多大な影響を引き起こす。

現在主力となっているプログラミング言語の解決方法に、自動的にメモリを回収する仕組みを使う方法(GoやTypeScriptなど)、所有権という概念を入れて管理する(Rust)という方法がある。 Zen言語はそのどちらでもなく、後片付け構文とメモリ確保の明確化で安全にするというアプローチ。

IchigoJam BASICでは、そもそも使うメモリ量を固定化しているため問題が起きない。 Zen言語はこの古典定期かつ堅牢なメモリ使用方法を、一段上位で管理するイメージ。

GCを使う言語はランタイム(作ったプログラムを動かすために必要なベースプログラム)で容量が大きくなってしまうが、ZenはRust同様、ゼロランタイム。 IchigoJamなど、小さな組み込み用途にも使える。


zen4ij - Zen language for IcihgoJam
早速実験「かわくだり」のZen言語版が動いた。コンパイル済みバイナリ124byteと小さい。
(参考、Rust版 132byte、C版 116byte、Ruby版 325byte + runtime 2,376byte)

const ij = @import("std15.zen"); export fn main() i32 { ij.cls(); var x: i32 = 15; var score: i32 = 0; while (true) { ij.locate(x, 5); ij.putc(236); ij.locate(ij.rnd(32), 23); ij.putc('*'); ij.putc(10); ij.wait(3); const c = ij.inkey(); if (c == 28) { x -= 1; } if (c == 29) { x += 1; } if (ij.scr(x, 5) != 0) { break; } score += 1; } return score; }

IchigoJam BASICのかわくだり 150byteとの比較

10 CLS:X=15:S=0 20 LC X,5:?CHR$(236) 30 LC RND(32),23:?"*" 40 WAIT 3 50 C=INKEY() 60 X=X-(C=28)+(C=29) 70 IF SCR(X,5) ?S:END 80 S=S+1 90 GOTO 20

@マークで始まるものはZenの組み込み関数、std15.zenにてIchigoJamのAPIを定義している。 例えば、1文字表示するij.putcは、下記のように定義し、IchigoJam APIと接続している。

pub fn putc(x: u8) void { const addr = @intToPtr(*u16, 0xC4); const f = @intToPtr(fn(u8) void, addr.*); f(x); }

u8は、符号なし(unsigned)8bitの意味。Rustに似ているが、関数の返り値型に"->"が不要でよりコンパクト。 @intToPtrを使うことで、物理メモリにもアクセスできるので、OSづくりにも対応できる。(Rustではunsafeを使用する)


Zen言語のドキュメントだけでなく,コンパイラのエラーも日本語対応!優しい! (コンソールで export LANG=ja と設定してみよう)
ごきげんよう、Zenへようこそ | Zen Language Documentation


IchigoDyhookがあれば、亀蔵でもサクっと取り出し、 IchigoJam BASIC プログラミング!
久利寿氏、超久々のBASICでPRINT/GOTOループを決めているところ。

社会のあちこちで活躍するソフトウェアだが、本領発揮はまだまだこれから!
日本のソフトウェア技術力、どんどん上げていこう!


@yrm__ (IchigoLatte MINIScript)、 @kristopher (Zen language)、 @taisukef (IchigoJam BASIC)
国産言語プチサミット in 鯖江!

links
- C言語よりコンパクトに! Zen言語開発者からのプルリクとマシン語の気持ち

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS