This is my own (unofficial) report of FUDCon APAC 2014 Day 2 (Sunday).

Main Hall

The hosts in the main hall on Sunday were Tobi from GNOME and Tommy He from Fedora. The sessions began with the keynote speech on Systemd by Lennart Poettering. He talked about what is the modern Linux system and what role Systemd plays in it. Pity I didn’t finish listening to the talk, since I was asked out to help with hacking room. It turns out quite a few guys would like a separate hacking room. So we decided to open up Room 2 for hacking. Shortly after setting it up, the most important guest, Richard Stallman (RMS), came to the venue along with Zeuux guys and others. They were not happy with the booth setup (it was the last booth) until an exchange was made. They brought many swags, and some of them are to be sold rather than given away. Richard also went into the hack room since it was still some time from his keynote.


After Lennart’s talk there were four lightning talks. It’s such a pity that I missed them all, in particular biergaizi’s lightning talk on “Tips about Linux Servers”. Then RMS’s keynote on “Computing, Freedom and Privacy” began. Many more people were coming and filling up the main hall. RMS’s talk itself is not quite new to me since I had listened to him in Tsinghua. The part about why GNOME was created at all was new, but the history was already familiar to Linux hobbyists. However, being able to listen to his talk on site was quite impressive and educating. I have the feeling that his opinion might be ahead of the time but is always right. In the middle of the talk, he held an auction for a toy gnu and “an adorable book” (Free Software, Free Society). After the talk was the Q&A, which lasted till about 12:45. We went to Heyi Building for lunch after that.


At lunch I got the message from zsun that Ankur would like to have the GPG key signing party in a small room rather than main hall. That was doable and we had difficulties to find a substitute to fill in the empty slot in main hall. At last the signing party was held in Room 2 and there was no replacement in main hall.

Room 3

After lunch it was near 14:00, and the first talk in Room 3 was supposed to be mine. So I hurried there to prepare. The volunteers (Feng Tian, Justin Wong, Rosie Ye, Tang Zhixin, etc.) were ready. I began my talk on LaTeX Tips a little bit later than the schedule. I talked about common compilation errors and output errors and how to fix them. The time was limited so I skipped the part about math formulas and BibTeX errors. I got a question about the main advantages of LaTeX compared with GUI Office applications. I explained that the advantages lie in high quality output and automatic generation of table-of-contents and list-of-various-stuff. Users normally only focus on the main contents rather than formatting issues.

The second talk was “CD using Docker” by Gerard Braad. He explained the actual definition of CD, Consistent Development and Deployment, and use Docker to demonstrate the concept. He introduced PaaS, LXC, cgroups, Dokku and so on along the talk. The talk was presented in an interactive and interesting way: questions, answers, and gifts!

After that there were only 10 minutes for tea break. However it was a nice time to take photos in front of the large banner. The following talk was meant to be Carbo Kuo’s Batsh topic, but he could not come and had sent regrets on Saturday. So Cheer Xiao’s talk was moved upwards to fill in the slot. Cheer Xiao talked about his experiments with Elvish, a new Unix shell created by himself. There were many considerations and tradeoffs when designing a shell, and he introduced the philosophy behind his choices. He also compared it with existing shells such as fish and zsh.

There was no more talks in Room 3 afterwards, so we headed for Room 8 to join the discussion about Fedora Women.

Room 8

The last talk in Room 8 was “Fedora Women” by Nitesh. He would like to make it more an interactive discussion than an oral presentation, and asked zsun and me to help translate. The session turned out to be quite productive. There were many nice suggestions out of the discussion. The main points are summarized as follows (with relevant names in parentheses):

  • For online communications such as IRC in a diverse community like Fedora, people generally do not know whether one is a man or woman, so there is normally no discrimination against gender. The community is equal to men and women. Potential women contributors should not fear questions such as why do you code you are a girl. If there is any such question, it is more important what is one’s interest than what is others’ opinion. (Nitesh, Ankur, Feng Tian)

  • Fedora has many roles and tasks for contributors. Even if you do not like coding, you can try to join the design team or the translation (L10N) team or others to contribute. Fedora also has a lot of special interest groups (SIGs) which welcomes people with that special interest, such as electronics, cloud computing and so on. And there is the opportunity to start a new SIG. There is a SIG called Fedora Join SIG, which is an ideal place for people who are new to the project and do not know what exactly they should do. You can just do informal introduction in the Join SIG mailing list and people will help you find what you can do. (Jaroslav, Aditya, Nitesh, Ankur)

  • There are many tasks waiting for people to join and contribute. And there will be many new tasks since Fedora.next is coming. Some of them are easyfix ones, which is very suitable for new contributors to get started. (Ankur, Jaroslav)

  • The local communities should draw the attention of outside non-users, organize activities to help them especially women to install Fedora on their computer and to show them how things work in the communities. Among the activities some can be girls oriented. Besides, blogging about how to install the OS and how to do various things on Fedora! (Martin, Aditya, Nitesh)

  • Lovely dolls attract girls! We should design more stuff than stickers for offline events. (Feng Tian, zsun)

  • Fedora might have a narrower user base than other projects like GNOME. But people can actually contribute to Fedora even without using it everyday. The way can be bug reporting, translating, or volunteering in offline events, etc. (Justin Wong, zsun)

  • A question to current contributors: why do you fail to bring your girlfriend to the community? (Robin Lee)

  • We should continue the discussion after the conference, rather than raising the same question again on the next conference. We should setup activities talking about how to achieve something, especially in Beijing. We should have clear targets. (Martin)


