サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
shtaxxx.hatenablog.com
macOS Sierraでは(現状)Karabinerが動作しないため,標準でEmacsキーバインドが利用できないアプリケーションにもEmacsキーバインドを割り当てることができずに困っていた.英かなでもキーバインドの変更が可能であるが,一部のアプリケーションでは一部のキーバインドを無効にしたい場合には対応していないため,Hammerspoonを使ってみた. 下記の記事に倣って,Hammerspoonをインストールし,.hammerspoon/init.luaを書いた. qiita.com 自分の設定ファイルは以下の通りである. Word,Excel,PowerPointだけで良かったのだが,面倒だったので,アプリケーション名がMicrosoftを含むとき時だけアクティブになるように設定した. その他のアプリケーションでも同様の方法で設定できるはず. local function keyC
Queue.put()とQueue.getを使う. import threading import thread from Queue import Queue def threaded_func(a, b, q): #return a + b ret = a + b q.put(ret) def main(): q = Queue() th = threading.Thread(target=threaded_func, args=(1, 2, q)) th.start() th.join() rslt = q.get() print rslt if __name__ == '__main__': main()
Veriloggen 0.5.0をリリースしました。Python 3.5をサポートしたり、遅延評価・合成の仕組みを入れたり、かなり意欲的な更新です。 github.com 最近、GoogleのTensorFlowが流行っていますね。データフローですね。そこで、今回の目玉は、パイプライン回路をお手軽に設計できる、データフローライブラリ(lib.dataflow)です。 データフローライブラリを使えば、、制御信号(ready, valid)を持つ、RTLでの設計が面倒なパイプライン回路をPythonだけで設計することができます。しかも、データフローの可視化にも対応しています。 更に、シミュレーションライブラリ(lib.simulation)を使えば、Pythonだけでそのまま回路シミュレーションもできます。 では早速試してみましょう! 準備(ダウンロード&インストール) 以前の記事を参考にイン
はじめに 高位合成友の会の第3回が12/8に開催されるらしいです。 (僕はPythonでのハードウェアメタプログラミングの話をします。) hls.connpass.com プログラムによると、PolyphonyというPythonベースの高位合成コンパイラの発表があるらしいです。Pythonで高位合成コンパイラを作っている自分としては、これは試さずにいられない!ということで、早速試してみました。 ダウンロード 公式Webからダウンロードしましょう。将来的にはオープンソースになるようですが、現在(11月12日)はzip化された実行形式のみが利用可能です。 http://www.sinby.com/PolyPhony/we-need-your-feedback.html 実行権限が必要なので、chmodしましょう。 chmod 755 polyphony コンパイル対象のPythonのソースコー
Veriloggenをいろいろ更新し,Version 0.4.3をリリースしました. github.com 同時にPyverilogも1.0.1をリリースしました.テスト周りを補強しリファクタリングを行った安定版です. github.com 準備: PyverilogとVeriloggenのインストール 安定版のインストールなら,pipでのインストールが簡単でおすすめです. メインの開発環境が汚れるのが心配な方はvirtualenvを使いましょう. virtualenvを使う場合には,以下の手順でインストールできます. Python以外のソフトウェアとしてIcarus verilog (iverilog) が必要です. 例えばUbuntuなら, sudo apt-get install iverilog とすればイントールできるでしょう. Pythonのパッケージでは,Jinja2が別途必
以前にscreenのhardstatusに表示されるウィンドウタイトルを現在実行中のコマンドに設定する方法の記事を書いたが,今回はその更新版. screenの各ウィンドウのタイトルを,コマンド実行中はそのコマンド名に自動で設定し,そうでなければ現在の作業ディレクトリ名に自動で設定する. bashとtcshの2つのシェルについてその方法は以下の通り. zshの場合にはおそらく,tcshの場合と同じようにprecmdを設定すれば,同様のことができるはず(未確認). 設定するとこんな感じで,screenのtitleが自動で設定される. ウィンドウ1ではemacsを,2ではtopをそれぞれ実行中.3では現在workディレクトリにいて,コマンドは実行していない. bashの場合,PS1とPROMPT_COMMAND変数を設定する. ## .bashrc if [ $TERM == 'screen'
海外出張の帰りの飛行機の中でちょっと暇だったので,Verilog HDLのソースコードをPythonで組み立てるためのライブラリを作りました.Python2.x, 3.x両対応です. github.com pypi.python.org PyCoRAMなどの高位合成(動作合成)系のようにPythonのソースコードをVerilog HDLに変換するのではなく,PythonでVerilog HDLの抽象構文木(AST)を組み立てるためのライブラリです. Veriloggenの名前は,PyCUDAなどで使われている,C/C++のソースコードをPythonで組み立てるライブラリのcgenに倣いました. そのため,通常のRTL設計と同様に,プログラマが明示的にクロックサイクルレベルで回路の振る舞いを定義します. 同様のライブラリとしては,MyHDLがあります.MyHDLとの大きな違いは,Verilo
親ディレクトリの子ディレクトリ,つまり自分と同じ深さのディレクトリをimportしたいときに検索パスを追加する, 例えば ~/proj/dirA/ ~/proj/dirB/ と2つのディレクトリがあったとする.このときに,dirB中のスクリプトからdirAをimportしたい場合には, sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ) と検索パスに親ディレクトリを加える1行をdirB中のスクリプトに追記することで,同じ深さのディレクトリをimportできる. os.path.abspath(__file__)にos.path.dirnameを2回適用することで,現在のファイルの絶対パスから親ディレクトリの絶対パスを生成している. 単純に"../"としないのは,上の例におけるpro
Pyverilogは,ハードウェア記述言語Verilog HDLで記述されたハードウェアデザインの解析とコード生成を行うための,Python実装のツールキットです. githubからダウンロード Pyverilog: Python-based Hardware Design Processing Toolkit for Verilog HDL 構成 Pyverilogは4つのツールで構成されています. 構文解析器 (vparser) データフロー解析器 (dataflow) コントロールフロー解析器 (controlflow) コード生成器 (ast_code_generator) すべてのコードはPythonで記述されており,全体で12,000行程度とコンパクトなツールに仕上がっています. 構文解析器 構文解析器は,最もポピュラーなコンパイラコンパイラLex-YaccのPython実装の
仮想ウィンドウシステムscreenではhardstatusの設定をすることで,こんな感じに現在のウィンドウ一覧を画面下方に表示することができます. ウィンドウ名はデフォルトではシェルの名前(bash使いの僕の場合はbash)となっています. コマンドを実行することで手動で設定することも可能ですが,いちいち変更するのは面倒なので,現在実行中のコマンドの名前に自動で変更されるようにします. .screenrc 僕の.screenrcはこれだけです.短い.あまりうまく使いこなせていないと思います. エスケープキーはzに変更してあります. startup_message off shelltitle "$ |bash" hardstatus alwayslastline "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %Y %m/%d %C%a "
先日の飲み会で話題に上がった,電気科名言集botを作成しました. @denkika_meigen mixiコミュニティのトピックに投稿されている名言の中からランダムでひとつをtwitterにつぶやくrubyスクリプトです. MacOS 10.6 と CentOS 5.5の2つの環境で動作を確認. # CentOSの方では最後に例外が発生するけど動作する,要注意→rubygemsにてjson 1.4.6を導入することで解決 rubyのバージョン MacOS X 10.6 ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10] CentOS 5.5 ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-linux] rubyライブラリにはrubygemsを使用 rubygems 1.3.7 twitter
久しぶりの投稿です. ローカルネットワーク以外で公開されているsambaサーバ(smb)にssh経由でアクセスする方法. loopback(localhost)に127.0.0.1以外のIPアドレスを割り当てる ここでは IPアドレス 192.168.100.40 サブネットマスク 255.255.255.0 とする.このときローカルネットワークで使用していないIPアドレスを使用すること. $ sudo ifconfig lo0 alias 192.168.100.40 255.255.255.0 sshでポートフォワーディングを行う sambaで使用するポートは139番.よって接続先sambaサーバの139番を192.168.100.40の139番にポートフォワーディングする.ここでは sambaサーバのIPアドレス 172.16.200.60 リモートsshサーバのアドレス hoge.
@shtaxxxです. 2010年10月2日に産業技術高専(南千住)で開催された高専カンファレンスに参加してきました. 自分の発表 4度目の参加,3度目の発表です. 過去の発表資料はこちら. 中身が見える計算機システムMieruPCって何?at 高専カンファレンス 2009春 in 東京 LT FPGAではじめるハードウェア設計 at 高専カンファレンス 2009 in 東北 今回は高専カンファレンス初の試みである,アンカンファレンス形式による発表が行われました. 僕は,会場3(#kc3)のラスト枠にて, 「(残り)15分で作るCPU Verilog HDLライブコーディング」 という題で発表させていただきました. 前日の夜に発表資料とオリジナルISA用の簡単アセンブラを作り, 当日は会場でアセンブラの修正とライブコーディングのひな形を作るものの, 全然間に合いませんでした. ちゃんと準備
09/12/28 Googleで"Mac eps"で検索するとかなり上位にこのページがヒットするので,読みやすく書き換えることに. TeX環境 Windows(最近WindowsでTeX編集してないなー) コンパイル: 角藤さんのTeX 編集: Meadow + YaTeX EPS作成: EPS-conv: bmpなどのファイルからepsへ変換 wmf2eps: PowerPointなどで作成した図をクリップボード経由でepsへ変換 Mac OS X 10.6 コンパイル: MacPortsにてpTeX $ sudo port install pTeX +euc +no_x11 編集: Carbon Emacs (最近は使っていないが+YaTeX).なんだかんだでMakefileでやる方が自分には合っている. EPS作成: ImageMagick: ファイル変換.MacPortsにてインス
このページを最初にブックマークしてみませんか?
『shtaxxx.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く