ラベル 勉強会 の投稿を表示しています。 すべての投稿を表示
ラベル 勉強会 の投稿を表示しています。 すべての投稿を表示

2014/07/05

KPFを開催します。8/9(土) #KPF09 #KPF

Kumamoto Programming Freaksがプログラミング好きな人にお送りする勉強会

  • オレの大好きな○○の話を聞いてくれ!
  • こんなの作っちゃいました!
  • LTしたことないけど話たいことがあるんだ!
  • とにかくオレの話を聞け!

みたいな人を囲んでわいわいやるスタンスです。参加登録はこちら↓

参加人数枠は20人ですが、たぶんもっと入るので確認中です。LTerも募集中です。


今回の目玉

2014年5月30日発売「はじめてのClojure (I・O BOOKS) 」の著者:登尾徳誠さん(@tnoborio)を迎えての開催です。

「Clojureで起業しよう!Clojure事始め。」というタイトルでお話して頂きます!


KPFは普段どういう内容か?

これまでのタイトルをいくつか抜粋すると・・・

  • 動画をAAに変換
  • ブラウザでMapReduce風味の並列分散処理
  • 組み込みScheme(NXTを制御するNXT-SchemeとSchemeコンパイラを作ってみた)
  • Gauche拡張パッケージ開発(OpenCVのGauche拡張パッケージGauche-CVの実装)
  • 会社の仕事でLispを使ってみた
  • 関数型言語と定理証明
  • Processing×Webの薄い本ください ~Processing.jsについて~
  • Lisp入信
  • GaucheでS式でリモートクエリでevalでAjaxで
  • プログラマ辞めました
  • KinectとProcessingで二次元へイブしよう!!~好き好き大好きProcessing愛してるよぉぉぉぉ~
_人人人人人人人人人人人人人人人人人人人人人人人人人_
> ~好き好き大好きProcessing愛してるよぉぉぉぉ~ <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

ログが残っている全タイトルは下記のとおりです。 Lisp成分多少しめ、タイトル未定率高いのは「とにかく話したい」系なのか。


これまでのタイトル

  • Ruby + JS to Roptotype
  • プログラミング言語Scheme
  • Silverlight
  • scheme
  • 動画をAAに変換
  • scheme
  • WPF(Windows Presentation Foundation)の初歩的な内容について
  • ブラウザでMapReduce風味の並列分散処理
  • C#:デコレータパターンで認証画像ジェネレータ
  • arduinoの話
  • Agdaという先進的な言語について
  • Pepperで緊急事態っぽくしてみた
  • C#資格試験レポート
  • Visual Studio SDKに入っている拡張機能について - Microsoft DSL Tools、Managed Babel(MPPG/MI)
  • 数字遊び(SchemeとJavaScriptでライブコーディング)
  • R事始
  • プログラマもハードウェアで遊ぼう
  • MUMPSデモ
  • Schemeでプログラミング言語を作ろう!
  • 組み込みScheme(NXTを制御するNXT-SchemeとSchemeコンパイラを作ってみた)
  • Gauche拡張パッケージ開発(OpenCVのGauche拡張パッケージGauche-CVの実装)
  • C#で作るWindowsのWindowを制御するDSL
  • 会社の仕事でLispを使ってみた
  • RSS配信システムを適当に作ってみた
  • Twitterユーザー専用のはてブみたいなものを作ってみた
  • 関数型言語と定理証明
  • プログラミング、デザイン、アート、スタートアップ、
  • FPGAの中身
  • タイトル未定
  • サーバ系勉強会について考える(OSC熊本開催に向けて)
  • はじめてのいーまっくす!
  • タイトルが決まらん
  • KinectとProcessingで次元へイブしよう!!~好き好き大好きProcessing愛してるよぉぉぉぉ~
  • Gaucheでライブコーディング(Gauche+Vim+SDL+OpenCV)
  • 内容が未定
  • 記号プログラミングの話をちょっと
  • みてい
  • C# であそぼう : C# で動的にあそぶ / C# で非同期にあそぶ
  • Lisp入信
  • 競技プログラミングの話
  • 明星和楽の話
  • Lispのマクロ入門
  • SICPを読み始めたよ!
  • タイトル未定
  • GaucheでS式でリモートクエリでevalでAjaxで
  • GaucheでLISPなVimScriptのお披露目
  • タイトル未定
  • webアプリケーション開発の何か
  • Processingが教えてくれたこと
  • プログラマ辞めました
  • 変更…
  • Processing×Webの薄い本ください ~Processing.jsについて~

