Dec 19, 2014

Mass 'rename' with Linux

Tình huống: Đổi tên, theo pattern nào đó, với nhiều file đồng thời.

Lệnh:

​rename 's/Screenshot from/Practical Advice for Agile Planning and Collaboration/' *.png

rename -n will just display the result after renaming, not actual rename the files.

Dec 10, 2014

A case study on applying Scaled Agile Framework (SAFe)

Tóm tắt:
Bài viết này tóm tắt một số ý quan trọng khi triển khai Scaled Agile Framework (SAFe) ở mức team, dự án, program (chương trình) và tổ chức (company level)

Bối cảnh:
Áp dụng trong một công ty cỡ trung bình,
tổng số nhân viên vài ngàn người,
tổng số nhân sự IT (phát triển, testers, quản trị dự án...) là vài trăm,
với nhiều tiểu dự án, dịch vụ (online) chạy song song.

Mô hình quyền quyết định và budgeting là top-down.
Hệ quả là, tư duy top-down ngay cả trong cách chạy dự án IT cũng là top-down và rất waterfall.

Thách thức:
Áp dụng mô hình Agile vào tổ chức này như thế nào để làm "đẹp lòng" lãnh đạo (cao cấp) trong khi các dự án IT vẫn chạy tốt?

Cách tiếp cận:
- Agile tới từng team, dự án, chương trình, mục tiêu (portfolio) và tổ chức,
- Áp dụng những Agile toolkit cơ bản, có lộ trình,
- Việc áp dụng Agile toolkit ở mức team (5-10 người) được phó mặc cho Project lead, scrum master.

Lựa chọn scaled Agile framework:
Tôi chọn SAFe thì mô hình này vẽ đẹp, trực quan, dễ dàng dùng hình để thuyết phục lãnh đạo.
Iteration là một Agile practice được mô tả đơn giản, chia theo các mức lãnh đạo, phòng ban trong tổ chức có thể dễ dàng áp dụng.
SAFe tập trung vào quy trình, thích hợp hơn ở mức tổ chức

Tôi có tìm hiểu qua các scaled Agile framework sau nhưng không chọn:
  1. RAP (Real Agility Program)
  2. DAD (Disciplined Agile Delivery)
  3. LeSS (Large Scale Scrum)

Lộ trình tiếp cận và áp dụng SAFe:e

  1. Áp dụng Agile toolkits cho các nhóm phát triển. Đối tượng áp dụng là scrum master, tester, developers...
  2. Áp dụng Agile toolkits cho các dự án, mục tiêu lớn. Đối tượng áp dụng là lãnh đạo ở mức trưởng phòng, product manager,
  3. Áp dụng Agile toolkits ở mức C-level (CEO, CFO, CTO...). Điều quan trọng là thay đổi mindset, chuyển đổi nó từ tư duy truyền thống sang tư duy Agile.

Trong đó, việc budgeting, được quyết định chính bởi CEO, CFO là tối quan trọng. CEO và CFO là những người khó thay đổi nhất.

Một số nhận định chung về SAFe:

  1. Áp dụng ở mức tổ chức, chứ không phải chỉ cho một team nhỏ dưới 10 người,
  2. Thích hợp với tổ chức có nhiều phòng ban, tổ chức, dự án, chương trình chạy song song,
  3. Q: SAFe có thực sự là Agile không? A: SAFe là Agile ở mức team và cũng là Agile ở mức program, tổ chức dù điều này hơi khó nhìn,
  4. Q: SAFe liên quan gì tới Scrum? Scrum là một Agile toolkit. SAFe là một mô hình Scaled Agile. Do đó, việc so sánh SAFe và Scrum là khập khiễng. Trong mô hình SAFe, ở mức team, hoàn toàn có thể áp dụng Scrum như một toolkit hoặc nhiều toolkit khác,
  5. Q: Vì sao ít người (nổi tiếng) ủng hộ SAFe? A: Vì họ thường chỉ làm dự án ở quy mô nhỏ, trong khi SAFe áp dụng ở quy mô lớn (hơn),
  6. Q: SAFe có phải là chiến lược không? A: Đúng, nó là một chiến lược, cách tiếp cận đúng để thay đổi tư duy cổ điển của lãnh đạo sang Agile,
  7. Q: SAFe có định nghĩ rõ độ dài của sprint không? A: Không. Độ dài sprint hoàn toàn tùy thuộc vào tình hình thực tế. Với mức team < 10 người, độ dài sprint có thể là 4 tuần, 1 tuần hay thậm chí một vài ngày. Với C-level, "sprint" là 1, 3 hay 6 tháng và có sự điều chỉnh (retrospect:ve) khi cần thiết.

Một số Agile toolkit:

# (mà tôi) khuyến nghị sử dụng ở mức độ công ty, cho các vị trí khác nhau.

  1. Agile for project managers
  2. Agile portfolio management
  3. Scaled Agile Framework
  4. User Stories
  5. Agile Kanban
  6. Iteration Planning
  7. Definition of Done
  8. Agile Quality
  9. Agile Planning
  10. Agile for Executives
  11. Scrum
  12. Planning poker
  13. XP (eXtreme Programming) (use with care :D)
  14. Kanban
  15. TDD (Test-Driven Development)
  16. CI (Continuous Integration)
  17. CTDD (Continuous Test Driven Development)

