2008年6月8日星期日

Project Estimation Strategies

The challenge of estimation
  • project level estimation not task level estimation
  • theory of constrains
Critical Path Method and Its Limitation
  • critical chain = CPM + resource contrains + uncertainty
How to identify critical chain
  • identify critical chain after resource leveling
  • critical chain
  • second chain
Popular Estimation Strattegies
  • current estimate = expected right answer + permissible slip
  • current estimate = last estimate
  • current estimate = last estimate + permissible slip
  • current estimate = last estimate - a few days shaving
The reasons for poor estimation
  • accurate task estimation is difficult.
  • current project doesn't resemble previous projects
  • detailed records are often not maintained
Project padding and task padding

Using buffers successfully
  • add buffers to absorb variance
  • estimate task times as likely duration
  • evaluate the project status by reviewing g buffers, not individual task.
  • buffers != Delayed Finish Date
Estimate task times as likely durations
Evaluate the project status by reviewing buffers, not individual tasks
Three buffer types
  • project buffer: a block of time placed at the end of a project's Critical Chain
  • feeding buffer: a block of time placed at the end of a secondary chain of tasks at the point where it feeds into the Critical Chain
  • resource buffer: A strtegy of assuring a resource's availability for certain key tasks
Estimation for Innovative Project
  • Base duration estimates on likely durations
  • Add sufficient buffers to task chains
- large enough to absorb errors
- small enough to avoid unneccessary delays
Some Rules-of-thumb for Buffer Sizes
  • Project Buffer: 50% of the unpadded Critical Chian
  • Feeding Buffer: 50% of the saved padding
  • Resource Buffer: 2 weeks notification
Sizing Buffers based on Task Types
  • 4 types of tasks Repetition 10% Variation 25% Innovation 50% Novelty
Unused buffer Time
  • unused task padding is lost to the project
  • unused buffer time permits accelerated schedules
  • an unused project buffer means your project has completed ahead of schedule
Parkinson's law
Work expands to fill available time

As a rule-of-thumb, how far in advance should team members be notified before they are to begin a critical task? 2 weeks.

Building the critical chain schedule
  • define the project
a clear project definition includes
- project objectives
- timing, scope and budget
- priorities
  • develop a high-level WBS
  • add detail level tasks
  • enter task durations
  • use likely durations when estimating
  • calculate padding
  • identify task dependencies
  • calculate a tentative finish date
  • add resources & resource leveling
  • identify the critical chain
  • shorten the critical chain
  • identify the secondary chains
  • calculate buffer sizes
  • insert the project buffer and make adjustments
  • Insert Feeding buffers and make adjustments
  • monitor all buffers

2008年6月4日星期三

Project Management Training - Scheduling (2)

Evaluating the Trade off Triangle

$
/ \
/ \
Time Scope

Budget, Time and Goal. Balance among three aspects.

Working with What If Scenarios

Direct question is not good, what if is better


Defining your project

A clear project definitions are important
1. Clear up misconceptions
2. prevent scope creep
3. preserves a record

Characteristics of a clear definition: STORM
Specific
Time limited
Owned (resource allocation, department involved)
Realistic
Measurable (How do we know we are done)

Distribute final definition to your team and client.

Generating the WBS

WBS= project outline

Top Down Bottom Up

Estimating Durations

People who will do the work should estimate the duration

Most Likely = 10 days
Optimistic = 7 days
Pessimistic = 20 days

(4 * M) + O + P
duration = ----------------
6

Adding dependencies

No lag
Lag
Lead (negative lag)


Utilizing constraints

As soon as possible
As late as possbile

Fixed Constraints (Fixed Start/End)

Start No Earlier Than
Start No Later Than: Availability of a contractoer or supplies, or beginning of a fiscal quarter
Finish No Earlier Than
Finish No Later Than

Calculating the critical path

know your project finish date and optimal schedule
know which tasks to focus your resources and funding on
see how to best assign your resources.

Assigning your resources