皆さんの参加をお待ちしております。

2012/03/07

KPF(熊本プログラミングフリークス)の勉強会を開催します

ブログで告知するの久しぶり。 プログラミングが好きな人は参加すると楽しいと思います。これからプログラミングを始めたい人、LTしてみたい人、ヘンタイ(いい意味)、仕事のプログラミングで悩んでる人、面白いもの作ったので発表したい人、変な人(面白い人・すごい人)に会いたい人など、これまでいろんな人に参加して頂いてます。

2012/03/31(土)の13時からです。会場は東海大学熊本キャンパスにお世話になります。ひやかし、のぞき見、歓迎します。

LT応募多すぎて入り切らないかもしれません(笑)

2011/10/23

熊本プログラミングフリークス(KPF) #x06 を開催しました。



2011/10/22(土)、1年半くらいぶりにKPFを開催しました。

たくさんの方々に参加して頂きました。
やっぱり楽しいですね、勉強会は!
やっぱり楽しいですね、懇親会が!

今回も東海大学熊本キャンパスの先端技術コミュニティACOTさんのご好意により会場を提供して頂きました。KPF9LISPの開催時はいつもお世話になっています。いつも本当にありがとうございます!


KPF TL

とりあえずKPF、#KPFを含むつぶやきをとぅぎゃりました。 誰でも編集できるようにしてあるので、追加したり、不都合なものがあったら編集してください。

LT

こんな内容でした。
  • @snisimu
  • @shunsuk
    • プログラミング、デザイン、アート、スタートアップ
  • @koki_h
    • RSS配信システムを適当に作ってみた
  • @aharisu
    • 組み込みScheme(NXTを制御するNXT-SchemeとSchemeコンパイラを作ってみた)
    • Gauche拡張パッケージ開発(OpenCVのGauche拡張パッケージGauche-CVの実装)
  • @valvallow
    • C#で作るWindowsのWindowを制御するDSL
  • @MatsumuraKs
    • Schemeでプログラミング言語を作ろう!公開ソースコードリーディング(?)
  • @kikuchan98
    • 音について

当日飛び込みのLTや、ておくれLTもあって盛り上がりました。

恒例のEmacs派vsVim派のアンケートでは、毎度のことながらVim圧勝でした。
ということで僕は布教を兼ねてfukuoka-emacsに引き続き、スライドではなくEmacsで発表しました。

発表するのにスライドが必要なら、まずはそのふざけた幻想をぶち壊す!
(準備不足でスライドのドラフト(Emacsのorg-modeとiimage)を使って発表しました)

ポジションペーパー

参加者の方には自己紹介の時間に使うポジションペーパーを作成してもらいました。
先日参加したfukuoka-emacsで採用されていた方法がとてもよかったので、真似させてもらいました。


9LISP

KPFの分科会である9LISPもよろしくお願いします。
6月以降停止中ですが、近々再開したいと思っています。



参考



2011/08/07

#セキュリティさくら に参加してきました

Posted using Mobypicture.com
ブログに参加レポートを書くまでが勉強会ということで。
(写真は懇親会で食べた@tanakakaさん撮影の馬刺し)

セキュリティさくら


他の参加者のレポート


開場の雰囲気

  • 30人くらいの参加者
  • 学生多い(3割以上?)
  • 10代の参加者も
  • ソフトウェア系の技術者多め
  • 福岡を中心に他県からの参加者も多数

