text:
Bank of Ireland is first Irish bank to establish NY start-up incubator
11 Mar 20172.16k Views
From left: Tom Hayes, CEO of corporate banking at Bank of Ireland; Claire Mc Hugh, CEO and co-founder of Axonista; Jon Bayle, founder of Deposify; and David Tighe, head of innovation at Bank of Ireland. Image: Naoise Culhane
Bank of Ireland has opened an incubation office in New York to support the Irish start-up community on its march westwards.
In an unexpected move, Bank of Ireland (BOI) has established StartLab NYC, a new incubation space to support Irish start-ups entering the US market.
The collaborative space, located in Manhattan on the 41st floor of 2 Grand Central, is the first offering of its kind from an Irish bank outside of Ireland.
'Having a free, professional, and highly sought-after location to work from, in a city of real growth potential, is an invaluable support for entrepreneurs'
– DAVID TIGHE
StartLab NYC offers seven scalable technology companies the opportunity to gain access to a free incubation space in New York City for a 12-month period.
The bank has selected innovative Irish tech start-ups Deposify, Pulsate and Axonista to join the incubator, and an application process for the remaining four places will open in the coming weeks.
First, we take Manhattan …
"At Bank of Ireland, we are focused on fostering entrepreneurship, and helping our customers to grow their businesses," said David Tighe, head of innovation at BOI.
"Having a free, professional, and highly sought-after location to work from, in a city of real growth potential, is an invaluable support for entrepreneurs.
'We are approving credit for technology sector companies on a daily basis'
– TOM HAYES
"Moving into the American market can be a daunting experience for an Irish start-up. Our team in New York, along with our innovation team and technology sector specialists in Dublin, will give the seven companies who join StartLab NYC all the support they need to scale their business, seek investment and, ultimately, grow and succeed Stateside.
The decision to open StartLab NYC was taken in response to demand from customers, and represents the next step in the bank's aim to foster entrepreneurship.
The incubator, specifically for scaling start-ups, is an extension of existing successful BOI facilities already available in several locations in Dublin, Cork, Limerick and Galway, namely Workbench and StartLab.
"We are approving credit for technology sector companies on a daily basis," said Tom Hayes, CEO of corporate banking at BOI.
"In January 2017 alone, our approvals ranged from €300,000 for a healthcare software company to €3.1m for an enterprise software company. On the equity side, Bank of Ireland has committed over €150m of own capital to venture capital funds such as Kernel Capital and Delta Partners.
"These funds have helped companies such as FeedHenry scale their business, and continue to support other upcoming technology companies," said Hayes.
Related: funding and investment, entrepreneurs, Bank of Ireland, New York, US
John Kennedy is an award-winning technology journalist who served as editor of Siliconrepublic.com for 17 years.
editorial@siliconrepublic.com
Concerns about SoftBank loans raised as talks with WeWork begin
WeWork's landlords are concerned and SoftBank's CEO is 'embarrassed'
SoftBank's takeover of WeWork lets Neumann exit as a billionaire
Major WeWork layoffs expected after Neumann is ousted as CEO
Taoiseach Leo Varadkar to address UN at Climate Action Summit in New York
Scale Ireland's vision for regional investment in Budget 2020

redpajama_set_name: RedPajamaCommonCrawl


