七月 2, 2012
» PyCon Taiwan 2012 心得報告一篇

PyCon Taiwan 2012 的成功,真是出乎我意料之外的驚喜。

要感謝的人太多了,所以這麼神聖的事交給 yyc 好了。XD

真的好久沒動筆(指?)了,簡單地記些觸動:

   * yyc 用心地推動整個過程
   * marr 把整個議程組起來
   * 小海用力把 PyCon 元祖網站架過來
   * kanru 借的豪大 Moziila 辦公室
   * 經驗了幾個沒有完美的 project management tools
   * 那非常雄偉的 Logo
   * 突如其來的一個 Keynote 不能來
   * Jack 最後火速完成的 T-Shirt
   * 現場大人 Tim 的組織調動
   * 那莫名好看的 PyCon 紙袋、專業的海報、手冊與網站
   * 超過兩百個 Python 同好聚在一起
   * 點心不錯吃且適量!?
   * 講者 mosky 還是大學生!(然後另一個大學生小Q還能跑去參加 Google IO)
   * 好多講者不只又酷又專業,還在徵才!不是普通的徵才,是徵 Pythonista!
   * BoF 就算坐位遠遠不夠,還是留下來的熱情會眾

想到這是第一次舉辦,就覺得不可思義吶。

未來,我想我會非常非常懷念身置其中的感動,然後輕道:「那一年,我們一起參與的 PyCon Taiwan…」
NEXT: http://solvcon.net/yyc/everydaywork/2012/06/15/pycontw2012_finale.html

» PyCon Taiwan 2012 心得報告一篇

PyCon Taiwan 2012 的成功,真是出乎我意料之外的驚喜。

要感謝的人太多了,所以這麼神聖的事交給 yyc 好了。XD

真的好久沒動筆(指?)了,簡單地記些觸動:

   * yyc 用心地推動整個過程
   * marr 把整個議程組起來
   * 小海用力把 PyCon 元祖網站架過來
   * kanru 借的豪大 Moziila 辦公室
   * 經驗了幾個沒有完美的 project management tools
   * 那非常雄偉的 Logo
   * 突如其來的一個 Keynote 不能來
   * Jack 最後火速完成的 T-Shirt
   * 現場大人 Tim 的組織調動
   * 那莫名好看的 PyCon 紙袋、專業的海報、手冊與網站
   * 超過兩百個 Python 同好聚在一起
   * 點心不錯吃且適量!?
   * 講者 mosky 還是大學生!(然後另一個大學生小Q還能跑去參加 Google IO)
   * 好多講者不只又酷又專業,還在徵才!不是普通的徵才,是徵 Pythonista!
   * BoF 就算坐位遠遠不夠,還是留下來的熱情會眾

想到這是第一次舉辦,就覺得不可思義吶。

未來,我想我會非常非常懷念身置其中的感動,然後輕道:「那一年,我們一起參與的 PyCon Taiwan…」
NEXT: http://solvcon.net/yyc/everydaywork/2012/06/15/pycontw2012_finale.html

四月 16, 2012
» copy .todo.cfg for todo.txt

after brew install todo.txt

cp /usr/local/Cellar/todo-txt/2.8/todo.cfg ~/.todo.cfg

» copy .todo.cfg for todo.txt

after brew install todo.txt

cp /usr/local/Cellar/todo-txt/2.8/todo.cfg ~/.todo.cfg

四月 9, 2012
» opendiff for Xcode 4.3.2

Yes, you need to go it again:
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer

» opendiff for Xcode 4.3.2

Yes, you need to go it again:
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer

四月 6, 2012
» git remote update & pull rebase

git remote update

git status

git pull —rebase

» git remote update & pull rebase

git remote update

git status

git pull —rebase

三月 22, 2012
» apple-gcc42

Now apple-gcc42.rb of homebrew-alt lives on: 

https://github.com/Homebrew/homebrew-dupes

» apple-gcc42

Now apple-gcc42.rb of homebrew-alt lives on: 

https://github.com/Homebrew/homebrew-dupes

» git diff & patch

git diff --no-prefix > patchfile

patch -p0 < patchfile

» git diff & patch

git diff --no-prefix > patchfile

patch -p0 < patchfile

三月 19, 2012
» httpie - Python-powered HTTP CLI for humans

httpie - Python-powered HTTP CLI for humans:

另一個建立於 Requests 上的 HTTP command line 套件,看起來很方便。

thechangelog:

Although cURL is great, we’re always looking for great console tools for working with HTTP. Jakub Roztocil has released HTTPie. Built on Requests, HTTPie provides a clean command line interface for HTTP requests:

http PATCH api.example.com/person/1 X-API-Token:123 name=John email=john@example.org PATCH /person/1 HTTP/1.1 User-Agent: HTTPie/0.1 X-API-Token: 123 Content-Type: application/json; charset=utf-8 {"name": "John", "email": "john@example.org"} 

I appreciate the colored terminal output:

HTTPie output

Source on GitHub.

» httpie - Python-powered HTTP CLI for humans

httpie - Python-powered HTTP CLI for humans:

另一個建立於 Requests 上的 HTTP command line 套件,看起來很方便。

thechangelog:

Although cURL is great, we’re always looking for great console tools for working with HTTP. Jakub Roztocil has released HTTPie. Built on Requests, HTTPie provides a clean command line interface for HTTP requests:

http PATCH api.example.com/person/1 X-API-Token:123 name=John email=john@example.org PATCH /person/1 HTTP/1.1 User-Agent: HTTPie/0.1 X-API-Token: 123 Content-Type: application/json; charset=utf-8 {"name": "John", "email": "john@example.org"} 

I appreciate the colored terminal output:

HTTPie output

Source on GitHub.