We went back to the main hall for the closing part of the event, and found the last talk in the main hall had not been finished, and it also became a discussion. So it seems we should consider panel discussion as a session type in the future.

The closing speech was given by Kat (IIRC) and Jaroslav respectively, and then followed by the speech by the local team. Emily and I went on the stage. She spoke in English and I did the translation. We gave our thanks to everyone, especially hardworking volunteers. The two hand fans, full of writings in different languages, were given to Tong Hui and Zamir Sun respectively as gifts for best volunteer of each community. The top horizontal scroll for the couplet was decided to be “Happy Hacking” according to the result of two days’ voting. At last we had a group photo.




In the evening we had a very nice buffet dinner at Oasis Café, Vision Hotel, which is just behind the conference venue. We toasted to everyone and thanked them for coming. I sat with robyduck and zsun. We talked about a lot of things including robyduck’s travel plan. Robyduck also pointed out a possible issue with FZUG’s logo. Richard Stallman also went to the celebration party. Besides, zsun and I stood in front of the camera of Nitesh near the cafe since we promised to participate the short interview by him and Ankur. It was such a relax at the dinner after two days’ event and after several months’ preparation. And I was really happy that many people found the event good and successful.


This is my own (unofficial) report of FUDCon APAC 2014 Day 1 (Saturday).


Tonghui and I went up early, had a simple breakfast at the hotel, and then went to the venue. I took the Live DVDs along, and the box was kind of heavy (about 400 DVDs!). Many volunteers were already there and ready when we arrived. Christopher was there too and needed to find a hotel for the night. Robin Lee offered him help. I took out about 50 DVDs and put them at the Fedora booth, and told the volunteers at registration desks to distribute the remaining ones. I took out some and put them close to the desks while left others in the box. It turned out to be not so good since the ones in the box were left unnoticed by the volunteers and were not distributed. But they can be used in future events anyway. It rained at night, so we expect fewer attendees than usual. Later in the night I got the message there was above 200 registrants on Saturday, which is a pretty good number.

As for the swags (gifts) for attendees, we prepared sufficient conference bags and badges, and each bag had a Fedora flyer, a Fedora DVD, a Deepin DVD, and some flyers from various sponsors. It was good except several issues. The paper of Fedora flyer is soft (157g paper) and the bag is soft (basketball bag or so), which makes the flyer easily rumpled. Another issue is that the Deepin DVD was not together with Deepin brochure.

Although we had enough bags, there were not sufficient T-shirts. We had decided to provide each volunteer two T-shirts, one from GNOME and one from Fedora. Also we need to reserve T-shirts for designers, speakers and donate tickets buyers. Therefore not many T-shirts were left for normal attendees, so they had to be distributed in a first-come, first-served manner.

Main Hall

The sessions at main hall began with loud sound of a Chinese gong. The hosts are Max from GNOME and Gerard (gbraad) from Fedora. Kat and Jaroslav gave the welcome speech from each side respectively. Then Emily represented the local team and introduced the event and also called for voting for the top horizontal scroll for the couplet — Evolution of the Desktop, Innovation for the Community — which is the conference theme. The former of the two parts was proposed by GNOME folks. It took some time for me and other Fedora guys to think of the latter half.


Then it was the time for keynote speeches. First Tobi gave a nice overview of GNOME 3.12 features. Then Jiri and Jaroslav introduced Fedora.next to the audience, talking about the features and the community. Pity I didn’t finish listening to their talk, since I needed to head to Room 8 to prepare following Fedora sessions. One of the most important thing was to bring a Fedora Friend Finder (power strip) there!

Room 8

When I arrived at Room 8, the volunteers (Shi Jie, Ma jing, Fan Jiayue and others) were already there. Shi Jie was the host of Room 8 on Saturday. His introduction scripts were outdated and could not reflect real schedule that day, but he adjusted quickly with the help of kraks. Ma Jing was the coordinator in that room, and was in charge of distributing gifts (books and cups) to questioners. Fan Jiayue was responsible for posting news on SNS websites (weibo) and preparing the daily news report.

The first speech was “Fedora Videos” by Nitesh Narayan Lal. He talked about one main current work is to organize all the videos. It is worth pointing out Nitesh (together with Ankur) was also responsible for recoding short videos of interview with random attendees.

Then Robert Mayr from Italy gave us the talk “Fedora Websites – present and future”. The talk was quite interesting and the new design for Fedora.next was quite impressive. Currently there are no APAC contributors for Websites subproject. Hopefully we will have interested APAC folks join the team. Robert also showed the easyfix page and Tommy asked about the feasibility of localizing it.

The morning sessions ended after that, and then we went to lunch at Heyi Building in Beihang. I met Nitesh and Aditya there, and helped them to tell the cook they need vegan food. There was a short period when no one was taking care of the booth. Zamir helped and I asked dongfengweixiao to be there quickly.

At 14:00 the afternoon session started. First Aditya Patawari from India talked about “Orchestration with Ansible at Fedora Project.” He is from the infra team, and he talked about why they moved to Ansible, and how to use Ansible to executive ad hoc commands and create playbooks.

Then Zamir Sun brought a brief introduction to FirewallD. He introduced the advantage of FirewallD, the GUI and command line interface of FirewallD, and the rich language to define complex rules. He also called for help on localization of FirewallD wiki pages and software applications.

Then it was a tea break. Unfortunately there was no drinkable tea since (we thought) there was no hot spoiled water at the venue. But the registration desks were moved to the side and the large banner stood out, which became a very good background to take photos. The booth was also quite popular, partially due to the lovely chameleon dolls brought by SUSE. I also met Su Zhe, the author of venerable SCIM, by the introduction of Emily at the booth. Su Zhe shared some information about Google’s input method project, and told that they are planning to release the input method framework open source.

After the break I went to the main hall to listen to Peng Wu’s “Wayland intro with i18n hacks”. I came in a bit late and only caught the part of two patches for wayland and a demo to run wayland for debugging. Su Zhe raised questions difficult to answer about Wayland and Mir.

After that I went back to Room 8 for Ankur Sinha’s hackfest about “ROS on Fedora”. Ankur introduced ROS and Fedora packaging. The talk was finished early but there was not much time for hacking. Ankur planned hacking on the next day. So we had more discussions, including Fedora Join SIG.

Then all the sessions for Room 8 on Saturday ended. We volunteers, speakers, and some attendees took a group photo, and then went back to the main hall.


Note: Ankur’s report contains more photos!

Main Hall Again

In the main hall we had three lightning talks, and they were Deepin Desktop Environment (DDE) from Xia Bin, Chandao FIXME from Wang chunsheng, and Open Build Service (OBS) from Lance Wang. Then we reached the closing part of first day. A wonderful video of short interviews was created by the volunteers and presented. We also had volunteers take a group photo.



I originally intended to join the sports game after the one day’s sessions, but at that time I was with tiansworld, tommy, and Wang Ye. I needed to help tiansworld to check in at the hotel, but we decided to have dinner first. We searched around the street outside East Gate of Beihang, and settled at Hannashan eating Korean toast. The food was good and not so expensive with groupon. But it would be not so good without conversation! We talked a lot, and after the dinner, Wang Ye left but liangsuilong joined the conversation at McDonald’s. We talked about all kinds of stuff, Fedora related or not. The conversation lasted to over 11:00 PM until I got a message from tonghui, asking whether I was back. We agreed it was a bit late, and it was time to say goodbye and go for rest.

When tiansworld and I were back at the hotel, I helped with the check-in at the front desk. Most of the staff there are not proficient with English, and zsun had reminded me that we needed to speak of 亚洲峰会 (Chinese for Asia Summit) to let them know which group we belonged to. After it was done, we went upstairs to each one’s room. Finally I had time to revise my slides for Sunday. Check the git log if you want to know the detailed changes. While I was preparing the slides, tonghui was checking the photos taken in the day. There are many good photos to tell the truth! It was quite late in the night after I finished my slides, so I went sleep quickly.


This is my own (unofficial) report of FUDCon APAC 2014 Day 0 (Friday).


There were no speech sessions for FUDCon on Friday, so it was all about event preparation in the day. At around 11:00 AM, I called Justin Wong, another guy from TUNA, also a volunteer of host, to help me move event gifts in my lab downstairs, where Emily waited for us with her car. We went to the venue, New Main Building in Beihang University, on the car full with sponsored gifts, including but not limited to cafe cups, hats, DVDs, books. Dongfengweixiao also just arrived when we got there. We had a brief lunch together at PengLaoShi, a Chinese fast food restaurant.

On the way back to the venue after lunch, we ordered the bottled drinking water for the three days. In the afternoon we are busy with setting up everything. Zamir (zsun) arrived to help. First we set up the booth with the desks rent from venue as well as desks from Beihang leagues (credit Wang Yang). The shop owner of bottle water helped with moving the desks from outside to venue. We had a booth for Fedora too, which dongfengweixiao took care of, so we left some Fedora flyers (and later on many stickers, F20 Live DVDs) there. We met one guy in orange T-shirt while setting up the booth. He asked about the place for upcoming GNOME training sessions. The next day I knew it was Tobi, the host in main hall from GNOME side!

Tong Hui (tonghui) arrived later and then event roll-up posters, X posters, and vertical banners arrived. I helped to hang up the two vertical banners in the main hall with tonghui and dongfengweixiao. It took three up-and-downs to finally make them look good (symmetric and smooth). Next I helped to buy some utilities such as power strips, mark pens, glue, and “postit” sticky notes. I also fetched the express of stickers. After I came back, many sponsors were there. There were some disagreements with booth position, but they were solved later. Li Bin (libin) and many other volunteers also arrived, and the registration desks (sign-in office) was set up. They put various small gifts into conference bags. T-shirts arrived and classified. Large banner which sat on the ground arrived a bit late, but was put up quickly. Time went by without being noticed, and it was almost 7 o’clock when we headed for the FUDPub, i.e. the welcome party.

FUDPub (Welcome Party)

The FUDPub was at Sculpture in Time Cafe, a cafe bar on campus and quite near to the venue. It was scheduled to begin from 6:00 PM, and we had volunteers waiting there to help from that time. As mentioned above some volunteers and I arrived a little late, and there were few empty seats then. Some early birds already begin to drink beer when we started to order pizzas and noodles! Around 60 people from the event were there, and the cafe bar seemed to be not able to handle so many people. The service was slow and a bit chaotic, but luckily we had sunny (and later on libin) who took care of the detailed list of ordered and served food. Except the long waiting time for food, it was good. I met and said hello to Ankur, Nitesh and other guys. Max called on emily, libin and me to toast to everyone. Ankur asked to continue discussion at the hotel after the party, but I stayed till 10:00 PM at the cafe bar since tonghui had so many interesting stories to tell! While we went to the hotel, I picked up the Fedora 20 Live DVDs with GNOME Desktop, whose creation was finished late due to some issues with DVD sleeves during production.


The conference hotel is Beihang Training Center, which is inside Beihang and near to the conference venue. There was no WiFi at hotel, only one wired interface available. Luckily tonghui set up a WiFi AP using his laptop with GNOME 3.12. He also charged his camera for next days’ activities. I replied some emails, took a shower, and then went to bed. I had planned to revise my slides, but it had to be delayed to Saturday.


Fedora Activity Day (FAD) China 2014 was successfully held at Park Plaza of Beijing Science Park, Beijing on Mar 30 (Sunday). It was organized by Fedora Zhongwen User Group with the help of CSDN. It was under the umbrella of Open Source Technology Conference (OSTC) 2014 initiated by CSDN, being one of three parallel sessions in the afternoon. There were around 600 attendees in total, and about 200 in the FAD session.

I arrived at the venue in the morning with more than 100 Live DVDs and 500 stickers. We distributed them during the Red Hat booth as well as the afternoon session. In the morning there were several keynote speeches and one panel discussion. More details can be found in the CSDN news report.

The afternoon session began at 1:30 pm. Thomas Yao and I served as the hosts of FAD. The first talk was “About Those Python Asynchronous Concurrency Frameworks” by Fantix King, CTO at FlowForge Games, Archlinux x32 committer, and Python programmer. He introduced the concept of concurrency, compared Tornado, Twisted, and Gevent, and then introduced asyncio, the newly available framework in Python 3.4.0.

Python Concurrency Frameworks by Fantix King

Python Concurrency Frameworks by Fantix King

The second talk was “Use Linux Command Line as a Hacker” by Xiaodong Xu (Toy), the webmaster of LinuxToy. He shared a lot of command line tips to fix typos, manipulate shell history, and speed up operations. In the QA session he talked about his opinion on text editor choice and Linux distro choice.



The next talk was “Reform the Toolbox: From Open Source Software to Open Source Service” by Daobing Li, the chief architect of Qiniu, who is also a Debian developer. He talked about the achievements of open source cloud service, and shared his vision of future cloud service – cloud in computer room. He also gave suggestions on how developers treat cloud services.

Daobing Li

Daobing Li

Following the talk was “Introduction to HackRF & GNURadio” by Scateu Wang, the creator of hackrf.net and the former leader of TUNA. He demonstrated the ease of using GNU Radio to develop software defined radio applications for DTMF decoding, FM modulation and demodulation, digital audio broadcasting, etc. He also introduced HackRF, the newly created inexpensive hardware peripheral used with GNU Radio.

Scateu Wang

Scateu Wang

The next talk was “Fedora Ambassadors & FUDCon” by myself. I introduced the four foundations of Fedora Project, gave an overview of Fedora Ambassadors project, showed what ambassadors do and how reimbursement works, and then shared the recent progress of organizing FUDCon APAC 2014 to be held in May and welcomed everyone to join.



Next Emily Chen, GNOME.Asia founder, senior software engineer in Oracle, gave the talk “Bringing More Women to Free and Open Source Software”. She introduced the Outreach Program for Women initiated by GNOME, talked about how it increases the women participation in open source projects. The annual program provides prize for women participants in similar way with GSoC, but it does not require the applicants to be students, and applicants does not need to write code in the program.

Emily Chen

Emily Chen

The following talk was “Operation and Management of SHLUG” by Thomas Yao, leader of Shanghai Linux User Group (SHLUG), founder of GitCafe.com. Thomas gave an impressive speech without any slides. He talked about the history of SHLUG and shared the experience. He pointed out the pioneering effort of building the first open source mirror site in China, Geekbone, and the importance of keeping the community focus on technique rather than commercial activities. He also shared the interesting stories of Hacking Thursday and Rails Girls.

Thomas Yao

Thomas Yao

After that is the panel discussion on “History and Future of Open Source OS in China”. It was moderated by Thomas Yao, and the panelists are Weijia He from Redflag College of Education, Jianzhong Huang from Redflag R&D, Jack Yu from UbuntuKylin, and Yong Wang from Linux Deepin. They shared their opinions and experiences about Linux Desktop, collaboration of distros, cultivation of open source talents, and open source in education.

Panel Discussion

Panel Discussion

At last, Martin, leader of Beijing Linux User Group (BLUG) gave a lightining speech of introducing BLUG and its activities. Everyone is welcomed and should not worry about their English since there are actually many Chinese there. And it is quite easy to join the event by registering on BLUG website or joining discussion in mailing list.

At night there is the Open Source Night, a social event for free face-to-face discussions. Unfortunately I didn’t attend it. I had dinner with FUDCon and GNOME.Asia organizers and discussed current progress and following tasks.

Overall it is a very good event in my mind. If I have to point out some issues, I’d say there might be too many talks and no time for tea or coffee in between! Besides, my own talk was prepared in a bit hurry, and not practised well beforehand.

The slides links is available on CSDN news. They also provide a Chinese report for FAD. There is a great minute for the meeting by Bojie Li from USTC LUG. The videos and various other materials can be found at this link.


NOTE: For Chinese readers, there is a Chinese version of the report here.

Happy new year everyone!

The Fedora 20 Release Party in Beijing was successfully held at Turing Office last Wednesday (Dec 25). It was organized by Fedora Zhongwen User Group with the help of Beijing GNOME User Group. There were 22 registrants on site, which is comparatively fewer than previous due to the time arrangement.

The release party began at 6 pm. (I was late for about 10 minutes.) We conducted the registration on a computer: We opened a LibreOffice Calc spreadsheet filled with pre-registrants’ information so that they can just type 1 to register. As for others we required them to type their names and email addresses. As usual, every attendee can pick a Live DVD and a sticker. We prepared 50 Fedora 20 DVDs. Each of them has a label with Fedora 10th anniversary icon, and is 64bit with either GNOME or KDE. The stickers are from Fedora, GitCafe, and CSDN CODE.

The party entered pizza time at around 6:30 pm. We had ordered seven pizzas, 5 large and 2 small. Along with drinks and snacks sponsored by CSDN, they more or less met the requirement of everyone’s supper. While supper we managed to collect four topics for the talk.

The talk session started from 7:30 pm. In the opening address, I welcomed everyone, and introduced the features (changes) of Fedora 20 and the 10 year history of Fedora project briefly. Then it came to the first talk, which was "systemd Introduction" by Robin Lee, an active Fedora packager, FZUG member, and skilled programmer. He talked about the origin, main concepts, and core implementation of systemd as well as its impact on application development. There were in depth discussions about the implementation details and comparison with other competitors in and after the talk.

systemd Introduction by Robin Lee

systemd Introduction by Robin Lee

Then there were three short talks. The first one was "Open Source Strategies of CSDN" by Orson Zhai. He pointed out that CSDN has set open source as one focus, and CSDN CODE is striving to provide a better collaboration platform for open source projects in China. Then David Liang from SUSE talked about the state and progress of "Automatic Testing for GUI". Currently there is no mature tool for automatic GUI testing to increase the efficiency of desktop testing. Projects such as openQA aim at building such tools and are being developed. The last talk was an introduction to Fedora.next by Robin Lee. Fedora.next is a plan being carried to improve the current release practice of Fedora. Based on the reflections of the existing practice, Fedora.next tries to replace the single repository with four rings of packages. Each ring can has its packaging polices. Besides, multiple working groups with possibly different release strategies are formed to build multiple products. In summary Fedora.next aims at better integration of Fedora and the overall open source ecosystem, and more involvement and contribution from more people.

We prepared several GitCafe cups, and Turing generously provided some Linux books. They were distributed as gifts for questioners. CSDN brought gifts for speakers too. Then after all the talks, at around 9:30 pm, we took a group photo.

Group Photo

Group Photo

It is worth pointing out several issues for the event. The pizzas was sent earlier than the registration, without receipts. The number of attendees is small since it was arranged at weekday night. The discussions were more abroad than expected and led to overtime. So to avoid the issues:

  • When ordering takeout, specify both the earliest and latest time.
  • To attract more people, make the event happen on weekend day (afternoon) at easily findable venue.
  • Prepare for overtime, and put the start time as early as possible.

The slides links is available on the wiki page. The photos can be found on G+. Don’t forget to take the post-event survey before Jan 11! You feedback is appreciated!



上周三(12 月 25 日)晚上在立水桥南附近的图灵办公室,由 Fedora 中文用户组主办,北京 GNOME 用户组协办,并由 CSDN 赞助的 Fedora 20 发行派对北京站活动顺利举行。由于时间是在工作日,恰逢圣诞,又是晚间活动,到场人数与以往相比偏少,最终注册了 22 人。

活动开始时间是下午六点,我迟到了十多分钟。这次注册为电子注册:在 Fedora 电脑上开一个 LibreOffice 电子表格,预报名过的人可以直接填 1 进行签到,现场报名的只需填上自己的名字和邮箱。照惯例,注册后每人可以领取一张 Live 光盘和一枚贴纸。我们准备了 50 张 Fedora 20 光盘,盘贴上有 Fedora 10 周年纪念字样,光盘有 GNOME 64 位以及 KDE 64 位两种以供选择。这次的贴纸不仅有 Fedora 的金属图标,还有 GitCafe 贴纸和 CSDN CODE 带来的 Git 主题贴纸。

大约六点半时,活动进入比萨时间。我们预订了五大两小共七个外卖比萨,加上 CSDN 赞助的零食饮品等,比较好地满足了大家的晚餐需求。在晚餐闲聊环节,我们征集到了一大三小共四个主题演讲。

演讲从七点半开始。在各个主题演讲之前,我对大家的到来表示欢迎,并简单介绍了 Fedora 20 新特性以及 Fedora 项目 10 周年的历史。之后便开始了第一个主题演讲。演讲是活跃的社区成员、Fedora 打包者李瑞彬带来的“systemd 简介”。他介绍了 systemd 的历史缘起、主要思想、实现核心,以及对程序开发的影响。大家在演讲中和演讲后对 systemd 的实现细节、与竞争者的对比等方面进行了深入的讨论。

李瑞彬介绍 systemd

李瑞彬介绍 systemd

之后是三个较短的演讲。首先是 CSDN CODE 的翟京介绍了 CSDN 的开源策略。开源已成为 CSDN 的一个重心,其推出的 CODE 平台将力图为国内开源项目提供更好的协作平台。然后是 SUSE 的 David Liang 介绍了图形界面自动化测试的现状和发展。图形界面程序的自动化测试可以极大提高图形界面测试工作的效率,但目前尚无成熟工具,OpenQA 等项目在力图打造优秀的图形界面自动化测试工具。最后一个演讲是李瑞彬对 Fedora.next 的简要介绍。Fedora.next 是 Fedora 现有发行模式的改进计划。它基于对现有模式的反思,将单一的软件仓库分为四个环 (Ring),不同环可以采取不同的打包策略,另外组建多个工作组 (Working Group),打造多个产品,不同组可以有不同的发布策略。总体上力图让 Fedora 和开源生态更好地融合,让更多人可以参与到 Fedora 项目当中。

我们事先准备了若干杯子,图灵提供了若干 Linux 图书,在问答互动环节作为奖励进行了分发。最后九点三十许,大家合影留念。




  • 外卖订餐不仅需要指定不晚于的时间,还要指定不早于的时间。记得要发票。
  • 要想让活动参与人多,最好在周末白天(下午),场地交通要方便且易找到。
  • 要有超时的准备,开始时间应尽量往前赶。

本次活动演讲的幻灯片链接可以在维基页面看到。活动照片可以在 G+ 上看到。最后,参加了活动的朋友请记得在 1 月 11 日之前填下反馈调查问卷!欢迎您对活动留下宝贵意见!


  1. [2014-01-02] 修正星期几错误……
十二 152013

最近我把个人资料迁移到了一个新笔记本电脑上,旧电脑不再使用了,需要清除上面的个人数据。旧电脑是 Windows XP 与 Linux (Fedora 19) 的双系统,个人资料在 Linux 下,所以任务是清空 Linux 系统,保留原有 XP 可用。

由于重要的数据都已导出,所以这给了我一次在实体机上尝试 rm -rf / 的绝佳机会。众所周知,这项操作需要 root 权限 (su/sudo),而且 GNU 的 rm 默认已不再允许在顶级根目录下这样做,所以真实的命令是:

sudo rm -rf --no-preserve-root /

我是在原 Linux 系统图形界面的虚拟终端里做此操作的。过了一会儿,突然虚拟终端不见了,桌面背景等都还在。在图形界面试图新建虚拟终端无效。于是我切到控制台终端,发现控制台一直是等待状态,没法登录。(猜想是相应的程序都没了。)切回图形界面后发现鼠标键盘失去响应,但桌面背景还在。此时已经做不了什么有意义的操作,于是按电源键关机了。

之后用 Live USB 开机登录,挂载硬盘分区,发现原 Linux 的文件并没有全删光,还残留若干空目录,也有非空目录下有残余文件,$HOME 下也有几个残余文件(视频目录里有东西!$HOME 下还留着一个 PDF 文档!),不过所剩无几。

不过我们知道,Linux 下的 rm 本质上是去掉文件系统中的链接 (unlink),硬盘上的数据并没有擦除。使用数据恢复工具还是有可能找回其内容的。要真正地清空硬盘分区,需要进行“低格”,即低层格式化。Linux 上的 dd 命令可以做到这一点。如下 /dev/sda7 是一个 Linux 分区,我们通过往上面写入全零 (/dev/zero) 来擦除数据(使用 /dev/urandom 写入随机数也是可以的)。

[liveuser@localhost~]$ sudo dd if=/dev/zero of=/dev/sda7 & pid=$!

注意其中用的是一个 & 号,意为放后台运行。后面将进程号赋值给 pid 变量,是为了后面可以方便地查询进度,毕竟受限于磁盘 IO,dd 对于几百 GB 的硬盘是很慢的。可以通过向 dd 命令发送 USR1 信号获取当前进度:

[liveuser@localhost ~]$ sudo kill -USR1 $pid
[liveuser@localhost ~]$ 512417+0 records in
512417+0 records out
262357504 bytes (262 MB) copied, 17.5086 s, 15.0 MB/s


[liveuser@localhost~]$ dd: writing to ‘/dev/sda7’: No space left on device
210183058+0 records in
210183057+0 records out
107613725184 bytes (108 GB) copied, 8295.38 s, 13.0 MB/s

可见,这个 108 GB 的分区用了两个多小时才擦写完。类似地对每个 Linux 分区执行上述 dd 命令,即可把所有数据擦除干净。有人会建议多擦写几次(3次?)以更加确定数据不会被恢复。不管怎样,注意务必写对分区编号,不然把(未备份的)有用数据擦掉了就出大事了。(如果你要清空整个硬盘的话,注意把硬盘设备名弄对。)

清除数据的任务到此就宣告结束了。不过,对于双系统来说,正常的引导是通过 GRUB 来实现的,而 /boot 分区或文件在前面已经被擦除了,所以开机会进入 GRUB 的 rescue shell 中。我没有搞明白如何在这里引导进入 XP 系统,于是用 Windows 系统光盘恢复引导。由于手头没有 XP 安装盘,当时用的是一个 Server 2003 的安装盘。不过操作是一样的,这个文档里有详细说明。简单来讲,就是进入 Windows 安装盘修复模式后执行 fixmbr 命令。

十二 052013

JavaScript 社区的国际性技术大会 JingJS 2013 于 11 月 9 号和 10 号两天在学校东门外的紫光国际会议中心(紫光二楼)举行,我有幸作为活动志愿者一枚近距离围观了两天的活动。这里记录下其中的点滴收获。


活动第一天上午,Jason Denizac 在题为 My Year With Node.js (我与 Node.js 的一年) 的分享中,说自己是个 writer (作家),也 write code (写代码)。听起来感觉碉堡了,这个认识水平比一般人高了不少。


后面 cnblog 的创始人 Issac Mao 在不用幻灯片的分享中,谈他对社区、分享等的体会。他提到 sharism 这个词,将分享精神上升为一种主义。他还提到 meme 一词,他建议翻译为“媒母”(音)。谈到多种文化时常提到这个词,维基百科上给出的翻译是“迷因”“模因”等。不确定它们是否恰切地反应了词的含义。此外他还提到他们做的对社交媒体信息的归档。


中午之前有个 workshop 教学环节。无奈家用路由器根本无法满足会场二百多人同时连接的需求,最后只能选取若干幸运者代表大家参与一下。

午饭和众多大神一起在科技园里某餐馆吃的,其中包括 Domonic Tarr,npm 模块数目排行第三的大神。等餐期间,他学习了中文中的模块、土等词汇,并用在了自己第二天的演讲稿中。

头天最吸引人的演讲恐怕是 James Halliday 带来的 the wizard of moduletopia (模块之魔法)。James 不经意间展示了飞速的键盘操作,亲手绘制的漫画风格幻灯片,以及用 Vim 放映展示代码功能的“幻灯片”。James 网名 substack,目前提交 npm 模块数量上排行第二,其中 browserify 模块已经颇为知名。

IMG_0018 IMG_0019 IMG_0021

第二天的演讲,Eric Redmond 在题为 HTTP Is Hard 的演讲中讲述了 HTTP 状态码背后的含义,以及常见的误区。人们或许会习惯于检查 HTTP 回应状态吗是否是 200 以确定是否是正常回复,然而事实上 2xx 都意味着正确结果。有个网站可以帮忙查询每个状态码的含义,用法如下:

curl -I http://codes.io/206

(此外 418 也是一个有趣的状态码。)除了状态码之外,HTTP 本身就支持授权认证 (Basic authentication)。值得一提的是,Eric 还是 7 Databases in 7 Weeks 一书的作者。

百度的 Yao Tong 介绍了他们的一个针对实时性应用的开源纯 JavaScript 框架 Clouda。现场测试的待办事项列表应用在使用手机 GPRS 网络时依然表现良好,令人印象深刻。

闪电演讲环节,一个小朋友流畅地用英文介绍了自己的小项目 gifme。它是一个 Web 应用,获取访问用户摄像头权限后,可以截取一段动作,并自动生成 GIF 图片,然后可以选择保存在本地或者分享到社交网络。

之后有演讲总结了自动化 CSS 测试,介绍了语法检查、lint、截图对比等方式,推荐了 hardy 模块。演讲者 Jakob Mattson 强烈建议设计先行的做法。

来自阿里的漂亮的 Zhouxuan Yang (fool2fish) 介绍了名为 totoro 的前端测试工具。没错,这个名字来自宫崎骏的龙猫。这一工具的设计特点是简单易用足够稳定。

最后一个演讲是沈嵘带来的 Grunt.js 介绍。Grunt 是一个自动化构建工具,实现了用 JavaScript 构建 JavaScript 的美好特性,这在别的语言是似乎还是没有过的,这一特性带来了极大的便捷。Grunt 的安装需要两步,先全局安装 grunt-cli,再给每个项目安装 grunt。详细内容见幻灯片材料

晚上的 After Party 在五道口的 Pyro Pizza,那里提供了丰盛的食物饮料,还有游戏环节,不过最主要的活动还是随机的小范围的聊天。自己也应该更积极地投入到这种氛围中去。


Note: For the Chinese version of this report, please refer to this page.

On last Saturday (Sep 21), the Software Freedom Day Activity at Tsinghua University was held. It was hosted by Tsinghua University Network Administrators (TUNA) with the assistance of Beijing GNOME User Group (BJGUG). There were more than 60 attendees. The onsite registration began at about 2 pm, and it was done on a laptop computer running LibreOffice Calc. The spreadsheet would be used by the lucky draw in the end. We prepared CDs, stickers, and posters, which were readily available for every registrants.

The formal event started at about 2:30 pm with the welcome speech by me (alick). I introduced what software freedom day (SFD) is and what free software is. I also introduced the event host and sponsors. This event was sponsored by Mozilla, COPU, GitCafe, CodeWeavers, Linux Deepin, and Fedora community. They provided many kinds of swag as gifts. Besides Mozilla also covered the cost of SFD posters and so on. I also introduced the NITE-LPI certificate program supported by COPU.

Alick introduces free software

Alick introduces free software

Following was three speeches. The first one was “GNOME Shell” by Li Bin, the current BJGUG leader. He talked about components of GNOME Shell and its flexible and powerful extension capability, and then demonstrated the development of GNOME Shell extensions. gnome-tweak-tool and https://extensions.gnome.org/ was introduced during the talk. The main programming language used to develop a GNOME Shell extension is Javascript. With the help of gnome-shell-extension-tool, an extension can be created rapidly.

GNOME Shell by Li Bin

GNOME Shell by Li Bin

Next was the talk “Firefox & Firefox OS” by Yuan Xulei, who is an engineer from Mozilla. He introduced the features of Firefox, and explained in details how to use addon to customize Firefox and improve the web browsing experience. Later on he talked about Firefox OS, a new open source mobile operating system by Mozilla based on Linux and Gecko technologies.

Firefox OS by Yuan Xulei

Firefox OS by Yuan Xulei

After a short break, Zhou Jianfeng, a teacher from Center for Astrophysics, Tsinghua University, gave the speech titled “Airelinux”. He first introduced Astrophysical Integrated Research Environment (AIRE), and then talked about the goal and plan of Airelinux project. Airelinux is a new Linux distribution targeted to high performance computing in astrophysics. Please join it if you are an enthusiastic astronomer, or active in the community of free software (esp. Debian), or an artist who can help with the artwork design!

