Blog
2024
2023
2022
2020
2018
2016
2015
2014
- Nitty-gritty Regular Expression Details
- Adventures in the front-end wonderland
- Review: Getting Started with Django
- Using PyRRD to gather system statistics
- The Recap of the Certificate in Project Management Program
- Resize disks in VirtualBox with Snapshots
- Doubly Linked List in Python
- LRU Cache in Python
- A crash course for Windows Azure IaaS deployment
- A developer's notes to upgrading to Maverick
- The trailing space matters
- When nanoc meets IPython
- The Taste of the Salt
- Please run Selenium with Firefox
- strace It
- Go, SeaMonkeys
- Parsing arguments with docopt
- Manage dotfiles using vcsh and mr
- The Checklist of Open Sourcing a Python Project
2009
- HOWTO setup Trac with Mercurial and Nginx
- HOWTO setup the Mercurial with Nginx in CentOS 4
- Authorize the REST web service
- Book Review: Django 1.0 Template Development
- How to PUT a file in Django
- Is get lazily evaluated?
- RESTful Django practice
- Tip: Reuse Django view in urlconf
- Customize the Django newform admin UI
- Restart the Django engine
2008
- Poor man's NAS
- Rewrite WordPress and ZenPhoto for Nginx
- Parse HTML file with BeautifulSoup
- WYS is not always WYG in python.re
- HOWTO: Serve virtual host with Nginx
- Move to the new VPS, Yummy
- Reverse mashup
- Ubiquity - Lowering the threshold for Web mashup
- Search Music by humming, not perfect, but feasible
- Two plugins in one browser just makes trouble
- Is MobileMe the ONE?
- When RegEx meets WordML
- In memory of the victims of China earthquake
- PyAWS 0.3.0 released
- AideRSS relieves the pain, fails to cure
- Why I hate paid reviews
- Enhance Facebook Notes with Greasemonkey
- RTFM: the missing dot in CNAME
- Stop Abusing SourceForge, Notepad++
- Are you naked today?
- Django's D-day
- Who would be the next water vendor?
- Suds makes the soapy world less slippery
- Who would be old school python developer?
- MiniHOWTO deploy MoinMoin in Jumpline
- Bitten by MemoryError
- HOWTO deploy Django in Jumpline
- Put another two eggs in the basket
- ID3 tag for programmers
- New look for the New Year
- Yet another locale problem
- Learning Django by Example(12) Tag it in place
- Learning Django by Example(11) Attach a tag
- Python/SOAP: second encounter
- Learning Django by Example(10): Search
2007
- Learning Django by Example(9): Software is hard
- Migrate to MTP
- One up to Python expert (1) - Decorators
- HOWTO convert Chinese MP3 for ID3 v2.3 standard
- Learning Django by Example(8): To DnD or Not to DnD
- Learning Django by Example(7): Act like a desktop application: Dnd
- Learning Django by Example(6): AJAX File Upload
- Proud to be a Dojo committer
- Programming dojox.chart(7) - dojox.gfx3d landed in the TRUNK
- Programming dojox.chart(6) - gfx3d support added
- Programming dojox.chart(5) - Naive scientific plotting
- Programming dojox.chart(4) - 2D Charts revised
- Optimize WordPress in another 4 steps
- Learning Django by Example(5): Time to Attack
- Learning Django by Example(4): First user authenticated
- Programming dojox.chart (3) - Prototype
- Programming dojox.chart (2) - Divide and Conquer
- Programming dojox.chart (1) - Design Philosophy
- Learning Django by Example(3): Just works
- Learning Django by Example(2): Show me your data
- Learning Django by Example(1): Start the Engine
- Would you like a slice of pie?
- Bar3d, proudly powered by dojox.gfx3d
- HOWTO translate Gentoo Documentation
- dojox.gfx3d alpha2 released
- gfx3d alpha1 released
- HOWTO extend the life of Gentoo laptop
- Let there be light
- Moving forward: Cylinder
- Dilema of Kernel upgrade
- Website remodeled
- Small fix for libnjb to transfer Chinese tags
- No longer look through the wall
- HOWTO Gentoo 2007.0 on Dell 700m
- Where is the time machine?
- Yet yet another cube
- HOWTO display Chinese in Creative ZenMicro using Amarok
- Yet another cube
- Upgrade to 2.6.20
- Before we code, we document
- Productivity vs. Performance
- Poor man's wireless network
- Zen is less Creative in software
- C++ Study Note(2): Cast the light to the darkness
- Sanitize the kernel, bye-bye Cisco VPN
- dojo.gfx 3d proof-of-concept implementation
- dojo.gfx 3D support kicks off
- HOWTO display sharp Chinese in Gentoo Linux?
- Optimize WordPress in 5 steps
- Glory of the Old School
- Meet Mr. DTrace - Part 4
- Meet Mr. DTrace - Part 3
- Meet Mr. DTrace - Part 2
- C++ Learning Note(5): Koenig Lookup
- HOWTO install CELL Environment in Gentoo
- Meet Mr. DTrace - Part 1
- YouTube On the Go
- SUIF2 installation notes
- HOWTO secure your Meebo
- PyAWS 0.1.0 released
- C++ Study Note (3) - typename, class and template
- C++ Study Note(1): Size matters
- Make it work
- One is better than two
2006
- Debugging Web(4) - Swiss Army Knives
- Debugging Web(3) - Poor man's debugger
- Debugging Web(2) - 10 Pitfalls for the JavaScript Developers
- Diagnosis of KPilot/Palm's messy text
- Glimpse of SC2006: Visualization
- Glimpse of SC2006: Acceleration
- Prime time for Python in HPC?
- Debugging Web(1) - Live HTTP Headers
- Simple stupid ZenPhoto
- Upgrade to Firefox 2
- When Palm meets Linux
- Sync Palm via Bluetooth
- UPCUnit - A unit test extension for UPC
- Google, Web 2.0 Killer?
- 2nd PGASCON Overview
- Intel's Project Runway
- Python 2.5 is released!
- Is Gentoo a nightmare to the experienced users?
- Grid evolution in eBay
- Handspring in action
- Globus toolkit GRAM overview
- Globus Primer on GridWorld 06
- Finding bugs
- Back to Dell Inspiron 700m
- Software Engineering nightmare
- All roads lead to Roma
- Stroke bug in Dojo2D - 2
- TODO for Dojo2D
- Stroke bug in Dojo2D
- Skewed rects bug in dojo2D
- Dojo 2D in the SVN!
- RSS feeds on th go
- Sync Palm via IrDA
- Tor: Beyond anonymous
- XPath is awesome
- We are moving - Done
- Is Google Browser Sync Plugin a troublemaker?
- The light of the dark side
- TIP: translate FORTRAN array to C
- HOWTO setup Dojo 2D testing environment
- No.1 KunXi in Google Search
- Overweighted Windows XP
- Return of the Lex
- Can you handle SVG?
- TODO after kernel update
- Good job, reverse engineer
- Ubuntu 6.06 LTS Review
- SVG + Animation
- GNU Cheat sheets
- Pitfalls on porting FORTRAN 90 to C
- Alert: Never overlook warning
- Scratched Creative Zen Micro
- Looking for a new host ...
- dojo-svg kicks off
- CLI Tips
- Project runaway...
- Time Machine
- Time Machine on the Go
- Resume is online
- TODO List for refactoring the desktop
- TIP: Remote access using rxvt-unicode
- TIP: eXpose on Gentoo
- Addicted to Mac ?
- Beyond Inspect
- PyAWS on Sf.net
- Gelman on Sf.net -- Rejected
- HOWTO post C++ code in Wordpress
- I am a "Computer Killer"
- Playground is setup
- Review: Kopete 0.11
- Dead 700m, damn Dell ...
- C++ Study Notes (4) - template template parameter
- USB outage in Dell 700m
- Build aBridge with wxGTK 2.6.1
- HOWTO import Outlook contacts to KAddressBook
- Touchpad outage in Dell 700m
2005
- HOWTO Dynamic setup the element's dimension
- Passwordless login in HPCL@GWU
- Google Transit released
- Social engineering rocks
- emerge kde 3.5 splitted ebuilds
- HOWTO: GWireless on Gentoo
- Lame Tungsten T's Sync
- HOWTO: Gentoo 2005.1@Dell 700m
- Gentoo/Windows dual boot
- I design, therefore I am
- Farewell, Palm OS
- Firewire works in Dell 700m