text:
The body of Paula Gilfoyle was discovered hanging from a beam in the garage of Grafton Drive. The marital home of Eddie and Paula Gilfoyle. A Coroners Officer, a Police Surgeon, Detectives and a Scenes of Crime Officer attended at the house.
Eddie is arrested and interviewed as Police search Team search Grafton Drive. In a footstool in the house the police find the beginnings of another suicide letter written in Paula's handwriting.
Eddie is re-interviewed and tells the police that Paula told him that she had been having an affair.
Notepads seized during house search on 8th June are tested and a further suicide letter written by Paula is found indented on a page and revealed by ESDA test methods. The original letter has never been found.
The police attempt to reconstruct Paula's death in the garage at Grafton Drive. Later the same day the police claimed that a detective constable found a rope in a drawer in the garage. The rope they said was tied in the form of a running noose yet mysteriously it was not found on the 8th June 1992 during the earlier search by the Police Search Team. The police decided that this was Eddie's practice rope.
Paula's Sister interviewed and police tell a potential alibi witness Maureen Piper they are scrubbing her statement. As a consequence, Maureen Piper did not attend the trial to give evidence.
Eddie is re-arrested and interviewed regarding ESDA test letter and practice rope. Eddie's father Norman also arrested for assisting an offender namely Eddie.
Eddie has a breakdown and is admitted to psychiatric unit at Clatterbridge Hospital.
Superintendent Humphreys submits his critical report regarding the unsatisfactory actions of the police in their initial response to the death of Paula. The senior management of the Merseyside Police had ordered Superintendent Humphreys to inquire and report on the failings of the police officers who attended the scene of Paula's death.
CPS give the go ahead to charge Eddie and he is arrested at the hospital and charged at the police station. Eddie remains in custody at Walton Prison until trial date. All allegations against Eddie's father, Norman, are withdrawn as he can account for his whereabouts in Liverpool on the day Paula died.
Eddie's barrister writes to Eddie's solicitor about the lack of preparation for the trial.
Eddie's trial commences.
Eddie is found guilty.
Susan Caddick prepares dossier detailing over 100 complaints against the Merseyside Police. The complaint alleged serious misconduct, including the alleged finding of the so called practice rope found by a detective constable in the drawer of the garage three weeks after the Police Search Team had searched it. It had been one of the main features in the trial.
The Police Complaints Authority (PCA) agree to supervise the complaints raised in the dossier and agree to the appointment of Superintendent Gooch of the Lancashire Constabulary to reinvestigate the whole case.
Eddie dismisses his Legal Team at trial and appoints Campbell Malone as his new solicitor.
Detective Superintendent Gooch submits his final critical report to the PCA (The Gooch report)
PCA issue a press release regarding concerns over the safety of Eddie's conviction
The DPP informed the Gilfoyle family that there was insufficient evidence to provide a realistic prospect of securing any conviction against any officer of the Merseyside Police force.
The Merseyside Police claimed public interest immunity as regards to the Gooch Report. The high court grant Eddie's solicitors access to a copy of the Gooch Report but it is severely edited
Eddie's appeal commences and lasts three days. Adjourned to October for judgement.
Eddie's appeal against his conviction is dismissed by three Appeal Court Judges. They refused to admit Expert evidence and the findings by the Lancashire Constabulary contained within the 'Gooch Report.' Eddie is sent back to prison.
Late 1995 / early 1996
Channel 4 documentary series 'Trial & Error' start investigations into the case.
Susan Caddick makes a second complaint against the Merseyside Police. Her complaint was against the senior investigating officer (SIO) a Detective Chief Inspector involved in the original investigation. PCA agree to supervise the complaint and appoint a senior investigating officer from the Cheshire Constabulary.
'Trial & Error' broadcast documentary about Eddie's case.
The Merseyside Detective Chief Inspector (the SIO in the original investigation) was promoted to Superintendent. As yet, no disciplinary hearing has taken place against this officer and the other two officers. Namely, the Detective Superintendent in charge of Wirral CID and a Detective Constable, (the one who said he found the practice rope in the drawer of the garage)
The investigating officers report, (Cheshire Constabulary), was received by the PCA who passed the file to Chief Constable of Merseyside.
The Police Complaints Authority (PCA) informed Susan Caddick that although part of her allegations in the complaint investigated by the Cheshire Police were substantiated, the SIO (the DCI now Superintendent) would receive advice from the Assistant Chief Constable of Merseyside.
'Trial & Error' documentary re-broadcast on channel 4.
The Gilfoyle family learn that the Detective Superintendent in charge of Wirral CID is about to retire from the Merseyside Police. This will save him from having to attend and face any forthcoming Disciplinary Hearing.
National 48 hour Hunger Strike and demonstration outside the offices of the Criminal Cases Review Commission (CCRC) in Birmingham. Eddie and his family went without food for 48 hours and his family took part in the demonstration along with many other families of those wrongly convicted. Over a hundred prisoners in 24 jails across the country took part.
Late 1997/Early 1998
The Home Affairs Select Committee considering matters of public confidence regarding complaints against the police highlight Eddie's case. The delay in holding the disciplinary hearing (Lancashire inquiry) was one of the longest in the history of complaints against the police.
Probate Hearing at Manchester Courts rule that the personal effects remaining at Eddies house in Grafton Drive are to be forfeited. Because of his incarceration Eddie was unable to attend. The case was brought by lawyers acting on behalf of Paula's family. Any proceeds that might be left from the sale of his house will be decided at a further hearing.
Disciplinary Hearing takes place. The SIO and detective constable in the original investigation face disciplinary charges. The Detective Superintendent in charge of Wirral CID retires and escapes the hearing. The charges against the two remaining officers are dismissed by the Chief Constable of Merseyside. The mysterious appearance of the so-called 'practice rope' forms no part of the hearing.
Justice for Eddie Gilfoyle Public Meeting in Liverpool. Chaired by actor and veteran campaigner Corin Redgrave.
The Eddie Gilfoyle Campaign protested outside the Criminal Cases Review Commission office in Birmingham complaining about the delays in referring Eddies case back to the Court of Appeal. Within a fortnight the CCRC referred the case back to the Court of Appeal.
Eddie's sister, Sue Caddick speaks at a Public Meeting in Lancaster.
Eddie's sister, Sue Caddick speaks at a Public Meeting in Castleford.
Eddie's sister, Sue Caddick speaks at a public meeting in Birmingham together with other speakers from miscarriage of justice cases.
Eddie's sister, Sue Caddick speaks at a fringe meeting to the annual TUC Conference in Brighton together with other miscarriage of justice cases.
Eddie's sister Sue Caddick spoke at meetings in Nottingham organised by Nottingham TUC and also spoke to law students at Manchester University.
Eddie Gilfoyle Campaign held a 'candlelight vigil' outside HMP Wakefield.
Eddie Gilfoyle Campaign are involved in the setting up of Merseyside Against Injustice (MAI).
A website which included an article outlining Eddie's case was shut down after the company hosting the site received threatening letters from lawyers acting for the Police Federation.
Eddie's sister, Sue Caddick spoke at a public meeting, (organised by the campaign) at Liverpool University on the censorship by the Police Federation of Eddie's case on the internet. Many other miscarriage of justice campaigns took part.
Eddie's sister Sue Caddick spoke at a meeting in Cardiff organised by South Wales Liberty.
Eddie's second appeal was dismissed and Eddie was returned to prison. As with the first appeal in 1995, the appeal court judges would not admit into the appeal the findings uncovered in the Lancashire Constabulary re-investigation (the Gooch Report).
Eddie changed his name by Deed Poll to 'Innocent Edward Gilfoyle.'
The solicitor who represented Eddie at trial, Mr David Moore was sentenced to 12 months imprisonment for offences of dishonesty relating to the misappropriation of nearly £70,000 of clients money.
The Eddie Gilfoyle Campaign attended a meeting in London organised by Eddie's solicitor Campbell Malone. He is calling for the formation of an organised group of Lawyers to highlight the issue of miscarriage of justice cases and the arbitrary approach by the Court of Appeal to such cases.
Eddie's solicitor, Campbell Malone submits a second application to the Criminal Cases Review Commission.
With the assistance of the Police Federation a Merseyside Detective involved in the original investigation, (the one who found the 'practice rope' in the drawer of the garage at Grafton Drive on 23rd June 1992) sued the Channel 4 'Trial & Error' programme for defamation. The matter was settled out of Court without Channel 4 making any payment by way of damages.
Desmond Browne QC and Mathew Nicklin QC who represented Channel 4 'Trial & Error' programme in the defamation case provide a report for Eddie's solicitor stating that in their opinion Eddies conviction is unsafe.
Eddie is transferred to HMP Rye Hill in Warwickshire.
Eddie's father, Norman sadly passed away this month. Eddie was allowed to attend the funeral flanked by two prison guards but unfortunately they arrived late and Eddie missed the funeral service.
The second application that was submitted by Eddie's solicitor Campbell Malone to the Criminal Cases Review Commission (CCRC) is rejected.
Eddie appoints a new solicitor, Matt Foot of Birnberg & Pierce Solicitors, in London. He starts work on a fresh application to the CCRC and Eddie is transferred to HMP Buckley Hall in Rochdale.
The Times newspaper took an interest in the case and has since published numerous articles concerning the doubts they have about the safety of the conviction.
Eddie was transferred to HMP Sudbury. This was significant because despite Eddie continually refusing to take part in any offending behaviour courses and continually protesting his innocence the establishment in Sudbury was a category 'D' prison or 'open prison. Transfers to Category 'D' prisons are normally considered as being the first steps towards release.
Innocent Eddie Gilfoyle Facebook Group is launched.
Chris Huhne MP tabled a question in the House of Commons to ask the Solicitor General, Vera Baird QC on what dates did the CPS receive the relevant material in connection with the Humphreys investigation and reports. In 1992 the Humphreys investigation looked into the failings by police officers attending the scene of Paula's death.
The response from the Solicitor General, Vera Baird QC was received and placed into the House of Commons Library. The response was provided to the Solicitor General by the CPS on Merseyside.
It was realised that the response from the Solicitor General, Vera Baird QC and placed into the House of Commons Library was factually incorrect. It was reported in the Times newspaper that an apology was given by the Attorney General, Dominic Grieve and also by the CPS. Vera Baird QC said "I have never, ever, ever knowingly mislead Parliament."
Eddie's solicitor, Matt Foot attended at Bebington Police Station, Merseyside. Merseyside Police agreed that Matt Foot can inspect all of the exhibits in the case at the police station. However, the key physical exhibits were not provided, so he insisted that they be produced the following day.
Eddie's solicitor, Matt Foot returns to Bebington Police Station. Amongst other items was a black metal box which contained earlier diaries written by Paula between 1972 to 1981 together with other important documents. Until now these items (of significant relevance to the defence) had never been disclosed.
Eddie's solicitor, Matt Foot, submits a fresh application (over 200 pages) to the CCRC.
Eddie is released on licence from HMP Sudbury. His licence imposed severe restrictions, including a restriction that he must not contact the press or the media either personally or through a third party. Not only was Eddie gagged, so too was his solicitor, his family and anyone else known to him. Eddie's solicitors challenged the licence conditions that had been imposed by the Parole Board.
The Parole Board under pressure from Eddie's solicitors, the media (in particular the Times newspaper), lifted the gagging order so that Eddie would be allowed to speak to the media and proclaim his innocence.
Eddie and his family did a press conference at the House of Lords hosted by Lord Hunt of Wirral. Eddie protested his innocence to the press and television media.
Additional representations (over 80 pages) were submitted to the CCRC by Eddie's solicitor, Matt Foot.
The Times newspaper reports on the discovery of the metal box containing Paula's earlier diaries and other material. The Times highlighted that the metal box and contents had not been previously disclosed to the defence for at least 16 years. The 1972 to 1981 diaries contained within the metal box described Paula's troubled background and revealed a previous suicide attempt by Paula when she was a teenager. They also reveal details of her relationship with her then boyfriend, Mark Roberts who committed a brutal murder of a young girl. Following his conviction Paula continued her relationship with him for nearly a year while he was in prison.
Eddie Gilfoyle is interviewed by Radio 4's Paddy O'Connell.
Eddie and his sister, Susan Caddick discuss the case on the Victoria Derbyshire Programme on Radio 5 Live.
Eddie and his sister, Sue Caddick appear on ITV's Daybreak programme complaining about the non-disclosure of the metal box containing Paula's earlier diaries and other material. Later that day Merseyside Police issue a statement as follows;-"Merseyside Police has endeavoured to be open and transparent in relation to the disclosure material (the metal box and diaries) reproduced in The Times last week. This material was provided to Mr Gilfoyle's defence solicitors by the Force in August 2010. It is important that we seek an independent investigation on this issue to make sure the people of Merseyside can continue to have confidence in how the force handles serious cases. In the interest of transparency and in light of comments made by Mr Gilfoyle in the media this week Merseyside Police has voluntarily referred the matter regarding the disclosure of material relating to the conviction of Mr Gilfoyle to the Independent Police Complaints Commission (IPCC)."
The Independent Police Complaints Commission issue a statement as follows;- "The IPCC has received a referral from Merseyside Police today in relation to matters connected to the Eddie Gilfoyle investigation. This referral relates to the circumstances surrounding the seizure and retention of a box containing the personal effects of Mrs Paula Gilfoyle. Mrs Gilfoyle died in 1993 and her husband, Eddie, was convicted subsequently of her murder. The IPCC will assess this referral to determine whether there are matters that would warrant an investigation with IPCC involvement."
Times newspaper reports the response from the Independent Police Complaints Commission into whether or not the IPCC would investigate the non-disclosure of the metal box containing Paula's earlier diaries and other material. The newspaper reports that yesterday the watchdog said the case fell outside its powers. The IPCC said: "The circumstances surrounding the seizure and retention of the box remain unclear. We understand the Chief Constable of Merseyside Police has asked Her Majesty's Inspectorate of Constabulary to identify another police force to conduct a full review."
Merseyside Police issue a statement into the non-disclosure of the metal box containing Paula's earlier diaries and other material as follows;- 'Humberside Police have, at our request, been appointed to carry out a review into the recovery of materials by officers from Lancashire Constabulary, and their subsequent disclosure by Merseyside Police to the defence team during 2010. Given the nature of that review, it would be inappropriate for us to comment further at this time.'
The Times newspaper pointed out to the Police the potential for a conflict of interest by involving the Humberside Force in the investigation into the non-disclosure of the metal box containing Paula's earlier diaries and other material. A former Chief Constable of the Humberside Force had a previous involvement in the Gilfoyle case. Merseyside Police and HM Inspectorate issue a joint statement as follows;- "In order to avoid concerns that there might be a conflict of interest, it is the view of HMIC and the Chief Constables of Merseyside and Humberside that another force should be appointed to carry out the external review. This is not a reflection on the integrity of the two forces involved, it is to ensure any perceptions of conflicts of interest are addressed. "HMIC will assist Merseyside in appointing another force to carry out the review, and work undertaken by Humberside Police to date will be passed to the new force. "It would be inappropriate for us to comment further at this time."
Matt Foot raises his concerns with Ken Clark MP Minister for Justice, about the potential conflict of interest that arose involving Humberside Police.
Avon and Somerset Police are appointed to investigate the non-disclosure of the metal box containing Paula's earlier diaries and other material.
Eddie's sister, Sue Caddick, spoke at a Symposium in London on the Criminal Cases Review Commission organised by Innocence Network UK Bristol University.
Eddie's Case Review Manager at the CCRC is replaced due to her being promoted within the CCRC. A new Case Review Manager is appointed which will inevitably cause further delays.
The 'Eddie Gilfoyle Support Group' is formed and chaired by veteran campaigner Paul May.
Further submission (5 pages) are submitted to the CCRC.
Eddie's solicitor, Matt Foot complained to the Attorney General, Dominic Grieve that he is experiencing problems with Merseyside Police and Merseyside CPS concerning the disclosure of documents including disclosure of the Humphreys report and material.
The Attorney Generals' office said that Andrew Edis QC, Treasury Counsel (Independent counsel appointed by the Attorney General) has been instructed to investigate the disclosure issues surrounding the Humphreys investigation and reports. Also, the Director of Public Prosecutions, Keir Starmer has agreed to provide to Eddie's solicitors (via Merseyside CPS) a digital copy (computerised discs) of all the case material held by the CPS.
Avon and Somerset Police produce their report (Operation Vellore) into the reasons why for at least 16 years the police had not disclosed to the defence the 'metal box' containing Paula's earlier diaries and other material.
CPS provide a digital copy (computerised discs) of all the case material held by the CPS. (Some 30,000 pages). Many of the documents on the discs are blanked out. The CPS blanked out any documents they deemed of a sensitive nature including those that might be subject to Public Interest Immunity (PII) such as the 'Gooch Report' and those subject to legal privilege.
Eddie's sister, Sue Caddick spoke in London at the 7th Annual Conference of the Innocence Network UK (INUK).
Andrew Edis QC, Treasury Counsel completes his report on the disclosure issues surrounding the Humphreys investigation and reports.
A booklet about the case, produced by the veteran campaigner, Paul May was launched at the House of Lords. The event was hosted by Lord Hunt of Wirral. The booklet describes 20 years of non-disclosure and delay in the case of Eddie Gilfoyle.
Eddie's sister, Sue Caddick spoke in London at the BPP Law School.
Eddie's sister, Sue Caddick spoke in Plymouth at Plymouth University.
Eddie's sister, Sue Caddick spoke in Bristol at Bristol University.
Eddie's sister, Sue Caddick spoke in Southampton at Southampton University.
Eddie was interviewed by David Jessel for the 'Justice Gap.' David Jessel is a journalist and presenter and was a former Commissioner at the Criminal cases Review Commission. In June 1996 he presented the Channel 4 'Trial and Error' documentary on Eddie's case.
Eddie's sister, Sue Caddick spoke at Cardiff University Law School Innocence Project's Innocence Week.
Paul May (Chair of the Eddie Gilfoyle Support Group) and Bob Woffinden (campaigning journalist) gave oral evidence to the Justice Committee. Paul May commented on the length of time the CCRC were taking to come to a decision in Eddie's case.
The new and improved "Official Eddie Gilfoyle Campaign" website is launched.
Chronology of some of the significant dates and developments in the case and in the Eddie Gilfoyle Campaign.


