class="rightside"
My Skills
Here I list my professional skills in a summary.
Programming
- C++: more than 6 years learning; 32 months working experience. <br/>My major language is C++, most of my experience is using C++. I use C++ to do GUI apps, do server-site background service, etc. I'm familiar with STL, using templates, and Boost. I use Boost as much as possible when I write my own utilities? in C++. The most thing I do using C++ is writing share libraries.
- Perl: 7 months. <br/>Perl is so powerful and my favorite scripting language, I use it to do repeat jobs any time if possible. And I use Perl to write CGI? for my sites. I sometimes write small and helpful tools to accelerate my job while doing C++, I can write XSub to extend Perl apps, and sometimes use Perl(or shell scripts) to help with my unit testings.
- Shell: 9 months. <br/>My favorite shell is Bash?, my working environment is Bash? powered terminal-like environments, well terminals in Linux are commonly used, under Windows system, Cygwin? and MinGW? provides a Unix like terminal and a basic Unix command tool set, also gcc?, I use these Unix like terminals under Windows. And in Emacs?, there are more than one embedded terminal simulators, while I'm doing code in Emacs?, I will use often use these simulators. More than type commands one by one, I sometimes need to write shell files to finish commands sequence at a time, this help me to persist commands in a file.
- Emacs Lisp: intermittently use it to customise my Emacs?<br/>I am fimilar with Elisp?, when needed, I will try to write some
defun to facilitate some simple jobs, see yisp to see my elisp code and a set of elisp package collection. - JavaScript: familiar with, intermittently use it when needed. <br/>While maintain my sites, I intermittently need to touch JavaScript? and AJAX? to complete some effects and interactions. But in fact, I've touched JavaScript when I was a middle school student, in the days when I was starting focusing my interests on computer and touching HTML and web scripting.
Development Environment
Almost all of my development is done in a Bash
?ed terminial and Emacs
?. Emacs
? is more than source editor, I also use it as a replacement of IDE
?, more compact, more customizable and powerful, and join IRC
? channels in Emacs
?. The following is the tools I used to do development:
- Makefile + scripting: GNU make is commonly used to do building jobs, when I do C++, I need to write a GNUmakefile first, inlined with scripting(most often Bash) to build the project, and unit testing launching maybe embedded, (merely use autoconf and automake).
- MinGW: when native Windows application needs come, I often choose MinGW? to build native Windows C++.
- Cygwin: (to be continued)...
...