Topics khác:

(liên quan tới việc triển khai SAFe, hay scaled Agile frameowork nào đó)

  1. Hiring (đúng người đúng việc)
  2. Performance evaluation (đánh giá, đây là việc cần làm trong tổ chức (lớn)
  3. Communications (thông luồng liên lạc, không quá quan liêu, không quá thưa)
  4. Reporting (Hơi đi ngược lại với nguyên tắc Agile. Báo cáo là cần, dù ngắn, không để "báo cáo" trở thành gánh nặng)
  5. Organization structure (Định nghĩa lại sơ đồ tổ chức khi áp dụng SAFe, cùng với RaR)
  6. Project structure (cơ cấu tổ chức ở mức dự án)
  7. Training (Đào tạo tư duy Agile, từ lãnh đạo tới nhân viên)
  8. Authority (Chơ chế quyền quyết định thay đổi khi áp dụng Agile)
  9. RaR (Roles and Responsibilities) definition
  10. Skillset (Năng lực cần và đủ của các vị trí thay đổi khi áp dụng Agile)
  11. Governace (Không có thì móm à)

Tham khảo:

  1. unSAFe at any speed http://kenschwaber.wordpress.com/2013/08/06/unsafe-at-any-speed/
  2. The Horror Of The Scaled Agile Framework http://neilkillick.com/2012/03/21/the-horror-of-the-scaled-agile-framework/
  3. Large-Scale Agile Design & Architecture: Ways of Working http://www.infoq.com/articles/large-scale-agile-design-and-architecture





--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

"凡", "buồm" in Korean and Vietnamese. Credit to Anh Dũng Phan for pointing out the similarities.

"凡", "buồm" in Korean and Vietnamese. Credit to Anh Dũng Phan for pointing out the similarities.

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Dec 4, 2014

How to run an effective meeting (updated #1)

*​​Để chạy một cuộc họp hiệu quả, cần làm gì?*

- Có mục đích rõ ràng
- và được chi tiết hóa hơn bằng agenda
- Tập trung vào agenda, không đi lệch chủ đề chính
- Càng ngắn càng tốt. Thời gian cho một meeting nên không vượt quá 25 phút.
- Chỉ định người take note
- Tất cả những người tham gia có sự chuẩn bị trước về mặt tinh thần và nội dung
- Chỉ định người điều khiển cuộc họp, điều chỉnh cuộc họp theo các tiêu nói nói trên: Tập trung vào agenda, không lệch chủ đề, chủ động ngắt phát biểu nếu quá dài.

Một số biểu hiện của cuộc họp không hiệu quả:
- Thời gian quá dài
- Không đi vào nội dung chính
- Không rõ mục tiêu của cuộc họp là gì
- Có người ngủ hoặc/làm việc riêng trong khi họp
- Không có kết luận, danh sách TODO/next action sau cuộc họp

*Tham khảo bài dưới đây: *

There are good meetings and there are bad meetings. Bad meetings drone on forever, you never seem to get to the point, and you leave wondering why you were even present. Effective ones leave you energized and feeling that you've really accomplished something.

So what makes a meeting effective?

Effective meetings really boil down to three things:

    They achieve the meeting's objective.
    They take up a minimum amount of time.
    They leave participants feeling that a sensible process has been
followed.

If you structure your meeting planning, preparation, execution, and follow up around these three basic criteria, the result will be an effective meeting.

*1. The Meeting's Objective*

An effective meeting serves a useful purpose. This means that in it, you achieve a desired outcome. For a meeting to meet this outcome, or objective, you have to be clear about what it is.

Too often, people call a meeting to discuss something without really
considering what a good outcome would be.

   1.     Do you want a decision?
   2.     Do you want to generate ideas?
   3.     Are you getting status reports?
   4.     Are you communicating something?
   5.     Are you making plans?

Any of these, and a myriad of others, is an example of a meeting objective. Before you do any meeting planning, you need to focus your objective.

To help you determine what your meeting objective is, complete this
sentence:

At the close of the meeting, I want the group to ...

With the end result clearly defined, you can then plan the contents of the meeting, and determine who needs to be present.

*2. Use Time Wisely*

Time is a precious resource, and no one wants their time wasted. With the amount of time we all spend in meetings, you owe it to yourself and your team to streamline the meeting as much as possible. What's more, time wasted in a meeting is time wasted for everybody attending. For example, if a critical person is 15 minutes late in an eight person meeting, that person has cost the organization two hours of lost activity.

Starting with your meeting objective, everything that happens in the
meeting itself should further that objective. If it doesn't, it's superfluous and should not be included.

To ensure you cover only what needs to be covered and you stick to relevant activities, you need to create an agenda. The agenda is what you will refer to in order to keep the meeting running on target and on time.

To prepare an agenda, consider the following factors:

   1.     Priorities – what absolutely must be covered?
   2.     Results – what do need to accomplish at the meeting?
   3.     Participants – who needs to attend the meeting for it to be
   successful?
   4.     Sequence – in what order will you cover the topics?
   5.     Timing – how much time will spend on each topic?
   6.     Date and Time – when will the meeting take place?
   7.     Place – where will the meeting take place?

With an idea of what needs to be covered and for how long, you can then look at the information that should be prepared beforehand. What do the participants need to know in order to make the most of the meeting time?
And, what role are they expected to perform in the meeting, so that they can do the right preparation?

If it's a meeting to solve a problem, ask the participants to come prepared with a viable solution. If you are discussing an ongoing project, have each participant summarize his or her progress to date and circulate the reports amongst members.

Assigning a particular topic of discussion to various people is another
great way to increase involvement and interest. On the agenda, indicate who will lead the discussion or presentation of each item.

Use your agenda as your time guide. When you notice that time is running out for a particular item, consider hurrying the discussion, pushing to a decision, deferring discussion until another time, or assigning it for discussion by a subcommittee.

An important aspect of running effective meetings is insisting that everyone respects the time allotted. Start the meeting on time, do not spend time recapping for latecomers, and, when you can, finish on time.
Whatever can be done outside the meeting time should be. This includes circulating reports for people to read beforehand, and assigning smaller group meetings to discuss issues relevant to only certain people.

Download our free agenda template here, and use this as a starting point for creating your own agenda.

*3. Satisfying Participants that a Sensible Process Has Been Followed*

Once you have an agenda prepared, you need to circulate it to the
participants and get their feedback and input. Running a meeting is not a dictatorial role: You have to be participative right from the start.

Perhaps there is something important that a team member has to add. Maybe you have allotted too much, or too little, time for a particular item. There may even be some points you've included that have been settled already and can be taken off the list for discussion.

Whatever the reason, it is important you get feedback from the meeting participants about your proposed agenda.

Once in the meeting, to ensure maximum satisfaction for everyone, there are several things you should keep in mind:

    If certain people are dominating the conversation, make a point of
asking others for their ideas.
    At the end of each agenda item, quickly summarize what was said, and ask people to confirm that that's a fair summary. Then make notes regarding follow-up.
    Note items that require further discussion.
    Watch body language and make adjustments as necessary. Maybe you need a break, or you need to stop someone from speaking too much.
    Ensure the meeting stays on topic.
    List all tasks that are generated at the meeting. Make a note of who is
assigned to do what, and by when.
    At the close of the meeting, quickly summarize next steps and inform everyone that you will be sending out a meeting summary.

After the meeting is over, take some time to debrief, and determine what went well and what could have been done better. Evaluate the meeting's effectiveness based on how well you met the objective. This will help you continue to improve your process of running effective meetings.

You may even want to get the participants' feedback as well. Depending on the time frame, this debriefing can be done within the meeting itself or afterward.

Finally, prepare the meeting summary. This will be forwarded to all
participants and other stakeholders. It is a record of what was accomplished and who is responsible for what as the team moves forward.
This is a very crucial part of effective meetings that often gets
overlooked. You need a written record of what transpired, along with a list of actions that named individuals have agreed to perform. Make sure someone is assigned to take notes during the meeting if you think you will be too busy to do so yourself.

Key Points:

Running an effective meeting is more than sending out a notice that your team is to meet at a particular time and place. Effective meetings need structure and order. Without these elements they can go on forever and not accomplish a thing.

With a solid objective in mind, a tight agenda, and a commitment to
involving the meeting participants in the planning, preparation, and
execution of the meeting, you are well on your way to chairing great
meetings.

Given the frustration most people feel when their time is wasted, gaining a reputation for running efficient and successful meetings is good for you and your career.

Tham khảo:


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Dec 1, 2014

OpenBSD: No More Loadable Kernel Modules

"no more lkm": OpenBSD đã quyết định không hỗ trợ Loadable Kernel Module. Độc quyền, tự kỷ và paranoid về bảo mật như thế này đã được gọi là bá đạo chưa? https://bitbucket.org/braindamaged/openbsd-src/commits/all?search=lkm

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Compare distributed version control system (Git vs. Mercurial)

Kết quả so sánh distributed version control system (Git vs. Mercurial)

In terms of implementation effort, Mercurial has a clear advantage due to its efficient HTTP transport protocol.

In terms of features, Git is more powerful, but this tends to be offset by it being more complicated to use.

ref. https://code.google.com/p/support/wiki/DVCSAnalysis

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

killall does not work with Java

vuhung@d330:~$killall freemind
-> Freemind was not killed ;)

vuhung@:~$ps -ef | grep java
vuhung   14071     1  0 14:43 ?        00:00:05 /usr/lib/jvm/java-6-openjdk-amd64/bin/java -Xmx256M -Dgnu.java.awt.peer.gtk.Graphics=Graphics2D -Dfreemind.base.dir=/usr/share/freemind -cp ::/usr/share/freemind/lib/freemind.jar:/usr/share/java/SimplyHTML.jar:/usr/share/java/gnu-regexp.jar:/usr/share/java/jibx-run-1.1.6a.jar:/usr/share/java/xpp3.jar:/usr/share/freemind/lib/bindings.jar:/usr/share/java/forms.jar:/usr/share/freemind freemind.main.FreeMindStarter /home/vuhung/Downloads/file.mm
vuhung   14187  6891  0 15:03 pts/1    00:00:00 grep --color=auto java

vuhung@:~$kill -9 14071
You died.

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Size of Facebook's source code


​As of 2013:

17 MLOC (17 million lines of source code) is the size of FB system's *main* source code - that is many times larger than even the Linux kernel.

44k is number of files in source code.

(D)VCS used in Facebook is Mercurial: https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Nov 24, 2014

Agile Tour 2014 (Hanoi): Beyond Agile: practices and mindset

Slide: http://www.slideshare.net/vuhung16plus/nguyen-vu-hung-beyond-agile-practices-and-mindset-agile-tour-vietnam-hanoi-2014

Topic: "Beyond Agile: practices and mindset"

At Septeni Technology, we've been trying to apply Agile practices and and its principles for over two years for IT projects as well as web-based services since the beginning of the company. In this session, as a case study, with the purpose of sharing our knowledge, I would like to share our best practices for applying Agile, the tools we are using, the mindset we must have for applying Agile successfully.


About Nguyen Vu Hung

Nguyen Vu Hung is the CTO of Septeni Technology, a development center of Tokyo based Septeni Group that focuses on developing and operating, mostly, web-based online advertisement systems. He has numerous years of IT and software development, project/product management in both Japan and Vietnam. Considering himself as a FOSS and Agile evangelist and being a Agile lover and an CTO, he is also interested in not-so-related domains such as human resource management and (organization) (re)structuring.

References:
https://www.facebook.com/nguyenvuhung
http://www.agiletourvietnam.org/
https://www.facebook.com/groups/agilevietnam/

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Nov 20, 2014

What is this certificate: CCMNR (Yeah, I know what is CCNA, CCDA)

Just found "CCMNR" certificate in a resume.
Never heard of it.
Anyone has any idea bout this?

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Oct 29, 2014

systemd bloated - ôm đồm, làm quá nhiều thứ

systemd bloated - ôm đồm, làm quá nhiều thứ

Câu hỏi: Liệu triết lý về/và thiết kế của Unix đã lạc hậu với hệ thống/hệ điều hành hiện đại?

systemd hay là câu chuyện chính trị giữa Linux kernel và công ty Redhat, với nhóm phát triển chính của systemd là một số nhân viên của Redhat?

Người dùng Linux desktop dễ dàng hơn với systemd.
Vậy với Linux servers và người quản trị nó - sysadmins - thì systemd có thích hợp nếu số lượng server phải quản lý lên tới hàng ngàn?

Nhưng phải công nhận là utiities của systemd tiện lợi cho người dùng cuối (sysadmin) https://wiki.archlinux.org/index.php/systemd


Oct 22, 2014

Trung tâm dữ liệu VCCorp bị tin tặc tấn công

Cuộc tấn công tới VCCorp vào giữa tháng 10 vừa quan đến từ một nhóm người có chuyên môn, quy mô lớn, rất chuyên nghiệp có khả năng lớn từ nội bộ tập đoàn. VCCorp bị cài cắm mã độc từ rất lâu trên 1000 (một ngàn) thiết bị của nhân viên VCCorp, bao gồm cả nhân sự cao cấp.

Các đợt tấn công:
1. Xóa DB, có tính phá hoại, đặc biệt nghiêm trọng
2. Xóa source
3. Thay đổi DNS/domain

Cảnh báo của C50:
4. Doanh nghiệp cần áp dụng chuẩn bảo mật ISO27001
5. Sử dụng phần mềm bản quyền (không dùng phần mềm lậu)
6. Đặc biệt lưu ý phishing

http://youtu.be/HLE3psWrejc


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Oct 3, 2014

GNU Bash Shellshock Hits

If your servers can pass both of the following commands, we maybe safe, for now

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
$ env X='() { (a)=>\' bash -c "echo ls"; cat echo

However, I don't think GNU bash as well as other Linux distros can provide a solid patch in up coming few days.

IMO, if we don't limit ourself to bash - which is the default shell in most Linux distros,
we can switch to other shells like C/K/Z shells in the mean time.

bash shellshock based botnets are in the wild.

Bash shell shock is even more dangerous then SSL heartbleed because it will be exploited to the core, a shell of the OS.

As of 2014/10/03, patches for bash shellshocks seem not to resolve to root caues of the bugs. I guess that more and more batches are coming.

See these links:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7186
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7187

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6277
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6278

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Aug 19, 2014

It seems that by the law in England, you have to confirm your age in order to take a look at a bottle of wishky, even that you are not going to buy it.



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Aug 18, 2014

3 yếu tố cần để CIO không bị đuổi việc sớm

3 yếu tố cần để CIO không bị đuổi việc sớm:
1. Kiên định
2. Hiếu kỳ
3. Khả năng communicate
http://www.computerworld.com/s/article/9250034/3_secrets_to_CIO_longevity?taxonomyId=14&pageNumber=1

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jul 27, 2014

​ ​ ​​Phân biệt "trình" qua 6 mức độ.

​​
​​Phân biệt "trình" qua 6 mức độ.

Nghĩ là muốn làm: Chưa đủ
Nói ra là muốn làm: Chưa đủ
Liên tục phát ngôn là "muốn lắm rồi": Chưa đủ
Làm thật: Tốt hơn là chỉ nói. Chưa đủ
Làm thật chăm chỉ: Vẫn chưa đủ.

Mà phải làm ra kết quả cơ.

Động cơ, Quá trình, Nỗ lực thì không thể phủ nhận. Nhưng nếu không ra kết quả thì không nhiều ý nghĩa.



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jul 26, 2014

Thuc hoc 実学 là gì

​​
Thực học:
- Em không nghĩ đây là "từ cũ". Nó được dùng khá nhiều vào năm 2014 này
- Định nghĩa: Là kiến thức và học thức đúng với mức độ học lý thuyết

Người có thực học:
Là người không chỉ có kiến thức lý thuyết mà còn có khả năng áp dụng kiến thức đó vào thực tế.

Từ liên quan:
- Thực lực
- Thực nghiệp

Từ "thực học" và "thực nghiệp" trước đây dùng để phân biệt với "hư văn". Đúng như Hưng nhận xét, "thực học" được dùng nhiều để đối lập với cái "sự học giả" đang phổ biến trong xã hội hiện nay.

Có thể sửa lại như sau:
* thực học d. học thức có thật và thiết thực, đúng với những gì đã học.

Chú ý "kiến thức" và "học thức" khác nhau, học thức là "những điều hiểu biết ... do học tập mà có", còn kiến thức là "những điều hiểu biết ... do tìm hiểu và học tập mà có". Tức là "kiến thức" có nội hàm rộng hơn "học thức".

Đối chiếu với tiếng Nhật

Thực học = 実学
社会生活に実際に役立つ学問
Là thứ học vấn có ích cho thực tế trong công việc xã hội

Chủ nghĩa thực học = 実学主義
事実・経験・実践などを重視する教育思想上の立場
Là quan điểm giáo dục coi trọng thực tiễn, kinh nghiệm và thực tế

Định nghĩa từ wikipedia tiếng Nhật:
実学(じつがく)

    一般には、空理空論でない実践・実理の学のこと。虚学の対立語。
    実際生活に役立つ学問のこと。工学・医学・農学・法律学・経営学などを指すことが多い。
        より狭義には、応用科学を指す。
    明・清時代の中国で盛んになった経世致用の学のこと。
    朝鮮王朝後期に正統官学である性理学への批判を通じて登場した思想・学問潮流。「実事求是の学」とも(ko:실학(實學))。

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jul 11, 2014

​​Modified condition/decision coverage for critical software testing

Câu hỏi: Này, với những phần mềm siêu quan trọng đòi hỏi chất lượng cao thì phải test thế nào?

MC/DC là gì?
"Modified condition/decision coverage" (MC/DC) là một cách test như thế. Phương pháp này được sử dụng để test phần mềm điều khiển cất cánh và hạ cánh của máy bay.

MC/DC được áp dụng ở đâu?
MC/DC được dùng 2 tiêu chuẩn
DO-178B DO-178B, Software Considerations in Airborne Systems and Equipment Certification
DO-178C, Software Considerations in Airborne Systems and Equipment Certification
MC/DC cũng được sử dụng bởi NASA.

MC/DC yêu cầu tất cả tất cả các loại test sau
  1.     Each entry and exit point is invoked
  2.     Each decision tries every possible outcome
  3.     Each condition in a decision takes on every possible outcome
  4.     Each condition in a decision is shown to independently affect the outcome of the decision.

Câu hỏi: Bọn em làm website cho bên Chăn ga gối đệm thì có cần áp dụng MC/DC không ạ?
Trả lời: Không em ạ.


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jul 6, 2014

How to run an effective meeting

​​Để chạy một cuộc họp hiệu quả, cần làm gì?

- Có mục đích rõ ràng
- và được chi tiết hóa hơn bằng agenda
- Tập trung vào agenda, không đi lệch chủ đề chính
- Càng ngắn càng tốt. Thời gian cho một meeting nên không vượt quá 25 phút.
(- Chỉ định người take note)

Tham khảo bài dưới đây:

There are good meetings and there are bad meetings. Bad meetings drone on forever, you never seem to get to the point, and you leave wondering why you were even present. Effective ones leave you energized and feeling that you've really accomplished something.

So what makes a meeting effective?

Effective meetings really boil down to three things:

    They achieve the meeting's objective.
    They take up a minimum amount of time.
    They leave participants feeling that a sensible process has been followed.

If you structure your meeting planning, preparation, execution, and follow up around these three basic criteria, the result will be an effective meeting.

1. The Meeting's Objective

An effective meeting serves a useful purpose. This means that in it, you achieve a desired outcome. For a meeting to meet this outcome, or objective, you have to be clear about what it is.

Too often, people call a meeting to discuss something without really considering what a good outcome would be.

  1.     Do you want a decision?
  2.     Do you want to generate ideas?
  3.     Are you getting status reports?
  4.     Are you communicating something?
  5.     Are you making plans?

Any of these, and a myriad of others, is an example of a meeting objective. Before you do any meeting planning, you need to focus your objective.

To help you determine what your meeting objective is, complete this sentence:

At the close of the meeting, I want the group to ...

With the end result clearly defined, you can then plan the contents of the meeting, and determine who needs to be present.

2. Use Time Wisely

Time is a precious resource, and no one wants their time wasted. With the amount of time we all spend in meetings, you owe it to yourself and your team to streamline the meeting as much as possible. What's more, time wasted in a meeting is time wasted for everybody attending. For example, if a critical person is 15 minutes late in an eight person meeting, that person has cost the organization two hours of lost activity.

Starting with your meeting objective, everything that happens in the meeting itself should further that objective. If it doesn't, it's superfluous and should not be included.

To ensure you cover only what needs to be covered and you stick to relevant activities, you need to create an agenda. The agenda is what you will refer to in order to keep the meeting running on target and on time.

To prepare an agenda, consider the following factors:

  1.     Priorities – what absolutely must be covered?
  2.     Results – what do need to accomplish at the meeting?
  3.     Participants – who needs to attend the meeting for it to be successful?
  4.     Sequence – in what order will you cover the topics?
  5.     Timing – how much time will spend on each topic?
  6.     Date and Time – when will the meeting take place?
  7.     Place – where will the meeting take place?

With an idea of what needs to be covered and for how long, you can then look at the information that should be prepared beforehand. What do the participants need to know in order to make the most of the meeting time? And, what role are they expected to perform in the meeting, so that they can do the right preparation?

If it's a meeting to solve a problem, ask the participants to come prepared with a viable solution. If you are discussing an ongoing project, have each participant summarize his or her progress to date and circulate the reports amongst members.

Assigning a particular topic of discussion to various people is another great way to increase involvement and interest. On the agenda, indicate who will lead the discussion or presentation of each item.

Use your agenda as your time guide. When you notice that time is running out for a particular item, consider hurrying the discussion, pushing to a decision, deferring discussion until another time, or assigning it for discussion by a subcommittee.

An important aspect of running effective meetings is insisting that everyone respects the time allotted. Start the meeting on time, do not spend time recapping for latecomers, and, when you can, finish on time. Whatever can be done outside the meeting time should be. This includes circulating reports for people to read beforehand, and assigning smaller group meetings to discuss issues relevant to only certain people.

Download our free agenda template here, and use this as a starting point for creating your own agenda.

3. Satisfying Participants that a Sensible Process Has Been Followed

Once you have an agenda prepared, you need to circulate it to the participants and get their feedback and input. Running a meeting is not a dictatorial role: You have to be participative right from the start.

Perhaps there is something important that a team member has to add. Maybe you have allotted too much, or too little, time for a particular item. There may even be some points you've included that have been settled already and can be taken off the list for discussion.

Whatever the reason, it is important you get feedback from the meeting participants about your proposed agenda.

Once in the meeting, to ensure maximum satisfaction for everyone, there are several things you should keep in mind:

    If certain people are dominating the conversation, make a point of asking others for their ideas.
    At the end of each agenda item, quickly summarize what was said, and ask people to confirm that that's a fair summary. Then make notes regarding follow-up.
    Note items that require further discussion.
    Watch body language and make adjustments as necessary. Maybe you need a break, or you need to stop someone from speaking too much.
    Ensure the meeting stays on topic.
    List all tasks that are generated at the meeting. Make a note of who is assigned to do what, and by when.
    At the close of the meeting, quickly summarize next steps and inform everyone that you will be sending out a meeting summary.

After the meeting is over, take some time to debrief, and determine what went well and what could have been done better. Evaluate the meeting's effectiveness based on how well you met the objective. This will help you continue to improve your process of running effective meetings.

You may even want to get the participants' feedback as well. Depending on the time frame, this debriefing can be done within the meeting itself or afterward.

Finally, prepare the meeting summary. This will be forwarded to all participants and other stakeholders. It is a record of what was accomplished and who is responsible for what as the team moves forward. This is a very crucial part of effective meetings that often gets overlooked. You need a written record of what transpired, along with a list of actions that named individuals have agreed to perform. Make sure someone is assigned to take notes during the meeting if you think you will be too busy to do so yourself.
Key Points:

Running an effective meeting is more than sending out a notice that your team is to meet at a particular time and place. Effective meetings need structure and order. Without these elements they can go on forever and not accomplish a thing.

With a solid objective in mind, a tight agenda, and a commitment to involving the meeting participants in the planning, preparation, and execution of the meeting, you are well on your way to chairing great meetings.

Given the frustration most people feel when their time is wasted, gaining a reputation for running efficient and successful meetings is good for you and your career.

Tham khảo:
http://www.mindtools.com/CommSkll/RunningMeetings.htm
http://www.forbes.com/sites/dailymuse/2013/09/17/the-21-unwritten-rules-of-meetings/​​



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

​​​Project Executive Summary Reports

Câu hỏi:
Viết gì trong báo cáo (giữa kỳ) dự án, vừa ngắn gọn, vừa nêu được các điểm chính (nhất) tới quản lý cấp cao hơn và những người liên quan.

1. Major risks:
- Rủi ro chính của dự án
- Hạn chế tới 3 hay 5 rủi ro nổi cộm nhất

2. Major issues:
- Vấn đề (đang gặp phải) chính của dự án
- Hạn chế tới 3 hay 5 vấn đề cần giải quyết luôn và ngay

3. Progress summary
- Dự án hoàn thành bao nhiêu % tiến độ tổng thể, theo từng sprint, so với kế hoạch
- Công việc nào chậm, nhanh?

4. Project health indicator:
- Diễn tả bằng 3 màu giống như đèn giao thông (xanh, vàng đỏ).

The traffic light colors highlight for project management:

(Red): the project needs management attention,
(Yellow): is at risk of not hitting its targets,
(Green): is progressing according to plan.

5. Budget forecast:
- Tiền tiêu được bao nhiêu rồi?
- Với số tiền ấy đã hoàn thành bao nhiêu % khối lượng công việc rồi? (EVM)
- Để làm nốt thì cần chi bao nhiêu? Bao giờ phải chi


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jun 18, 2014

Jira's basic definitions (​Một số khái niệm trong Jira)

Issues
Được gọi là "ticket" trong Redmine. Issue là một công việc phải làm. Ví dụ về issue là: lỗi phần mềm, công việc cụ thể của dự án, ticket hỗ trợ người dùng cuối, form xin nghỉ. Issue là đơn vị công việc nhỏ nhất.

Project
Project (dự án) là một tập hợp các issue nhằm giải quyết một mục đích nào đó. Một Issue phải thuộc một dự án nào đó. Ví dụ về Project:
    a software development project
    a marketing campaign
    a helpdesk system
    a leave request management system
    a website enhancement request system

Components

Là tập các issue được gộp lại theo một logic nào đó. Một Project có thể chứa nhiều Component tùy vào cách tổ chức thông tin. Ví dụ về Component:
 'Documentation', 'Backend', 'Email Subsystem', 'GUI'.
Version
Version (phiên bản) là cách đánh số phần mềm phát triển. Ví dụ về version: 1.0, 1.1, 1.2.0, 1.2.1.3.

Workflow
Worklow (luồng) là tập các trạng thái và sự di chuyển giữa các trạng thái đó.

Status
Status (trạng thái) của một Issue cho biết Issue đó đang được xử lý ở mức nào. Vòng đời cơ bản một Issue trải qua các trạng thái: 1) Open (mới được tạo ra) 2) In Progress (đang làm) 3) Resolved (đã làm xong) và 4) Closed (được cấp trên xác nhận sự hoàn thành).