assign resources to normal tasks
not assign resources to summaries

Reasons to assign resources in your Gantt chart
give your resources a picture of their role in the project
a timeline of when tasks must be completed
avoid overbooking your resources

Resource Leveling: act of delaying tasks for overbooked resources to the next available time slot.

Things to consider when assigning resources:
1. Which tasks are critical?
2. What skills are needed for each task?
3. What skills so your resources have?
4. Therefore, which resource can do which task? if some tasks can only be completed by one or two people, assign them first.
5. Give your resources equal work.

Non-collaborative
collaborative
committee
duration based

Not all resources work at the same rate.


Tracking your projects

baseline
baseline: a snapshot of the project that will not change
actuals: the actual dates that tasks started and finished
baseline vs. actuals: comparion between plan and reality
variance: the difference between the baseline and actuals

Project Tracking and Managing Variance

Questions about tracking:

How frequently will you update?
Who will update - team members or an individual
What standard reports will be used?
How often will team meetings be held?
Have you allocated time for managing variance?

cutting scope
re-evaluate dependencies
leveling resources

Project Management Training (1)

Why project scheduling

1. The Gannt chart is a model of your project
deriation of the estimates
task dependencies
resource requirement
project completion date
2. Use the model to optimize the schedule.
Give critical tasks priority
Find resource overloading and bottlenecks.
Do "What If" Scenarios to get alternative paths.
3. Track progress against original plan
See if there is a difference
Determine impact on deadlines
Find ways to get back on schedules.
4. Communicate the schedule with others
get feedback
show the need for more resources
give your team their schedule.
report progress
5. Facilitate Multiple projects working together
Helps you:
show how sub-projects fit together and impact each other
document who owns each sub-project
And therefor:
allow you to warn other managers
reduce duplicated efforts
6. Build a body of knowledge
use old projects as a starting point
improve duration estimation
identify recurring problems.

Understanding Ganntt Charts

WBS

Phase 1
Sub - Phase A
Task 1
Task 2
Task 3
Sub - Phase B
Phase 2
Sub - Phase A
Sub - Phase B

Box lengths are proportional to duration
Tasks are on a time line.
3 Task Types
Normal
Summary
Milestone (not represent any work)

Puchase a New Car

Research Phase
Research cars
Compare Lenders and Rates
End of Research Phase
Purchase Phase
Visit Dealer/Test Drive
Secure Loan
Purchase Car
End of Purchase Phase

2008年5月5日星期一

GPM pre-integration Test

Phi Tran gave us a bfu archive merging CPU and ACPI hal together. I tried to bfu them but some problem happened. Some files were missed. If I copy those files to local, then bfu, it's okey.

The ac un-plug signal can't be seen is because the old battery is still working. You need to remove it by "rem_drv battery"

What is Evolution

Sun Evolution is based on GNOME Evolution code base which provides a
rich, Outlook-competitive, messaging and calendaring client, and meets
a critical need in Sun's desktop offering.

Evolution is a personal and workgroup information management solution
for Linux and UNIX-based systems. Evolution integrates email, calendar,
contact and task list management in one powerful, fast and easy-to-use
application. With full support for key data exchange and communications
standards, such as IMAP, POP, SMTP, LDAP, iCalendar, vCard and more,
Evolution enables tight integration with Sun One Messaging and Calendar
Servers and other messaging systems.

Features & functionalities include:
- Powerful email handling
- Powerful flexible calendar
- Integrated information management
- Compatible with existing messaging platforms
- Broad platform support

Evolution includes the following components:

- evolution - The top-level application.
- evolution-data-server - A backend library for Evolution, providing
support for calendar and addressbook.
- evolution-exchange - Evolution connector for Microsoft Exchange.
- evolution-jescs - Evolution connector for Sun Java Enterprise
System Calendar Server (SJESCS) 5.1+.
- evolution-webcal - WebCal support for Evolution. Provides
support for adding online calendars to
Evolution.