text:
Hong Kong Mile
The Hong Kong Mile is a Group 1 flat horse race in Hong Kong which is open to thoroughbreds aged three years or older. It is run over a distance of 1,600 metres (about 1 mile) at Sha Tin, and it is scheduled to take place each year in mid December.
The race was first run in 1991, and it was originally titled the Hong Kong International Bowl. Its distance was initially set at 1,400 metres. The event's present title and distance were both introduced in 1999, and the following year it was promoted to Group 1 status.
The Hong Kong Mile is one of the four Hong Kong International Races, and it presently offers a purse of HK$20,000,000 (approximately US$2.5 million).
Hong Kong Mile i
Harris has eyes on territory stint
24 Jan 1996 - 12:00AM
Begg's family affair a tale of two horses
Monopolize makes amends on hard track
Top duo set for assault on Bowl riches
Prawn underdone, says Allan
Hong Kong hero's bid ends in heartbreak as New Zealand camp hails Sunline as greatest mare in world
Marine can be a smash in the dash
French ace tipped for Unicorn hot seat
Jockeys face tough grilling over Mile tactics
Allan eyes Japan return
8 Jun 2000 - 12:00AM
Flipside to HK's growing list of top-rated horses
Sunline-Prawn clash back on track
20 Feb 2001 - 12:00AM
Club calms trainers' fears over 'scoping'
28 Sep 2001 - 12:00AM
Ninetyfive Emperor's reign comes to an end
9 Nov 2003 - 12:00AM
Fresh lease for Millard's Lifeline Express
Mile warmups end in defeat
2 Dec 2001 - 12:00AM
Mile hopefuls stake claim
Smart Winner lives up to his name
2 Sep 2002 - 12:00AM
Unicorn rating likely to drop
Cruz sings praises of Lucky Owners
Azzie keeps faith in Currency
Trainer denies horse had earplugs
4 Jan 2002 - 12:00AM
Remarkable Record-equalling feat puts Caspar in good company
Draw favours Tiber in clash of great rivals
19 Mar 2004 - 12:00AM
Cellini thrown in deep end with HK Cup invite
Double cheque
Firebreak too hot to handle
Spirit jumps Derby queue
Silent Witness picks up where he left off


text:
Dr. C. Locke's Personnel File 28 Apr 2009 18:40 28 Apr 2009 18:40 2
SCP-647 28 Apr 2009 14:44 28 Apr 2009 14:44 60
Agent Andrew C. "Circeus" Hunter's Personnel File 26 Apr 2009 05:42 26 Apr 2009 05:42 4
Tales From the Bright Side Chapter 1.5 23 Apr 2009 18:42 23 Apr 2009 18:42 11
SCP "Choose Your Own Adventure" Game Project (Archived) 21 Apr 2009 22:31 21 Apr 2009 22:31 4
SCP-2558-J 20 Apr 2009 19:35 20 Apr 2009 19:35 69
The 784 Incident: Part 7: Conclusion 20 Apr 2009 19:01 20 Apr 2009 19:01 19
The 784 Incident: Part 6: Escape 20 Apr 2009 18:06 20 Apr 2009 18:06 1
SCP-387 20 Apr 2009 13:53 20 Apr 2009 13:53 129
Tales From The Bright Side 1 19 Apr 2009 06:12 19 Apr 2009 06:12 43
269 19 Apr 2009 01:14 19 Apr 2009 01:14 4
Personnel Sketches 18 Apr 2009 06:42 18 Apr 2009 06:42 18
SCP-610-L5 17 Apr 2009 22:31 17 Apr 2009 22:31 34
Personal Diary of Dr. Julius L██████s 17 Apr 2009 07:28 17 Apr 2009 07:28 44
Experiment Log 634 15 Apr 2009 19:44 15 Apr 2009 19:44 2
Island Story 15 Apr 2009 10:36 15 Apr 2009 10:36 8
PEMARF
Princípios de Evolução Molecular Aplicados à Reconstrução Filogenética
人民日报文章转载
ΔΗΜΟΣΙΑ ΚΕΝΤΡΙΚΗ ΒΙΒΛΙΟΘΗΚΗ ΛΕΒΑΔΕΙΑΣ
Levadia Library
Il wiki-Programma del MoVimento5stelle Napoli


Mountain biking snipers. Be Afraid. | Ninja Monkeys!
Mountain biking snipers. Be Afraid.
Mountain biking downhill through a pine forest in a ghillie suit, dodging tank shells, jumping off into a bush, cracking out my sniper rifle and taking out artillery observers. Only in Arma 2, where everything is possible, until the stuttering and bugs get you.


text:
namespace STFS {

  /////////////////////////////////////////////////////////////////////////////
  //
  //  Adding a message?  Here's what you need to do:
  //    1)  Add a class to STFS_Message for the container
  //    2)  Add a message type here
  //    3)  Add a class and methods for the new message.
  //    4)  Add the new class to the common fixed message union at the bottom of
  //        the file
  //    5)  Add any variable processing needed to STSF_msgbufv
  //    6)  Add the callers for the container class
  //    7)  Compile/Test/Ship/Party!
  //
  //  WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  //
  //   Classes that are members of unions can't have explicit constructors or
  //   destructors.  Each message method has an Init and Release member that
  //   does the same thing but MUST BE CALLED EXPLICITLY.  Make sure that these
  //   get called appropriately.  If your new message adds another control
  //   structure, make sure it gets correctly initialized and freed as well!!!
  //
  //  WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  //
  ////////////////////////////////////////////////////////////////////////////

    //////////////////////////////////
    ///  The STFS message type enum
    ///
    ///   WARNING WARNING: To make life safer for all of us, please only add new
    ///   message type literals before MT_Unknown
    //////////////////////////////////

  enum Enum_MessageType {
    MT_Invalid = 0,
    MT_CreateFile,
    MT_CreateFileReply,
    MT_CreateFragment,
    MT_CreateFragmentReply,
    MT_OpenFile,
    MT_OpenFileReply,
    MT_CloseFile,
    MT_CloseFileReply,
    MT_UnlinkFile,
    MT_UnlinkFileReply,
    MT_ErrorReply,
    MT_GetFileMetadata,
    MT_GetFileMetadataReply,
    MT_Openers,
    MT_OpenersReply,
    MT_FOpeners,
    MT_FOpenersReply,
    MT_Stat,
    MT_StatReply,
    MT_GetEFMReply,
    MT_GetEFM,
    /// WARNING WARNING : new message types go immediately before this line
    MT_Unknown
  };