Tham khảo:
https://confluence.atlassian.com/display/JIRA/Defining+a+Component
https://confluence.atlassian.com/display/JIRA/What+is+a+Project
https://confluence.atlassian.com/display/JIRA/What+is+Workflow



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jun 17, 2014

(High level) progress management with Redmine

​Background:
- Product owner, sales person, C-level muốn theo dõi tiến độ dự án bằng Redmine giống như MS Project
- Cần trả lời câu hỏi cho khách hàng: Dự án đã hoàn thành bao nhiêu % chức năng, chạy được bao nhiêu thời gian, đã chi bao nhiêu tiền? (xem thêm: Earned Value)

Hiện trạng:
- Lập trình viên cứ tạo task, code và làm. Họ chỉ nhìn thấy cây mà không nhìn thấy rừng, chỉ thấy từng task mà không thấy tiến độ tổng thể
- Khách hàng và người quản lý muốn biết tiến độ ở mức high level

Kịch bản:

(Để đơn giản, giả sử có) Một dự án gồm 10 module nhỏ và việc thực hiện mỗi module gồm các công đoạn: requirement study, design, coding, unit test (4 công đoạn). Như vậy, số lượng công việc chính bao gồm 10 modules x 4 công đoạn = 40 đầu việc. Ngoài 40 đầu việc chính ra, còn có các gói công việc khác như: dịch thuật, quản lý, kiểm thử tích hợp, release, deploy, họp, báo cáo...

