Shahzad Bhatti Welcome to my ramblings and rants!

February 18, 2005

Running Code and Regular Releases

Filed under: Computing — admin @ 7:56 am

Running Code and Regular Releases

1a) Releasing a protoype when only 20% of the functionality is complete, was a significant predictor of both reduced defect-rate and increased productivity.

1b) Both formal design reviews and regression tests were significant predictors of reduced defect-rate (but not productivity).

1c) Daily builds were a significant predictor of increased productivity (but not reduced defect-rate).

1d) There was no significant association between either defect-rate or productivity, and dividing a project into subcycles (which developed a subset of the final functionality).

Conclusion: Get a prototype into the hands of customers asap.

2a) One-third of the variation in product quality was explained by how quickly customers were given the first beta version.

2b) The data showed no relationship between the final product quality and the number of beta releases.

Conclusion: “Get a low-functionality version of the product into customers’ hands at the earliest possible stage…”

Posted by: Isaac Gouy at February 11, 2005 11:59 AM

February 7, 2005


Filed under: Computing — admin @ 8:13 pm


 Mobile computing > continually changing topology
 Edge networking > no administrator access
 Utility computing > dynamic system re/provisioning
 Dynamic clustering > changing cluster configuration
 Large-scale distribution > constant partial failure
 Dynamic integration > unpredictable service availability
 Ad-hoc networking > spontaneous assembly
 Workflow/Msg switching > loose, asynchronous coupling
 Compute Grid > dynamic scalability
 RPC Systems require :
 > The client to know who it is calling
 > The client to know where the server is
 > The client and server to be active at the same time
 > The client and server to agree in detail on what form the
 call will take
 > The client and server to agree in detail on how the call
 will be made
 Where to Use Spaces
 Flow of objects
 > Workflow
 > Dataflow
 Coordinating loosely coupled collections of
 > Allows components to come and go
 > Allows components to change
 Don't use where you need
 > A file system
 > A database (object or relational)
 Security Valuation: Spaces Style
 Valuate set of fixed income securities
 > Break work into small chunks
 > Write an entry for each chunk into the space
 > Wait for results to come back
 Server process loops
 > Taking valuation requests
 > Executing each request, writing back results
 public class Task implements Entry
 public String clientID;
 public Task() {}
   public Entry execute() {
     throw new UnsupportedOperationException();
   public long resultLeaseTime() {...}
 public class ValuationTask extends Task {
   // public String clientID;
   public InitialConditions data;
   public ValuationTask() {}
   public Entry execute() {
     ValuationResult result = new ValuationResult();
     result.clientID = clientID;
     result.value = data.valuate();
     return result;
   public long resultLeaseTime() {...}
 ValuationTask tmpl = new ValuationTask();
 while (true) {
   ValuationTask task = (ValuationTask) space.take(tmpl, null, Long.MAX_VALUE);
   Entry result = task.execute();
   if (result != null) space.write(result, null, task.resultLeaseTime());
   //if (result != null) space.write(result, null, task.leaseTime());
 int count = 0;
 while (i.hasNext()) {
 ValuationTask task = new ValuationTask();
 task.clientID = "jmcclain"; = (InitialConditions);
 Lease l = space.write(task, null, 3600000)
 lrm.renewFor(l, Lease.FOREVER, null);
 ValuationResult tmpl = new ValuationResult();
 tmpl.clientID = "jmcclain";
 for (int i=0; i Authentication
 > Integrity
 > Confidentiality
 > Quality of service
 Use constraints (with Java policy) to specify
 > What a Subject can do
 > What a Subject can't do
 > What a Subject must do
 The Secure Remote Call Model
 Obtain a proxy from somewhere
 Perform 'proxy preparation'
 > Verify that the proxy can be trusted
 > Attach constraints to the proxy
 > Grant necessary permissions to the proxy
 Make remote calls through the proxy
 Jini Extensible Remote Invocation
 > RMI/JRMP ('1.0')
 > RMI/IIOP ('1.0B')
 > Jini ERI ('2.0')
 > Kerberos (Java GSS)
 > JXTA ( project)
 > UDP (experimental)
 public interface JavaSpace {
 Lease write(Entry entry, Transaction txn, long lease)
 throws TransactionException, RemoteException;
 Entry read(Entry tmpl, Transaction txn, long timeout)
 throws UnusableEntryException, TransactionException,
 InterruptedException, RemoteException;
 Entry take(Entry tmpl, Transaction txn, long timeout)
 throws UnusableEntryException, TransactionException,
 InterruptedException, RemoteException;
 notify(Entry tmpl, Transaction txn,
 RemoteEventListener listener, long lease,
 MarshalledObject handback)
 throws TransactionException, RemoteException;
 Entry readIfExists(Entry tmpl, Transaction txn,
 long timeout)
 throws UnusableEntryException, TransactionException,
 InterruptedException, RemoteException;
 Entry takeIfExists(Entry tmpl, Transaction txn,
 long timeout)
 throws UnusableEntryException, TransactionException,
 InterruptedException, RemoteException;
 long NO_WAIT = 0;
 Entry snapshot(Entry e) throws RemoteException
 Exporter Configuration
 example.sunw.service {
 private endpt = SSlServerEndpoint.getInstance(0);
 private constraints = new BasicMethodConstraints
 (new InvocationConstraints
 (new InvocationConstraint[]{Integrity.YES},
 null) );
 private ilFactory = new ProxyTrustILFactory
 serverExporter = new BasicJeriExporter
 (endpt, ilFactory);
 }//end example.sunw.service
 Proxy Preparer Configuration
 example.sunw.client {
 private verifyTrust = true;
 private constraints
 = new BasicMethodConstraints(...);
 private dynamicPermissions
 = new Permission[] {...};
 = new BasicProxyPreparer(verifyTrust,
 }//end example.sunw.client
 Wrap operations in transactions
 Create a FIFO
 > Push data structure logic into the space also
 Audit trails
 Dependent tasks
 Fixed function server nodes
 Community currently working on extension to
 > Batch write and take
 > Exhaustive read
 > Also fills roll of batch read
 > New event
 > New queries support multiple templates
 Should make space better at multicasting
 Batch/multi-template take should help various
 compute server scenarios
 Blitz -

February 2, 2005

India Justice, the victim – Gujarat state fails to protect women from violence

Filed under: Politics — admin @ 5:04 pm

India Justice, the victim – Gujarat state fails to protect women from violence
In February 2002, violence erupted in the state of Gujarat in western India. Some 2000 people, mostly Muslims, were killed and many others were injured and forcibly evicted from their homes and businesses over the course of the following weeks. Violence against women and girls was a key feature of the violence. Scores of Muslim women and girls were sexually violated – raped, gang-raped or mutilated. Many saw their family members killed and their homes and businesses destroyed. After these traumatizing events many women victims were left to care for their family’s survival, often in makeshift relief camps with inadequate support, conditions and reparations. Few perpetrators were convicted and victims’ attempts to obtain legal redress have been largely frustrated.

The Indian state of Gujarat has a history of communal violence whereby violence was perpetrated by both Hindus and Muslims.(1) While the violence in 2002 followed a fire in a train which killed 59 Hindus, it cannot be likened to earlier patterns of communal violence. The violence that ensued in the period from late February to May 2002 almost exclusively involved Muslims suffering from targeted violence perpetrated by organized right wing Hindu mobs.(2) The violence was grounded in the widespread ideology of Hindutva which sees India as a nation of Hindus. (For details of this ideology see section 4 and 6.)

By looking primarily at the cases of two women victims – Bilqis Yakoob Rasool and Zahira Sheikh, this report demonstrates a range of failures of the state to fulfil the standard of due diligence under national and international obligation to prevent grave human rights abuses perpetrated against women, protect victims and bring the perpetrators of these crimes to justice. Failures are identified at all levels: the police, trial court, high court, the state government and central government.

In the first case, Zahira Sheikh, a 19-year-old woman witnessed the burning down of her family’s business, the Best Bakery in Vadodara, by a violent Hindu mob. During the night of 1 March 2002, 14 people, including several women and children, were killed in the incident. Zahira made a complaint to the police. The trial of the Best Bakery case began in February 2003. On 27 June 2003, the trial court acquitted all 21 accused after 37 of the 73 witnesses, including Zahira, had withdrawn their statements in court. Zahira and her mother Sherunissa days later publicly declared that they had “”trembled with fear”” in court as they had been threatened with harsh consequences by associates of the accused if they did not withdraw their eye-witness accounts. The NHRC petitioned the Supreme Court stating that the circumstances of the acquittal violated the victims’ right to a fair trial and sought re-investigation and retrial of the case outside Gujarat. The Gujarat High Court, hearing the appeal of the Gujarat government against the trial court judgment, in December 2003 confirmed the trial court’s acquittal. Zahira, in January 2004, filed an appeal against the Gujarat High Court judgment in the Supreme Court. On 12 April 2004, the apex court overruled the High Court judgment and ordered the retrial of the Best Bakery case in Maharashtra. It severely criticized the Gujarat government and the state judiciary for their failings. The retrial began in Mumbai in October 2004. On the day before Zahira Sheikh was to appear in court on 4 November 2004, she publicly withdrew her previous statements, claiming that members of the organisation which had protected her and her family and assisted her in filing her petition in the Supreme Court, had coerced her into accusing people unconnected with the killing of her relatives. The circumstances of this reversal are not at present clear. (For details see the section on witness protection and the appendix.)

February 1, 2005

Israeli Troops ‘Shot 10-Year-Old Girl In Face’

Filed under: Politics — admin @ 5:16 pm

Israeli Troops ‘Shot 10-Year-Old Girl In Face’

Powered by WordPress