「OSS」タグアーカイブ

scratchblocks – Scratch プログラムをテキストファイルから生成

scratchblocksは、教育用プログラミング言語 Scratch の図形を組み合わせたプログラムを、テキストから生成してくれるというwebサービスです。

言語を日本語(Japanese)にすると、日本語での画像を作ってくれますし、英語など他言語で書いたテキストを translate メニューから日本語に翻訳し、それを画像化( png や svg 形式に)することもできます。

ソースコードも公開されていて、これを使って WordPress で表示するプラグイン(作者は日本の方)や Pandoc でドキュメント内に埋め込むライブラリなども紹介されていました。

小学校の自由研究で、提出するといってもパソコンやタブレットを提出するわけにもいかない。作ったものを紙にして出すにはどうするのがいいのかな、と調べたら見つけたものです。

[訂正 2017-09-08]

scratchblocksScratch Blocks の関係性について間違いがあったので、下の内容を撤回します。ご指摘ありがとうございました。

このツールが表示しているのはそもそも GoogleとScratch が HTML5 版の Scratch 3.0 に使うために策定し、また他の Scratch 風プロジェクトでも採用されるべく規定しようとしている Scratch Blocks で、このScratch Blocks を「非公式に」サポートするツールとして作られているようです。

消えゆく Flash Player から HTML5 ベースに移行しようという Scratch 本家に合わせて作っているものですから、描画結果のそれらしさについては間違いのないところでしょうね。

Github の scratchblocks は Scratch 用の”unofficial”なツールを作っている、とGitHub にありますが、これは Scratch Blocks をサポートしているものではないようです。

composerize – dockerコマンドラインをdocker-composeの書式に変換してくれるツール

Composerizeは、コマンドラインオプションを持ったDockerコマンドを、Docker Composeの定義ファイルの形式へ変換してくれる、というサービスです。

composerize-screenshot

Dockerコマンドのオプションを列挙してるのが docker-compose.yml なので、コマンドラインパラメーターとymlに掛かれてるものは機能的には一対一に対応してはいるんです。しかし、名前が微妙に違っているパラメーターがあって、コマンドラインで動作確認したものをComposeに移行しようとした際にエラーが出てしまい、両方のマニュアルを開きながら調べて修正、など僕も苦労してました。

Githubで公開されているソースの(コンバート部分を見れば、パラメーターの名前が微妙に違うものが多いのに気づきます)

デバッグ時には反対向きの変換ツールもあるといいかも。

via reddit

Pokémap – Pokemon Goのポケモン・ジム・ポケストップを可視化する勝手ツール

アメリカ人をトリコにし、任天堂の株価を倍に押し上げた位置情報ゲーム「ポケモンGo」、日本での今日のリリースが2ちゃんねる経由マクドナルドからのリークで延期になった、とかいう話も(本当かどうかわかりませんが)流れて来たりと、これから日本でも熱くなりそうなところです。

Pokémapは、Ahmed Almutawaが始めたばかりのツール開発プロジェクトで、ポケモンGo に出てくるポケモン達、アイテムを得られるポケストップ、奪いあうポケジムなどゲームを簡単に進められるようにする重要情報を、Google Mapベースの地図に表示してしまうというPython製ツールです。

pokemap-top

現在のツールはプログラマでないとセットアップがたいへんそうな作りになっていますが、こんなツールで地図が見えてしまうと、一般のユーザーとの競争はかなり簡単になってしまうのではという心配もあります。

各データは Niantec 社のサーバとの通信を見て取得しているようなので、早晩、通信方法が変更されたり、暗号化されたりするのではと思いますが、熱心なユーザー&開発者が2日間で50人近く contributor として集まったそうで、GitHub 上のプロジェクトページでは一時的にプルリクエストを受け付けませんという表示がされています。

via The Verge

絵文字プログラミング言語 emojicode

Emojicodeは、オープンソースの高水準・マルチパラダイム・オオブジェクト指向・マルチプラットフォーム対応の静的型付き言語です。

その一番の特徴は、型、メソッド、クラスメソッド、初期化子がすべて絵文字だというところでしょう。(反対に、変数名には絵文字を含むことができません。)

emojicode-top

本格的なドキュメントが用意されていて、まだ一部しか読んでないのですが、いくつか紹介します。


👴 コメント

👵 改行入り
複数行コメント 👵

老人」の絵文字が一行コメント。老婆で挟むと複数行のコメントも書けます。


🍮 index 35
🍮 isAvailable 👍
🍦 limit 12
🍦 GREETINGS 🔤This is a string.🔤

プリンが変数宣言、ソフトクリームはconst変数(凍ってるから)。true/false の 👍/👎 はわかりやすいですね。

🔤 が文字列を表す絵文字で、🔤自身を文字として扱いたいときは❌🔤でエスケープするそうです。