Một số khái niệm:

- Gantt chart
- Earned value management
- WBS, work package, (master) schedule

Một số giải pháp để đo tiến độ (dùng để báo cáo với khách hàng):

1. Redmine EVM (Earned value management)
http://www.redmine.org/plugins/redmine_evm
"This plugin generates line graphical indicators, per Project and open Versions, used in EVM (Earned-Value Management). It shows actual cost (hours reported in log time), planned value (estimated hours indicated in new issue), and earned value distributed in weeks / years."

2. Sử dụng burndown chart - tính lượng công việc còn lại cần để hoàn thành dự án (cách tiếp cận ngược so với EVM).
http://www.redmine.org/projects/redmine/wiki/PluginCharts
http://www.redmine.org/plugins/version-burndown-charts

3. Import MS project → Redmine.
http://www.redmine.org/plugins/redmine-msp-sync
Hướng dẫn sử dụng: Tạo master plan bằng MS Project, sau đó import plan này vào Redmine. Một cách đơn giản để theo dõi tiến độ là track tiến độ của các work package (được tạo bằng MS Project và imported vào Redmine). Tùy theo nhu cầu, có thể track tiến độ ở mức 1.x, 1.1.x , 1.1.1.x (trong WBS)
 
3. Tạo riêng một tracker trong Redmine có tên là "Master Progress" với các task là module, hoặc module x công đoạn. Với cách làm thủ công này, project manager chỉ cần nhận báo cáo tiến độ từ thành viên, ghi vào các task với tracker đó, export gantt chart và báo cáo khách hàng.