  /////////////////////////////////
  /// Message path tells where we're from and where we're going.
  /////////////////////////////////
  enum Enum_MessagePathType {
    MPT_Invalid = 0,
    MPT_LibToDaemon,
    MPT_DaemonToDaemon
  };

#define STFS_MSGTEMPLATEVERSION 1
#define STFS_MSGBUFEYECATCHER "STF"

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CommonHeader
  ///
  /// \brief  The common message header for all messages
  ///
  /// This class encapsulates the STFS message header that leads off
  /// every STFS message buffer.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CommonHeader {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( Enum_MessageType pv_messageType,
		Enum_MessagePathType pv_messagePathType,
		int pv_requesterNodeID,
		int pv_requesterPID );

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////
    void SetMessageType (Enum_MessageType pv_MessageType);
    void SetMessageVersion (int pv_MessageVersion);
    void SetMessagePath (Enum_MessagePathType pv_MessagePath);
    void SetRequesterNodeId( int pv_NodeId );
    void SetRequesterPID ( int pv_PID );

    void SetVariableInfo (bool pv_HasVarInfo, varoffset_t pv_varOffsetBase);

    /////////////////////////
    /// Get methods
    /////////////////////////

    Enum_MessageType GetMessageType (void);
    int GetMessageVersion (void);
    Enum_MessagePathType GetMessagePath (void);
    int  GetRequesterNodeId( void );
    int  GetRequesterPID ( void );

    void GetVariableInfo (bool *pv_hasVariableInfo, varoffset_t *pv_varOffsetBase);
    bool EyeCatcherIsValid (void);
    void Validate (void);

  private:

    typedef struct {
      Enum_MessageType      msgType;       // Must be first!
      char                  eyeCatcher[4]; // STF, always!
      int   msgVersion;
      Enum_MessagePathType  msgPath;
      int                   requesterNodeId_;           // Node Id of the requester
      int                   requesterPID_;              // PID of the requester
      bool                  hasVarSection;
      varoffset_t           varSectionBaseOffset;      // offset from beginning
                                                       // of whole msgbuf to the
                                                       // start of the variable
						       // section.
    } CommmonHeader_Def;

    CommmonHeader_Def msgHeader_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_MetadataContainer
  ///
  /// \brief  Fixed-size package for sending metadata across processes
  ///
  /// This class encapsulates the information needed to pack metadata.  The
  /// MetadataContainer is the fixed-length overhead control structure sent in
  /// any message that includes the file and fragment metdata (EFM and FFMs).
  /// The actual EFM and FFM data is in the variable-length area.  We might need
  /// to move it to STFS_Metadata...
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_MetadataContainer {
  public:
    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( varoffset_t pv_EFMOffset,
		int pv_numFragments,
		varoffset_t pv_FFMOffset,
		size_t pv_totalFFMSize);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    void       SetEFMOffset (varoffset_t pv_EFMOffset);
    void       SetNumFragments (int pv_numFragments);
    void       SetFFMOffset (varoffset_t pv_FFMOfset);
    void       SetTotalFFMSize (size_t pv_totalFFMSize);

    /////////////////////////
    /// Get methods
    /////////////////////////

    varoffset_t   GetEFMOffset (void);
    int           GetNumFragments (void);
    varoffset_t   GetFFMOffset (void);
    size_t        GetTotalFFMSize (void);

  private:

  ////////////////////////////////////////////
  ///  Metadata Encapsulation
  ////////////////////////////////////////////

    typedef struct {
      varoffset_t      EFMOffset;            // The variable area offset to the
                                             // beginning of the new EFM.
      int              numFragments;         // Number of fragments for this
					     // file.
      varoffset_t      FFMOffset;            // The variable area offset to the
					     // begining of the FIRST FFM info.
      size_t           totalFFMSize;         // Size of all FFM info, including
					     // any padding for alignment.
  } STFSMsg_MetadataPackage_Def;

    STFSMsg_MetadataPackage_Def metadataPackage_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_ErrorReply
  ///
  /// \brief  The error message reply
  ///
  /// This class encapsulates an error-containing reply from one STFS_* process
  /// to another.  It can be sent in response to any request message and
  /// indicates that processing on the request could not complete due to one or
  /// more error conditions.  These conditions are contained in the variable
  /// area of the message.
  ///
  /// The specifics of precisely how much processing was completed in the server
  /// process and whether that work has been undone depends on the semantics of
  /// the original request.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_ErrorReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init(STFS_Error *pp_Error);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    void SetNumErrors(int pv_numberOfErrors);
    void SetReportedError (int pv_reportedError);
    void SetOffsetToErrorVectorOffsets (varoffset_t pv_EVOffset);
    void SetOffsetToFirstPackedErrorStruct (varoffset_t pv_firstPacked);

    /////////////////////////
    /// Get methods
    /////////////////////////

    int  GetNumErrors(void);
    int  GetReportedError (void);
    varoffset_t GetOffsetToErrorVectorOffsets (void);
    varoffset_t GetOffsetToFirstPackedErrorStruct (void);

  private:

  typedef struct {
    STFSMsgBuf_CommonHeader      msgHeader;

    int                          numErrors;
    int                          reportedError;
    varoffset_t                  offsetToErrorVectorOffsets;
    varoffset_t                  offsetToFirstPackedErrorStruct;
  } ErrorReplyFixed_Def;

    ErrorReplyFixed_Def errorReply_;

  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CloseFileReq Message
  ///
  /// \brief  The close file request
  ///
  /// This class encapsulates the close file request that closes an
  /// externally-visible STFS file.  It can travel Lib->D, or D->D in
  /// the case of a remote file close.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CloseFileReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( STFS_OpenIdentifier *pp_OpenId,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    STFS_OpenIdentifier *GetOpenIdentifier ( void );

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      STFS_OpenIdentifier     openIdentifier_;

  } CloseFileReqFixed_Def;

    CloseFileReqFixed_Def  closeFileReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CloseFileReply Message
  ///
  /// \brief  The close message reply
  ///
  /// This class encapsulates the close file reply that creates an
  /// externally-visible STFS file.  It can travel Lib->D, or D->D in
  /// the case of a remote file close.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CloseFileReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( STFS_OpenIdentifier *pp_OpenId,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    STFS_OpenIdentifier *GetOpenIdentifier ( void );

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      STFS_OpenIdentifier     openIdentifier_;

  } CloseFileReplyFixed_Def;

    CloseFileReplyFixed_Def  closeFileReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CreateFileReq Message
  ///
  /// \brief  The create message request unveiled
  ///
  /// This class encapsulates the create file request that creates an
  /// externally-visible STFS file.  It can travel Lib->D, or D->D in
  /// the case of a remote file create.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CreateFileReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( char *pp_template,
		bool  pp_isMkstemp,
		int   pv_requesterNodeId,
		int   pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    void SetTemplate ( char* pp_template );
    void SetIsMkstemp ( bool pv_isMkstemp );

    /////////////////////////
    /// Get methods
    /////////////////////////

    void GetTemplate ( char * pp_tgtTemplate, size_t pv_templateMaxSize );
    bool GetIsMkstemp ( void );

  private:

    typedef struct {
      STFSMsgBuf_CommonHeader msgHeader;

      char                  template_[STFS_NAME_MAX];   // Null-terminated
							// string
      bool                  isMkstemp;                  // If true, then caller
							// is mkstemp and
							// mkstemp rules apply.
  } CreateFileReqFixed_Def;

    CreateFileReqFixed_Def  createFileReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CreateFileReply
  ///
  /// \brief  The create message reply
  ///
  /// This class encapsulates the reply to the create file message.
  /// externally-visible STFS file.  It can travel D->Lib, or D->D in
  /// the case of a remote file create.
  ///
  ///  This message contains the completed file name (changed from the request
  ///  if the request call was STFS_mkstemp, unchanged otherwise, and the
  ///  complete EFM and FFM information.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CreateFileReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init (char * pp_template,
	       STFS_OpenIdentifier *pp_openId);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////
    void SetTemplate (char *pp_template);

    void SetOpenIdentifier (STFS_OpenIdentifier *pp_openID);

    void SetVarAreaSize (size_t pv_varAreaSize);

    void SetVarMetadataControl (varoffset_t pv_EFMOffset,
				int pv_numFragments,
				varoffset_t pv_firstFFMOffset,
				size_t pv_totalFFMSize);

    /////////////////////////
    /// Get methods
    /////////////////////////
    void GetTemplate ( char * pp_tgtTemplate, size_t pv_templateMaxSize );

    STFS_OpenIdentifier GetOpenIdentifier ();

    size_t GetVarAreaSize ();

    void GetVarMetadataControl (varoffset_t *pp_EFMOffset,
				int *pp_numFragments,
				varoffset_t *pp_firstFFMOffset,
				size_t *pp_totalFFMSize);

  private:

    typedef struct {
      STFSMsgBuf_CommonHeader msgHeader;
      char                    template_[STFS_NAME_MAX];// Null-terminated
                                                       // string
      STFS_OpenIdentifier     openIdentifier;          // The open identifier
						       // for this open.
      size_t                  varAreaSize;             // Total size in bytes of
						       // the variable area.
      STFSMsgBuf_MetadataContainer  metadataInfo;
                                                       // Container for EFM, FFMs

  } CreateFileReplyFixed_Def;

    CreateFileReplyFixed_Def  createFileReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CreateFragmentReq Message
  ///
  /// \brief  The create fragment message request unveiled
  ///
  /// This class encapsulates the create fragment request that creates
  /// a fragment for an externally-visible STFS file.  It can travel
  /// Lib->D, or D->D in the case of a fragment that's created remotely from the
  /// STFS file, or when a remote library attempts to create a new fragment.
  ///
  ///  This message has no variable-length area at this time.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CreateFragmentReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init (STFS_OpenIdentifier *pv_openIdentifier,
	       int                  pv_requesterNodeId,
	       int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    void SetOpenIdentifier (STFS_OpenIdentifier *pp_openID);

    /////////////////////////
    ///  Get methods
    /////////////////////////

    STFS_OpenIdentifier GetOpenIdentifier ();

  protected:
  private:

    typedef struct {
      STFSMsgBuf_CommonHeader msgHeader;
                                                       // string
      STFS_OpenIdentifier     openIdentifier;          // The open identifier
						       // for this open.

    } CreateFragReqFixed_Def;

    CreateFragReqFixed_Def  createFragmentReq_;

  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_CreateFragmentReply
  ///
  /// \brief  The create fragment reply
  ///
  /// This class encapsulates the reply to the create fragment message, which
  /// creates a single fragment for an STFS file.  It can travel D->Lib, or D->D
  /// in the case of a remote fragment create.
  ///
  ///  This reply is composed of the fixed informtation for an updated EFM and
  ///  FFM information, which includes the new fragment.  The actual EFM and
  ///  FFMs are packed in the variable portion of the message.
  ///
  ///  If an error occurs, then an error reply is sent instead.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_CreateFragmentReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    // No parameterized constructor; this message is all variable-lenght related
    // so the higher-level pack() picks up what we need

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    void SetVarAreaSize (size_t pv_varAreaSize);

    void SetVarMetadataControl (varoffset_t pv_EFMOffset,
				int pv_numFragments,
				varoffset_t pv_firstFFMOffset,
				size_t pv_totalFFMSize);

    /////////////////////////
    /// Get methods
    /////////////////////////
    size_t GetVarAreaSize ();

    void GetVarMetadataControl (varoffset_t *pp_EFMOffset,
				int *pp_numFragments,
				varoffset_t *pp_firstFFMOffset,
				size_t *pp_totalFFMSize);

  private:

    typedef struct {
      STFSMsgBuf_CommonHeader msgHeader;

      size_t                  varAreaSize;             // Total size in bytes of
						       // the variable area.
      STFSMsgBuf_MetadataContainer  metadataInfo;
                                                       // Container for EFM, FFMs

  } CreateFragmentReplyFixed_Def;

    CreateFragmentReplyFixed_Def  createFragmentReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_FOpenersReq
  ///
  /// \brief FOpeners Request Message
  ///
  /// This class encapsulates the FOpeners request that obtains information from an
  /// externally-visible STFS file.  It can travel Lib->D, or D->D in
  /// the case of a remote file.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_FOpenersReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( stfs_fhndl_t         pv_Fhandle,
                STFS_OpenersSet     *pp_OpenersSet,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    stfs_fhndl_t      GetFhandle();
    char *            GetPath();
    STFS_OpenersSet   GetFOpenersSet();

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      stfs_fhndl_t            fhandle;
      char                    path[STFS_NAME_MAX];
      STFS_OpenersSet         fOpenersSet;

  } FOpenersReqFixed_Def;

    FOpenersReqFixed_Def  fopenersReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_FOpenersReply Message
  ///
  /// \brief FOpeners Reply Message
  ///
  /// This class encapsulates the FOpeners request that obtains information from an
  /// externally-visible STFS file.  It can travel Lib->D, or D->D in
  /// the case of a remote file.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_FOpenersReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( stfs_fhndl_t        pv_Fhandle,
                STFS_OpenersSet    *pp_OpenersSet,
                int                 pv_requesterNodeId,
	        int                 pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    stfs_fhndl_t      GetFhandle();
    char *            GetPath();
    STFS_OpenersSet   GetFOpenersSet();

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      stfs_fhndl_t            fhandle;
      char                    path[STFS_NAME_MAX];
      STFS_OpenersSet         fOpenersSet;

  } FOpenersReplyFixed_Def;

    FOpenersReplyFixed_Def  fopenersReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_OpenersReq Message
  ///
  /// \brief Openers Request Message
  ///
  /// This class encapsulates the openers information request.
  /// It can travel Lib->D, or D->D.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_OpenersReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( stfs_nodeid_t        pv_Nid,
                char                *pp_Path,
                STFS_OpenersSet     *pp_OpenersSet,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    stfs_nodeid_t    GetNid();
    char *           GetPath();
    STFS_OpenersSet  GetOpenersSet();

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      stfs_nodeid_t           Nid;
      char                    Path[STFS_NAME_MAX];
      STFS_OpenersSet         OpenersSet;

  } OpenersReqFixed_Def;

    OpenersReqFixed_Def  openersReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_OpenersReply Message
  ///
  /// \brief  Openers Message reply
  ///
  /// This class encapsulates the Openers reply.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_OpenersReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( stfs_nodeid_t        pv_Nid,
                char                *pp_Path,
                STFS_OpenersSet     *pp_OpenersSet,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    stfs_nodeid_t    GetNid();
    char *           GetPath();
    STFS_OpenersSet  GetOpenersSet();

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      stfs_nodeid_t           Nid;
      char                    Path[STFS_NAME_MAX];
      STFS_OpenersSet         OpenersSet;

  } OpenersReplyFixed_Def;

    OpenersReplyFixed_Def  openersReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_StatReq Message
  ///
  /// \brief Stat Message Request
  ///
  /// This class encapsulates the Stat request.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_StatReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( stfs_nodeid_t         pv_Nid,
                char                 *pp_Path,
                struct STFS_StatSet  *pp_StatSet,
                stfs_statmask_t       pv_Mask,
                int                   pv_requesterNodeId,
	        int                   pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    stfs_nodeid_t    GetNid();
    char *           GetPath();
    STFS_StatSet     GetStatSet();
    stfs_statmask_t  GetMask();
  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      stfs_nodeid_t           Nid;
      char                    Path[STFS_NAME_MAX];
      STFS_StatSet            StatSet;
      stfs_statmask_t         StatMask;

  } StatReqFixed_Def;

    StatReqFixed_Def  statReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_StatReply Message
  ///
  /// \brief Stat Reply Message
  ///
  ///  This class encapsulates the Stat Reply Message.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_StatReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( stfs_nodeid_t        pv_Nid,
                char                *pp_Path,
                struct STFS_StatSet *pp_StatSet,
                stfs_statmask_t      pv_Mask,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    stfs_nodeid_t    GetNid();
    char *           GetPath();
    STFS_StatSet     GetStatSet();
    stfs_statmask_t  GetMask();

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader msgHeader;
      stfs_nodeid_t           Nid;
      char                    Path[STFS_NAME_MAX];
      STFS_StatSet            StatSet;
      stfs_statmask_t         StatMask;

  } StatReplyFixed_Def;

    StatReplyFixed_Def  statReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_OpenFileReq Message
  ///
  /// \brief  Open file request message
  ///
  ///  This class encapsulates the open file request that opens an
  ///  externally-visible STFS file.
  ///
  ///  This message has no variable-length area at this time.  When we
  ///  add security checking and authentication for STFS files, that
  ///  may change.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_OpenFileReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( char *pp_FileName,
		bool  pv_OpenFlag,
		int   pv_requesterNodeId,
		int   pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    /// Get methods
    /////////////////////////

    void GetFileName ( char * pp_FileName, size_t pv_FileNameMaxSize );
    int  GetOpenFlag ( void );

  private:

    typedef struct {
      STFSMsgBuf_CommonHeader msgHeader;

      char                    fileName_[STFS_NAME_MAX];   // Null-terminated
				                          // string
      int                     openFlag_;
  } OpenFileReqFixed_Def;

    OpenFileReqFixed_Def  openFileReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_OpenFileReply
  ///
  /// \brief Open Message reply
  ///
  /// This class encapsulates the reply to the open file message.
  ///
  ///  This message contains the completed file name (changed from the request
  ///  if the request call was STFS_mkstemp, unchanged otherwise, and the
  ///  complete EFM and FFM information.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_OpenFileReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init (char                *pp_FileName,
	       STFS_OpenIdentifier *pp_openId);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////
    void SetVarAreaSize (size_t pv_varAreaSize);

    void SetVarMetadataControl (varoffset_t pv_EFMOffset,
				int         pv_numFragments,
				varoffset_t pv_firstFFMOffset,
				size_t      pv_totalFFMSize);

    /////////////////////////
    /// Get methods
    /////////////////////////
    void GetFileName ( char * pp_FileName, size_t pv_FileNameMaxSize );

    STFS_OpenIdentifier GetOpenIdentifier ();

    size_t GetVarAreaSize ();

    void GetVarMetadataControl (varoffset_t *pp_EFMOffset,
				int         *pp_numFragments,
				varoffset_t *pp_firstFFMOffset,
				size_t      *pp_totalFFMSize);

  private:

    typedef struct {
      STFSMsgBuf_CommonHeader msgHeader;
      char                    fileName_[STFS_NAME_MAX];// Null-terminated
                                                       // string
      STFS_OpenIdentifier     openIdentifier;          // The open identifier
						       // for this open.
      size_t                  varAreaSize;             // Total size in bytes of
						       // the variable area.
      STFSMsgBuf_MetadataContainer  metadataInfo;
                                                       // Container for EFM, FFMs

  } OpenFileReplyFixed_Def;

    OpenFileReplyFixed_Def  openFileReply_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_UnlinkFileReq Message
  ///
  /// \brief Unlink File Request Message
  ///
  /// This class encapsulates the unlink file request that unlinks an
  /// externally-visible STFS file.
  ///
  ///  This message has no variable-length area at this time.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_UnlinkFileReq {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( const char          *pp_fileName,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    char *GetFileName ( void );

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader  msgHeader;
      char                     fileName_[STFS_NAME_MAX];

    } UnlinkFileReqFixed_Def;

    UnlinkFileReqFixed_Def  unlinkFileReq_;
  };

  ///////////////////////////////////////////////////////////////////////////////
  ///
  /// \class STFSMsgBuf_UnlinkFileReply Message
  ///
  /// \brief Unlink File Reply Message
  ///
  ///  This message has no variable-length area at this time.
  ///
  ///////////////////////////////////////////////////////////////////////////////

  class STFSMsgBuf_UnlinkFileReply {
  public:

    /////////////////////////
    /// Constructors
    /////////////////////////

    void Init();
    void Init ( const char          *pp_fileName,
                int                  pv_requesterNodeId,
	        int                  pv_requesterPID);

    /////////////////////////
    /// Destructors
    /////////////////////////

    void Release();

    /////////////////////////
    ///  Set methods
    /////////////////////////

    /////////////////////////
    /// Get methods
    /////////////////////////

    char *GetFileName ( void );

  private:

    typedef struct {

      STFSMsgBuf_CommonHeader  msgHeader;
      char                     fileName_[STFS_NAME_MAX];

     } UnlinkFileReplyFixed_Def;

    UnlinkFileReplyFixed_Def  unlinkFileReply_;
  };

  // Here's the actual message union that's used in STFS_Msg to overlay the
  // buffer
  //
  // Please keep this at the bottom so it's easy to find.

  union FixedMsg_u {
    char                              charArray[1];
    STFSMsgBuf_CommonHeader           headerOnly;
    STFSMsgBuf_ErrorReply             errorReply;
    STFSMsgBuf_CreateFileReq          createFileReq;
    STFSMsgBuf_CreateFileReply        createFileReply;
    STFSMsgBuf_CreateFragmentReq      createFragmentReq;
    STFSMsgBuf_CreateFragmentReply    createFragmentReply;
    STFSMsgBuf_CloseFileReq           closeFileReq;
    STFSMsgBuf_CloseFileReply         closeFileReply;
    STFSMsgBuf_OpenFileReq            openFileReq;
    STFSMsgBuf_OpenFileReply          openFileReply;
    STFSMsgBuf_UnlinkFileReq          unlinkFileReq;
    STFSMsgBuf_UnlinkFileReply        unlinkFileReply;
    STFSMsgBuf_OpenersReq             openersReq;
    STFSMsgBuf_OpenersReply           openersReply;
    STFSMsgBuf_FOpenersReq            fopenersReq;
    STFSMsgBuf_FOpenersReply          fopenersReply;
    STFSMsgBuf_StatReq                statReq;
    STFSMsgBuf_StatReply              statReply;
  };

  // Update the array in the following method when a class
  // associated with a new message type is added
  size_t GetSizeOfFixedMessageBuffer(Enum_MessageType pv_MessageType);

} // namespace
#endif // ifdef STFS_MSGBUFF_H

redpajama_set_name: RedPajamaGithub


text:
Bale yet to sign new contract
Gareth Bale No Comments
Real Madrid forward player Gareth Bale has yet to sign a contract extension with the Spanish side.
It is believed that the player has no intention of leaving Real Madrid but want to make the most of the transfer ban that the club is currently facing.
Indeed Real Madrid has been barred by the UEFA from signing new players, and Gareth Bale will want to use this situation to his advantage in order to get the best possible deal.
Gareth Bale has recently stated that he has no intention to leave the club as he believes that Real Madrid is the best club in the world. He said that he is happy playing for them and that he wants to end his career there.
There have been recent speculations that Manchester United might be preparing a bid for the player as Jose Mourinho is looking to make another marquee signing. It is believed that Mourinho is not satisfied with some of his summer signings and that he is looking for players that can help bring Manchester United to the next level.
Gareth Bale had played under Jose Mourinho when the latter was the manager of Real Madrid and might be interested in reuniting with his former club.
However, some pundits argue that there is little chance for such a move to go through because Manchester United is in a rebuilding phase and Bale will not want to damage his career by going to club where there is no guarantee that he will win trophies. Real Madrid at the moment is among the best in the world, and it will be foolish for him to seek a move now.
Gareth Bale said that he is excited about this new season and that he wants to build on the success he had with Wales last season.
Bale Gareth Gary preview Tottenham
GARETH BALE TO INSPIRE MADRID IN ABSENCE OF RONALDO
Steve Bruce re-admits Agbonlahor to first team


I hereby give full permission to use this model in any non-commercial work.
The Land Dragon and the Land Dragon with Wings are two characters. You don't need both files to create the dragon of your choice.
This page was last edited on 27 August 2018, at 18:04.


text:
Changing Faculty Workforce Models
Faculty Careers in Rapid Transition: The Salience
In The American Faculty: The Restructuring of Academic Work and Careers (Johns Hopkins University Press) we documented how the faculty and their careers were being reshaped in fundamental ways. Our most salient finding was documenting the sharp rise of "off track", contingent faculty appointments. This phenomenon took the form of the rapid escalation of full-time but non-tenurable faculty, as well as the extraordinary growth of part-time (adjunct) faculty.
Here Today, Gone Tomorrow? The Increasingly
The use of non-tenure-track and part-time faculty in U.S. colleges and universities is on the rise, altering the composition of the academic workforce in fundamental ways. This project investigated the "contingency movement" using a variety of analytic approaches, including extensive literature review, quantitative analysis of over two decades of national institutional data, and onsite interviews with contingent and non-contingent faculty at a research university, a private liberal arts college, and a public masters-level institution.
The Contingency Movement: A Longitudinal Analysis
The faculty labor force in U.S. colleges and universities is increasingly off the tenure track and, often, working at less than full time. Aggregated data on this phenomenon mask significant differences in institutional commitments to these contingent forms of faculty employment. This report employs comprehensive institutional data for the years 1988 to 2008 to examine the roots of institutional variations in contingent employment.
Should I Stay or Should I Go? The Faculty
Senior faculty fall into three groups—25% who expect to retire by a normal retirement age; 15% who expect to, but would prefer not to, work past normal retirement age; and 60% who would like to and expect to work past normal retirement age. Financial necessity is a major reason for most of those expecting to work past normal retirement age. By contrast, 90% of those expecting and hoping to work to an advanced age cite enjoyment of their work and the fulfillment it provides as a major reason.
Motivating Reluctant Retirees in Higher Education
This research provides a deeper understanding of the issues facing academic institutions when age-eligible professors do not retire and how those issues can best be addressed.
Understanding the Reluctant Retiree on Campus:
Conventional wisdom maintains that many faculty remain in their position beyond a normal retirement age and past the point where they are effective professors. While there are older faculty who are poor performers, there are also older faculty who remain effective. Retirement incentive programs may paradoxically create incentives for the latter to leave and for the former to stay. When the goal is motivating the "right" faculty to retire, programs can not be based simply on age and years of service. The issues are more nuanced, so strategies to address it must be nuanced.
Senior Faculty Satisfaction: Perceptions of
The engagement, productivity, and vitality of the faculty are extremely important to the success of academic institutions in fulfilling their missions. This paper presents data from a survey of 1,775 tenured associate and full professors at seven public universities, showing that many are frustrated about leadership turnover and the corresponding shifts in mission, focus, and priorities, and also about salary.
Senior Faculty Vitality
Academic institutions and faculty are pressured today from multiple directions as the federal government demands greater accountability, states cut budgets, tuition payers demand more, granting agencies become more selective and trustees apply more pressure and scrutinize more closely. In this context, this report examines the workplace satisfaction of senior faculty members at seven public research universities. The vitality, productivity and satisfaction of senior faculty is extremely important to colleges and universities in fulfilling their missions and achieving their goals.


text:
The Courier N° 136 - Nov-Dec 1992 - Dossier Humanitarian Aid - Country Reports: Soa Tomé- Principe- Senegal (EC Courier, 1992, 96 p.)
Senegal: Democracy pays dividends
The Senegalese economy
The economy: Heavily dependent on the outside world
Tourism: Need for restructuring
EEC-Senegal cooperation: a variety of instruments
Senegal and the European Community have been partners for a long time. For 30 years, the two countries have worked side by side to create development policies which have had an effect on all the major economic sectors.
More than 370 billion CFA francs have been made available to the Senegalese authorities, principally through the European Development Funds, but also by virtue of a range of other instruments set up by the Community over the years.
At the heart of the relationship lies technical and financial cooperation, which has covered and continues to cover a wide range of areas. Today, the main focus is on two of the principal sectors in Senegal's development namely, agriculture and road infrastructure.
As a country bordering the Atlantic Ocean which has traditionally derived an income from its maritime resources, Senegal has, not surprisingly, also benefited in no small measure since 1979 from the fishing agreements which it has concluded with the European Community.
A third source of assistance for Senegal has been through SYSMIN, the system of support for mineral exports. This support has had a continuing and significant impact on the development of the phosphates industry, which is a major provider of foreign exchange for the country. The European Investment Bank (EIB), an important partner for Senegal, has been active in providing backing to the phosphates sector, and is also involved in other major projects including the upgrading and extension of the telephone network and improvements to Dakar's water supply system.
Very recently, Senegal has made use of funds, coming partly from the 'human rights and democracy' budget heading for developing countries, for the organisation of the May 1993 general elections.
Finally, under the heading of regional cooperation, Senegal and other countries of West Africa will, with EC support, shortly begin implementation of the Regional Indicative Programme. Eighty billion CFA francs (ECU 228 million) have been made available for this purpose and the funds will be directed towards three focal sectors - the management of natural resources and the protection of the environment, transport and telecommunications, and the improvement of the natural resource base.
Financial and technical cooperation, fishing agreements, SYSMIN, help for the democratic process, regional cooperation - these are all examples of a cooperative relationship which has many aspects but just one essential goal - the development of Senegal.
An agricultural country
Primary production still predominates in Senegal, 30 years after independence. Notwithstanding the relative importance of other areas of activity, the country remains fundamentally an agricultural one. This sector still leads the field in economic terms, providing 22% of GDP in 1991 and work for almost three quarters of the population.
Cooperation between the EC and Senegal has been influenced by this situation, following broadly the orientations and priorities set by the Senegalese authorities. After independence, Senegal, with the support of the first EDF (19581963), developed and modernised its export crops, which were the only source of foreign exchange available to pay for equipment and administration. Groundnuts were specifically targeted. The aim of the cooperation was, in essence, to enable this sector to remain competitive while at the same time meeting the requirements set out in the rules adopted by the newly established European Community.
The second EDF (1964-1969) went on to provide assistance for agricultural diversification with support for cotton growing in eastern Senegal as well as a number of support measures for farmers (equipment for new farmers, soil improvement, seed distribution etc.).
The drought of the 1970s came as a major shock. National authorities and donors alike had to respond rapidly to the immediate needs of the population before embarking on the search for new, longer-term solutions to the crisis. This involved the re-establishment of both productive projects and infrastructures. The third and fourth EDFs (1970-1980) were to reflect these concerns.
The fifth EDF (1981-1985), imbued with the spirit of the 'Memorandum on Community Development Policy' drafted by the Development Commissioner, Mr Pisani, emphasised development programmes and projects per se rather than more generalised aid.
The purpose of these interventions is to bring about food security for the population, improve the environment and fight desertification. In order to achieve the objectives, a framework of measures was put in place by the authorities. These included the establishment of a Cereal Plan in 1986 and the construction of dams at Diama and Manantali which came into service in October 1992 after ten years of effort.
The Cereal Plan gives a diagnosis of the food situation in Senegal and sets out the main principles on an overhauled agricultural policy. The plan strongly emphasises the importance of national production, supported in particular by an incentive pricing policy. There are plans to reduce the country's food deficit through increased use of irrigation, primarily in the Senegal River Valley. It deals at length with the redefinition of the role of the State and of regional development enterprises, with enhanced participation by the people and the private sector.
Irrigation based on the Senegal River in this way is rendered possible by the building of dams. These dams are a major priority for the three riparian States - Mali, Mauritania and Senegal - since they offer the means of re-establishing food security for the populations affected by drought. The European Community will be heavily involved in the execution of this project, the purpose of which is to fight desertification and help the local people to meet their own needs for food as well as to generate sufficient income.
The expansion of the rice sector, which is currently the only feasible option for increasing rural incomes, involves developments aimed at the peasant populations and designed to increase profitability. Experience acquired in the field by the European Community, which has over the years developed more than 6800 hectares of irrigated land, given over mainly to rice, has provided a good basis for its participation in the discussions about the agricultural structural adjustment programme, in so far as it affects the rice sector. The rice component of the programme involves an agreed approach between the donors and the Senegalese Government, along the lines of the wider Cereal Plan, which supports the disengagement of the Government from this sector.
The 6th EDF and Podor
The framework having been established, the European Community increased its existing efforts in the Senegal River Valley under the 6th EDF (19851990). The implementation of a support programme costing 35 billion CFA francs for the development of the Podor Region has had a visible impact upon its landscape. There were a number of different objectives - to ensure food security, to restore the natural environment and to open up the region.
This programme, which was based principally on hydro-agricultural development, was also directed towards the road infrastructure. There was, furthermore, a novel component aimed at creating employment through small and medium-sized enterprises and at achieving social development through microprojects.
Different types of project
To achieve the food security objectives, different types of complementary hydro-agricultural development were put in place. They should provide peasants with the capacity to feed themselves and to release savings. Implementation of the schemes fits in with the increased responsibility being taken by peasants, who are organised in Economic Interest Groupings (EIGs). EIGs themselves have made significant progress over the period.
The first developments, the basins, are large surface areas equipped with a pumping station. Development works cost some CFAF 5 million per hectare. The areas are brought into productive operation by the peasants, who are provided with high-quality equipment and materials for the purpose. Following the previously estabilished pilot scheme at Nianga (633 hectares), and the one now set up at Diomandou (470 hectares)' two further sites, at Ndioum (700 hectares) and A Lao (1025 hectares), will be made available for the peasants.
Then there are 1050 hectares of irrigated village perimeters which have progressively been made available under the programme, following on from the 2293 hectares under previous EDFs. The individual plots, which are closer to the villages and have an average area of between 10 and 20 hectares, will henceforth include agro-forestry as well. Development work in this area is more modestly priced at about CFAF I million per hectare. Finally, almost 300 hectares of perimeter have been made available to villagers under the SME programme. This is mainly for the benefit of private individuals, and development costs are between 0.3 and 0.4 million CFA francs per hectare.
Work to restore the natural environment, which is one of the objectives of the programme, has been carried out under the 'Prna' heading with a budget of CFAF 1.7 billion. The object is to reverse the process of degradation of natural resources. Thirty years ago, forests covered hundreds of thousands of hectares in the river area. Today, no forest remains. 'Prna', which began in 1988, follows on from two previous forestry projects, from which valuable experience was gained. The programme, which faces many difficulties, is designed to induce the local people to take charge of the management of the forest resource in a way which fits in with agriculture, livestock and water supply.
Roads - a speciality of European cooperation
For 30 years, the European Community has put considerable amounts of effort into road infrastructures - in financial terms, more than 22 billion CFA francs. In the St Louis region alone, the Rosso-Bio-Ndioum link was financed under the 6th EDF at a cost of 3.6 billion CFA francs. A logical next step was the rehabilitation of a stretch further up on the Dakar-St Louis route with a view to opening up the northern region. On a different level, tracks have been laid out in the Podor region under a CFAF 1.8 billion programme which allows the people of the island of More, phil, a zone which is cut off from the ' world during the rainy season and when the river is high, to go about their business.
Work in the field of small and medium-sized enterprises is not confined exclusively to the agriculture sector. It also extends to a range of other activities. The aim is to increase the value of private enterprise and to meet the strong demand for credit facilities which is not met by the traditional banking sector. This introduction to the business world has as its basis the withdrawal of the State and the privatisation of agricultural activities - a very different state of affairs from the development options of the 1960s and 1970s.
The establishment of SMEs was carried out initially through two separate projects which were merged in 1991. The first, which was emergency aid finance, involved the integration of returnees from Mauritania while the second took the form of support for the creation of SMEs made available under the 6th EDF. A total of almost two billion CFA francs has been injected into the region under this project, helping in the establishment of more than 500 SMEs throughout the Senegal River Valley.
This highly positive experience has also resulted in a change of attitude, as regards SMEs, on the part of the commercial banks. There is, on the current agenda, the opening of a line of credit of more than CFAF 600 million, to be allocated in part to the banks and in part to a financial company for risk capital investments in enterprises.
A community approach
This approach in no sense excludes local community participation. The microprojects budget heading, which has CFAF 500 million (ECU 1.4 million), supports initiatives in favour of women and young people in the development of the region. Henhouses, sheep enclosures, gardens, onion storage centres, school renovation schemes and health facilities, all established with community participation, are highly appreciated, particularly in those areas where women or young people have not hitherto received much attention.
Similarly, through the health programme financed under the 6th EDF (CFAF 700 million), the focus is mainly on improving basic health care for people in the Podor region. This has been possible, in no small measure, thanks to the major efforts undertaken through previous EDFs, which resulted in the building of regional hospitals in Ndioum and Ourossogui and the renovation of that of St Louis.
The health component of the 6th EDF was developed in close liaison with the rest of the support programme for the Podor region. It is clear that while the improvement in living conditions necessarily entails hydro-agricultural development, it is unfortunately also the case that this leads to an increase in malaria and bilharzia - illnesses linked to water. It was necessary to tackle these issues, and the related one of water hygiene, without delay. This was why the highly popular and decentralised programme for malaria and the 'water-hygiene-health' programme were developed. These concentrated on education, training and awareness-raising throughout the area and involved a series of concerted actions which brought together local people and medical staff working in the region. Research has also been funded in the fight against bilharzia.
The improvement of water quality is one of the two objectives of the village water scheme, which has been allocated CFAF 2.5 billion under the Support Programme. This scheme, which is increasingly to be taken over by the local people, aims to provide the population of 36 villages in the Podor region with water in sufficient quantity and of suitable quality. The programme involves the restoration of existing boreholes and wells, the sinking of new boreholes and the development of infrastructure for storing and distributing water. In order to achieve maximum efficiency, the village water programme was linked to the regional solar programme (CFAF 1.5 billion) which allows for the provision of photovoltaic equipment for pumping but also for lighting, sanitary refrigeration and the recharging of batteries.
Table 1: Summary of Community aid to Senegal Situation at 31 December 1991
No discussion of the impact of the 6th EDF would be complete without a reference to the modernisation of the town of Podor under the budget heading of 'urban infrastructure', to the tune of CFAF 1.4 billion. At the entrance to the town there is now a large bus station used by bush taxis, while in the centre a covered market and shops have contributed to an improvement in facilities for the retail trade and for the storage of fresh products. Finally, as regards environmental improvements, water supply and sewage networks have been developed beneath new asphalted roads.
7th EDF - job creation and - food security
The finishing touches are currently being put to the 7th EDF programme, which has been allocated CFAF 38 billion (ECU 112 million). This will build on the work undertaken through previous EDFs. In the 'roads' section of the sectoral transport adjustment programme, the strategy which has been adopted involves preserving what had already been achieved through rehabilitation and maintenance. This will be carried out in future by the private sector. A substantial amount - some 25 billion CFAF - has been set aside for the implementation of the roads programme.
The other principal areas of activity will be in job creation and food security. Priority programmes in the social, political and economic spheres involving SMEs and microprojects will be extended to other regions and will be mixed with small public investment programmes of high labour intensity. Food security will be the major objective behind the implementation of low-cost hydro-agricultural developments aimed at crop-growing in an increasingly 'privatised' environment.
Trade cooperation - fish top the export league
Senegal, which has very favourable natural conditions for fisheries with its 700 kilometres of coast, has traditionally been able to exploit this position to its advantage. Fish continue to be the principal source of export revenues (some 23% of the total in 1989, representing more than 60 billion CFA francs).
The fisheries agreements between the European Community and Senegal have represented both a significant and an original initiative as regards cooperation in this area. Concluded first in 1979, and then renegotiated every two years, the agreements have established a precedent. In effect, the two-yearly operating protocols set out fishing rights for Community vessels as well as the compensatory payments to be made by the Community. To the latter must also be added the payment by vessel owners of annual fishing licence fees.
One of the most important original aspects of the agreement is the establishment of a series of specific provisions including the obligation to land tuna catches in Senegal. This ensures a source of supply for Senegalese canneries. The payment by the Community also contains an element which is used to finance scientific programmes as well as study and training grants.
The most recent operating protocol, signed on I October 1992 for a two-year period, broadly maintains the previous position. The total allowable catch is the same as in the previous protocol calculated on the basis of vessel tonnages (30 600 tonnes) with adaptations to the needs of Community fishermen as well as to categories and types of fishing (with freezing). Financial compensation has increased - up from CFAF 10.062 billion (ECU 28.75 million) to CFAF 10.608 billion (ECU 31.2 million) with CFAF 210 million (ECU 600 000) devoted to the financing of scientific programmes and CFAF 70 million (ECU 200 000) given over to bursaries and studies.
Industrial cooperation - phosphates
The phosphate industry is a third important source of foreign exchange for Senegal, contributing about 22% of export earnings.
Senegal has benefited and will continue to benefit from a range of European financial mechanisms designed to help restore the competitiveness of this sector in an international market affected by recession and by a tendency towards lower prices. This is a competitiveness which has been further affected by the fact that Senegalese phosphates have a high cadmium content, and this poses ecological risks for the purchasing country.
An initial sum of some 5 billion CFA francs (ECU 15 million) was agreed in 1990. This allows for the development of techniques aimed at reducing cadmium levels as well as for adaptation by the relevant companies to the extra costs which have resulted. This project is currently under way.
A new agreement was signed on 28 October, involving the sum of CFAF 3.7 billion (ECU 10.5 million) in order to increase the capacity of one of the factories operating in this sector. This drive for productivity will also be supported by the European Investment Bank. The EIB is presently studying a project proposal costing CFAF 5 billion (ECU 15 million) in order to assist in the exploitation of new reserves.
Overall, the support of the European Community for the maintenance of Senegal's phosphate industry will, therefore, be substantial, amounting in total to CFAF 15 billion (ECU 45 million). To this sum should be added the various other sources of financial assistance from the EIB, which have amounted to some 12 billion CFA francs (ECU 35 million) since the beginning of the 1980s.
More than CFAF 500 million for elections
A new approach introduced by the European Community, from which Senegal has been able to benefit, is that of assisting the democratic process. CFAF 525 million (ECU 1.5 million) has been provided to support the electoral process in the forthcoming poll (in 1993). Part of the funds comes from the special budget heading to support actions favouring human rights and democracy in developing countries. The remainder is in the form of resources from Senegal's own national indicative programme under the 7th EDF.
Through this measure, the European Community is making a concrete contribution to the implementation of the new, consensual electoral code which was promulgated on 7 February 1992. This code requires the mobilisation of substantial financial resources to cover a series of technical operations which must be carried out if the new system is to work successfully.
In cooperation with the Senegalese authorities and other concerned donors, the help supplied by the Community will mainly involve the printing of the election documents for the May 1993 general elections. Most of the budget is for ballot papers, election envelopes, information posters and voting cards.
In short, this illustrates the desire within Europe to offer support and assistance, through positive action, for the democratic process and ways of enhancing it.


