photo

Welcome to Eric’s homepage. Eric is a technology lover and the father of a lovely daughter.

Homepage and projects

Eric’s homepage about some of his work, projects and research: http://www.ericzma.com/homepage/.

Eric some other projects: http://www.ericzma.com/projects/.

Posts and blogs

Blog: Eric’s personal blog posts.

Photo Gallery: Eric’s photo gallery.

SysTutorials: Eric publishes tutorials, howtos and news on Linux, programming and more.

Contact and social networks

You can leave Eric an message by using this form or find Eric on Facebook, Twitter, LinkedIn and Google+.

More of Eric’s contact information: http://www.ericzma.com/blog/contact/

Latest blog posts

  • Posted on Sunday June 18, 2017
    It has been so long since the leaving from Fudan in 2009. Fudan is beautiful as it was. Revisited with my wife various places where we lived or passed by daily during the colleage time. Some places or shops are changed or gone while a lot more are still there. The post Back to Fudan, June 2017 appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Sunday June 18, 2017
    Some random photos taken in 2017. The post Random Photos 2017 appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Monday March 09, 2015
    My random photos in 2015. The post Random Photos 2015 appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Saturday March 07, 2015
    Photos of my daughter in 2015. The post My Little Girl 2015 appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Saturday February 28, 2015
    This year, I finally made it to go back to Shandong for the Chinese New Year after 5-year absence. It is warmer this year than it was usually be and new shoots are pushed out. Here are several photos I took with my iPhone in the yard. New shoots are herald of a bright new […] The post New Shoots in Shandong During Chinese New Year 2015 appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Tuesday October 14, 2014
    Recently I graduated from HKUST with a PhD degree and started my career as a software engineer at Hututa Technologies which is a HK-based startup. I am working on the Data Thinker (D-thinker) technology and we just updated the website and added a poster (in Chinese) on D-thinker. For those who are interested, visit our […] The post Updated Data Thinker Website and Poster appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Sunday May 11, 2014
    We hided most sections of the Maclehose Trail in the last several year and have only Section 9 of Maclehose Trail left. This section is relatively short and there is no bus out from Tin Fu Tsai: Maclehose Trail Section 9 Starting Point: Route Twisk Finishing Point: Tin Fu Tsai Length: 6.3 kilometres Time: 2.5 […] The post Hiking: from Tsuen Kam Au to Sham Tseng along Maclehose Trail Section 9 and Yuen Tsuen Ancient Trail appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Tuesday March 18, 2014
    Xinyan is with Grandma and Grandpa in Mar. 2014. Some more photos are here. The post Xinyan With Grandma and Grandpa appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Wednesday February 05, 2014
    Photos of my daughter in 2014. The post My Little Girl 2014 appeared first on Eric Z Ma's Site. Continue Reading »
  • Posted on Saturday August 10, 2013
    Photos taken on Nov. 4, 2012. The post Photos, 2012.11.4 appeared first on Eric Z Ma's Site. Continue Reading »

