Đây là luật Parkinson, đơn giản như một nghịch lý nhưng rất đúng. Cần áp dụng triệt để khi giao việc: Work expands so as to fill the time available for its completion. -> Người giao việc có thể cắt ngắn deadline tới mức không thể ngắn hơn. Data expands to fill the space available for storage. -> Ổ cứng chứa toàn dữ liệu thừa có thể xóa được. The demand upon a resource tends to expand to match the supply of the resource. -> Tiền bao nhiêu cũng đủ, dù là "ít" hay "nhiều".
Jul 19, 2010
Luật Parkinson
Tuyển người qua hành vi
| |
Văn Hóa
Phương pháp này có tên đầy đủ theo tiếng Anh là Behavioral Event Interview (BEI), là tiến trình phỏng vấn theo một cấu trúc nhằm giúp dự đoán chính xác hơn tiềm năng của ứng viên cho sự thành công trong công việc sau này. BEI có nguồn gốc từ nghiên cứu của Hải quân và Không quân Mỹ vào thập niên 1940. Theo đó, khi khảo sát về tính hiệu quả trong chiến đấu của lực lượng trong ngành, các chuyên gia đã đưa ra kết luận rằng chính hành vi, chứ không phải kiến thức về kỹ thuật, đã tạo nên sự khác biệt của từng cá nhân.
Tại hội thảo “Phát huy sức mạnh nguồn nhân lực để hội nhập WTO”, do Trung tâm Huấn luyện Thành công và Hạnh phúc, TPHCM tổ chức, bà Kee May Lee với hơn 15 năm kinh nghiệm trong lĩnh vực phát triển con người đã chia sẻ phương pháp phỏng vấn dựa trên khoa học về hành vi. Theo bà Lee, BEI là một quá trình phỏng vấn theo hệ thống, nhằm giúp nhà tuyển dụng có được những thông tin thiết thực và khách quan về ứng viên. Nói cách khác, BEI sẽ “dò tìm” sự tương thích cao nhất giữa ứng viên và công việc tuyển dụng. Vì thế, khi áp dụng phỏng vấn BEI doanh nghiệp sẽ giảm bớt thời gian đào tạo nhân sự, đồng thời hạn chế tối đa mức độ bỏ việc đột xuất của nhân viên.
BEI có gì khác so với phỏng vấn truyền thống? Bà Lee giải thích, phỏng vấn truyền thống thường đưa ra những câu hỏi dựa trên “cảm nhận” hoặc “giả định” đối với ứng viên. Chẳng hạn: “Bạn có cho rằng mình có lợi thế về kỹ năng phục vụ khách hàng?”; “Bạn sẽ làm gì nếu gặp phải một khách hàng khó tính?”… Trong khi đó, BEI sẽ hướng đến những câu hỏi cụ thể hơn: “Hãy kể cho tôi nghe một trường hợp khi bạn gặp phải một khách hàng khó tính”; “Lúc đó bạn đã xử lý tình huống như thế nào?”; “Kết quả ra sao?”… Do vậy, phỏng vấn BEI đòi hỏi nhà tuyển dụng phải chuẩn bị kỹ trước, trong và sau khi phỏng vấn. Trước cuộc phỏng vấn, nhà tuyển dụng sẽ chuẩn bị bảng mô tả công việc (trách nhiệm phải thực hiện và tiêu chuẩn để đánh giá công việc); đọc bản lý lịch tóm tắt (resume) của ứng viên; lập bảng câu hỏi phỏng vấn và bảng đánh giá phỏng vấn. Khi tiến hành phỏng vấn, nhà tuyển dụng phải chia sẻ với ứng viên về các bước tiến hành phỏng vấn; đặt những câu hỏi về hành vi trong quá trình làm việc trước đây của ứng viên; sử dụng quy tắc “10 giây” (nhằm tránh buộc ứng viên phải trả lời ngay câu hỏi, hoặc để ứng viên suy nghĩ quá lâu); ghi chú những thông tin thiết thực từ ứng viên.
Cụ thể, nhà tuyển dụng nên thông báo cho ứng viên về thời lượng cuộc phỏng vấn; cho họ biết những câu hỏi cụ thể sẽ được nêu và khuyên họ đừng vội trả lời vì thông tin của họ sẽ được ghi lại; cuối buổi phỏng vấn họ có thể đặt câu hỏi với nhà tuyển dụng… Nhà tuyển dụng cần làm cho ứng viên thấy thoải mái và thư giãn bằng cách đặt câu hỏi với thái độ tôn trọng và chờ họ trả lời; kiên nhẫn lặp lại câu hỏi hoặc diễn đạt cho rõ nghĩa hơn; lắng nghe chăm chú và ghi chép những gì ứng viên nói. Sau khi phỏng vấn xong, nhà tuyển dụng cần xem lại những ghi chép của mình đã được hệ thống chưa, và phải hoàn tất ngay bảng đánh giá phỏng vấn. Bà Lee cho biết nhiều nhà tuyển dụng đã không làm điều này, vì thế thông tin về các ứng viên có thể bị lẫn lộn nếu tiến hành phỏng vấn nhiều người.
Làm sao đặt câu hỏi về hành vi trong quá khứ của một người? Theo bà Lee, nhà tuyển dụng nên phối hợp giữa các dạng câu hỏi mở, thăm dò và câu hỏi đóng. Câu hỏi mở nhằm lấy thông tin về tình huống xảy ra, việc xử lý và kết quả đạt được nên thường nhẹ nhàng như gợi mở những tâm sự: “Kể cho tôi nghe về sự kiện đó…”, “Bạn có thể chia sẻ với tôi về tình huống…”. Câu hỏi thăm dò nhằm đột phá vào các câu trả lời chung chung của ứng viên nên thường dưới dạng 4W+1H (Cái gì? Ở đâu? Khi nào? Ai? Như thế nào?). Tuy nhiên, nhà tuyển dụng nên tránh câu hỏi “Tại sao?” - vì dễ khiến ứng viên nảy sinh cảm giác đề phòng, đối phó, từ đó thông tin cung cấp sẽ không trung thực. Câu hỏi đóng nhằm xác nhận, làm rõ vấn đề nên thường ngắn gọn: “Thật vậy chứ?”.
Trên thực tế, bước vào cuộc phỏng vấn hầu như ứng viên nào cũng cảm thấy bối rối, lo lắng hoặc thậm chí căng thẳng. Lý do là vì họ muốn tạo ấn tượng tốt với nhà tuyển dụng để được thâu nhận. Nhưng chính những bất ổn tâm lý này đã khiến họ không thể suy nghĩ thấu đáo mọi vấn đề, từ đó câu trả lời ít nhiều bị sai lệch.
Trong phỏng vấn BEI, vấn đề khuyến khích ứng viên đưa ra các thông tin vừa chính xác vừa có tính sự kiện rất được quan tâm. Và các nhà tuyển dụng đã được khuyên hãy tạo không khí thoải mái cho ứng viên; hãy tỏ ra tôn trọng, hỗ trợ và động viên tinh thần của họ. Nhưng nhà tuyển dụng nên làm thế nào để tỏ thái độ tôn trọng và hỗ trợ ứng viên? Bà Lee cho biết trong vòng luân chuyển các dạng câu hỏi mở, thăm dò và đóng của phỏng vấn BEI, nhà tuyển dụng nên xen kẽ bằng những câu hỏi dạng trấn an, diễn đạt cho rõ nghĩa hoặc lặp lại ý vừa nêu. Chẳng hạn như trong câu trấn an nhằm khuyến khích ứng viên cố nhớ lại một sự kiện trong quá trình làm việc trước đây, nhà tuyển dụng có thể nói: “Tôi biết rất khó nhớ lại những chuyện đã qua, nhưng bạn đừng quá căng thẳng, chúng ta còn thời gian…”.
Bên lề cuộc hội thảo trên, một số doanh nghiệp nước ngoài đã chia sẻ những kinh nghiệm thực tế trong việc áp dụng phương pháp phỏng vấn BEI. Theo họ, tuy BEI đã có những câu hỏi sát sườn với công việc thực tế của ứng viên nhưng vẫn có những người giỏi “bịa chuyện”, có thể nêu ra những tình huống rất thật được cóp nhặt từ đâu đó. Vì thế, phỏng vấn BEI nên được kết hợp với việc thực hành tình huống thật, chẳng hạn tuyển tiếp tân thì đề nghị ứng viên thực hành tình huống nghe điện thoại; tuyển bán hàng thì không gì “thật” hơn buộc ứng viên vào vai nhân viên công ty trong một tình huống được sắp đặt sẵn… Ngoài ra, câu hỏi thăm dò trong phỏng vấn BEI chỉ nên có từ hai đến ba câu cho từng ứng viên và nhà tuyển dụng phải ghi chép thật chính xác lời ứng viên nói. Dấu hiệu cho thấy buổi phỏng vấn thành công là ứng viên… nói nhiều hơn nhà tuyển dụng, theo một tỷ lệ là 80% (cho ứng viên) và 20% (đối với nhà tuyển dụng).
Theo KINH TẾ SÀI GÒN
Software Outsourcing Hidden Cost
Điểm quan trọng khi phân tích yêu cầu dự án (mức business)
Điểm quan trọng khi phân tích yêu cầu dự án (mức business) * Mô tả yêu cầu câu việc thật ngắn gọn. * Phát biểu các mục tiêu quan trọng của dự án. * Mô tả môi trường mà hệ thống sẽ chạy. * Các thông tin "hậu trường" và các tài liệu liên quan quan trọng. * Thông tin về các ràng buộc thiết kế chính. Ngoài ra, 1. Đừng nghĩ mình hiểu đúng khách hàng muốn gì. Phải hỏi. 2. Đưa người dùng tham gia dự án từ đầu. 3. Bản ghi nhớ, đồng ý giữa các bên về phạm vi dự án. 4. Đảm bảo rằng các yêu cầu dự án cụ thể, thực tế (thực thi được) và đo đếm được. 5. Rõ ràng, không có điểm nghi vấn. 6. Tạo tài liệu yêu cầu dự án rõ rằng, ngắn ngọn và chia sẻ với khách hàng. 7. Xác nhận sự hiểu của mình về dự án với khách hàng. 8. Tránh đề cập tới công nghệ hay giải pháp cho tới khi yêu cầu được làm rõ. 9. Bản ghi nhớ: Được sự đồng ý của các bên liên quan ngay từ khi dự án bắt đầu. 10. Tạo bản prototype để khách hàng có thể hiểu rõ hơn yêu cầu
Jul 16, 2010
Pitfalls quản lý dự án
Pitfall #1: Not creating a common project vision at the onset of a project
A shared vision (or goals) and expected project outcomes across key stakeholders is key to managing project efforts and avoiding scope creep.
- Involve leaders and managers in the development of the project vision and ensure that all anticipated benefits are clearly understood and agreed upon.
- Identify success criteria and be specific. For example, total project costs will not exceed a certain dollar amount and the project will be rolled out within a specifically stated timeframe.
- Define the boundaries of the project by knowing what is out of scope (as well as in scope).
Words of Wisdom: Facilitate your stakeholders to the creation of a common vision and ensure that they own the vision and the ultimate solution.
Pitfall #2: Not getting organised, staying organised and organising those around you
Strong planning and organisational skills are essential traits of a successful Project Manager.
- Develop your project plan at the task level and communicate it to your project team and stakeholders. It's well worth the time in order to keep you and everyone else organised.
- Create a robust communication plan and make sure it's a "living document."
- Understand who you need to communicate with, how they want to be communicated with and the frequency. Then determine how your messaging should differ by stakeholder.
- Conduct an interactive kick-off meeting to ensure everyone involved with the project is fully engaged.
- Ask for continuous feedback and be prepared to adjust your plan to address changing stakeholder needs.
- Develop risk and issue logs. Risks and issues are a part of every project. Get ahead of the game and brainstorm with people on potential risks and ways to avoid them before they become issues that impact your project's scope, timeframe, quality and/or budget.
Words of Wisdom: The devil is in the detail. Review your plans at least twice daily. It's the best 15-20 minutes you'll ever spend.
Pitfall #3: Not involving the right people on the project
- Engage the right people at all levels of your organisation (and not necessarily those who simply want to chime in because it's a high profile project) to solidify the project vision, avoid scope creep and implement.
- Ensure that all stakeholders understand what needs to happen, how it needs to happen and when.
- Identify a project sponsor, someone with authority and influence, and have them actively involved throughout the project.
- Communicate the project vision, project team roles and responsibilities and clearly set expectations.
- Ensure your key project decision makers understand the principles of good project management and that they need to operate within that framework.
- Include frontline personnel who can be key contributors to a project. They often provide insight into the "goings-on" of an organisation and have the ability to rally the troops when the rubber meets the road and things need to get done.
- Identify the nay-sayers and keep them very involved in the project (keep your friends close and your enemies closer).
Words of Wisdom: Don't assume that senior leaders are the only ones that should be in your sights. Keep a laser focus on decision makers and those who directly impact your project.
Pitfall #4: Not asking for help and learning from others
"Mum's the word" is not a mantra any project manager should embrace. Project managers who are new to project management or are managing a different type of project than they've managed before can have a steep learning curve.
- Identify people internally who have managed a similar project and talk about lessons learned from previous projects.
- Identify external sources who can impart their own words of wisdom on how to effectively manage a project.
- The Internet is a beautiful thing, use it to research project management best practices and tools and understand new technologies.
Words of Wisdom: Asking for help is not a sign of weakness. It's better to ask for help then to place a project at risk. Let's face it, every project has its ups and downs but it's what you, as the Project Manager, do to handle the good and the bad that leads to project success and avoids project chaos.
Jun 25, 2010
Hoàn thiện kỹ năng làm việc
1. Sinh viên: Nhận bài tập với yêu cầu rõ ràng, mức độ dễ từ giáo viên 2. Sinh viên mới ra trường, dưới 1 năm kinh nghiệm: Làm việc dưới sự chỉ đạo của Team Lead, Project Manager (phân tích hộ). 3. Sau 1 năm kinh nghiệm: Chủ động phân tích, giải quyết vấn đề. 4. Sau 1.5-2 năm kinh nghiệm: Biết cách đề xuất giải quyết những bài toán tích hợp lớn hơn, những vấn đề kỹ thuật lớn hơn. 5. Sau 2 năm: Có khả năng quản lý team, từ 3-4 người trở lên. Để "level up", Đại cần chủ động hơn, hoàn thành công việc cho dù yêu cầu không rõ ràng (thiếu thông tin). Tây có câu này rất hay: Practice makes perfect.
Waterfall vs. Spiral
Mô hình phát triển phần mềm ở công ty nhà nước làm nói chung là Waterfall. Họ cung cấp cho đối tác *rất* ít thông tin. Sau khi phân tích, thiết kế, phát triển, test toàn bộ mới đưa cho họ kiểm chứng. Rủi ro là nếu phát sinh vấn đề ở một trong các bước trên sẽ khó quay lại. Đặc trưng khác của công ty nhà nước Việt Nam là: 1. Ít giao tiếp, trao đổi -> thiếu thông tin dẫn tới làm sai, thiếu. 2. Chậm. Spiral model theo hướng phát triển prorotype, lặp lại quy trình phát triển nhiều lần ép khác hàng giải quyết *trực tiếp* vấn đề 1. ở trên. cf. http://en.wikipedia.org/wiki/Waterfall_model http://en.wikipedia.org/wiki/Spiral_model
Jun 2, 2010
Mười phẩm chất của một kỹ sư
1. Năng khiếu phân tích: Luôn luôn phân tích, để tâm tới vấn đề và cải tiến nó. Nghĩa là, người kỹ sư phải có tính "tò mò", luôn tìm hiểu và học hỏi 2. Chú ý tới chi tiết (tiểu tiết): Phải luôn chú ý tới những chi tiết nhỏ nhất, những sự cố hay quan sát dù nhỏ nhất. Đôi khi, những chi tiết nhỏ này là "ánh sáng cuối đường hầm" dẫn tới giải pháp giải quyết vấn đề. 3. Khả năng giao tiếp: Có thể giao tiếp với các kỹ sư hay người làm kỹ thuật bằng ngôn ngữ kỹ thuật chính xác. Đồng thời phải có khả năng diễn đạt cùng nội dung kỹ thuật bằng ngôn ngữ "phi kỹ thuật" để ai cũng có thể hiểu vấn đề. Kỹ năng này đòi hỏi cả khả năng nói và khả năng viết. 4. Luôn luôn học hỏi công nghệ mới để tránh tụt hậu. Đặc biết với ngày IT, các công nghệ mới ra đời hàng tuần đòi hỏi người kỹ sư phải tìm hiểu nhanh các công nghệ này. 5. Sáng tạo: Có khả năng nghĩ ra những giải pháp và đề xuất sáng tạo để làm cho hệ thống đã có hoạt động tốt hơn. 6. Suy nghĩ logic: Đây là khả năng cần nhất trong các khả năng người kỹ sư cần có. Nó là khả năng hiểu một hệ thống phức tạo và phân tích vì sao sự cố xảy ra. 7. Giỏi toán: Khả năng này là thiên bẩm đối với một số người. Tuy nhiên có thể đào tạo được. Không có cơ sở vững chắc về toán, người kỹ sư không thể hiểu các tính toán hay thuật toán phức tạp. 8. Khả năng giải quyết vấn đề: Phân tích, bóc tách vấn đề để chỉ ra nguyên nhân vấn đề nằm bộ phận nào của hệ thống. Workaround là cách giải quyết biểu hiện của vấn đề trong khi "fix" là sự giải quyết triệt để tận gốc nguyên nhân vấn đề. Người kỹ sư cần hiểu sự khác nhau của hai phương pháp này, sử dụng đúng lúc, đúng chỗ và đánh giá được hậu quả tiềm năng sau khi vấn đề được giải quyết. 9. Teamwork tốt: Người kỹ sư tốt hiểu rằng họ là một mắt xích trong một cỗ máy. Cố máy này hoạt động tốt hay không phụ thuộc vào tất cả các mắt xích. Các mắt xích cần hỗ trợ nhịp nhàng với nhau nhưng bản thân từng mắt xích cũng cần hoàn thiện để tránh gây ảnh hướng xấu tới các mắt xích khác. 10. Kiến thức cơ bản: Hiểu biết rộng với nhiều ngôn ngữ lập trình, cơ sở dữ liệu, hệ thống hay được sử dụng. Tham khảo: http://www.engineeringschools.com/engineering-top-10.html
Jun 1, 2010
Mẹo vặt nâng cao năng suất
1. Dành thời gian tỉnh táo nhất trong ngày để check email (8h - 9h).
Xử lý ngay những email, công việc gấp hoặc có thể giải quyết ngay.
Queue những công việc "dài hơi" và note trong sticky memo.
-> http://www.forest.impress.co.jp/lib/dktp/calclock/tag/husentyou.html
2. Liệt kê những công việc cần làm trong stiky memo để dễ dàng theo dõi.
Đặt độ ưu tiên cho các task này và xử lý theo thứ tự ưu tiên.
3. (Cố gắng) giải quyết trọn vẹn 100% công việc đã liệt kê trong ngày,
trước khi ra về.
4. Sắp xếp giao việc cho người khác ("đá bóng") hợp lý nhất.
Tuy nhiên, không để mất quyền chủ động. Luôn nắm được tiến độ và hỗ trợ.
5. Phân chia email theo thư mục, tags các email theo màu đỏ (urgent, phải làm ngay),
Màu xanh (TODO, phải làm trong ngày).
6. Kết hợp ThunderBird và Lightning quản lý các cuộc hẹn, công việc
trong một ngày cũng như trong tuần.
7. Memo, email confirm lại nếu khách hàng trao đổi bằng điện thoại hoặc
trao đổi miệng trực tiếp.
May 6, 2010
Clear (Flush) Windows and Linux DNS cache
Set DNS to 8.8.8.8 My Network -> Property -> TCPIP -> Property -> DNS -> OK Access the website Change DNS back to the value it should be Linux Set DNS to 8.8.8.8 [vuhung@redmine-0.8.7]$ cat /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver 8.8.8.8 #nameserver 192.168.51.1 Access the website Change DNS back to the value it should be
Nov 13, 2009
Bài học
Được và các bài học : - Học được kỹ năng quản lý chung 20 người đồng thời làm team lead của 1 hay 2 dự án. - Rút ra được những bài học quý giá về lãnh đạo và kinh nghiệm lãnh đạo người Việt. - Một chút quyết đoán có tính độc tài (giúp cân bằng lại tính cách ôn hòa của cá nhân). - Hiểu được rằng trong môi trường doanh nghiệp Việt Nam, mô hình quản lý "silent lead" hay "vi vô vi" kiểu Lão Tử là bất khả thi. - Hiểu ra được rằng muốn tồn tại thì phải hy sinh quyền lợi cá nhân *nhiều* hơn và đặt cấp trên (có xu hướng bảo thủ và độc tài) lên trên. - Các kỹ năng khác. - Tác phong doanh nghiệp kiểu Việt Nam như: cách nói chuyện, cách viết email, dùng từ (bằng tiếng Việt). - Mô hình thiếu dân chủ không thể tồn tại, mặc dù trong doanh nghiệp. - Một công ty muốn phải triển phải dựa trên nguyên tắc win-win và tôn trọng lẫn nhau. - Học được cách maintain những conversation "vô bổ" (để giữ quan hệ, giải lao, xả stress). - Một cuộc cách mạng phải trả giá bằng máu. Một sự thay đổi có tính cách mạng phải trả giá đắt. Giá đắt trong short term có thể tốt trong long term. Chọn fast decision chứ không phải "better decision" vì không có thời gian. - Học được cách điều hòa với nhân viên và cấp trên. - Xác định lại và kiên định với career map của mình: Quản lý kỹ thuật. Mất: - Stress quá nặng. Bị ức chế tới mức không thể kiểm chế và không hồi phục được trong một vài tháng. - Mất tương lai: Chi phí cơ hội cho 6 tháng phí phạm không phải là nhỏ. - Tài chính: Thu nhập thấp, bỏ không nhận các offer về options (vì quyết định chi sẻ)
Oct 28, 2009
Chia se mot so kinh nghiem phong van
Chia sẻ một số kinh nghiệm phỏng vấn của bản thân. 1. Đọc kỹ trước CV của ứng viên, đặc biệt tìm hiểu về những công nghệ lạ mà ứng viên đề cập trong CV. Việc này cần chuẩn bị trước. HungNV dành khoảng 15-30 phút cho việc này. 2. Hỏi người quen ở các công ty cũ của ứng viên (optional, nếu có thế) 3. Mạo đầu phỏng vấn bằng cách giới thiệu vị trí người phỏng vấn (chính mình), giới thiệu công ty, giới thiệu vị trí, nhân sự mà công ty đang cần (AI-T tuyển tràn lan, không có tiêu chí rõ ràng gây khó khăn cho người phỏng vấn) 4. Di dần theo các điểm chính trong CV (đã tổng kết ở phần 1.) 5. Hỏi sâu và một dự án mà ứng viên cảm thấy tâm đắc nhất, qua đó nhìn ra: - Kỹ năng giải quyết vấn đề - Kỹ năng quản lý - Team work (khả năng giải quyễt xung đột trong team) - Kỹ thuật nói chung (test, lập trình) - Cách hiểu của ứng viên về quy trình phát triển phần mềm - Khả năng chịu pressure của công việc Nếu là sinh viên thì chỉ cần focus vào teamwork, các họat động ngoại khóa là đủ.
Aug 24, 2009
The Ubiquity of Evony
1. A New Perspective
I am an old school Age of Empire [the Conquer pack] (AOC) player and I have been playing this game for over 8 years. The one day I found Evony, which has a few nice features that AOC does not have:
1. The number of players is not limited.
2. Free (and technically free forever)
3. Evony is also a real-time strategy (RTS) game (I will explain later)
4. Can be played anywhere with just a browser.
2. Cutting-edge Technologies
The reason why Evony is Operation System independent is that, it uses the latest cutting-edge technology called Flash. This may sound obvious to most of the reader but this is the point that makes Evony unique. Network based games are hard to be developed and Flash makes it easier. Evony has made an excellent work on graphics. Do I need to compare Evony with the most popular among officers game called FarmTown?
The Internet doesn’t mean connectivity to everywhere. I still remember the day of TCP/IP dominated game era: We have to mess up with the router for port forwarding. With Evony, it is easy; all we need is just a browser (zero setup!) – Nothing can be simpler than that!
The “Map View” mode is very well done and I have never seen that kind of work in other text-based RTS games before: We can browse the map in the way we use Google map. Adding visualization to the game is the key factor that makes Evony easy to play and being unique.
3. In-game Booming and Rush
You are given 5000 resources of each kind (food, lumber, stone, iron and gold) and you have 7 days of protection, which means, you have 7 days of free booming without fear of being attacked from stronger users.
Of course, with 7 days, you can never be strong enough if decide going solo. You can buy items that make stronger but it will never be enough. And you have to find a good alliance to join. Otherwise, you won’t survive!
Army training in Evony goes the same way like other RTS games: We make a good economy, getting resources and training armies. The difference from Evony to AOC is that: Evony has only one kind of “army building”: The barrack. However, we can train dozen kinds of armies from it.
Fighting in Evony is not so visually: We choose a target, right-click it and choose “Attack”. A new window will popup letting we choose the armies. This is fine but after the attacked is launched, all we can do is WAITING! We can cancel the attack but we can not redirect (I mean set the targets to another coordinator). When the armies arrive the target, the fight instantly finished in a not-so-intuitive fashion way. AOC players like may ask: How to micro-management in Evony? Well, probably no, there is only macro-management in Evony.
4. Is This a True Real-Time Strategy Game?
Yes it is. However, to be precise, Evony belongs to a sub-genre of RTS game called Real-Time Tactics. Therefore, AOC players, who understand the meaning of the phase “Real-Time Strategy” in a misleading way, will find it strange at the first look. However, macro-management skills in AOC can be similarly applied here easily.
23/08/2009
Written by Nguyen Vu Hung
Email: vuhung16plus@gmail.com
Evony nickname: “VCF ksv9x” on server 30
Apr 25, 2009
Apr 8, 2009
Thống kê dung lượng kết nối Internet ở Việt Nam
Sơ đồ kết nối: http://www.hn.is.uec.ac.jp/~vuhung/vietnam/thong-ke-internet-vietnam.html Dung lượng kết nối: http://www.thongkeinternet.vn/jsp/dungluong/dungluongthang.jsp
Mar 26, 2009
Nikkor AF Nikkor 85mm f/1.4D IF review
Ưu điểm: * Sharpness là điểm nổi trội và output nhìn rất giống Nikon 85mm 1.2L và nhỉnh hơn một chút ít so với Nikkor 70-200 2.8 VR. * f/1.4 nhanh (hơn hẳn f/1.8) khi chụp ở điều kiện thiếu sáng. * Bokeh mịn nhìn giống kem mà Nikkor 50 1.4, 50 1.8, 85 1.8 không có. Đây là điểm nối bật của 85 1.4D so với 3 lens nói ở trên. * f/1.4 nhanh hơn hẳn Nikkor 70-200 2.8 VR ở điều kiện thiếu sáng * Chụp rất tốt khi trời sẩm tối (lúc này f/2.8 không thể lấy sáng cho dù tăng ISO 3200) * Distortion thấp có thể bỏ qua. * Vignetting hầu như không có và có thể bỏ qua ở f/1.4 và hoàn toàn không có ở f/2. * Có thể thay thế macro lens nếu biết sử dụng hợp lý. Nhược điểm: * Không thể zoom và thiếu cơ động hơn hẳn người anh em Nikkor 70 200 2.8 VR * Trở thành 135mm (hơi dài với crop body. * AF không nhanh bằng Nikkor 70 200 2.8 VR (tuy nhiên AF đủ nhanh để chụp in-door sport trong điều kiện low light. * Nhẹ và gọn hơn Nikkor 70 200 2.8 VR
Nov 14, 2008
Changing LS_COLORS
#Using bash 3.2.0 on CentOs 5.0 di=00 or di=01 means dar blue for folder in black background, which is quite hard to see. So I changed it to di=1;35;100( purple ). Old: LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35: New: LS_COLORS='no=00:fi=00:di=1;35;100:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:' |
Nov 12, 2008
A webalizer hack attempt
Aug 12, 2008
Finding nearest pow to 2
/* gcc pow_opt.c */ /* http://jeffreystedfast.blogspot.com/search/label/algorithms */ #include#include #include typedef long uint32_t; static uint32_t nearest_pow1(uint32_t num) { uint32_t n = 1; while (n < num) n <<= 1; return n; }static uint32_t nearest_pow2(uint32_t num) { uint32_t n = num > 0 ? num - 1 : 0; n |= n >> 1; n |= n >> 2; n |= n >> 4; n |= n >> 8; n |= n >> 16; n++; return n; } static uint32_t nearest_pow3(uint32_t num) { int bit; __asm__("bsrl %1,%0\n\t" "jnz 1f\n\t" "movl $-1,%0\n" "1:": "=r"(bit):"rm"(num)); return (1 << (bit + 1)); } static uint32_t nearest_pow4(uint32_t num) { uint32_t j, k; (j = num & 0xFFFF0000) || (j = num); (k = j & 0xFF00FF00) || (k = j); (j = k & 0xF0F0F0F0) || (j = k); (k = j & 0xCCCCCCCC) || (k = j); (j = k & 0xAAAAAAAA) || (j = k); return j << 1; } //A simple performance test might be: int main(int argc, char **argv) { uint32_t i, n = 0; uint32_t test_pow = atol(argv[1]); switch ( test_pow ) { case 1: for (i = 0; i < INT_MAX / 10; i++) n += nearest_pow1(i); case 2: for (i = 0; i < INT_MAX / 10; i++) n += nearest_pow2(i); case 3: for (i = 0; i < INT_MAX / 10; i++) n += nearest_pow2(i); case 4: for (i = 0; i < INT_MAX / 10; i++) n += nearest_pow2(i); } return n > 0 ? 1 : 0; } [vuhung@aoclife g++]$ for i in 1 2 3 4; do time ./a.out $i; done real 0m43.297s user 0m42.969s sys 0m0.318s real 0m20.455s user 0m20.343s sys 0m0.109s real 0m13.653s user 0m13.566s sys 0m0.082s real 0m6.817s user 0m6.769s sys 0m0.048s
Jul 23, 2008
Giám khảo thi ảnh Hà Nội cho xóm nhiếp ảnh
thang điểm 100. 1. SUNF - Hành tinh nhỏ Hà Nội 85/100. Đối với những nhiếp ảnh gia đạt đạo, kỹ thuật và máy móc luôn là yếu tố thứ yếu. Đây là quan điểm gây nhiều tranh cãi nhưng bộ ảnh "Hành tinh nhỏ Hà Nội" của bác Sunf bắt người xem phải có một cái nhìn khách quan và thấu đáo hơn. Bố cục, góc nhìn lạ. Tấm "Vinaconex - Trung Hòa Nhân Chính" có lẽ thành công nhất trong bộ, nhìn giống như bom, một thông điệp cho sự phát triển ổn định của Hà Nội. 2. Vision II - Hồ Gươm 60/100. Đây là đề tài cũ nên em nghĩ rất khó tìm được gì mới nếu tác giả chỉ đi một vòng quanh Hồ Gươm. Ở năm 2008 này mà bác vẫn đi chụp phim - mà là đen trắng nhé - thì quả là em phục thật! 3. Haitre - Những ngày trong nắng 80/100. Cái hay của bộ ảnh này là sự tương phản giữa sự hiện đại và cổ điển. Nhà cổ và ô tô. Ô tô và xe đạp. Và cả đám cưới phố cổ nữa, đúng không nhỉ? Có lẽ tác giả là người rất sành và rành Hà Nội! 4. m42 - Hồ Gươm 65/100. Đây là đề tài cũ và khó chụp. Ảnh có điểm nhấn nhưng chưa mô tả rõ được sự tương phản mà tác giả muốn mô tả. 5. ling - Hà Nội 85/100 Đây là bộ thứ 3 xóm nhà ta chụp Hồ Gươm. Như em nói rồi, khó chụp! Nhưng bộ này thì đúng là tác giả có bỏ thời gian để chùm ảnh nằm trong một đề tài. Tháp rùa, và người già? Có phải là sự già nua của Hà Nội không nhỉ? Có lẽ không vì ở tấm ảnh cuối, một cô gái váy trắng đi xuyên qua Tháp rùa, đằng sau là bà cụ nhìn với theo. Thật ghen tị với tác giả về thời gian quý hiếm này. 6. Haitre - Vỉa hè Hà Nội Em chưa gặp bác HaiTre ở ngoài đời, nhưng mạn phép đoán là bác là người rất thích đem theo máy ảnh và ngồi vỉa hè theo phong cách lomo. Tấm 1( cái niêu ), tấm 2 ( quạt con cóc ), tấm 5( Honda ) rất thành công và được đặt theo thứ tự về thời gian. Tầm chụp hoa hồng và xe đạp em nghĩ là không hợp trong chủ đề hiện tại. Một băn khoăn của em: Xe đạp Trung Quốc hay Nhật, thời nào? 7. hieubn - Hà Nội, Hà Nội 30/100. Như tác giả nói, đây là một bộ ảnh kỷ niệm của một cô gái Hà Nội. Nó chưa làm nổi bật được nét "Hà Nội" của tên bộ ảnh. Sự can thiệp bằng phần mềm làm cho bộ ảnh nhìn cũ đi, hợp hơn với cái tên cổ "Hà Thành" em nghĩ chưa thành công. 8. minhdesigner - Tết Hà Nội 50/100 Tấm này làm em suy nghĩ quá: Chủ nhân chiếc xe đạp cọc cạch có bán được cành đào hay không? http://xomnhiepanh.com/gallery.php?do=album_detail&album_id=341&id=3 9. 6unL - Nắng Hà Nội 70/100. Một Hà Nội thu nhỏ ở đây: Bán rong, xe máy, dây điện, xe máy. Em tiếc lá thiếu ô tô. http://xomnhiepanh.com/gallery.php?do=album_detail&album_id=397&id=1 Ba tấm còn lại em nghĩ chưa đạt, vì nắng Hà Nội gắt quá :D. 10. dan - màu của Gươm 70/100. Đây là đề tài cũ và khó chụp. Em đánh giá rất cao trình đọc sáng của tác giả. 11. m42 - Quán Hà Nội 90/100. Rất thành công trong việc bó hẹp đề tài. Bác có cái nhìn Việt Nam rất độc đáo mà người Việt Nam ở Việt Nam không hề có. 12. sonlam - Hà Nội mùa xuân 85/100. - Không có bình luận.
Jun 25, 2008
Notepad++ Japanese.
2. Download Japanese language pack.
Notepad++ 4.0.2 用日本語ロケール
http://homepage3.nifty.com/georgei/extension/notepadpp_jpl_v09.zip
3. Extract nativeLang.xml to npp.5.0.beta.bin\
4. Restart notepad++
5. From menu: Format -> UTF-8
Jun 23, 2008
ls awk to find filesizes
ls -lk | awk '{print $5;}'
[vuhung@aoclife src]$ ls -lk *c | head
-rw-r--r-- 1 vuhung vuhung 23 4月 5 07:45 cairo-analysis-surface.c
-rw-r--r-- 1 vuhung vuhung 9 4月 12 06:07 cairo-arc.c
-rw-r--r-- 1 vuhung vuhung 13 4月 8 07:30 cairo-array.c
-rw-r--r-- 1 vuhung vuhung 3 4月 4 01:25 cairo-atomic.c
-rw-r--r-- 1 vuhung vuhung 5 4月 5 07:45 cairo-base85-stream.c
-rw-r--r-- 1 vuhung vuhung 52 4月 5 07:45 cairo-bentley-ottmann.c
-rw-r--r-- 1 vuhung vuhung 11 4月 5 07:45 cairo-cache.c
-rw-r--r-- 1 vuhung vuhung 66 4月 8 07:30 cairo-cff-subset.c
-rw-r--r-- 1 vuhung vuhung 23 4月 5 07:45 cairo-clip.c
-rw-r--r-- 1 vuhung vuhung 5 1月 18 08:09 cairo-color.c
[vuhung@aoclife src]$ ls -lk *c | awk '{print $5;}' | head
23
9
13
3
5
52
11
66
23
5
Jun 5, 2008
Trojan.SpyBuddy
Mar 28, 2008
Add GPS info to EXIF
Browser Google map and get http://maps.google.com/?ie=UTF8&ll=35.675174,139.757635&spn=0.001181,0.002167&z=19 Pass the cordinators to exiftool: C:\temp>exiftool -GPSLatitudeRef=N -GPSLongitudeRef=E -GPSAltitude=5 -GPSAltitudeRef="Above Sea Level" -overwrite_original -GPSLatitude=35.675174 -GPSLongitude=139.757635 -c "%.6f" "Yokoshima DSC_3562.jpg" and we done. batch process: @echo off echo adding gps ... for %%nef in (dir /b *.NEF) DO exiftool -GPSLatitudeRef=N -GPSLongitudeRef=E -GPSAltitude=5 -GPSAltitudeRef="Above Sea Level" -overwrite_original -GPSLatitude=35.675174 -GPSLongitude=139.757635 -c "%.6f" %%nef echo DONE PAUSE Or simply use this: for %f in (*.JPG) DO exiftool -GPSLatitudeRef=N -GPSLongitudeRef=E -GPSAltitude=5 -GPSAltitudeRef="Above Sea Level" -overwrite_original -GPSLatitude=21.059562 -GPSLongitude=105.762752 -c "%.6f" %f for %f in (*.NEF) DO exiftool -GPSLatitudeRef=N -GPSLongitudeRef=E -GPSAltitude=5 -GPSAltitudeRef="Above Sea Level" -overwrite_original -GPSLatitude=21.059562 -GPSLongitude=105.762752 -c "%.6f" %f refs: http://owl.phy.queensu.ca/~phil/exiftool/TagNames/GPS.html http://www.carto.net/projects/photoTools/gpsPhoto/ http://hwat.sakura.ne.jp/hpod/200610/11-220000/ http://hwat.sakura.ne.jp/hpod/200609/28-200000/ http://en.wikipedia.org/wiki/Global_Positioning_System
Feb 26, 2008
squid configuration on Centos 5
squid configuration on Centos 5
Jan 16, 2008
Folding with vim, a cheat sheet
v|V, select zf or any other command ( fold in visual mode ) :20,101 fo[ld]: fold selected lines zf/string: fold until the first match of "string" . :mkview : save folds. :loadview : load folds. zf/string creates a fold from the cursor to string . Try within an "#ifdef" and "#endif". zf#j creates a fold from the cursor down # lines. zj moves the cursor to the next fold. zk moves the cursor to the previous fold. zo opens a fold at the cursor. zO opens all folds at the cursor. zm increases the foldlevel by one. zM closes all open folds. zr decreases the foldlevel by one. zR decreases the foldlevel to zero -- all folds will be open. zd deletes the fold at the cursor. zE deletes all folds. [z move to start of open fold. ]z move to end of open fold.
Jan 7, 2008
A C pointer FAQ ( kind of ) [ as of now for me ]
Of course, pointers are not limited to ints. It's quite common to use pointers to other types, especially char. Here is the innards of the mystrcmp function we saw in a previous chapter, rewritten to use pointers. (mystrcmp, you may recall, compares two strings, character by character.)
// p1, p2 point to the address of the first character in str1, str2 respectively
char *p1 = &str1[0], *p2 = &str2[0];
while(1)
{
// compare the values of str1[x], str[x] at the position x. Not equal
if(*p1 != *p2)
return *p1 - *p2;
// we reached the end of both str1, str2 -> they are equal.
if(*p1 == '\0' || *p2 == '\0')
return 0;
// p1++ and p2++ do the increment of p1 and p2.
// i.e., the next characters in str1 ( str[x + 1] and str2 ( str2[ x + 1]
p1++;
p2++;
}
As another example, here is the strcpy (string copy) loop from a previous chapter, rewritten to use pointers:
char *dp = &dest[0], *sp = &src[0];
while(*sp != '\0')
// *dp++ means *(dp++), i.e., the value of the pointer next to dp.
// to access the address of the next pointer of dp, use (*dp)++
*dp++ = *sp++;
*dp = '\0';
(One question that comes up is whether the expression *dp++ increments p or what it points to. The answer is that it increments p. To increment what p points to, you can use (*dp)++.)
ref: http://www.eskimo.com/~scs/cclass/notes/sx10b.html
Os type detection with uname
[vuhung@test_make]$make vh
SunOs
[vuhung@test_make]$cat Makefile
uname=$(shell uname)
ifeq ($(uname), Linux)
APP_OSTYPE = Linux
endif
ifeq ($(uname), SunOS)
APP_OSTYPE = SunOs
endif
vh:
@echo $(APP_OSTYPE)
Dec 21, 2007
C pointer FAQ :D
Of course, pointers are not limited to ints. It's quite common to use pointers to other types, especially char. Here is the innards of the mystrcmp function we saw in a previous chapter, rewritten to use pointers. (mystrcmp, you may recall, compares two strings, character by character.)
// p1, p2 point to the address of the first character in str1, str2 respectively
char *p1 = &str1[0], *p2 = &str2[0];
while(1)
{
// compare the values of str1[x], str[x] at the position x. Not equal
if(*p1 != *p2)
return *p1 - *p2;
// we reached the end of both str1, str2 -> they are equal.
if(*p1 == '\0' || *p2 == '\0')
return 0;
// p1++ and p2++ do the increment of p1 and p2.
// i.e., the next characters in str1 ( str[x + 1] and str2 ( str2[ x + 1]
p1++;
p2++;
}
As another example, here is the strcpy (string copy) loop from a previous chapter, rewritten to use pointers:
char *dp = &dest[0], *sp = &src[0];
while(*sp != '\0')
// *dp++ means *(dp++), i.e., the value of the pointer next to dp.
// to access the address of the next pointer of dp, use (*dp)++
*dp++ = *sp++;
*dp = '\0';
(One question that comes up is whether the expression *dp++ increments p or what it points to. The answer is that it increments p. To increment what p points to, you can use (*dp)++.)
ref: http://www.eskimo.com/~scs/cclass/notes/sx10b.html