Một số điều kiện cần để theo dõi/quản lý tiến độ tốt hơn:
- Roadmap rõ ràng (ở mức high level) (từ đầu đến cuối dự án)
- Quản lý backlog, change request tốt (phần mờ, đã không có trong master plan khi dự án mới start)
- Plan cho từng sprint rõ ràng
- Kết quả công việc của từng sprint rõ ràng

Ví dụ về Redmine Monitor & Control plugin Dashboard
https://www.flickr.com/photos/vuhung/10190749665/
https://www.flickr.com/photos/vuhung/10190839023/in/photostream/
https://www.flickr.com/photos/vuhung/10190784896/in/photostream/


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jun 12, 2014

HippyVM: Facebook's HHVM

​HippyVM (viết bằng Python, dùng PyPy = sặc) on average is 7.3x faster than stock PHP and 2x faster than Facebook's HHVM. http://hippyvm.com/#performance



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Jun 7, 2014

phabricator - command line interface and http json api rock

http://phabricator.org/ là một project/task/source code management system hỗ trợ CLI (command line interface), hiếm. Thử cài và chạy lệnh arc (arcanist). Ngoài ra conduit (cung cấp HTTP JSON API) cũng cool, nhẹ nhàng cho tích hợp.​


​Chức năng review code tiện, nhưng chưa hẳn là đặc biệt.