Latest other posts

  • Posted on Sunday July 08, 2018
    Thunderbird is powerful and feature rich. But different users have different needs and it is not feasible to include all features into the base software, where a plugin system shines. Thunderbird, similar to Firefox from Mozilla, supports addons/plugins and has a large ecosystems. Here, we will introduce several addons to Thunderbird that make Thunderbird easier […] The post Thunderbird Addons to Make Thunderbird Easier to Use appeared first on SysTutorials. Continue Reading »
  • Posted on Thursday April 05, 2018
    Sparse files are common in Linux/Unix and are also supported by Windows (e.g. NTFS) and macOSes (e.g. HFS+). Sparse files uses storage efficiently when the files have a lot of holes (contiguous ranges of bytes having the value of zero) by storing only metadata for the holes instead of using real disk blocks. They are […] The post Handling Sparse Files on Linux appeared first on SysTutorials. Continue Reading »
  • Posted on Tuesday April 03, 2018
    We may want to add some swap space for a Linux box while only find that all disk space is partitioned and mounted. Some partition has large available free space. For such cases, we may not want to change the partition allocation. The solution may be to add a file based swap for Linux as […] The post How to Add a File Based Swap for Linux appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    C++11 requires that lambda function parameters be declared with concrete types. This is sometimes annoying. auto is really nice, especially when the type is complex like std::vector<std::string>::iterator is quite long to type. I know C++14 allows auto in lambda functions. But how to not use concrete types in lambda function parameters in C++11? In C++11, […] The post How to not use concrete types in lambda function parameters in C++11? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    Vim seems not indent C++11 lambas very well. How to make Vim indent C++11 lambdas correctly? For this following program, Vim indents it as #include <iostream> #include <string> #include <vector> #include <algorithm> int main () { std::vector<std::string> strs({"one", "two"}); std::vector<std::string> newstrs; std::transform(strs.begin(), strs.end(), std::back_inserter(newstrs), [](const std::string& s) -> std::string { if (s == "one") { […] The post How to make Vim indent C++11 lambdas correctly? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    It seems Thunderbird sends out my private/lan IP to the SMTP server. For example, in an Email sent out by Thunderbird, the header contains Received: from [192.168.1.2] (example.com [1.2.3.4]) by mail.example.com (Postfix) with ESMTPSA id 92CD297DEA; It is fine that the SMTP server records the public IP (1.2.3.4) as it is what it sees. But […] The post How to hide my private IP in Email header in Thunderbird? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to operator[] access element in a const map in C++? For example, the compiler will report error on this piece of code: #include <iostream> #include <string> #include <map> std::int64_t count(const std::map<std::string, std::int64_t>& map) { return map["one"] + map["two"]; } int main () { std::map<std::string, std::int64_t> map = { {"one", 1}, {"two", 2} }; std::cout […] The post How to operator[] access element in a const map in C++? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to list start and end of a partition by the sectors in parted on Linux? The default behavior seems be listing the start and end by bytes in parted. # parted /dev/sdc print Model: Innostor IS888 ext. HDD (scsi) Disk /dev/sdc: 2000GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End […] The post How to list start and end sectors of a partition by parted in Linux? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    Evolution seems wrap long lines automatically in “Plain Text” mode. How to make Evolution not wrap lines in composed Emails? Evolution does not have (so far) “Flowing Text” mode where “the text is soft broken at the composer edge, but those soft breaks aren’t translated to hard breaks when the mail is sent” ( Reference: […] The post How to make Evolution not wrap lines in composed Emails? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    Does Evolution support automatic email address filling/completing in the “To” or “CC” fields which is commonly seen in other Email clients such as Thunderbird. Is is possible and how to enable Email address auto completion in Evolution? Evolution supports the contact autocompletion. To enable it, do as follows in Evolution. In Evolution Preferences dialog, in […] The post How to enable Email address auto completion in Evolution? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    Evolution’s default Email sort order is not very convenient, at least to me. How to apply the settings of sort order for a folder to all folders in Evolution? Manually setting the email sort order for each dir is tedious. Evolution has a function to “apply the same view settings to all folder” so that […] The post How to apply the Email sort order to all folders in Evolution? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to check CPU working frequency in iOS on iPhone, such as my iPhone 6? The Litum Info Lite free app (Litum Info full version app) can show you the info of CPU including its frequency. The CPU frequency: You can find the CPU info page from the menu: Answered by Eric Z Ma. The post How to check CPU working frequency in iOS on iPhone? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to remove newline characters from a string in C++? For example, a string like line 1 line 3 line 4 should be converted to line 1line 3line 4 In short, use this code snippet: input.erase(std::remove(input.begin(), input.end(), 'n'), input.end()); std::remove() shifts all elements that are equal to the value n by moving the elements in […] The post How to remove newline characters from a string in C++? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    The default target of make is the first target. But can I change the default target in Makefile and how to change the default target of make? The default goal of make is the first target whose name does not start with ‘.’ if .DEFAULT_GOAL is not set. Ref: make manual. To set the default […] The post How to change the default target of `make`? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    Within a Bash script, how to judge whether its STDERR is redirected to a file in Bash on Linux? For example, ./script.sh /tmp/log 2>&1 Can script.sh detect that its STDERR is redirected? Knowing the destination file is better. To test whether a script’s STDERR (or STDOUT) is redirected to a file, check by [[ -f […] The post How to judge whether its STDERR is redirected to a file in a Bash script on Linux? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    diff on Linux is a very handy tool. Any good diff alternatives on Windows to find differences between 2 files? A GUI program will be better on Windows. I would recommend meld for Windows users. Meld is a visual diff and merge tool open source software. meld is available on Linux, Windows and Mac OS […] The post diff alternative on Windows to find differences between 2 files? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    In Python, os.makedirs() with 0777 mode can not give others write permission The code is as follows $ python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.makedirs("/tmp/test1/test2", 0777) >>> The created dirs are not […] The post In Python, `os.makedirs()` with 0777 mode does not give others write permission appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to install the alien command on CentOS 7 to convert .deb to .rpm? alien is already in EPEL and it makes it quite easy to install it in CentOS 7. First, enable EPEL following this tutorials. Then, install alien by # yum install alien Then alien should be ready: # yum info alien Installed […] The post How to install alien on CentOS 7 to convert .deb to .rpm? appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to autohide top and bottom panels in RHEL 7 while application is running I don’t think GNOME 3 or GNOME 3 classic has this function available or there any plugins that supports so. If you need this function that the panel can hide automatically, you may consider another desktop environment, such as MATE, that […] The post autohide top and bottom panel in RHEL 7 appeared first on SysTutorials. Continue Reading »
  • Posted on Saturday March 24, 2018
    How to force a fsck of a file system, say the root, during the next rebooting of Linux? 2 possible ways: /forcefsck way for / # touch /forcefsck and reboot. Next time the / will be fsck’ed . systemd way Add these 2 kernel boot parameters: fsck.mode=force fsck.repair=yes What these 2 kernel parameters do: KERNEL […] The post How to force a fsck during next rebooting of Linux? appeared first on SysTutorials. Continue Reading »

Links

Tools: JPG to EPS Converter | What is my IP? | ASCII Table | Linux Manual | Software | DimJoeng | SysTutorials

If you happened to view Eric’s old homepage before and miss that one, please go here.


Last update: May. 2 2017.

Pageloads:

Please share if you like this post: