/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/

To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>

<<toolbar permalink>>
[>img[agentzh.jpg]] I'm a happy programmer living in San Francisco, CA. My real name is Yichun Zhang, or 章亦春 in Chinese. I usually use the nick {{{agentzh}}} on the web.
I'm currently working as a systems engineer for [[CloudFlare|http://www.cloudflare.com]] and my main focus is on Nginx and OpenResty development.
I used to work for [[Yahoo! China|http://cn.yahoo.com]] and [[Taobao, Alibaba|http://www.taobao.com]] while working in Beijing, China.

This is site is powered by the excellent [[TiddlyWiki|http://www.tiddlywiki.com/]].
The site's source is hosted on ~GitHub: https://github.com/agentzh/agentzh.org

<<toolbar permalink>>
I'm posting nginx related stuffs and other things to my blog site on Blogger: http://agentzh.blogspot.com/
I'm also posting Nginx tutorials for both users and developers in Chinese at Sina Blog here: http://blog.sina.com.cn/openresty

<<toolbar permalink>>
You're welcome to mail me via {{{agentzh@gmail.com}}}. This mail address is also my MSN account.
I'm quite active in the [[nginx|http://nginx.org/mailman/listinfo/nginx]] and [[nginx-devel|http://nginx.org/mailman/listinfo/nginx-devel]] mailing lists. I'm also keeping an eye on the ~PerlChina, lua-l and erlang-questions mailing lists as well ;)
If you want to ask me questions about my Nginx or OpenResty related work, please join the [[OpenResty community|http://openresty.org/#Community]] and post there.

<<toolbar permalink>>
I'm quite active in Sina Weibo (A twitter clone very popular in China): http://weibo.com/agentzh
I do own a twitter account, [[@agentzh|http://twitter.com/agentzh]].
If you're interested in my opensource development work, go follow me on ~GitHub! http://github.com/agentzh/

OpenResty is a software bundle for various useful Nginx addons, ~LuaJIT/Lua, and the Nginx core that helps constructing high-performance web applications. See
http://openresty.org

<<toolbar permalink>>
Here goes a list of slides that I used in various opensource events and school lectures.
These slides are powered by the [[slides.htm|https://github.com/kindy61/slides.htm]] slide-making engine based on AJAX.
''//Note: Please use the arrow keys or pageup/pagedown keys on your keyboard to switch slides.//''
! Year 2014
!! The Latest and Greatest from ngx_lua: New Features & Tools
This talk was given at [[NGINX Conference|http://nginx.com/nginxconf/]] 2014 on 21 October 2014.
Talk summary: https://nginx.busyconf.com/activities/53d854c1c9e255cf2d00007b
Video recording: https://www.youtube.com/watch?v=Z0fQabvVhIk
View slides in your web browser: http://agentzh.org/misc/slides/nginx-conf-2014/
Download the slides as PDF: http://agentzh.org/misc/slides/nginx-conf-2014.pdf
!! NGINX, Lua, and beyond
This talk was given at NGINX Inc's [[NGINX User Summit 2014|https://www.eventbrite.com/e/nginx-user-summit-and-training-tickets-10393173261]] on 25 February 2014.
View slides in your web browser: http://agentzh.org/misc/slides/nginx-user-summit-2014/
Download the slides as PDF: http://agentzh.org/misc/slides/nginx-lua-and-beyond.pdf
! Year 2013
!! The Way of Optimizing and Troubleshooting Our Lua Waf
This talk was given at ~CloudFlare's Beer Meeting on 19 April 2013.
View slides in your web browser: http://agentzh.org/misc/slides/beer-meeting-2013-04-19/
Download the slides as PDF: http://agentzh.org/misc/slides/beer-meeting-2013-04-19.pdf
!! sregex: matching Perl 5 regexes on data streams
This talk was given at [[YAPC::NA 2013|http://www.yapcna.org/yn2013/]] in Austin, TX, USA.
Talk summary: http://www.yapcna.org/yn2013/talk/4762
View slides in your web browser: http://agentzh.org/misc/slides/yapc-na-2013-sregex/
Download the slides as PDF: http://agentzh.org/misc/slides/yapc-na-2013-sregex.pdf
!! Flame Graphs for online performance profiling
This talk was given at [[YAPC::NA 2013|http://www.yapcna.org/yn2013/]] in Austin, TX, USA.
Talk summary: http://www.yapcna.org/yn2013/talk/4579
View slides in your web browser: http://agentzh.org/misc/slides/yapc-na-2013-flame-graphs/
Download the slides as PDF: http://agentzh.org/misc/slides/yapc-na-2013-flame-graphs.pdf
!! Introduction to off-CPU Time Flame Graphs
This talk was given at the ~CloudFlare Beer Meeting on 23 August 2013.
View slides in your web browser: http://agentzh.org/misc/slides/off-cpu-flame-graphs/
Download the slides as PDF: http://agentzh.org/misc/slides/off-cpu-flame-graphs.pdf
! Year 2012
!! ngx_openresty: an Nginx ecosystem glued by Lua
This talk was given at [[Tech-Club Technical Salon|http://event.weibo.com/351359]] held in the Xiamen city, China.
View slides in your web browser: http://agentzh.org/misc/slides/ngx-openresty-ecosystem/
Download the slides as PDF: http://agentzh.org/misc/slides/ngx-openresty-ecosystem.pdf
!! Scripting libdrizzle with Lua inside Nginx
This presentation was given at [[Percona Live MySQL Conference 2012|http://www.percona.com/live/mysql-conference-2012/sessions/scripting-mysql-lua-and-libdrizzle-inside-nginx]] held in Santa Clara, CA, USA.
View slides in your web browser: http://agentzh.org/misc/slides/libdrizzle-lua-nginx/#2
Download the slides as PDF: http://agentzh.org/misc/slides/libdrizzle-lua-nginx.pdf
! Year 2011
!! Applications of ngx_openresty and perl in lz.taobao.com
This talk was given at [[Beijing Perl Workshop 2011|http://conference.perlchina.org/bjpw2011/talks]].
Watch the video online: http://v.ku6.com/show/TY8Vre59guTE_C8o.html
View slides in your web browser: http://agentzh.org/misc/slides/perl-lz-apps/
Download the slides as PDF: http://agentzh.org/misc/slides/perl-lz-apps.pdf
! Year 2010
!! Introduction to nginx.conf scripting
This talk was given at the [[Beijing Perl Workshop|http://conference.perlchina.org]] 2010 April meeting and the [[Beijing OpenParty 2010 June event|http://www.beijing-open-party.org/event/2]].
View slides in your web browser: http://agentzh.org/misc/slides/nginx-conf-scripting/
Download the slides as PDF: http://agentzh.org/misc/slides/nginx-conf-scripting.pdf
Please note that ngx_eval module is no longer recommended because we're in more favor of ngx_lua nowadays.
!! Recent developments in nginx.conf scripting
This talk was given at the [[Beijing OpenParty 2010 June event|http://www.beijing-open-party.org/event/2]].
View slides in your web browser: http://agentzh.org/misc/slides/recent-dev-nginx-conf/
Download the slides as PDF: http://agentzh.org/misc/slides/recent-dev-nginx-conf.pdf
!! The state of the art of nginx.conf scripting
This talk was given at the [[ECUG 2010 event|http://agentzh.org/misc/slides/nginx-state-of-the-art/]].
Watch the (Chinese-speech) video online: http://v.ku6.com/show/D00rqtnRwKzJdIsB.html
View the (English) slides in your web browser: http://agentzh.org/misc/slides/nginx-state-of-the-art/
Download the slides as PDF: http://agentzh.org/misc/slides/nginx-state-of-the-art.pdf
! Year 2009
!! A Firefox cluster driven by ~JavaScript, Perl, & PL/~PgSQL
This talk was given at the Beijing Perl Workshop 2009 Feb Meetup and [[Beijing OpenParty 2009 Feb event|http://www.beijing-open-party.org/post/beijing-open-party-2009-02-fox-event-begin]].
View the slides in your web browser: http://agentzh.org/misc/slides/BJPW200902/ffcluster.html
Download the slides as PDF: http://agentzh.org/misc/slides/bjpw200902-ffcluster.pdf
!! Introduction to our VDOM.pm & vdom-webkit cluster
Use vision information to do intelligent web scraping by rendering pages via a ~WebKit & VDOM cluster.
This talk was given at [[Beijing Perl Workshop 2009|http://conference.perlchina.org/bjpw2009/talks]] and a meetup with Taobao.com's front-end engineers in the Hangzhou city.
View the slides in your browser: http://agentzh.org/misc/slides/taobao-fe/vdomwebkit.html
Download the slides as PDF: http://agentzh.org/misc/slides/taobao-fe-vdomwebkit.pdf
!! A Tour of Perl Testing
This talk was given at the [[Beijing Perl Workshop 2009|http://conference.perlchina.org/bjpw2009/talks]] event.
View slides in your web browser: http://agentzh.org/misc/slides/BJPW2009/perl-testing.html
Download the slides as PDF: http://agentzh.org/misc/slides/bjpw2009-perl-testing.pdf
! Year 2008
!! Nifty web apps on an ~OpenResty
This talk was given at the D2 Frontend Technology event organized by Yahoo! China.
View slides in your web browser: http://agentzh.org/misc/slides/openresty-d2/
Download the slides as PDF: http://agentzh.org/misc/slides/openresty-d2.pdf
!! ~OpenResty: Your Relational Cloud
~OpenResty.pm is a general-purpose ~RESTful web service platform. In this talk I explained its origin, REST API, and its unusual applications.
This talk was given at the [[Beijing Perl Workshop 2008|http://conference.perlchina.org/bjpw2008/talks]] event and the Yahoo! China Engineer Tech. Salon.
View slides in your web browser: http://agentzh.org/misc/slides/openresty-yes/
Download the slides as PDF: http://agentzh.org/misc/slides/openresty-yes.pdf
! Year 2007
!! XUL::App - Jifty way of doing XUL
XUL::App is a nifty Firefox extension development framework based on Perl. It has a lot of parallels with Jifty. In particular, this framework allows you to build real-world modern Firefox extensions using Perl.
In this talk, I demonstrated how to use this framework to write a "hello, world" Firefox extension with ~I18N support in lines.
This talk was given at the [[Beijing Perl Workshop 2008|http://conference.perlchina.org/bjpw2008/talks]] event.
View slides in your web browser: http://agentzh.org/misc/slides/xulapp/
Download the slides as PDF: http://agentzh.org/misc/slides/xulapp.pdf
!! Contribute to Pugs
Pugs is a Perl 6 compiler written in Haskell. In this talk, I introduced the Pugs project as well as my involvement in the automated testing work of the Perl 6 language to the ~PerlChina folks and encouraged people to contribute Pugs.
This talk was given at the Beijing Perl Workshop 2007 event.
View slides in your web browser: http://agentzh.org/misc/slides/contr_pugs/
Download the slides as PDF: http://agentzh.org/misc/slides/contr_pugs.pdf
!! Use UML::Class::Simple to generate simple UML class diagrams
UML::Class::Simple is my Perl CPAN module that can generate UML class diagrams automatically from arbitrary real-world Perl OO libraries.
This talk was given at the Beijing Perl Workshop 2007 event.
View slides in your web browser: http://agentzh.org/misc/slides/umlclass/
Download the slides as PDF: http://agentzh.org/misc/slides/umlclass.pdf
! Year 2006
!! Introduction to ~XClips
~XClips is an expert system development language designed by myself, which is implemented atop NASA's [[CLIPS|http://clipsrules.sourceforge.net/]]. This talk explains the appearance of the language and some details of its implementation and applications.
This talk was given as a lecture at the [[Jiangsu University|http://www.ujs.edu.cn/]].
View slides in your web browser: http://agentzh.org/misc/slides/xclips/
Download the slides as PDF: http://agentzh.org/misc/slides/xclips.pdf
!! The Art of Naming
This talk teaches the art of naming for programmers, using lots of examples from Perl 6, C/C++, Java, and other programming languages.
This talk was given as a lecture at the [[Jiangsu University|http://www.ujs.edu.cn/]].
View slides in your web browser:
* http://agentzh.org/misc/slides/naming/
* http://agentzh.org/misc/slides/naming/naming_recap.html
Or download the slides as PDF files:
* http://agentzh.org/misc/slides/naming.pdf
* http://agentzh.org/misc/slides/naming_recap.pdf
!! XML in the real world
This talk shows various interesting applications of XML in the real world. It also introduces some of my web scraping tools based on Perl 5.
This talk was given as a lecture at the [[Jiangsu University|http://www.ujs.edu.cn/]].
View slides in your web browser: http://agentzh.org/misc/slides/xmlapp/
Download the slides as PDF: http://agentzh.org/misc/slides/xmlapp.pdf
!! Functions and Methods
This lecture discusses functions and methods in ~Object-Oriented Programming (OOP). This is one of my series of lectures on OOP given at the [[Jiangsu University|http://www.ujs.edu.cn/]].
View slides in your web browser: http://agentzh.org/misc/slides/func/
Download the slides as PDF: http://agentzh.org/misc/slides/func.pdf
!! Design Patterns - Using FAST
This talk explains the design patterns used in the construction process of the FAST (Flowchart Abstract Syntax Tree transformer) program, which can convert a program described by a flowchart into a structural program.
This talk was given as a lecture at the [[Jiangsu University|http://www.ujs.edu.cn/]].
View slides in your web browser: http://agentzh.org/misc/slides/patterns/
Download the slides as PDF: http://agentzh.org/misc/slides/patterns.pdf

<<toolbar permalink>>
The most important opensource project that I've been working on for years is [[OpenResty|http://openresty.org]].
You can find most of my opensource projects on my ~GitHub homepage:
https://github.com/agentzh
!Nginx
I've started or participated in the development of a bunch of nginx modules:
http://wiki.nginx.org/3rdPartyModules
!Perl
I'm a Perl programmer that writes dozens of [[CPAN modules|http://search.cpan.org/~agent/]].

<<toolbar permalink>>
This site's RSS feed is available at http://agentzh.org/index.xml [img[feed-icon-28x28.png]].

yet another idiot who loves programming

agentzh's home

http://agentzh.org/

body {
font-size: 1.2em;
}

The owner of this site. He loves the nick agentzh though. But please do //not// capitalize the nick!