Airelinux by Zhou Jianfeng

Airelinux by Zhou Jianfeng

There was five minutes QA for each talk. Gifts such as Firefox toys, notebooks, cups, and mouse pads were distributed.

After the speeches was the parallel demo, Hackfest and Installfest session. Small groups were formed and there were face to face talks. There were two demonstrations. One is brought by Fedora community, where Gerard, a Fedora ambassador, talked with people and encouraged them to join Fedora project. Three Fedora T-shirts were distributed. Another demo was for LPI certificate program, where Wang Yun, the country manager of LPI, explained it to interested people. The hackfest was an software defined radio experiment conducted by Wang Kang (scateu), where data was transmitted between the audio interface, and gMFSK was used to modulate/demodulate on the PC. It was quite attractive to the audience.

At about five o’clock, we had the lucky draw. It was a cute web interface, implemented in Python by Justin Wong (bigeagle). In the lucky draw 3 T-shirts and 5 CrossOver license codes were distributed. At last we had group photos.

Group photo

Group photo

The links to the slides and videos of speeches are available on the SFD Wiki page. The photos can be found at G+ pages. And as a final note, we encourage every attendees to leave your feedback when you got the email notice for the post event survey!


上周六(9 月 21 日)北京天气晴好,由清华大学学生网管会 (TUNA) 主办,并由北京 GNOME 用户组 (BJGUG) 协办的自由软件日清华站活动顺利举行。活动有超过 60 人参加。接近下午两点时开始现场注册,这次活动的注册为电子注册,每个人在注册电脑上的 LibreOffice 表格中填写各自的信息,这个表格会被最后幸运抽奖的程序直接读取。我们准备了光盘、贴纸与宣传海报,注册后每人都可以领取。

活动正式开始于大约两点半。开场时由我(赵涛)致欢迎辞。我在欢迎辞中介绍了什么是自由软件日活动、什么是自由软件,此外介绍了活动的主办方和赞助单位。本次活动得到了谋智网络 (Mozilla)、中国开源软件推进联盟 (COPU)、GitCafe、CodeWeavers、深度 Linux、Fedora 社区等的大力支持,他们为本次活动提供了丰富多样的礼品,其中 Mozilla 还对活动宣传品等的开销提供支持。我还对 COPU 支持的 NITE-LPI 联合认证项目做了介绍。



之后便开始了主题演讲环节。第一个演讲由 BJGUG 主席李彬带来,题为“GNOME Shell”。李彬在演讲中介绍了 GNOME Shell 的组成,灵活强大的扩展 (extension) 机制,还现场演示了扩展开发。演讲中推荐了 gnome-tweak-tool 和 https://extensions.gnome.org/ 网站。GNOME Shell 扩展开发主要使用 Javascript,借助于已有的扩展框架生成工具 gnome-shell-extension-tool,扩展可以很快捷地被开发出来。

李彬介绍 GNOME Shell

李彬介绍 GNOME Shell

紧接着是来自 Mozilla 的工程师袁徐磊带来的“Firefox & Firefox OS”。他介绍了流行的开源浏览器火狐 (Firefox) 的特性。使用附加组件 (addon) 定制 Firefox,改善网页浏览体验是 Firefox 的一大特点,袁徐磊对此做了详细讲解。他还对 Mozilla 新推出的基于 Linux 和 Gecko 技术的开源移动操作系统 Firefox OS 的发展和开发平台做了介绍。

袁徐磊介绍 Firefox OS

袁徐磊介绍 Firefox OS

短暂的中场休息后,来自清华大学天体物理中心的周建锋老师做了题为“Airelinux”的演讲。他首先介绍了天体物理集成研究环境 (Astrophysical Integrated Research Environment) 即 AIRE,继而介绍了 Airelinux 项目的目标和计划。Airelinux 是一个新的面向天文学计算的 Linux 发行版项目,欢迎广大天文爱好者、自由软件社区贡献者(特别是 Debian 贡献者)、以及设计人员的加入。

周建锋介绍 Airelinux

周建锋介绍 Airelinux


主题演讲环节之后,是并行的展台展示、Hackfest、Installfest 环节,这个环节大家分成若干小组,进行面对面的交流。展台有两个,其一是 Fedora 社区的展示,Fedora 大使吉拉德 (gbraad) 在现场和大家做了深入交流,鼓励大家加入 Fedora 项目,并送出了 3 件 Fedora T 恤。另外一个展台是对 LPI 认证项目的介绍,LPI 中国区经理王雲老师为大家做了答疑解惑,她表示今后会在高校做更多的活动介绍 LPI 项目。Hackfest 则是有王康带来的软件无线电实验。这个实验用声卡进行信息传输,在电脑上用 gMFSK 做调制解调,使现场同学领略到了软件无线电的魅力。

五点左右时,活动来到了最后的幸运抽奖环节,抽奖程序是一个卖萌的网页界面,主体逻辑由 Python 语言实现,作者是 Justin Wong (bigeagle)。我们抽奖送出了 3 件 T 恤衫和 5 个 CrossOver 正版序列号,其中序列号在活动后邮件送出。活动最后大家合影留念。




活动演讲的讲稿链接、演讲视频的优酷链接可以在维基页面上找到。活动照片请看 G+ 页面。最后,感谢所有到场人员的热情参与,请参加活动的朋友收到活动调查问卷的邮件通知后留下您的宝贵意见。