三月 16, 2012
» FileMerge of Xcode 4.3

No FileMerge found on Xcode 4.3?

Error: No developer directory found at /Developer. Run /usr/bin/xcode-select to update the developer directory path.

% sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

From: https://groups.google.com/forum/?fromgroups#!topic/versions/LrN7VrVVA34

» FileMerge of Xcode 4.3

No FileMerge found on Xcode 4.3?

Error: No developer directory found at /Developer. Run /usr/bin/xcode-select to update the developer directory path.

% sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

From: https://groups.google.com/forum/?fromgroups#!topic/versions/LrN7VrVVA34

十二月 25, 2011
» Make git

./configure —without-tcltk

» Make git

./configure —without-tcltk

七月 6, 2011
» Using perfarce with Mercurial 1.9

If you’re in the kind of situation of using perfarce with Perforce, after upgrade to Mercurial 1.9, you may need the patch at this moment(perfarce changeset c05711ba688f):

diff -r c05711ba688f perfarce.py
--- a/perfarce.py	Fri Apr 15 14:22:16 2011 +0100
+++ b/perfarce.py	Wed Jul 06 11:04:34 2011 +0800
@@ -77,17 +77,17 @@ Five built-in commands are overridden:
            the p4 depot. Directory and filename case is preserved.
            These two setting are workarounds to handle Perforce depots
            containing a path spelled differently from file to file
            (e.g. path/foo and PAth/bar are in the same directory),
            or where the same file may be spelled differently from time
            to time (e.g. path/foo and path/FOO are the same object).
 '''
 
-from mercurial import cmdutil, commands, context, copies, encoding, error, extensions, hg, node, repo, util, url
+from mercurial import cmdutil, commands, context, copies, encoding, error, extensions, hg, node, repo, util, scmutil, url
 from mercurial.node import hex, short
 from mercurial.i18n import _
 
 import marshal, tempfile, os, re, string
 
 def uisetup(ui):
     '''monkeypatch pull and push for p4:// support'''
 
@@ -1279,27 +1279,27 @@ def push(original, ui, repo, dest=None, 
 
     try:
         # now add/edit/delete the files
         if mod:
             modal(_('opening for edit: %s\n'), 'edit -c %s' % use, mod, client.encodename)
 
         if mod or add:
             ui.note(_('retrieving file contents...\n'))
-            opener = util.opener(client.rootpart)
+            opener = scmutil.opener(client.rootpart)
 
             for name, mode in mod + add:
                 ui.debug(_('writing: %s\n') % name)
                 if 'l' in mode:
                     opener.symlink(ctx[name].data(), name)
                 else:
                     fp = opener(name, mode="w")
                     fp.write(ctx[name].data())
                     fp.close()
-                util.set_flags(client.localpath(name), 'l' in mode, 'x' in mode)
+                util.setflags(client.localpath(name), 'l' in mode, 'x' in mode)
 
         if add:
             modal(_('opening for add: %s\n'), 'add -f -c %s' % use, add, lambda n:n)
 
         if ntg:
             ui.note(_('opening for integrate: %s\n') % ' '.join(f[1] for f in ntg))
             for f in ntg:
                 client.runs('integrate -c %s %s %s' % (use, f[0], f[1]))

» Using perfarce with Mercurial 1.9

If you’re in the kind of situation of using perfarce with Perforce, after upgrade to Mercurial 1.9, you may need the patch at this moment(perfarce changeset c05711ba688f):

diff -r c05711ba688f perfarce.py
--- a/perfarce.py	Fri Apr 15 14:22:16 2011 +0100
+++ b/perfarce.py	Wed Jul 06 11:04:34 2011 +0800
@@ -77,17 +77,17 @@ Five built-in commands are overridden:
            the p4 depot. Directory and filename case is preserved.
            These two setting are workarounds to handle Perforce depots
            containing a path spelled differently from file to file
            (e.g. path/foo and PAth/bar are in the same directory),
            or where the same file may be spelled differently from time
            to time (e.g. path/foo and path/FOO are the same object).
 '''
 
-from mercurial import cmdutil, commands, context, copies, encoding, error, extensions, hg, node, repo, util, url
+from mercurial import cmdutil, commands, context, copies, encoding, error, extensions, hg, node, repo, util, scmutil, url
 from mercurial.node import hex, short
 from mercurial.i18n import _
 
 import marshal, tempfile, os, re, string
 
 def uisetup(ui):
     '''monkeypatch pull and push for p4:// support'''
 
@@ -1279,27 +1279,27 @@ def push(original, ui, repo, dest=None, 
 
     try:
         # now add/edit/delete the files
         if mod:
             modal(_('opening for edit: %s\n'), 'edit -c %s' % use, mod, client.encodename)
 
         if mod or add:
             ui.note(_('retrieving file contents...\n'))
-            opener = util.opener(client.rootpart)
+            opener = scmutil.opener(client.rootpart)
 
             for name, mode in mod + add:
                 ui.debug(_('writing: %s\n') % name)
                 if 'l' in mode:
                     opener.symlink(ctx[name].data(), name)
                 else:
                     fp = opener(name, mode="w")
                     fp.write(ctx[name].data())
                     fp.close()
-                util.set_flags(client.localpath(name), 'l' in mode, 'x' in mode)
+                util.setflags(client.localpath(name), 'l' in mode, 'x' in mode)
 
         if add:
             modal(_('opening for add: %s\n'), 'add -f -c %s' % use, add, lambda n:n)
 
         if ntg:
             ui.note(_('opening for integrate: %s\n') % ' '.join(f[1] for f in ntg))
             for f in ntg:
                 client.runs('integrate -c %s %s %s' % (use, f[0], f[1]))

biggo.com.tw

A Django site.