Tag Archives: python

用 Z3 解問題

在「5-Mar-2017: Cracking Minesweeper with Z3 SMT solver」這篇看到用 Z3 解數學問題: Z3 is a theorem prover from Microsoft Research. It is licensed under the MIT license. 可以用 Python 寫需要的條件,然後叫 Z3 去解... 作者這篇解的是踩地雷 XDDD

Posted in Computer, Game, Murmuring, Programming, Recreation, Software | Tagged , , | Leave a comment

用 SAWS 管理 AWS 資源

看開發記錄,應該很久了... 這次是 donnemartin/saws: 用 Python 寫的,所以用 pip 就可以跑,不過目前還是不支援 profile: Command line options for starting SAWS with a specific profile are under development. 所以自己用還可以 (因為只有一個帳號),公司有一堆帳號得切來切去就沒辦法了,先丟著...

Posted in AWS, Cloud, Computer, Murmuring, Network, Software | Tagged , , , , , | Leave a comment

在 Trac 裡把參與者自動加到 cc list 裡面的 plugin

之前在 Trac 裡會想要達成「當使用者參與這張票時,自動加到 cc list 讓他收到後續的更新」這樣的功能。之前沒有仔細研究要怎麼在 Trac 裡面實踐,就直接在 template (也就是 site.html) 裡面用 javascript 在 client 做掉... 先拉出 authname: <script> (function() { window.authname = "${authname}"; })(); </script> 然後再攔截網址裡有 /ticket/ 的頁面,當 form 符合條件時攔截 submit 事件,在 cc list 裡面沒有自己時把自己加進去: // Add myself into … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , | Leave a comment

Pinterest 對 InnoDB 壓縮的改善

三個月前 Pinterest 提到對 InnoDB 壓縮的改善,講到透過字典的改善方式:「Pinterest 在 InnoDB Compression 的努力」。 而在「Evolving MySQL Compression - Part 2」這邊繼續說明要怎麼生出對 Pinterest 比較有效的字典內容,作者把計算的工具放到 GitHub 上讓其他人可以用 (用 Python 寫的):「pinterest/mysql_utils/zdict_gen/」。 可以看出來又增加不少壓縮率,這算是針對資料庫壓縮從 A 到 A+ 的行為吧...

Posted in Computer, Database, Murmuring, MySQL, Programming, Software | Tagged , , , , , , , | Leave a comment

Google 弄出來的 Grumpy:把 Python 2.7 的程式碼轉成 Go...

Google 放出 Grumpy,可以把 Python 2.7 的程式碼轉成 Go:「Grumpy: Go running Python!」。 下面看到一個留言頗有趣的: This sad to see that Grumpy is mean to be a replacement of CPython 2.7 instead of CPython 3.x . I presume the code from youtube was written in … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , , , , , , , | Leave a comment

玩 Python 下的 ggplot

在「A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)」這邊又再次看到 Python 下的 ggplot,以為還算好裝,但實際上好像有點難裝 XD 我平常用的環境是 pyenv 跑 Python 3.5.2。而跑 ggplot 需要用到 _tkinter,這個模組,而這個模組在 Python 3 應該是內建的... 只要你有先裝 tk-dev @_@ 所以在弄了半天發現這個問題後,先把 tk-dev 補裝上,再重新安裝 Python 3.5.2: $ sudo apt-get install tk-dev … Continue reading

Posted in Computer, Murmuring, Programming, Science, Social, Software | Tagged , , , , , , , , , , | Leave a comment

Nginx + FastCGI + Trac

先前試著逼自己用 Phabricator,用了一個多月後發現設計的邏輯還是跟 Trac 差了不少,算是為了 Facebook 特化的產品吧。在這一個月查資料的過程也發現當初 Wikimedia 要採用的時候也花了不少力氣送 patch 回官方,然後針對不少地方客製化調整。 另外比較痛的地方是 plugin 的支援能力還沒有很好,變成很多東西都要改主體... 而且效能也不太好 (不支援 PHP 7.0 還蠻痛的),在比較低階的 VPS 上跑特別明顯。 這幾天花了點時間把 Trac 給架起來,之前都是用 FreeBSD ports 架,但已經愈來愈沒有再接觸 FreeBSD 了,所以這次在 Ubuntu 上用 pyenv 裝起來再用 pip 裝起來。 另外一個跟之前不同的,是先前都用 Apache 接 mod_wsgi,在低階的 VPS 上則是要找省資源的方案,這次則是用 … Continue reading

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , , , , , , , , | 1 Comment

Python 3.6 對 Dict 的改善

Python 3 的 Dict 將會有重大的改變:「[Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered」。 在 3.5 時: Python 3.5.1 (default, Jun 20 2016, 14:48:22) >>> def func(**kw): print(kw.keys()) ... >>> func(a=1, b=2, c=3, d=4, e=5) … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , | Leave a comment

舊 bug 新名字:httpoxy

依照慣例,security issue 都會取個名字,這次叫做 httpoxy:「A CGI application vulnerability for PHP, Go, Python and others」。 事情發生在兩個命名變數上的衝突: RFC 3875 (The Common Gateway Interface (CGI) Version 1.1) 定義了 CGI 環境會把 Header 裡的 Proxy 欄位放到環境變數裡的 HTTP_PROXY。 而很多程式會拿環境變數裡的 HTTP_PROXY 當作 proxy 設定。 這件事情 2001 年在 libwww-perl … Continue reading

Posted in Computer, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , , , , , , | Leave a comment

對 GDB 十五分鐘的介紹

看到「CppCon 2015: Greg Law 'Give me 15 minutes & I'll change your view of GDB'」這篇去年 CppCon 上介紹 GDB 的影片: 不是給初學者看的,而是給碰壁很多次的人看的... 裡面提到的 Ctrl-X 與內嵌 python 的部份讓人很驚豔,另外也實戰了 Reverse Execution 救 call stack 的技巧,拿來找破壞掉 stack 後不知道問題在哪裡的 case。 很值得看的 15 分鐘 (實際上大概花了半個小時,邊看邊實際操作練習)。

Posted in Computer, Programming, Software | Tagged , , , | Leave a comment