Evolution imports the following components which are used
by Evolution, but are general interfaces which may be used by
other projects in the desktop.

- libsoup - A library which provides HTTP client/server
interfaces, including support for SOAP and
XMLRPC interfaces.
- GnuTLS - The GNU project implementation of the TLS
(Transport Layer Security) protocols. It
supports SSL 3.0, TLS 1.0, and TLS 1.1.
- libgcrypt - A general purpose cryptographic library,
based on the code from GnuPG.
- libgpg-error - A small library that defines common error
values for all GnuPG components (including
libgcrypt).

Notes:

- evolution-data-server supports S/MIME v3 through NSS which provides
certificate authentication and encryption. NSS provides RSA, DSA
RC2 and 3DES algorithms for using in S/MIME.

- evolution-data-server supports SSLv2, SSLv3 and TLSv1 stream through
NSS to provide secure email connections.
NSS supports following Encryption Technologies which you can find
from
http://www.mozilla.org/projects/security/pki/nss/nss-3.11/nss-3.11-algorithms.html

- GnuTLS depends on libgcrypt and uses many libgcrypt algorithms.

- libgcrypt provides hash, encryption/decryption algorithms.

- libgpg-error does not contain any algorithms, it just defines some
macros for various error types.

- libsoup is an HTTP client/server library for GNOME. It provides
SSLv3 support through GnuTLS in a standard way as SSL version 3.0.
libsoup itself does not contain any cryptographic algorithms.

Main differences with the previous Evolution 1.4 version of the export
form:

- Evolution does not depend on OpenSSL. It now depends on NSS.

Refer to the following URLs for further details:

- Evolution Project Website:
http://www.gnome.org/projects/evolution
- libsoup Project Website:
http://live.gnome.org/LibSoup
- GnuTLS Project Website:
http://www.gnu.org/software/gnutls/
- libgcrypt Project Website:
http://directory.fsf.org/project/libgcrypt/
- libgpg-error Project Website
http://www.gnupg.org/related_software/libgpg-error/

2008年4月23日星期三

Dry Run For the presentation of OpenSolaris Group

At 10:30 am today, I gave a presentation in the JDS forum to the some guys from our department and QE group. I found that I couldn't express myself successfully that is because of lacking of practice.

They gave me a lot of suggestions and I will change the slides after the presentation. The lecture focuses a lot on the driver part while not desktop part, I should add more content to JDS. Moreover, I'm not familiar with the driver part hence I shouldn't talk much about it.

2008年4月17日星期四

GNOME Power Manager Needs Power Scheme option?

A power scheme is a collection of settings that controls the power usage
of your computer. You can use power schemes to reduce the power
consumption of individual devices or the entire system.

In Windows XP, User can set options for a power scheme in the Power
Options dialog box. Windows XP comes with several pre-configured
profiles, they are Home/Office Desk, Portable/Laptop, Presentation, Always on,
Minimal Power Management and Max Battery. User also can easily create
custom profiles that fine tune the properties for his particular circumstances.

In Max OS, Laptops get a menu option in the Energy Saver panel:
Optimize Energy Settings. These are energy profiles you can quickly
switch between depending on the circumstance: Better Battery Life,
Normal, Better Performance and Custom.

In KDE, KPowersave ships with a set of four preconfigured schemes which
you can adjust to your needs. To switch schemes with KPowersave just
right-click the panel icon and select Set Active Scheme. The following
schemes are available:


Performance
Keep your machine running with full power and full speed to
achieve maximum performance.
Acoustic
Apply any measure that makes sure your machine runs as quietly
as possible.
Presentation
Disable any display power management and screen savers to make
sure that your presentation is not interrupted by a blanked
display or such like.
Powersave
Apply aggressive power management methods to make sure that your
machine runs as long as possible when put on battery power
instead of AC power.

How about GNOME Power Manager? Do we need such options which allow user
select power profiles which they like?

2008年4月9日星期三

Find the root cause of Java Bridge Bug