感想

楽しかった!
@greenz_greenzさん主催/幹事お疲れ様でした!

熊本にも変な人(イイ意味で)がたくさんいるんですね。
勉強会に参加するといろんな人に会うことができるので、やっぱりそこが一番楽しいです。
Pythonでlambda乱用プログラミングしてる15歳ェ・・・
Gentoo連呼したりLinuxカーネルを読んでる16歳ェ・・・
(一応軽くLispを勧めてみましたが反応薄め。。OCamle, Haskellの方が人気っぽい)

あとやっぱ懇親会が楽しいですね。さくらだけに馬刺しだし。馬刺しうますぎ。

「セキュリティで飯を食ってる人」や「セキュリティが好きな人」の話を聞けるところも魅力ですね。むしろこれがメインですね。
リスクは0にできない!
セキュリティはトレードオフだ!

発表の内容については、公式ページや他の参加者の方にたくします。
オフレコの内容もあるし、できる範囲で発表資料の公開とかあるでしょうし、きっとね!

書籍

じゃんけんで白夜書房さんより提供の本をゲットしました!学生さんを差し置いて2冊も頂だいてしまいました。正直、普段手に取らない種類の本なので読むのが楽しみです。
わいrういろうもおいしく頂きました。
ありがとうございました!

他の勉強会の主催者や運営の方々の参加が多くて、勉強会運営の話も面白かった。
(最近滞りがちですが)私もKPF9LISPの主催者だったりします。

タイムライン

言い出しっぺの法則でトゥギャっときました。


セキュリティはなぜやぶられたのか

2010/10/20

熊本 #Emacs 的何か #Ekumacs !

正式アナウンスです。熊本でEmacsにまつわる何かをする会を企画しています。興味のある方はリプライください。ハッシュタグは #ekumacs にしようと思います。

技術系の勉強会や集まりがあまりなかった熊本でもいろいろ始まってきましたね!良いことだ!やったー!
私が知っている限りではこの辺りですが、Android に Ruby に Lisp に、今回 Emacs と・・・。結構とんがってるね熊本!

追記


Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

2010/05/06

9LISP - 015 やりました


2010/05/01 の 9LISP - 015 の参加者は私( @valvallow )と @aharisu さんの2人でした。
わりと雑談メインでした。
などの話。

@aharisu さんは、C# で R5RS に準拠(?)の Scheme 処理系を作ったことがあるそうです。その処理系を実装するなかで、マクロの実装を後に回したのは失敗だったということでした。
確かに、いくつかのプリミティブとマクロがあれば、残りはどうとでもなりそうな気もします。

私もその処理系を見せてもらったことがありますが、IL レベルでの末尾呼び出し最適化や、インラインで IL を書いてチューニングしてあるような、とんでもない代物でした。

私も C# は3年ほど仕事で使っていたので、ある程度は読み書きできます。しかし、IL なんて読めもしなければ書くなんてとんでもないです。うへー。



雑談しながら、@aharisu さんは、LET OVER LAMBDA Edition 1.0 の dlambda 限定の with を実装しようとしてました。
その後、どうなったんでしょう?

LET OVER LAMBDA Edition 1.0 の7章の Forth が取り合えず動かせるようにしていました。
このように、今回は特にテーマもなく、雑談しながらそれぞれ
あとは、ランチして解散。

LET OVER LAMBDA Edition 1.0

2010/04/18

9LISP - 012, 013, 014


まとめ(?)を書いていませんでした。

012

高階関数の練習問題などをやりました。高階関数の例題がなかなか思いつきませんでした。木構造関連の例題をやりました。何か良い例題というか問題はないでしょうか・・・。

午後は量子論。

013

マクロに入りました。
どのように進めて行くか話合いました。
何を作るか話し合いました。
午後は、きゅーりすぷたん検討会。(こっちの方が盛り上がったかもしれない)