Authorization - phân quyền cho người này, người kia (không) xem được code khá tiện.

phabricator built bằng PHP, không thích lắm.

Apache 2.0 license thoải mái cho doanh nghiệp.

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

May 3, 2014

7 Cool Free Open Source Projects

7 phần mềm nguồn mở "dị", nghĩa là chỉ dành cho dị nhân. Cảnh báo tẩu hỏa nhập ma nếu chưa tìm hiểu các khái niệm: test enigeering, office automation.

​"The free open source world continues to expand at a phenomenal pace. These are great "jumping off" points for developing products and technologies. They are also often supported by enthusiastic communities that can be invaluable sources of support and ideas, and there's nothing hidden, no "secret sauce," that you can't get at, modify, or replace. In this slideshow we highlight seven of the coolest FOS software projects around …" - Theo CIO.com ​

Giáo sư Nguyễn Lân Cường - 60 năm nghiên cứu xương người.

Giáo sư Nguyễn Lân Cường - 60 năm nghiên cứu xương người.


.

Feb 15, 2014

​​​ReactOS 3.0

​​
​​
​​
ReactOS 3.0
- free and open source OS
- based on NT architecture
- is not a Linux based OS
- does not share none of the UNIX architecture.

https://reactos.org/

"ReactOS® is a free open source operating system based on the best design principles found in the Windows NT® architecture (Windows versions such as Windows XP, Windows 7, Windows Server 2012 are built on Windows NT architecture). Written completely from scratch, ReactOS is not a Linux based system, and shares none of the UNIX architecture.

The main goal of the ReactOS® project is to provide an operating system which is binary compatible with Windows. This will allow your Windows® applications and drivers to run as they would on your Windows system. Additionally, the look and feel of the Windows operating system is used, such that people accustomed to the familiar user interface of Windows® would find using ReactOS straightforward. The ultimate goal of ReactOS® is to allow you to use it as alternative to Windows® without the need to change software you are used to"

ReactOS &  Office 2003 http://www.youtube.com/watch?feature=player_embedded&v=c-8Bj5jHLwI

Photoshop CS2 and Reactos 0.3.16RC
http://www.youtube.com/watch?feature=player_embedded&v=eoJTc6G3oK0


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Tóm lại là chụp ảnh mẫu thì phải focus và mặt/mắt là chuẩn.


Tóm lại là chụp ảnh mẫu thì phải focus và mặt/mắt là chuẩn.

​Khi chụp ảnh người thì lấy focus ở đâu?​




--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.