Having spent so long time on this bug and finally I found the root cause of this bug:http://bugzilla.gnome.org/show_bug.cgi?id=526700

At first, I tried to make orbit to output its log, but at-spi-registryd output too many logs and it is nearly unuseful for the investigation.

Later I wrote two simple test applications, one is the corba server: bonobo-echo-2 and the other is java test client. This can help me narrow the problem.

ORBit2 can output its log information also, but there are two kinds of log: orbit2 log and linc2 log. Until I enable the linc2 log (I don't know until I look at the source code), I could see the communication information to orbit2 server.

truss is a good tool which can help to see system call. truss -t open process name
snoop can get the tcp packets in the ethenet network.

About one year ago, Brian changed /etc/orbitrc as the requirement of Secure by Default. java access bridge didn't work any more since then. It would have been easy If we had notify Brian about this problem.

2008年4月8日星期二

GPM's problem

1. Need to query Richar Hughs about the opions on the new features of profiles
2. Get opinions of profiles from desktop-discusss.

2008年4月7日星期一

Lecture for OpenSolaris User Group - Bio and Abstract

个人介绍

蔡庆明1998年毕业于北京清华大学计算机系,2005年加入太阳计算机公司桌面系统
部门。有10年的软件开发经验。作为一名Sun的软件工程师,他是软件产品
Evolution和GNOME Power Manager的技术负责人。他也为开放源码社区做了许多贡
献,例如GNOME社区和Opensolaris社区。

Cai Qingming graduated from Tsinghua University with Master degree in
1998 and joined Java Desktop department in Sun Microsystems in 2005. He
has 10 years of experience in software development. As a software
engineer in Sun, he is the technical lead of Evolution and GNOME Power
Manager. He also contributed more to open source communities like GNOME
and OpenSolaris.

摘要

一直到现在, Solaris都没有一个方便的应用程序来允许用户管理和监控电源的消
耗和电池状态。特别是对笔记本电脑用户,他们不知道如何像Window或者Linux那样
进行电源管理。尽管现在电源状态的Applet已经在Nevada中了,但是仍然不能用它
来控制电量不足或者用户合上笔记本后应该执行的动作。在Solaris 10中,我们提
供dtpower来帮助用户进行参数配置。但是,这些配置已经不够了。我们经常听到用
户抱怨Solaris消耗了太多的电量而且不能挂起或者休眠。如果要向用户提供一个
好的桌面系统,我们必须解决这一问题。

在这个演讲中, 演讲者从桌面的角度介绍了电源管理的方案。首先,他描述了一些
有关电源管理的背景信息和Solaris的电源管理框架。然后,他介绍了和电源管理相
关的一些标准和概念。最后,他主要介绍了GNOME Power Manager是什么,它的结构
和如何将它从Linux移植到Solaris中。

Until now, Solaris doesn't have a convenient desktop application which
enables users to manage and monitor power consuming and battery status.
Especially for laptop users, they don't know how to manage their power
consuming easily like Windows and Linux. Though battery status applet
has been put into Nevada, they still can't control what the system
should do if the battery power is critically low or what should be done
if they close the lid. In Solaris 10, we provide dtpower to help users
configure some power parameters. However, nowadays the features it
provides are obviously no longer sufficient. We often hear users
complaining that the Solaris consume much battery power and it can't
suspend/hibernate. To offer an excellent desktop for users, we must
solve this problem.

In this presentation, the lecturer introduces the power management
solution in Solaris from desktop perspective. First, he describes some
background information about power management and Solaris Power
Management framework. Then he introduces some concepts regarding to
power management. Lastly he introduces what GNOME Power Manager is, its
architecture and how it is ported to Solaris from Linux.

2008年3月23日星期日

Academic or Pratical in schools?

A critisim often heared these days is that subjects taught in schools tend to be too academic, and contribute little to preparing a young person for the real life tasks which he or she will have to perform after graduation. They say the academic subjects are rooted in the past and are not useful in solving modern problems. However, I disagree this point of view for three reasons.

My first reason is that it is the duty of parents, not teachers to prepare their children to deal with the practical affairs of life. The home, not the classroom, is the ideal place to learn about home management and interpersonal skills. As for work abilities and attitudes, they are best learned on the job and under the supervison of an experienced older worker.

My second reason is these academic subjects have withstood the test of time, they represent the accumulated wisom of our ancestors down through ages, and far from being impractical, they equip us with knowledge and confidence to make sound judgement about any problems which may crop up. In addtion, academic subjects are good for training us in mental discipline, while practical subjects are weak in this regard.

My third reason is based on the saying " Man does not live by bread alone". Schooldays soley devoted to instruction in down-to-earth practical matters would be dull indeed. Lessons in the best literature of the world and epoche-making scientific and geographic discoveries of the past enrich our lives and make us feel we are part of the great family of mankind.

All in all, the teaching of academic subjects in schools is entirely appropriate. It is my firmly held view that practical subjects have no place in the classroom. On the contrary, the curriculum should be more academic.

2008年3月18日星期二

Evolution export control and birthday

Sun is a large and canonical company which abides by the laws of USA and regulations of other countries in business. Therefore, we have some redundant process to go before releasing our software. Of course, every employee should understand something about law on behalf of Sun Microsystem. We also have to spend much time and energy on the process. Recently I'm working with Brian Cameron on the export control process. This work is a bit annoying because you have to know many details about the products. For example, how does evolution use encryption algorithms? which algorithms and key size etc.

Maybe we have no choice except answering those questions one by one. I think I can finish them soon.

Oh, today is the birthday of jessie's father. We'll go to cellebrate it for him. Which present should I buy for him?

GPM Arc Case

Recently we are going through the process of GNOEM Power Manager ARC case. Gary has asked some questions related with security and authorization. How does a gconf value is managed by administrator? In fact, we never investigated similar issues before. Gary's questions make us to look it over those issues in GNOME desktop. For example, maybe APOC can help to configure gconf values.

I sent the question to colleagues in Ireland to get more suggestions since they are more experienced on GNOME. Brian, Darren and Matt gave us some beneficial help. But anyway, I still hope we can speed the arc process for open source projects and improve the efficiency alarmingly.

2008年3月13日星期四

How to Test Whether Suspend|Resume work on your Solaris

In my last blog article http://jeff-work.blogspot.com/2008/03/gnome-power-manager-works-in-solaris.html, I described how you could install GPM on your Toshiba laptop. As you have known, suspend|resume may not work on your machine because of lack of some driver support. Fortunately, Randy Fishel gave us a method how to know whether your hardware support this feature.

His article is posted at http://blogs.sun.com/randyf/entry/testing_suspend_and_resume_for where it lives in the Sun blog space. Maybe you ask me why I have no such a blog. I ever had one, but currently it doesn't work. I can't log in it and the maintainer doesn't solve the issue for me yet. Owning a Sun's blog is something you can be proud of.

Randy also tells us how to configure your machine to make suspend to ram work in another article. The link is at http://blogs.sun.com/randyf/entry/solaris_suspend_and_resume_how.

Now we'll talk about something about GPM. When you press "power" button, GPM will pop up a dialog which allows the user to select "Suspend", "Shutdown" or "Cancel"



In fact, this dialog is not offered by GPM, instead, GPM invokes a command line tool "gnome-sys-suspend" to respond to the pressing power button. You can't see icons on the button "Suspend" and "Shutdown", I think we can make it more elegant by adding some icons.

Another enhancement for this window is to add "Reboot" and "Hibernate" buttons. we are working on it and hope you can see them soon.

Encryption Algorithm Table

These days we are going through the export control process for gnome 2.22. The moudles of GnuTLS, libgcrypt and libsoup include many things related with encryption and descryption. You know that I'm not a security export. To make me remember what the algorithms are, I'll make a table to list them.














Algorithms
Name
Type
Key Length
Fragment Size
Others
DES_CBC
block,synmeric58+8
64 bit EDE or EEE
AES block, symmetric128,192,256128Rijndael
RC4 stream,symmetric40-256stream

2008年3月10日星期一

X Window System Concepts

This is a good article about X: Xlib Programming Manual http://www.sbin.org/doc/Xlib/index_contents.html
A display is defined as a workstation consisting of a keyboard, a pointing device such as a mouse, and one or more screens.

Server-client modal

X is a network-oriented windowing system. An application need not be running on the same system that actually supports the display.

the program that controls each display is known as a server.

The server acts as an intermediary between user programs running on either the local or remote systems and the resources of the local system.

Window Management
Another important concept in X programming is that applications do not actually control such things as where a window appears or what size it is. Given multiprocessor, multiclient access to the same workstation display, clients must not be dependent on a particular window configuration. Instead, a client gives hints about how long and where it would like to be displayed. The screen layout or appearance and the style of user interaction with the system are left up to a separate program, called the window manager.

2008年3月5日星期三

GNOME Power Manager Works In Solaris



After several months of hard working, We finally make GNOME Power Manager (GPM) partly work in Solaris on some Toshiba laptops.

In fact, as a popular desktop system, GNOME has been integrated in Solaris for a long time. But until now, we can't port a desktop power management application into Solaris because of the lack of driver support. User of Solaris 10 have to use the old GUI application called "dtpower" to perform power management configuration. Comparing with "dtpower" in Solaris 10, as one of the new generation PM tools, GPM has more features and is more user-friendly.



Features

In summary, GPM provides features as follows:

1 Battery Monitor
- power status (AC, battery charging, battery discharging and
battery power volume)
- Emit notification message and beep when battery power is
critically low
- perform the specified action when battery is below the critical
level

2 Suspend&Hibernate
- suspend manually
- hibernate manually (only on sparc for now)

3 Brightness support
- brightness hot-key
- brightness applet, show and adjust brightness level by mouse
- Set the specified brightness level in different power modes.

4 CPU scaling policy
- ondemand
- performance

5 Hot-key support
- power button
- brightness hot-key

6 Lid support
- perform the specified action including blank, suspend and hibernate when lid is closed.
- beep when lid is closed/opened.

7 Configuration switching between AC power and Battery Power
- change the action configuration when lid is closed (the action is
one of nothing, blank screen, suspend and hibernate)
- change the action configuration when battery is below the critical
level. (Only in battery mode)
- change the CPU scaling policy
- change the brightness level

8 Preferences
- action when lid is closed (in ac and battery power mode)
- action when battery is critically low (only in battery power mode)
- brightness level (in ac and battery power mode)
- cpu scaling policy (in ac and battery power mode)
- action when power button is pressed (general)
- action when suspend button is pressed (general)

You may wonder why not support suspend or hibernate automatically. Currently, this is work only for the first phase. In the second phase, we have still more work to do to support this feature.

Installation

System Requirement:

Toshiba M5, M8, M9, and A9 and any systems that support ACPI fully.
Solaris Nevada 75 or any version after 75

Download the package

GPM Hal support: A tar package file which you need to extract it before you can use.
GPM Package: Solaris package that you need to use pkgadd to install it.

How to install

1. extract the packages
# gtar zxvf 1_23_08_x86.tar.gz
this creates a directory '1_23_08_x86' in which with 'driver' and 'hal' sub-directories.
# gtar zxvf gnome-power-manager-02-20-x86.tar.gz
this command createa a directory 'gnome-power-manager-02-20-x86'
2. Copy the battery and power driver to your system.
# cp 1_23_08_x86/driver/debug32/* /kernel/drv
for 64 bit , # cp 1_23_08_x86/driver/debug64/* /kernel/drv/amd64

3. Copy all HAL files
# cp 1_23_08_x86/hal/* /usr/lib/hal

4. Upgrade hicolor theme
#cp gnome-power-manager-02-20-x86/index.theme /usr/share/icons/hicolor

5. Install two Solaris packages
#pkgadd -d gnome-power-manager-02-20-x86
Please select 'all'.

6 Reboot


Now, after you reboot your machine, you can see there's a power icon in the right bottom(system tray) of your panel like the following picture:


you can right click or left click with your mouse to pop-up command menu in which you can select some commands such as "Preferences", "Power History", and "Suspend"(If your computer drivers support it)






Brightness Applet

There's also a new applet called "Brightness Applet" which you can use to adjust screen brightness by mouse.



Battery Monitor


If you unplug the power, the machine will be running in battery power. GPM can show the battery status such as power volume, the remaining time the machine can work. If the power is critically low, a warning will be pop-up to ask you to plug the AC power or shutdown the computer.

Anyway, GPM really works in Solaris. You can try "Suspend" & "Resume", but because of the driver issue, my laptop still can't resume after suspend. :( Guys of driver team are busy in dealing with these issues.

See More...

Project page in GNOME: http://www.gnome.org/projects/gnome-power-manager/ which contains project information about development, features and screenshots

Project page in OpenSolaris: gpm , acpi hal and cpufreq hal

2008年2月26日星期二

GPM ARC and gnome-mag xcomposite extension

Blocked on GPM Arc
You can find which package a file is by grep the file /var/sadm/install/contents

2008年1月29日星期二

Review jab bugs

Reviewed java-access-bridge patch [http://bugzilla.gnome.org/show_bug.cgi?id=511625 511625] - Application role should be ROLE_APPLICATION, not ROLE_EXTENDED

Downgrade P2 Evolution bug and Java acc bug

6654597: evolution processed do not die on X server reset. Stephen agreed to downgrade it.
6627380: discussing with guys from the java team.

oral english training

GPM arc case discussion.

2008年1月23日星期三

java access bugs:

6641866, gnome-build installation place is not correct
6627380, java a11y clients can't communicate with CORBA servers

Evolution bug and GPM work arrangement

1. Investigate Evolution bug http://monaco.sfbay/detail.jsf?cr=6653104
evolution crash during launch
I can't reproduce it on SunBlade 2500.
2. Discuss testing issues with Tony and Simon.

2008年1月21日星期一

testing cpufreq hal

svccfg import + filename: import a service
svcs service_name: to show whether a service is online
svcs -x service_name: to show the dependencies of the service.

1.Get processor properties
# lshal|grep processor
processor.can_throttle = false (bool)
processor.maximum_speed = 2391 (0x957) (uint64)
processor.number = 0 (0x0) (int)
info.capabilities = {'processor'} (string list)

2.introspect the interface
$ dbus-send --system --print-reply
--dest=org.freedesktop.Hal
/org/freedesktop/Hal/devices/computer
org.freedesktop.DBus.Introspectable.Introspect
....







direction="in"/>



call a method using dbus-send
# dbus-send --system --print-reply
--dest=org.freedesktop.Hal
/org/freedesktop/Hal/devices/computer
org.freedesktop.Hal.Device.CPUFreq.SetCPUFreqGovernor string:performance

2008年1月10日星期四

Phi Tran File Arc Fast Track: GPM Support

Problem:
1. No detailed description about authorization of suspend and hibernate
2. No detailed description how to invoke libpolkit
3. No description about how to resolve the conflict between powerd and hal on 'power button' event.

RBAC


In RBAC, roles are assigned to users. When a user assumes a role, the capabilities of the role are available. Roles get their capabilities from rights profiles. Rights profiles can contain authorizations, privileged commands, and other supplementary rights profiles. Privileged commands are commands that execute with security attributes.

gnome-session logout dialog

double inconsistency across the desktop.

Dan and Lucas have worked on a new gnome-session with a dbus API. The dialog itself will be moved to gnome-session, since we'll be able to do what we want with the dbus API.

gnome-session should do tell GDM to reboot/shutdown/etc.