014

  • Common Lisp処理系を入れましょう(次回までに)
  • Common LispとSchemeについて違いを少々
    • t, nil, (car '()), undef, defun, dynamic-scope, funcall, setf, zerop, など
  • quote類について
書けばイメージもそれなりに湧くはず、ということで。マクロは書かないと書けるようにはならない。たぶん。

例えば、PostScriptのこんなコードが・・・、
/x 10 def
/y 10 def
x y moveto
5 5 lineto
S式でこういう風に書けたら、うれしくね?
((let ((x 10)
       (y 10))
   (lambda (x1 y1)
     (moveto x y)
     (lineto x1 y1))) 5 5)
ということで。


私の端末には、CLISP, SBCL, AllegroCLが入っています。Emacs+SBCL+SLIMEでやってみることにします。そういえば今回、これがLISPだ! (Information & computing (30)) を始めて目にしました。


Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~LET OVER LAMBDA Edition 1.0初めての人のためのLISP[増補改訂版]

2010/03/10

9LISP - 011 をやりました

先週の土曜日に開催されました。
内容を書くのが遅くなってしまいました。

また、オンライン中継を行なう予定でしたが、ネットワーク不調のため急遽中止ということになり、オンライン参加予定だった方、のぞいてみる予定だった方、すみませんでした。
しかし、Google WaveとSkypeを使ったオンライン自習会が開催されたようです。すげー。

 

あと前回、「裸に見えるジェネレータ」について話が出てましたが、@aharisuさんがクローン(?)を作ってました(笑)前回9LISPの次の日には作ったんだとか。しかもandroidアプリにしてました(笑)@aharisuさんはいつもすごい。

 

概要

  1. 今後の進め方について
  2. 前々回、前回の復習
  3. 問題を解いてみる
  4. クロージャ
  5. C#とかJavaとか
  6. オンライン参加

1.今後の進め方について

  • 現在は高階関数をやっている
  • 次(継続)に進むか?それとも高階関数について深めるか?
    • もっと例題を解いてみたり、現実的な問題を解いてみよう
    • SICPの図形言語とかどうかな?
    • 次回までに高階関数、クロージャ関連の練習問題を探してみる

2.前々回、前回の復習

  • 前々回
    • The Little Schemer の rember(remove member), rember-f(高階関数) insertL, insertR, insert-g(高階関数)
  • 前回
    • map, fold, for-each を自前で定義してみる
    • fold, unfold とか

 

3.問題を解いてみる

  1. ループを使わずに配列を逆順に
  2. ループを使わずに1~10の総和を
  3. xにf, gを適用させるcompose
  4. xにn回fを適用するrepeated

1は最近、2は以前流行ってたので。3, 4はSICPの2章から。

関数合成、curry化、部分的なcurry化など。

コードは例えば以下のようなもの。

4.クロージャ

  • レキシカルスコープ
  • クロージャの簡単な例
    • counter など
  • C#のクロージャだとステップデバッグでわかりやすい
  • C#のラムダ式
  • クロージャで簡易OO的なもの
  • クロージャって、newしたクラスのインスタンスに似てるよね
  • クロージャがあればOOできるしOOがあればクロージャできる
  • map, for-each, fold の例、動作イメージなど

高階関数やクロージャに馴染みのない参加者の方もいます。ホワイトボードにたくさんSchemeのコードを書きました。

5.C#とかJavaとか

  • Javaのインナークラスでクロージャもどきできるよね
  • C#のクロージャも結局はインナークラスだよ
  • C#でクロージャ書いてdisasmしてILのぞいて見よう
  • クロージャをステップデバッグしてみよう

VSのステップデバッグわかりやすい。

オンライン参加

カメラ、多人数用のマイク、プロジェクターなど準備はできていたもののネットワーク不調によりネットできず断念。

  • 自習会が開かれた模様
    • Google Wave + Skype + Twitter

ネットワーク不調は改善されたようなので、次回こそは中継できそうです。

追記

オンライン自習会のまとめが書かれていました!

The Little Schemer, 4th Edition計算機プログラムの構造と解釈

2010/02/22

9LISP - 010 をやってきました

9LISP

Lispの勉強会を名乗っていますが、Common Lisp ではなく Scheme の学習を進めています。Common Lisp はその後の予定。

隔週の土曜日、午前10時から行なっています。毎回、勉強 → ランチ → 雑談 という流れです。

 

今回の参加者は4人と少な目でした。しかし、今回は遠隔地からskypeで@cametan_001さんに参加頂き、いつもと違った面白さがありました。

あと Google wave すげー!リアルタイムコード共有的な意味で。

 

今回の内容

前回は「Schemeで高階関数を書いてみよう」ということで、リストから要素を取り除くrember手続きを書き、段階を追ってsrfi-1のfilter相当の高階関数rember-fに書き換えていく、というようなことをやりました。リストに要素を加えるinsertR, insertL, insert-g(高階関数)も。

rember は The Little Schemer に出てくるもので、Remove Member ということで良いかと思います。insertR, L, -g も同じく The Little Schemer に出てきます。

 

今回は、

  1. map, for-each, fold を自前で定義してみよう
  2. unfoldっていつ活躍するんだろう・・・。そもそもunfoldって何がunなfoldなの?
  3. fold-rightってreverseとか使わずにスマートに定義できるの?

というようなことがありました。

1はともかく、2は放置、3はループしかないかな?ということでした。

 

ところでsrfiって「サーフィ」って読むんですね。まんまと「えすあーるえふあい」って読んでました。

 

オンライン中継

010からustreamとskypeでオンライン中継を行なうことにしました。

skypeの方、当初「9lisp」とATNDに書いてました。正しくは「qlisp」です。9lispで探された方、申し訳ありませんでしたorz

 

マイクが私の端末にしかなく、中継は終始グダグダになってしまいました。別途マイクを用意しようと思います。(次回準備できるかわかりませんが・・・)

グダグダな中継に付き合って下さった方々、ありがとうございました。

また次回からも行ないますので、気が向いたらのぞいてみてください。

 

The Little SchemerThe Seasoned SchemerThe Reasoned Schemerv

2010/02/08

KPF第五回勉強会やってきた



約200日ぶりという、かなり久しぶりのKPFでした。
内容はshunsukさんの記事をご覧ください。


やはり楽しいですKPF
とにかく皆さんしゃべるしゃべる(笑)

blogに書くことやtwitterで話すことと内容が同じでも、みんなと面と向かって話せるというのが楽しいんですよね。
別に高度であったりマニアックな話でなくても良いんです。

例えば、ネットでFizzBuzzが話題になってれば「これやってみよーぜ!」「じゃオレSchemeで書いてみる!」「じゃオレRuby!」とか、Y Combinatorの記事がホッテントリに入ってたから「自分もやってみたけど、さっぱりわかんなかった」「なにそれなにそれ」とか、「Haskell始めました」とか「Emacs派ですか?vi派ですか?」とか、「Android買ったよー!」「触らせてー!」とか、「Scala始めたんだけど、Androidでも動いたよー」とか、「GAEでClojure動いたよー」とか「感電した」とか「感電した」とか。

で、
ΩΩΩ<すげぇぇぇぇ!
とか
ΩΩΩ<なにそれうまいの?
って面と向かってワイワイ話せるのが楽しいんです。


ということで、身近に同好の士がいらっしゃらない方はサークル感覚で勉強会を始めてみてはいかがでしょうか。

しかしKPF、次回の開催は未定です(笑)

9LISP - 010


次回は2010/02/20(土)です。

9LISP - 009

9LISP の 009 回目を開催してきました。

午前中は9LISP、午後はKPFの第五回という楽しい一日でした。
内容はshunsukさんのこちらの記事をどうぞ。
9LISP では引き続きThe Little Schemerをテキストとして使用しています。
今回からはテキストを頭から順に進めていくスタイルを止めて、下記ポイントに絞って進めていくことになりました。
The Little Schemerでは末尾再帰とマクロについては扱われていませんし、継続渡しスタイル(CPS)の例も複雑で、正直わかりづらいです。
この辺はまたそのうち検討するということで。

継続についてはThe Little Schemerの続きであるThe Seasoned Schemerでページを割いてあるのでそちらも検討してみます。

今回は高階関数の例題を書いてみよー!ということでやってみました。
9LISP の参加者には高階関数やクロージャってなんぞ?な人から、息をするように使う人までいろんな人が参加しています。

高階関数やクロージャというのは、「概念そのものより説明することの方が難しい」という話が前回も出ていました。その点で「値渡しと参照渡し」とか「ポインタ」に似てるよねーと。たぶん継続もそうなんだろうね、ということでした。

ということで、説明うんぬんより実践あるのみということで以下の例題をやりました。
  1. 指定した要素をlistから削除するrember関数を定義する(つまりsrif-1のfilterのような関数)。
  2. list内に要素oldが存在した場合、その隣に要素newを挿入するinsert関数を定義する(挿入位置をパラメータの関数に任せる)。
実際にはまず非高階な関数を定義して、高階関数に書き換えてみる、という手順で進めました。
The Little Schemerの流れと同じです。
rember(非高階)


(define rember
  (lambda (a lat)
    (cond
     ((null? lat) lat)
     ((eq? a (car lat))(cdr lat))
     (else (cons (car lat)
                 (rember a (cdr lat))))))) 
multirember(非高階)

 (define multirember

  (lambda (a lat)
    (cond ((null? lat) lat)
          ((eq? a (car lat)) (multirember a (cdr lat)))
          (else (cons (car lat)(multirember a (cdr lat)))))))
rember*(非高階)

 (define rember*

  (lambda (a l)
    (cond ((null? l) l)
          ((atom? (car l)) (cond ((eq? a (car l))(rember* a (cdr l)))
                                 (else (cons (car l)(rember* a (cdr l))))))
          (else (cons (rember* a (car l))
                      (rember* a (cdr l)))))))
rember-f(高階)

 (define rember-f

  (lambda (test? a l)
    (cond ((null? l) l)
          ((test? a (car l)) (rember-f test? a (cdr l)))
          (else (cons (car l)
                      (rember-f test? a (cdr l)))))))
rember-f(高階)

 (define rember-f

  (lambda (test?)
    (lambda (a l)
      (cond ((null? l) l)
            ((test? a (car l))((rember-f test?) a (cdr l)))
            (else (cons (car l)
                        ((rember-f test?) a (cdr l))))))))
multirember-f(高階)

 (define multirember-f

  (lambda (test?)
    (lambda (a lat)
      (cond ((null? lat) lat)
            ((test? a (car lat))((multirember-f test?) a (cdr lat)))
            (else (cons (car lat)
                        ((multirember-f test?) a (cdr lat))))))))
というような流れです。2のinsertも同じように。

2のinsertの方は、The Little Schemerでは以下のような解答となっています。

 (define insert-g

  (lambda (seq)
    (lambda (new old l)
      (cond ((null? l) l)
            ((eq? old (car l))(seq new old (cdr l)))
            (else (cons (car l)
                        ((insert-g seq) new old (cdr l))))))))
参加者の方からも「冗長だよねー。」とか「きっともっとスマートに書けるはずだよねー、でもどう書いたらスマートだろう?」というような声がありました。

私もそう思います。ということで、考えて書いてみましたが、こんなんでどうでしょうか。srfi-1のfold-rightを使用しています・・・。


(define insert-g
  (lambda (set-f)
    (lambda (new old lat)
      (fold-right (lambda (e l)
                    (cond ((eq? old e)(set-f new old l))
                          (else (cons e l))))
                  '()
                  lat))))

ところd、foldって言語によってfold, reduce, inject, aggregateというように呼び名が違うらしいですね。

The Little Schemer, 4th EditionThe Seasoned Schemer