August 2013 About a year ago, I was using NetworkX (a Python package for studying graphs) for one of my projects. While I was working on it, I found that the topological sort implementation in NetworkX was very slow on large-scale instances. So I decided to take a look at it, hoping I can figure out what's wrong and fix it. In the end, I sped up considerably the implementation. Here is how I did i
a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)
The document discusses Python generator functions and expressions, providing examples of how generator functions can be used to iteratively yield values like in a countdown, and how generator expressions are similar to list comprehensions but produce values iteratively instead of building a list. The document also discusses using generators to process data files like summing the bytes transferred
Resource management in Python 3.3, or contextlib.ExitStack FTW! Written by Barry Warsaw in technology on Fri 10 May 2013. Tags: python, python3, ubuntu, I'm writing a bunch of new code these days for Ubuntu Touch's Image Based Upgrade system. Think of it essentially as Ubuntu Touch's version of upgrading the phone/tablet (affectionately called phablet) operating system in a bulk way rather than pi
Envelopes is a tiny library I wrote to make working with Python’s email and smptlib packages simple and fun. Envelopes abstracts all the weird stuff about Python’s outgoing e-mail tools and makes composing and sending e-mails simple. It supports all the features you’d expect it to support - long and short e-mail addresses, text and HTML bodies, CC and BCC fields, standard and custom headers, file
概要 コピーしておいた文字列を任意の単語や文章の代わりにペーストしたい このヒドイ文章のtypoを、修正したい def hoge text = "A long time ago in a galaxy far far away" puts test1 # => puts text puts xtex2 # => puts text extt3_array = twxt4.split(" ") # => text_array = text.split(" ") puts txet5.gsub(" ", "¥n") # => puts txet.gsub(" ", "¥n") end textをヤンクして、txet xtex extt twxtの箇所にペーストしてやれば良い。 こういうとき、最初のtestをvisualモードで選択してペーストして、次のtxetも同様にペーストしようとすると思い
I am pleased to announce that Issue 22 of The Monad Reader is now available. Issue 22 consists of the following three articles: Generalized Algebraic Data Types in Haskell by Anton Dergunov Error Reporting Parsers: a Monad Transformer Approach by Matt Fenwick and Jay Vyas Two Monoids for Approximating NP-Complete Problems by Mike Izbicki Feel free to browse the source files. You can check out the
Note: because these articles usually contain inline code examples it is highly likely that they will not display properly in your feed reader. To see this article as it was originally written please visit: http://thingsaaronmade.com/blog/writing-an-s-expression-parser-in-ruby.html S-Expressions are a very versatile syntax for defining data structures and program code that are used by most Lisp-der
圏論への入門の仕方 ホモロジー コホモロジー 関数のつながりにくさと(コ)ホモロジー 完全系列と圏論的視点 目次 圏論への入門の仕方 ホモロジー 付記:ホモトピーとホモロジーの違い コホモロジー 関数のつながりにくさと(コ)ホモロジー 完全系列と圏論的視点 制約としての完全系列 付記:加群のホモロジーとTor 圏論への入門の仕方 圏論を学ぶきっかけとしては、だいたい 計算機科学、論理学から ホモロジー、代数幾何から の二つがあって、一見すると計算機科学、ロジックの方から入った方が(数学の前提知識をあまり必要としないこともあって)易しいように見える。 でも現実には往々にして、わざわざ圏論という概念を導入する動機やメリットが見えてこないまま色々な言葉の説明がひたすら続いて挫折することになる。高校あたりで「三角関数とか対数とか何の意味があるんだ」「こんなこと何の役に立つんだ」とか言いたくなるのと
As many of you are probably already aware, Mozilla has recently gotten into the mobile OS space with Firefox OS. Firefox OS is built using web technologies like HTML, CSS, and of course Javascript. All Firefox OS apps are built on these technologies, including core platform apps. Given that app logic in Firefox OS will be written in Javascript, one of the questions facing Mozilla’s Javascript engi
Learn Datalog Today is an interactive tutorial designed to teach you the Datomic dialect of Datalog. Datalog is a declarative database query language with roots in logic programming. Datalog has similar expressive power as SQL. Datomic is a database with an interesting and novel architecture, giving its users a unique set of features. You can read more about Datomic at https://datomic.com and the
I’m going to make a bold proclamation. I’m not going to claim that Clojure will ever become the most popular language, but it will win in the next 15 years in a major way, because it is already one of the most interesting, and all signs show that it will continue to build momentum,. This is independent of what happens with the Java ecosystem; Clojure will be ready to go off of the JVM if it needs
最近はgolangがアツいらしい。ちょうどRebuild: 15: After Google Reader, DIY Blogging, The Go language (typester)でtypesterさんがgolangについて触れていたのを聞いて、試しに触っていたがなかなか便利であることがわかった。 golangの印象としては go get、go runにgo build、そしてgo testが便利 go fmtのようなコード整形ツールがついてくるのは嬉しい (ただ、インデントがハードタブなのはちょっと時代遅れな気がする) 標準packageが充実しているのが頼もしい golangのマスコットキャラクターであるGopherがかわいい (Gopher人形欲しい) といった感じ。 ←かわいい golangの入門ということで、skkservを実装してみる。skkservというのは、ほとん
タイトルは今日のネタから頂きました。与沢さんじゃないです。 さて本日TypeScript 0.9.1がアナウンスされたので、変更点などを見てみます。 Announcing 0.9.1 - TypeScript - Site Home - MSDN Blogs コンパイラの高速化 0.9でさんざん遅くなったと言われていたコンパイル速度が、0.8と同等かそれ以上に高速化されたとのこと。 実際手元の小さいプロジェクトでコンパイルしたところ、たしかに2.8秒程度のコンパイルが2.0秒で終わるようになりました。ちゃんとベンチマークはしてないですが、それなりに速くなってるみたいです。 Type Queries(typeofによる型指定) アナウンスを見ても意味がよく分からなかったのですが、仕様書(pdf)を見たらわかりました。 型指定の場所でtypeofを使って別の変数の型を指定できます。 なので、こ
Flask is a powerful and flexible micro web framework for Python, ideal for both small and large web projects. It provides a straightforward way to get a web application up and running, with all the features that you need to get started. Over the course of this tutorial, you’ll explore the process of creating a boilerplate for a Flask web project. This boilerplate will serve as a great starting poi
Test-driven system administration with a little extra logic. View the Project on GitHub larsyencken/marelle Download ZIP File Download TAR Ball View On GitHub Marelle ("hopscotch") Test-driven system administration in SWI-Prolog, in the style of Babushka. Marelle uses logic programming to describe system targets and rules by which these targets can be met. Prolog's built-in search mechanism makes
Bluish Coder Programming Languages, Martials Arts and Computers. The Weblog of Chris Double. At a recent functional programming meetup I was discussing with a colleague about how nice it would be to be able to use Rust in Gecko. This made me curious if it was possible to implement libraries in Rust and call them from C. After the meeting I asked in #rust and got pointed to some projects that showe
I’ve finished my next project. It’s called the Fractal Machine. It’s a geometry tool that draws base-motif fractals from five inputs. If you are unfamiliar with them, fractals are shapes that exhibit self similarity at different scales. This particular type of fractal is created by substituting every line with a shape called the “motif” a number of times. The Controls Base changes the base shape t
一般に、データ分析の大半はそれほど高度なテクニックの類を必要としないものです。僕も常日頃から口に出して言うことが多いんですが、「統計学だの機械学習だのの出番なんてそもそも少なくて当たり前」。工数もかかるし、できればやらない方が良いです。ぶっちゃけ単純な四則演算で十分なケースの方が多数派でしょう。 なので、普段はDB上でSQL(というかHiveなど)でサクッと四則演算だけで集計処理を済ませてしまって、その結果だけを表示するようにしておいた方が圧倒的に楽で手っ取り早いはず。多くのBIツールもそういう考えのもとで作られていると思います。 ところがどっこい。世の中には、単純な四則演算での集計結果と、データサイエンスを駆使した分析結果とで、食い違ってしまうケースが何故かあることが知られています。どちらかと言うとレアケースだとは思いますが、その矛盾をおざなりにするととんでもないことになることも多々あり
Testing is vital. Without properly testing your code, you will never know if the code works as it should, now or in the future when the codebase changes. Countless hours can be lost fixing problems caused by changes to the codebase. What’s worse, you may not even know that there are problems at all until your end users complain about it, which is obviously not how you want to find out about code b
2013.08.06 Railsでbefore_filter/before_actionがアクションを中止する仕組みを読んでみる 大昔のRailsでは、before_filterでfalseを返すとそこでchainが終わる、とやっていた気がしますが、今はそういうコード見ないですよね。 Rails 4だとこんなノリでbefore_actionでredirectして はいおしまい、ってやりますよね。 class UsersController < ApplicationController before_action :my_authenticate_admin def my_authenticate_admin unless current_user.admin? redirect_to root_path end end end 当然、以後のbefore_actionやactionは実行さ
夏だ! 海だ! 為替取引で大儲けだ! 近年、「遊ぶ金ほしさ」を理由に犯罪に手を染める若者が増加している。そこでの本質的な問題は遊ぶ金がないことであり、それを効率的に入手する手段が求められている。本記事では、効率的に遊ぶ金を入手する手段として為替取引に着目し、社会問題の解決を図る。 僕は修士課程2年の情報系学生であり、バイトもせずデータ分析の勉強などを(半分本業、半分趣味で)行なっているのですが、やはり親の金で遊び歩くのもなあと思うので、データ分析と為替取引でさくっと遊ぶ金を手に入れられたらいいなあと思っています。ゆえにこの問題にトライします。もちろん本当に儲けられるとは思ってないです。夏休みの自由研究みたいなものです。 今日はとりあえず、分析のために過去十数年分の為替データを手に入れて軽く加工するところまで。 プログラムで為替取引をするといっても、やはり戦術は人間が決めなければなりません。
We’re happy to announce the release of TypeScript 0.9.1. With this version we’ve focused on fit and finish, improving the compiler performance and rounding out the language and ASP.NET support. Improved Performance When we released 0.9.0, we introduced a re-written compiler and language service which scaled better for interactive use cases and supported many new 0.9 language features, including g
「食と機械学習」のコラボレーションをできないかと最近常々考えています。例えば、「地球上に存在する全ての料理本を何らかのアルゴリズムに入力し、人間にとって『美味しい』レシピとはどういう特徴を持つかを学習し、今まで人類が食べたことのないような斬新なレシピを自動生成する」ことが出来たとしたら素晴らしいとは思いませんか? レシピの自動生成はさすがに難しそうなので、今回は人気になるレシピに共通する特徴は何かという問いに答えることを目標とします。具体的には、Cookpadのレシピが与えられたとして、そのつくれぽ数を予測する問題に挑戦してみます。レシピが人気になるか否かの要因としては、どういう材料を使用するか、レシピがどれだけ健康的か、またどれだけ手軽に調理できるかなど様々な要因が考えられますが、今回特に興味があるのはレシピの名前や紹介文などの文章の言葉遣いがそのレシピの人気度にどのような影響を及ぼすか
今回は数理情報学第1研究室の本多淳也さんに発表していただきました。タイトルは「多腕バンディット問題における漸近最適戦略について」です。本多さんは数理4研で修士をされ、その後数理1研で博士号を今年3月に所得し春から1研で助教をされています。本多さんは情報理論と統計的機械学習の両方に興味をお持ちで、今回の話は主に後者の問題を扱っています。 多腕バンディット問題というのは、ギャンブラーがスロットマシンで金儲けを狙う場合に、 $k$台ある性能の異なるマシンの中から$n$回($n>> k$)プレイする中で各マシンの報酬の期待値を推定し、それに応じて各台のプレイ回数を報酬ができるだけ大きくなるように決める問題です。仮定としては各マシンの報酬がある確率分布の集合に属すること、またその集合(例えばベルヌーイ分布、または正規分布であること)は既知であることです。応用例はギャンブルの他にいくつもあるそうです。
The high-speed HTTP middleware proxy for PythonFast build for speed Fast HTTP parser written in C with much of the code based on the Joyent HTTP Parser Utilizes Tornado Async I/O Cloud ready Built to meet the scale of today's Cloud deployments on multiple servers - whether they are virtual or bare metal Open Source on GitHub Open Source has long inspired us to create projects in the open, to gathe
I’ve been using tmux for about six months now and it has become just as essential to my workflow as vim. Pane and window management, copy-mode for navigating output, and session management make it a no-brainer for those who live in the terminal (and especially vim). I’ve compiled a list of tmux commands I use daily to help me work more efficiently. Shortcuts If a tmux command I mention is bound to
Shortfin is a fast and lightweight static web server made to run web apps.Install Shortfin is completely written in C and currently only runs on Linux, but porting to xBSD has been initiated. Just run the following command as root to install the server. # wget http://shortfin.io/install.sh && sh install.sh Config To get the best performance out of the server it's important that you configure it
Session Injection Date 06 Aug 2013 Description A vulnerability has been found in Play’s session encoding. An attacker may inject arbitrary data into a session, by tricking Play to place a specially crafted value containing null bytes into the Play session. Impact Any application that places user input data into Play’s stateless session mechanism may be vulnerable. Typically, this will impact appli
This post was published on the now-closed HuffPost Contributor platform. Contributors control their own work and posted freely to our site. If you need to flag this entry as abusive, send us an email. Last Thursday night we took the HuffPost Tech Team out for an exciting night of ping-pong. We're passionate about Table Tennis. If you come to visit the Huffington Post you'll often find our engineer
2013年08月06日18:47 Ruby Spring無しでRailsを使おうだなんて正気ですかッ!? Railsはフレームワーク自体や関連ライブラリの読み込みがあるため、ちょっとしたコマンドを実行するだけでかなり待たされてしまったりします(サーバ起動などなど)。そこで、あらかじめRailsプロセスをロードしておき、そのプロセスから各種コマンドを実行することで高速に実行しよう!という素敵なアプローチがあります。その一つが Spring です。 インストールはこれだけ!これだけでコマンドの実行が高速になるんだから入れない理由があるでしょうか。いや、無い。 gem install spring ただ、対象はRails3.2以上なので古いRailsを使っていると恩恵が受けられないです。。そういう場合はさっさとバージョンを上げましょう。そのくらい快適です。 実際に実行時間を計ってみても(かなり適
9mのパソコン日記 kkosugekksg9mhttp://kksg.net Webサービスやアプリを開発して運営するのが趣味です。 個人プロジェクトWikiNoteポイントハッカーPushdog WebアンテナPushdog OwnedTweetmanツイセーブGlitch ConverterZombie ImageReminder Robot超映画批評ランキングシャンプー評価RegEx Cafeプッシュ通知Chrome拡張GMO共通ヘッダー非表示リンクホームページTwitter(@9m)やっていきエフエムYatteiki iTunes Podcast日報夏 Tumblrリモートワーカー Slack名刺Pushdog開発ブログギミック闇を解放するプッシュ通知購読するFollow on FeedlyFollow on Inoreader ER4SR 届いた。良いイヤホン使うべき。2018年
Metascala is a tiny metacircular Java Virtual Machine (JVM) written in the Scala programming language. Metascala is barely 3000 lines of Scala, and is complete enough that it is able to interpret itself metacircularly. Being written in Scala and compiled to Java bytecode, the Metascala JVM requires a host JVM in order to run. The goal of Metascala is to create a platform to experiment with the JVM
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く