<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[墟]]></title><description><![CDATA[清风湖畔 明月窗边]]></description><link>https://blog.youkuaiyun.com/Wolf0403</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Wolf0403]]></copyright><item><title><![CDATA[Anaconda for Windows]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/32099855</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/32099855</guid><author>Wolf0403</author><pubDate>Wed, 18 Jun 2014 11:19:37 +0800</pubDate><description><![CDATA[Forget about ActivePython or stock installation. Use Miniconda is much easier.
http://conda.pydata.org/miniconda.html]]></description><category></category></item><item><title><![CDATA[Python, Gevent and Multicore]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/28099201</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/28099201</guid><author>Wolf0403</author><pubDate>Mon, 02 Jun 2014 12:11:08 +0800</pubDate><description><![CDATA[Yes half of the programmers in the world knows Python can't run on multiple cores because of the famous GIL.
Half of the Pytho]]></description><category></category></item><item><title><![CDATA[One Year at Vimbra]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/25747865</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/25747865</guid><author>Wolf0403</author><pubDate>Tue, 13 May 2014 23:02:38 +0800</pubDate><description><![CDATA[一年工作下来，做的事情不多，但还是改变了一些。




因为作为 Vimbra 公司里现在唯一一个正儿八经的资深工程师，以及中间夹带做了的 Meetisan 服务器，我花了一年的时间在 web 方面扩展视野。Redis, MongoDB, PostgreSQL, PHP, Python, Clojure，很多东西我开始尝试上手去用。用 DistroWatch 的话说，put the fu]]></description><category></category></item><item><title><![CDATA[How to serve AJAX pages (Ember.js, Angular, etc) to Google's dummy bots?]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/18716577</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/18716577</guid><author>Wolf0403</author><pubDate>Thu, 23 Jan 2014 23:02:02 +0800</pubDate><description><![CDATA[There may / must be better ways but here we go.
Recipes: 


Headless browser component, e.g.

PhantomJS [1] is the preferred case because it's 1) v8, 2) lightweight, comparing to the next choinc]]></description><category></category></item><item><title><![CDATA[SSH ControlPersist rocks.]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/11903997</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/11903997</guid><author>Wolf0403</author><pubDate>Sun, 22 Sep 2013 17:20:42 +0800</pubDate><description><![CDATA[$ cat config 
ControlPath ~/.ssh/controlmasters/%r@%h:%p
ControlMaster auto
ControlPersist 60


By allowing "ControlPersist", 


any connected ssh session could quit (without this, the first ses]]></description><category></category></item><item><title><![CDATA[Installing virtualenv under Anaconda on OSX]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/11741401</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/11741401</guid><author>Wolf0403</author><pubDate>Mon, 16 Sep 2013 17:34:55 +0800</pubDate><description><![CDATA[OS X 10.8 by default comes with python 2.7.2.
For using iPython Notebook (http://ipython.org/notebook.html) I usually install anaconda (http://continuum.io/downloads) in my home dir right away so I h]]></description><category></category></item><item><title><![CDATA[PostgreSQL / GIST index require "LIMIT" clause to trigger the index.]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/10966043</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/10966043</guid><author>Wolf0403</author><pubDate>Tue, 03 Sep 2013 11:07:22 +0800</pubDate><description><![CDATA[When using PostgreSQL and POINT type / GIST indexing for location queries, "LIMIT" clause is required for correctly utilizing the GIST index.

CREATE TABLE points (
  name varchar(40) NOT NULL,
  ty]]></description><category></category></item><item><title><![CDATA[URL redirection / building in WSGI app]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/9158339</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/9158339</guid><author>Wolf0403</author><pubDate>Mon, 24 Jun 2013 03:31:35 +0800</pubDate><description><![CDATA[Building an WSGI app with Flask with LinkedIn API access. The app runs fine in local dev environment but when put behind Nginx reverse proxy with HTTPS, all redirections and LinkedIn callbacks fails w]]></description><category></category></item><item><title><![CDATA[[Unresolved] Webpy bug when using sessions with generator and normal function handlers]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/9105691</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/9105691</guid><author>Wolf0403</author><pubDate>Sun, 16 Jun 2013 13:56:10 +0800</pubDate><description><![CDATA[class count1:
	def GET(self):
		s.session.count += 1
		return str(s.session.count)

class count2:
	def GET(self):
		s.session.count += 1
		yield str(s.session.count)


With above two handlers diffe]]></description><category></category></item><item><title><![CDATA[Tornado AsyncHTTPTestCase gotchas]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8870357</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8870357</guid><author>Wolf0403</author><pubDate>Tue, 30 Apr 2013 19:54:23 +0800</pubDate><description><![CDATA[Q: How to test session based scenarios (login, logout, @authenticated)?
A: Need to handle cookie: parse Set-Cookie response headers and provide Cookie request headers.
https://gist.github.com/wolf04]]></description><category></category></item><item><title><![CDATA[Configure PHP and Django (Python) to run on the same Apache site.]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8828498</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8828498</guid><author>Wolf0403</author><pubDate>Sat, 20 Apr 2013 16:47:34 +0800</pubDate><description><![CDATA[Answered one question regarding how to setup Django / PHP to run on top / behind Apache frontend. 
I did the setup of Django using proxy_scgi. There are other ways like mod_wsgi but using proxy_* at]]></description><category></category></item><item><title><![CDATA[Detection of a buffer overrun]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8821108</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8821108</guid><author>Wolf0403</author><pubDate>Thu, 18 Apr 2013 21:13:22 +0800</pubDate><description><![CDATA[Value of one of the thread-argument variable has changed at some place, which is only detected when the program crashes.

(gdb) p *a
$7 = {
  host = 0x0, 
  port = 0, 
  h_ent = 0x7fff5fbf6f10, 
  r]]></description><category></category></item><item><title><![CDATA[HTTP/1.1, protocol design, pySpeedtest client]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8806640</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8806640</guid><author>Wolf0403</author><pubDate>Mon, 15 Apr 2013 23:38:34 +0800</pubDate><description><![CDATA[So recently I've been writing HTTP/1.1 client side protocol parsing stuff. Twice.

When I went through RFC2616, even shallow like I was doing (merely picking bits that I need to know to get my stuff]]></description><category></category></item><item><title><![CDATA[TCP shutdown VS HTTP KeepAlive]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8606145</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8606145</guid><author>Wolf0403</author><pubDate>Sat, 23 Feb 2013 23:08:49 +0800</pubDate><description><![CDATA[Building an HTTP client for some performance testing purposes. Multiple sockets, I/O multiplexing, two threads. One sender pushing pipelined requests and one receiver dragging all server responses.]]></description><category></category></item><item><title><![CDATA[IT 翻译是有多难？对 优快云 翻译文的纠错]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8473437</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8473437</guid><author>Wolf0403</author><pubDate>Sun, 06 Jan 2013 16:21:30 +0800</pubDate><description><![CDATA[今天 Fenng 在微博上链接了 优快云 的一篇翻译文 《GitHub历史上最糟糕宕机事故回放及反省》


http://weibo.com/1577826897/zdd2J1oh8



本着对 Fenng 品牌的信任，我就点去看了一下。


优快云 译文开篇第一段是这样的……
开源中国社区翻译了该博文的部分内容，但可惜漏掉了不少重要内容，优快云整理并编译了余下的部分]]></description><category></category></item><item><title><![CDATA[Basic distinguish between web.py / flup and tornado web process handling model (TBC)]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8394617</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8394617</guid><author>Wolf0403</author><pubDate>Sun, 23 Dec 2012 21:53:49 +0800</pubDate><description><![CDATA[Tornado is known for its capability of handling concurrent connections with help of OS event triggering mechanisms like epoll and kqueue.
Web.py is a web framework for Python. It relies on other serv]]></description><category></category></item><item><title><![CDATA[No way to generate HTML markup with data-link and helper functions in JsViews like in JsRender]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8171008</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8171008</guid><author>Wolf0403</author><pubDate>Sun, 11 Nov 2012 13:28:04 +0800</pubDate><description><![CDATA[I was using both Jsviews (https://github.com/BorisMoore/jsviews) and Jsrender (https://github.com/BorisMoore/jsrender),
 with of course jQuery and jQueryMobile for the interface. The custom tag provi]]></description><category></category></item><item><title><![CDATA[web.py multipart file handling]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8160314</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8160314</guid><author>Wolf0403</author><pubDate>Thu, 08 Nov 2012 00:24:47 +0800</pubDate><description><![CDATA[I'll have to admit that... it was so easy to use $_FILE for file uploading in PHP.


Trying to switch to Python from PHP (for various reasons including shared configuration between web and backgrou]]></description><category></category></item><item><title><![CDATA[Enable weak password in Ubuntu]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8148779</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8148779</guid><author>Wolf0403</author><pubDate>Mon, 05 Nov 2012 14:11:30 +0800</pubDate><description><![CDATA[WARNING: BAD PRACTICE!
Here we go.
Edit /etc/pam.d/common-password
find the line

password       [success=1 default=ignore]      pam_unix.so obscure sha512
The "obscure" option here disables sim]]></description><category></category></item><item><title><![CDATA[Reflection on recent university project]]></title><link>https://blog.youkuaiyun.com/Wolf0403/article/details/8131766</link><guid>https://blog.youkuaiyun.com/Wolf0403/article/details/8131766</guid><author>Wolf0403</author><pubDate>Wed, 31 Oct 2012 11:26:26 +0800</pubDate><description><![CDATA[Group reflections and conclusion

Limitations in terms of structure, design, implementation
The design and structure of this app generally fulfills its requirements, capable of providing informatio]]></description><category></category></item></channel></rss>