制御文やクラス定義なども、当然に専用の絵文字が用意されているのですが、読んでて頭が痛くなってきました。

基本的なライブラリも、当然ながら絵文字で提供されています。

本に挟まるしおりの絵文字 📑 が、ファイルシステム。複数の本の絵文字 📚 は、データベースクラス、 💬 がSQLクエリクラスです。

キーボードの絵文字⌨ はキー入力イベントクラスで、エラークラスは回転灯の絵文字 🚨

トップに出ているサンプルコードは、フィボナッチ数列を表示するもので、こんな感じに。


🐇 🏤 🍇
🐇🐖 🏁 ➡️ 🚂 🍇
👴 Let’s print a few fibonaccis.

🍮 i 0
🍮 a 0
🍮 b 1

🔁 ◀️ i 15 🍇
🍮 r ➕ a b
🍮 a b
🍮 b r
😀 🔷🔡🚂 r 10
🍫 i
🍉

🍎 0
🍉
🍉

「プログラマーになるにはどうしても英語が必要」という悩みから、日本語プログラミング言語なども昔から多数登場していますが、絵文字なら言語非依存で世界中の人が理解できる… かもしれません。

記号プログラミングといえばAPLという前例がありますし、Unicode絵文字の登場はAPL的なものの復活につながったりするのかも。

今の英語ベースのプログラミング言語に慣れた身としてはつらいですが、新規の学習だと意外と行けそうな気もします。

via Hacker News

住所から、その近くのYouTube動画を検索する

YouTube の API では、動画に関連した座標情報が取得できるようですね。YouTube 本体の検索ではどうやるか見つけられなかったので、API でだけアクセスできる情報なんでしょうか。

Google 自身による API 利用サンプルのデモとして、geoサーチサービスが公開されているのを知りました。座標や住所を入れると、その近くの動画を列挙してくれます。

こちらが、「東京都中央区日本橋」で検索した結果

youtube-geo-search-screenshot

これ、最初見たときはアップロードした動画の中にある情報を使ってるのかと思って驚きましたが、さすがに本人が知らないのに住所と関連づけられたりはしていないでしょう。東京の真ん中で検索してもあまり密度濃く出てこないですし。

YouTube の動画管理ページの方に、位置情報を入れるフィールドがあり、そこで明示的に座標を入れている動画が出てくるようです。

自分で「場所を出しても良い」と判断している投稿者の動画だけがあるなら、まあそんなに危険はないんでしょう。旅行先での動画とか、お店の宣伝動画とかは、むしろ積極的に位置情報を入れていくのが良さそうですね。たまに個人 YouTuber が家で撮ってるような動画も出てくるのはわかりませんが。

YouTube上で東京都中央区日本橋という言葉で検索した場合とは、明らかに異なる結果です。こちらは、住所「名」で検索したら、当然ながらタイトルに「日本橋」とか入っている動画がたくさんでてきます。

Google 自身によるサンプルのデモサイトなので、ソースコードも入手できます。ソース中でなぜか車のメーカーの名前をフィルタしたりしてるんですが、取り除かないと車名が入った動画がたくさん出てくるんでしょうか。

via Hacker News

Megabite – 並んだ食材から福笑いのように顔を作るアルゴリズム

Megabite は、皿に盛った料理の写真をパーツとして、福笑いのように顔を作るアプリだそうです。

考えてみよう、食べ物もハッピーに見えるに越した事はない。あるランチの時、料理で遊んでるときにふと思ったんだ – このプロセスは自動化できるのでは? 解決すべきビッグな問題がここにあるじゃないか。Let’s face it, food is more fun when it looks happy. I was playing with my food one lunchtime, and I wondered to myself – would it be possible to automate this process? Solving the big problems right here.

megabite

このアプリは画像中の皿に乗った食べ物を個別に切り出し、それをより興味深く並べ替えます。

作者の解説するアプリの全行程は以下のようなもの。

  • 食べ物の写真の撮影とリサイズ、丸く切り出し
  • 輪郭の抽出、閉じてない(例: Cのような形の)輪郭の除去
  • 重複した輪郭や多重の輪郭(例: 目玉焼きの中の黄身)の除去
  • 抽出した要素を含む最小の長方形の決定
  • 要素の数に応じた3つの顔型のテンプレートからの選択
  • テンプレート中の要素の形に合わせて、どの食べ物をどこにはめるかの判定
  • 要素に最もフィットする方向に食べ物を回転
  • 食べ物をポップさせたりしながら、回転して最終形を表示する

動画でアプリが動く様子が見られます。

ツールはiPhoneアプリとして作成されていますが、iTunes Storeには見当たらないので一般公開してないか、申請中なのかもしれません。ソースコードがGitHubで公開されているので、自分でビルドすれば試せるかもしれません。

via Hacker News