text:
Tropical Storm Enrique: Tropical Storm Watch has been issued for Puerto Vallarta
Puerto Vallarta has been added to the tropical storm watch for approaching Tropical Storm Enrique, located of the coast of Mexico.
UPDATE: ENRIQUE UPGRADED TO CATEGORY 1 HURRICANE; PUERTO VALLARTA UNDER WATCH
Enrique is moving toward the west-northwest near 8 mph (13 km/h). The storm is forecast to gradually slow down with a turn toward the northwest expected to occur by Sunday. On the forecast track, the core of Enrique is expected to remain offshore roughly parallel to the southwestern coast of Mexico during the next few days.
Maximum sustained winds are near 50 mph (85 km/h) with higher gusts. Strengthening is forecast and Enrique is likely to become a hurricane on Saturday.
Tropical-storm-force winds extend outward up to 140 miles (220 km) from the center.
Tropical storm conditions are likely occuring in eastern portions of the warning area. These winds are expected to spread westward within the warning area tonight and through the weekend. Tropical storm conditions are possible in the watch area on Sunday.
The outer bands of Enrique are likely to cause locally heavy rains over portions of southwestern Mexico, which could
cause life-threatening flash floods and mudslides.
Swells generated by Enrique will affect the southwestern coast of Mexico during the next few days. These swells are likely to cause life-threatening surf and rip current conditions.
Although the passage of Tropical Storm "Enrique", which formed early this Friday off the coast of the state of Guerrero, does not represent a danger for Jalisco, the storm is expected to bring moderate to heavy rains in some areas of our State.
"The trajectory of Enrique up to this moment does not represent a direct impact on the coasts of Jalisco, however, it is expected that his passage off the coast of the State at dawn on Sunday, June 27, will cause moderate to heavy rains, especially in mountain areas such as the Western Sierra and Sierra de Amula, as well as the South and North Coasts," said the Jalisco State Civil Protection and Firefighters Unit (UEPCBJ) through a statement.
The Government of Jalisco, through the UEPCBJ, invited the entire population to remain alert and stay informed through the official channels of the State Government and in case of emergency call 911.


text:
Taking the fight to end discrimination to Parliament
6 October 2019 by Home Newsletter
In the 1950s you were allowed to put up signs saying, "no blacks, no Irish, no dogs". Nowadays, you're allowed to put up "no DSS". At what point did we decide as a country that this is ok? – Philippa Lalor
This year, we've made significant progress in our campaign to stamp out DSS discrimination against renters on benefits. And now, thanks to your help, we're another step closer to achieving an overall victory.
After months of campaigning, Shelter were invited to a Select Committee hearing in April to share examples of discrimination experienced by people on benefits. Our housing campaigners were among the most powerful voices to be heard during the session. One of these voices belongs to Philippa Lalor, whose personal experience of discrimination made MPs sit up and take notice.
Philippa's story
'When I was in my early 20s, I ended up sleeping rough and in hostels due to housing problems,' she recalls. 'I literally had nowhere to stay having left my medical degree because of a mental breakdown. I couldn't go back and live with my parents and the stress of it all led to me being hospitalised long-term.'
Once in hospital, Philippa was stuck as there was nowhere for her to be discharged to. Even when she was allowed to leave, her problems weren't over as with regular hospital appointments, she could only work part-time – and that meant claiming benefits.
'I couldn't find a landlord who would take me on because I was on housing benefit,' Philippa says. 'It was just, "go away". Even with money in the bank, people wouldn't sign a contract with me.'
This resulted in further long-term treatment. 'Each time I get hospitalised I lose more than my freedom,' Philippa says. 'I lose whatever part-time job I'm doing, I lose voluntary work, friends, relationships…I nearly lost my life over it.'
It was when she felt she'd reached 'the end' that Philippa came to Shelter.
As she explains: 'Shelter was able to help by arguing with letting agents over what exactly it is about DSS that is causing the problems.
'Imagine if mortgage providers and insurers discriminated against one race or one sexuality; that would be completely illegal. And yet this is legal. People just accept it as the norm.'
Making her voice heard
At the Select Committee, Philippa was keen to tackle the stigma and prejudice faced by renters on benefits – and show how short-sighted it can be.
'My credit rating is good, I've never been in debt, I've never defaulted on payments…but if my current lease ends for any reason, I could end up homeless,' she told the committee. 'It's terrifying as I have no safety net.'
After the hearing, MPs from across the political spectrum committed to resolving this injustice. Many echoed earlier comments made by then Minister for Housing and Homelessness, Heather Wheeler MP, who noted that a secure home is at the heart of 'security, dignity and opportunities…to build a better life.'
It's clear that determination and goodwill are building, but we still need your help – read more about the DSS campaign progress and wins.
Your support is making a difference
It's clear that your determination is making a difference. But the more support we can get, the quicker we can end discrimination against people like Pippa.
We need as much support as we can get to make sure the government will listen.
Join the campaign
Shelter's plan to ensure everyone's right to a safe home
How Shelter works with former offenders
Writing your will: better sooner than later
Peer mentor Paddy's success story
Keep updated on our campaigning
To receive updates to your inbox about Shelter's latest campaigns sign up here.