Harry's Guitar Mods is committed to protecting your privacy and will never give your information to anyone except as necessary to secure payment and shipping, and as required by law. Bottom line, the information you provide us stays with us!
In-stock items are typically shipped within 1-2 days (excluding weekends and holidays). You will be notified by email when your order is shipped.
Shipments returned as undelivered or refused by recipient are handled as non-defective returns.
Please contact us before returning an item. You may return an item within 30 days unless it is specified as not returnable. Items that are defective or not what your ordered are replaced at no additional cost to you. If it's our fault, we'll make it right.
Non-defective returns must be unused in their original packaging with all parts and accessories to avoid a restocking fee. All returns are inspected and may be refused based on the item's condition. Items that have been altered in any way are not returnable.
Shipping fees are not refundable except for defective and wrong items. Reasonable shipping fees are deducted from the refund for orders that included a free shipping incentive or credit.
We are not liable for any loss or damage to items returned to us. If a returned item is lost or damaged, we cannot issue a refund and recommend you use a traceable carrier and insure your return.


Defragmenting a hard drive that has shadow copies enabled on it can result in loss of shadow copy information. That means users who have files stored on the server may not be able to recover previous versions when they need to. The reason this problem occurs is that when defragmentation is underway, the Volume Shadow Copy Service thinks that new files are being written to the volume and tries to create shadow copies of them as defragmentation occurs. The result is corrupted shadow copy information.
You can format the NTFS volume using 16kB or larger clusters. Since the Volume Shadow Copy service works with file units this size, it understands how to deal with them appropriately. Unfortunately this can mean wasting lots of space if your file server is used to save lots of small files.
Create a separate volume and store the shadow copy information for all your existing volumes on this new volume, and never defragment this new volume. Having a dedicated shadow copy volume like this is a good workaround to the problem, and if users only occasionally need to restore old versions of files then even if this new volume is never defragmented it should perform its function reasonable well, especially if the new volume is on its own separate physical drive.


I make replicas of many vintage Fender and Gibson pickups; this one is my SSL-1, the Staggered Strat.
I make it just like the original--not for cosmetic reasons, but because if you change the way a pickup is made, you change the way it sounds.
The original Stratocaster* pickup had magnetic pole pieces with staggered heights; the mixture of intensity of the magnetic fields gave birth to the unique vintage Strat* sound.
Every detail is important to duplicate the fat full sound and top-end bite that made the vintage Strat* famous.
You can put the vintage advantage into your guitar.
My vintage Tele*, Strat*, P-Bass*, Jazz-Bass*, and Humbucker pickups fit right into modem guitars with no alteration, and I always give you wiring diagrams and instructions.


Credit card companies are leaving additional profit potential untapped, reveals a study conducted by Simon-Kucher & Partners. According to the consultancy, improved focus on key marketing principles, combined with best practice execution, could add millions in revenue streams.
In a recent study by Simon-Kucher & Partners, a consulting firm specialised in strategy, marketing & sales, the firm analysed the commercial operations of 14 leading credit card providers in the Netherlands. The consultants looked at a wide range of commercial elements and KPI's, concluding that there still is substantial room for improvement. Three key opportunity stand out, says the business advisory, centered around improved customer segmentation and differentiation, value-based pricing and value-based communication.
One of the first insights in the study is the fact that 79% of providers offer only 1-2 credit card types to the Dutch population, which consequently implies that only 21% of providers offer more than 2 types of credit cards. They in essence use a simple segmentation approach: most have a student card and a corporate card, which in the view of the pricing experts is a too "standardised" approach. "Dutch leading credit card providers assume that the majority of the Dutch population is homogenous in needs and does not require a different offering", comments Hayri Culum, Senior Director and head of the financial services practice at Simon-Kucher & Partners Amsterdam, "leaving millions in profits untapped".
Pricing is another area which houses significant addition revenue potential, with Culum pointing at two examples. Firstly, only 7% of providers have a 'product selector', a tool that guides different customers to different offerings, depending on their needs. Such a tool is according to Culum "key for extracting different willingness's to pay", supporting sales teams with optimising the profitability chain across the customer base. "This means that 93% of providers are currently not fully extracting the full willingness to pay of different customers", says Culum. Moreover, the advisor notes, only 30% of the investigated companies actually has a good-better-best portfolio, a sub-optimal result via a vis international peers.
Secondly, only 14% of providers engage in value-based pricing. 86% of the companies still operate with the traditional yearly price metric; a pricing method which according to Culum "inflates price perception and fails to communicate value". With value-based pricing in place, credit card providers would be better able to price in a manner which is innovative and in line with actual value in the marketplace.
The third element which leaves room for improvement is price perception management. Of the companies analysed, 21% had websites where too much text is used, with 750+ words per product. Moreover, the study shows that for 29% of websites, 5+ clicks are needed to get to relevant content. In other words, many companies are setting aside key pillars of customer-centricity when presenting their offerings to their customers. "A process which takes too long to direct customers towards relevant information reflects a low awareness of the importance of price perception management", comments Culum.
Against the backdrop of the increasing pressure in the already competitive marketplace, the Simon-Kucher Senior Director believes that executives would be foolish not to spend more time rethinking and optimising their sales & marketing value chains. "Future leaders will be those that take the necessary steps towards a more valued-based approach", he concludes. Although the study was conducted in the Netherlands, Culum believes several trends and learnings uncovered are applicable to credit card companies worldwide.


text:
industrial|28 November, 2021
EGA, GE to develop roadmap to decarbonise EGA's gas turbines
EGA has 33 GE natural gas turbines at Jebel Ali and Al Taweelah
Emirates Global Aluminium. Image Courtesy: WAM
By Staff Writer, WAM (Emirates News Agency)
ABU DHABI- Emirates Global Aluminium (EGA) and GE Gas Power (NYSE: GE) signed a Memorandum of Understanding (MoU) develop a roadmap to reduce greenhouse gas emissions from the operation of EGA's existing GE natural gas turbines by exploring hydrogen as a fuel, as well as carbon capture, utilisation, and storage solutions.
The MoU was signed by Abdulnasser bin Kalban, CEP of EGA, and Joseph Anis, President and CEO of GE Gas Power Europe, Middle East, and Africa.
EGA has 33 GE natural gas turbines at Jebel Ali and Al Taweelah, with a total power generation capacity of 5,200 megawatts. Electricity generation accounts for a significant proportion of EGA's total greenhouse gas emissions.
The MoU between EGA and GE is in line with the ambitions of the UAE Government's Hydrogen Leadership Roadmap, unveiled earlier this month in Glasgow during COP26. The roadmap will include development of a strategy to support low-carbon industries to contribute towards the achievement of the UAE's Net Zero by 2050 Strategic Initiative.
Mariam bint Mohammed Almheiri, Minister of Climate Change and the Environment, said, "Decarbonising industries is a major pillar of the UAE Net Zero by 2050 Strategic Initiative, therefore EGA's plan to switch to hydrogen fuel and expand the use of carbon capture, utilisation and storage solutions supports our net-zero drive. With its efforts to reduce the emission intensity of its operations, EGA is a role model in environmental sustainability for the UAE's industrial companies."
EGA and GE intend to set up a joint steering committee to create and drive the decarbonisation roadmap forward.
Abdulnasser bin Kalban said, "Aluminium has an important role to play in the development of a more sustainable society, and it also matters how sustainably aluminium is made. Aluminium smelting is energy intensive, and generating the electricity required accounts for more than half the global aluminium industry's greenhouse gas emissions. This work with GE will enable us to determine how we can reduce the carbon intensity of our power generation over the years ahead including by switching to hydrogen, and is an important step in our journey to ensure EGA's aluminium can play its full part in helping the world tackle the generational challenge of climate change. It will also contribute to the achievement of the UAE's Hydrogen Leadership Roadmap."
The decarbonisation roadmap will include exploring options for replacing natural gas with hydrogen and hydrogen-blended fuels for combustion in EGA's GE turbines, as well as integrating carbon capture, utilisation and storage technology into EGA's power plants and implementing the necessary changes required to the auxiliary and balance of plant systems.
Anis said, "Using hydrogen as a fuel and adopting carbon capture, utilisation and storage solutions could not only enable EGA to lower the carbon emissions from its electricity production, but also help to continue providing firm power on demand, supplying the reliable energy required to support their operations and growth. The initiative can serve as a model to emulate across various energy-intensive industries that require dependable, low carbon power generation capacity."
The MoU is a continuation of the companies' joint efforts to enhance the sustainability of EGA's operations.
© Copyright Emirates News Agency (WAM) 2021.
industrialenergyuae
Lawmakers ask EU to give public a say on green investment rules
Singapore keen to explore opportunities with UAE towards low-carbon economy: senior official
Demand for Denmark's first green bond strong as it raises $762mln
French EU lawmakers lash out at Macron in rare direct exchange
Toronto-based 1Password raises $620mln, valued at $6.8bln

redpajama_set_name: RedPajamaCommonCrawl


BlogHome » The Latest » Gronert Notches Career First at Jefferson Speedway!
Gronert Notches Career First at Jefferson Speedway!
May 31, 2003; Jefferson, Wis. – Jasper Gronert, a second generation driver from Jefferson, claimed the first Late Model feature win of his racing career, in the 35 lap "WSLD Night at the Races," Late Model feature.
Starting from the outside of row 1, Gronert moved to the early lead and never looked back. As Gronert guided the way to the checkered flag, Andy Wendt made his way from an 11th place start to the 8th spot, by 18. Disaster struck, on lap 19, as the battle for 5th resulted in a 5 car crash. Gronert led the restart, with Wendt up to 5th. Wendt moved under Kyle Jarlsberg, for 2nd, on lap 27, closing with Gronert. Holding off Wendt's challenge, it was Gronert for the win, followed by Wendt, Jarlsberg, Luke Westenberg and Chad "Squirt" Stevens.
In International action Jimmy Pankow of Oregon came from a 6th place start, to claim victory in the 20 lap main event. At the green flag Chris Chenoweth claimed the lead, guiding the way for 7 laps, before surrendering the point to Pankow. Claiming the top spot, on lap 8, Pankow showed the way to the checkered, followed by Scotty Hoeft, Chris Quam, Mike Bingham and Chenoweth.
In Sportsman division action, Bobby Stough Jr. of Waunakee notched the top finishing spot, in the 30 lap main event. Starting on the outside of row 4 Stough headed toward the point, as Kyle Taylor drove to the early lead. Taylor guided the way for 19 laps, as Stough battled his way to the 2nd spot. Claiming 2nd, on lap 12, Stough closed with Taylor, launching his bid for the lead. Taylor held off Stough for 11 laps, before surrendering the point. As they streaked past the checkered flag it was Stough for the win, followed by Mark Deporter, Dave Oswald, Trent Erdman and Dustin Ward.
In Hobby Stock action, Rodger Stephenson of Cambridge claimed victory in the 20 lap feature. Starting from the outside of row 1, Stephenson jumped to the early lead and never looked back, guiding the field to the checkered flag. At the finish it was Stephenson, followed by Rick Kehoe, Lincoln Keeser, Chuck Egli and Jim Tate.
Next week Jefferson Speedway hosts the "Miller Lite Twin 35's," with two, 35 lap, Late Model Features, plus a full racing program, in all divisions, including the Bandits.
Gates open at 3:00, qualifying at 5:00 and racing at 7:00 sharp.
Coming Saturday, June 14, is the "Papa Murphy's Take N' Bake Pizza 50," conclusion to the Summer Rumble. This program begins Friday, June 13 at Columbus 151 Speedway, with overall finishing bonuses paid to the top 14 overall finishers, in the Late Model, Sportsman, Hobby Stock and Bandit divisions.
Jefferson Speedway is on highway 18, half way between Cambridge and Jefferson Wisconsin.
Olson Ends Long Dry Spell — Padfield & Drays First Time Winners at Jefferson!
Nottestad Claims Mountain Dew 50 at Jefferson Speedway!
Nottestad Claims Overall, Jarlsberg and Chesmore Notch Individual Victories, in Miller Lite Twin 35's!


text:
The Man Who Fell to Earth is een Britse sciencefictionfilm uit 1976, geregisseerd door Nicolas Roeg en met rockzanger David Bowie in de hoofdrol. De film is gebaseerd op de roman The Man Who Fell to Earth (1963) door Walter Tevis en gaat over een buitenaards wezen (Bowie) dat met zijn ruimteschip op Aarde verongelukt en vervolgens op zoek gaat naar een manier om water naar zijn planeet te vervoeren.

Verhaal

Een buitenaards wezen (Bowie) wiens thuisplaneet opdroogt, valt neer op Aarde. Hij trok naar de Aarde omdat hier natuurlijk volop water te vinden is. Hij vermomt zich als mens en gebruikt zijn buitenaardse technologie om een succesvol ondernemer te worden. Het geld heeft hij nodig om een ruimtebasis te bouwen voor zijn retourvlucht. Ondertussen wordt hij verliefd op een mensenmeisje.

Rolverdeling
 David Bowie: Thomas Jerome Newton
 Rip Torn: Nathan Bryce
 Candy Clark: Mary-Lou
 Buck Henry: Oliver Farnsworth
 Bernie Casey: Peters
 Jackson D. Kane: Professor Canutti
 Rick Riccardo: Trevor
 Tony Mascia: Arthur
 Linda Hutton: Elaine
 Hilary Holland: Jill
 Adrienne La Russa: Helen
 Lilybelle Crawford: Juwelier
 Richard Breeding: Receptionist
 Albert Nelson: Ober
 Peter Prouse: Compagnon van Peters
 James Lovell: hemzelf

Achtergronden
In de Verenigde Staten werd The Man Who Fell To Earth gecensureerd. Een aantal seksscènes werden uit de film verwijderd.

The Man Who Fell to Earth trok geen groot publiek in de bioscopen, maar uiteindelijk werd de film een gewaardeerde cultfilm. In de loop der jaren bleef de film van tijd tot tijd worden gedraaid in filmhuizen en in Engeland ook regelmatig in bioscopen. Op dvd werd de film verschillende keren uitgebracht, ook een speciale 'editors cut' editie met interviews en een volledige ongecensureerde versie.

Na het overlijden van hoofdrolspeler David Bowie, in januari 2016, ontstond nieuwe interesse in de film.
In Engeland draaide de film in bioscopen en in Amsterdam in het EYE Filmmuseum werd de film in het voorjaar toegevoegd aan het Imagine filmfestival. De film werd daar in hoge kwaliteit gedraaid op een bijzonder groot bioscoopscherm. Ook werd de film vertoond in een Nicolas Roeg retrospectief tijdens het Amsterdamned filmfestival in Kriterion eind oktober 2016 en in het Rotterdamned filmfestival in KINO begin november 2016.

Ter gelegenheid van het 40-jarig jubileum werd een nieuw gemasterde uitgave van de film gemaakt in 4K kwaliteit, die op blu-ray en dvd verscheen in oktober 2016.

Muziek
Alhoewel Bowie de hoofdrol speelt is de muziek in de film niet van hem afkomstig. Bowie werkte aanvankelijk met Paul Buckmaster aan de soundtrack voor de film. Een onbekend aantal nummers is daarvoor geschreven en opgenomen.
Regisseur Nick Roeg besloot echter toch geen gebruik te maken van de door David Bowie gemaakte muziek en koos voor een combinatie van nummers uit de jaren vijftig en zestig, in combinatie met speciaal voor de film gecombineerde en opgenomen muziek.

John Phillips (beter bekend als de frontman van The Mamas and the Papas) werd ingehuurd om de filmmuziek the produceren. Hij riep hierbij de assistentie in van Mick Taylor en de Japanse percussiecomponist Stomu Yamashta. De film bevat verder composities van Jim Reeves, The Kingston Trio, Roy Orbison, Steely Dan, Joni Mitchell, Bing Crosby, Artie Shaw en Gustav Holst. Opmerkelijk genoeg werd het door RCA aangekondigde album met de soundtrack van de film niét uitgebracht. Dit had te maken met een creatief en contractueel geschil tussen Roeg en de studio. Bowie zelf had in verschillende gesprekken verklaard dat hij niet van plan was om ooit een album van "The Man Who Fell to Earth" uit te brengen vanwege juridische problemen. In oktober 2008 kwamen enkele nummers van de film alsnog uit, als onderdeel van de cd "Pussycat" van John Phillips. Het materiaal voor deze cd werd grotendeels opgenomen tijdens de zogenaamde Half Stoned sessies die tussen 1973 en 1979 plaatsvonden in Londen (met medewerking van Mick Jagger, Keith Richards, Mick Taylor en Ronnie Wood) en pas in april 2001 resulteerden in de officiële uitgifte "Pay, Pack & Follow".

Na het overlijden van David Bowie werd alsnog (voor het eerst) de officiële soundtrack van de film uitgebracht in oktober 2016. Op het album, dat zowel op vinyl als op cd is uitgebracht, staat alle muziek die John Phillips en Stomu Yamashta speciaal voor de film hebben gecomponeerd.
Een deel van de muziek van Yamashta is jarenlang zoek geweest, maar onlangs boven water gekomen.
Opvallend is dat niét alle voor de film gebruikte muziek op de soundtrack staat. Een aantal bekende nummers staan er niet op. Bij de deluxe set van de soundtrack (vinyl + cd's) is een boekje gevoegd met informatie en veel foto's van de filmopnames.

Het is onbekend of de oorspronkelijke door David Bowie opgenomen soundtrack voor de film ooit zal worden uitgebracht. Veel liefhebbers van de film en fans van Bowie dringen daarop aan.
In elk geval is een van de oorspronkelijke nummers, Subterraneans, op het Bowie-album Low terechtgekomen. Dit album kwam uit in januari 1977, met op de cover een foto van Bowie uit de film The Man Who Fell To Earth. Sinds de vraag naar de oorspronkelijke nummers in 2016 groter werd, heeft Paul Buckmaster, die samen met Bowie aan de soundtrack werkte, verklaard dat de opnamen naar zijn mening technisch niet goed genoeg zijn om te worden uitgebracht.

Externe links

 2001 XM Radio tv-commercial
 Criterion Collection essay by Graham Fuller

Film uit 1976
Boekverfilming
Britse film
Sciencefictionfilm
Cultfilm
Dramafilm
Experimentele film
Film van Nicolas Roeg
Pop- en/of rockfilm
David Bowie

redpajama_set_name: RedPajamaWikipedia


Brian Larkin, CEO of United Oil & Gas discusses the delivery of fast track 3D seismic data on the Tullow Oil-operated licence, offshore Jamaica and other progress at the company.
United Oil & Gas plc (UOG) is listed on the main market of the London Stock Exchange. United was established to explore, appraise and develop low risk assets in Europe and North Africa and to develop higher risk, higher impact exploration projects in Latin America and Africa.


text:
'use strict';

// Default stack dependencies.
var express = require('express')
  , path = require('path')

  , enrouten = require('express-enrouten')
  , helmet = require('helmet')

  , <%= server_view %> = require('<%= server_view %>')

  <% if(css == 'stylus') { %>
  , stylus = require('stylus')
  , nib = require('nib');
    <% }
     if(css == 'sass') { %>
  , sass = require('node-sass')
  , compass = require('compass');
    <% }
     if(css == 'less') { %>
  , less = require('less-middleware');
    <% } %>
;

// Initialise the Express stack and set the default listening port.
var app = express();
app.set('port', process.env.PORT || 3000);

// Configure the view engine and view directory.
app.set('view engine', '<%= server_view %>');
app.set('views', path.join(__dirname, 'views'));

// Gzip and deflate responses if run in a production environment.
if('production' == app.get('env')){
  app.use(express.compress());
}

// Use Helmet's default security headers.
helmet.defaults(app);

// Use dev-level logging.
app.use(express.logger('dev'));
// Cache and serve the site's favicon located at 'public/images/favicon.ico'.
app.use(express.favicon(path.join(__dirname, 'public', 'images', 'favicon.ico')));
// Support JSON and urlencoded responses.
app.use(express.json());
app.use(express.urlencoded());
// Enable support for faux PUT and DELETE requests.
app.use(express.methodOverride());

<% if (css == 'stylus') { %>
// Enable Stylus compilation using Nib and compress them.
// Compile all .styl files within the 'public' directory.
app.use(stylus.middleware({
  src: path.join(__dirname, 'public'),
  compile: function (str, path) {
    return stylus(str)
      .set('filename', path)
      .set('compress', true)
      .use(nib());
  }
}));
<% } if (css == 'sass') { %>
// Compile CSS files using SASS.
app.use(sass.middleware({
  src: path.join(__dirname, 'public', 'css'),
  outputStyle: 'compressed'
}));
// Compile CSS files using Compass. NOTE THAT THIS NEEDS COMPASS INSTALLED ON THE MACHINE WITH `gem install compass`
app.use(compass({
  sass: 'css',
  css: 'css'
}));
<% } if (css == 'less') { %>
// Compile CSS files using LESS.
app.use(less({
  src: path.join(__dirname, 'public', 'css'),
  compress: true
}));
<% } >

// Use Blade's middleware endpoint that serves client-side templates with a client-side renderer.
// Serve templates located at 'public/templates'.
app.use(blade.middleware(path.join(__dirname, 'public', 'templates')));

// Serve compiled assets from the '.build' directory rather than on-demand assets from the 'public' directory when in production mode.
if('production' == app.get('env')){
  app.use(express.static(path.join(__dirname, '.build')));
} else {
  app.use(express.static(path.join(__dirname, 'public')));
}

// Want to use Passport authentication? Just add the following lines to your stack (and add the corresponding package.json modules):
// var auth = require('./lib/auth');
// app.use(express.session({secret: 'the dark is scary :('}));
// app.use(auth.initialization());
// app.use(auth.session());

var url = require('url');

// Use Enrouten's directory scanning middleware, configured to the 'controllers' directory.
app.use(enrouten({
  directory: 'controllers'
}));
// When controllers are not available, render views by default.
app.use(function(req, res, next){
  try{
    res.render(path.join(app.get('views'), url.parse(req.url).pathname.substr(1)));
  }
  catch(e){
    next();
  }
});

// Set default 404 and 500 pages at 'views/errors/404' and 'views/errors/505' when in production.
// Use the standard Express error handler when in development.
if('production' == app.get('env')){
  app.use(function(err, req, res, next){
    if(err.message.indexOf('Failed to lookup view') != -1 && err.view){
      res.status(404).render('errors/404', {code: 404});
    }
    else{
      console.error('[ORBIT ERR]', err);
      res.status(500).render('errors/500', {code: 500});
    }
  });
} else {
  app.use(express.errorHandler());
}

// Export the server stack.
module.exports = app;

redpajama_set_name: RedPajamaGithub


text:
Q: classification problem in sklearn I have some experience with building classification models in R but it's my first time with Python's sklearn.
So the the problem is: when fitting logistic regression model in R, I have immediate access to predicted class probabilities (model$fitted.values), so I can set my threshold (different than 0.5) in order to maximize some measure.
But in sklearn after fitting I can't find a way to access probabilities. Is it possible? There is a method predict_proba(), but...as the name suggests, it is prediction. So in order to get probabilities, should I 'artificially' do the following procedure?
model = sklearn.linear_model.LogisticRegression()
model.fit(train_X, train_y)
probs = model.predict_proba(train_X)

Does it make any sense? Or is there some different method to obtain it?

A: It is correct to use the method predict_proba to get the estimated probabilities.
Just to make it a bit clearer, consider the example given here (http://scikit-learn.org/stable/auto_examples/linear_model/plot_iris_logistic.html).
Below I copy just the relevant lines, so that anyone can copy & paste it, and reproduce what I say next,
import numpy as np
from sklearn import linear_model, datasets
iris = datasets.load_iris()
X = iris.data[:, :2]  # we only take the first two features.
Y = iris.target
h = .02  # step size in the mesh
logreg = linear_model.LogisticRegression(C=1e5)
logreg.fit(X, Y)

In the iris dataset you have three classes (0, 1, 2 = ['setosa', 'versicolor', 'virginica']), contained in Y. When you call,
logreg.predict_proba(X)

you get an array of arrays of probabilities, each element being p(class|x),
array([[  9.05823905e-01,   6.81672013e-02,   2.60088939e-02],
       [  7.64631786e-01,   2.16376590e-01,   1.89916235e-02],
       [  8.46908157e-01,   1.42190177e-01,   1.09016662e-02],
       [  8.15654921e-01,   1.75608861e-01,   8.73621791e-03],
       ...

The other alternatives are predict_log_proba() to get log P(class|x) and predict() to get the class with highest probability among the three for a given sample.

A: Fitting the model just optimizes coeffecients and intercept. Introducing special thresholds only affects in the proportion of false positives/false negatives (and thus in precision/recall tradeoff), but it is not the parameter of the LR model.
You predict the probabilities like you described and apply a threshold to get actual class predictions, for example class_predictions = preds > 0.6
Also check this

redpajama_set_name: RedPajamaStackExchange


text:
Launch of The Oxford Genetics Knowledge Park by Matt Ridley
The Oxford Genetics Knowledge Park was launched this month at an event at the University Museum of Natural History with a talk by well-known science writer Matt Ridley.
The Oxford Genetics Knowledge Park is a partnership between Oxford University and the Oxford Radcliffe Hospitals NHS Trust, and is one of six such Parks nationally, funded by the Departments of Health and Trade and Industry. The aim of the Genetics Knowledge Parks (GKPs) is to translate advances in genetics research into clinical practice.
Matt Ridley, author of Nature Via Nurture (2003), Genome (1999), The Origins of Virtue (1996) and The Red Queen: Sex and the Evolution of Human Nature (1993), spoke on 'How Nature Turns On Nurture' – a deliberate pun expressing the two-way interaction between genes and environmental influences. He asserted that the old nature versus nurture dichotomy is flawed, and that genes both set up our brains to learn from nurture, and can themselves be switched on and off by external factors.
Matt discussed a gene on the X chromosome which appears to increase vulnerability to environmental experiences: those with a particular form of the gene are much more likely to suffer depression following a stressful life event, but without that external trigger may never suffer from depression. The gene does not determine their fate – it is not a 'gene for depression' – but it sets up a tendency to react in a certain way to what the environment brings.
Environmental forces can also change how genes behave, said Matt: stressful situations such as upcoming exams trigger the stress hormone cortisol, which appears to 'switch off' a gene crucial to the functioning of the immune system, leading often to the familiar post-exam cold.
Mosaic mutations during embryonic development can cause autism spectrum disorder
Researchers develop new statistical method that generates significant genetic insights
Study finds associations between functional seizures and psychiatric disorders, stroke
Dr Jenny Taylor also gave a talk, explaining the Oxford GKP's focus on cardiovascular disease (including sudden cardiac death and coronary artery disease) and cancer, and the ways in which knowing more about nature, an individual's genes, can lead to treatments that centre on nurture, such as altering an individual's diet. Knowledge about an individual's genetic propensity for certain diseases could lead to pre-emptive non-genetic actions such as changing someone's diet or fitting a pacemaker, and the Oxford GKP programme will evaluate how far genetic testing would help in the diagnosis or treatment of patients with cardiovascular disease and cancer.
Researchers will also examine the ethical, legal, social and economic implications of conducting such tests. Whilst identifying individuals at risk of, for example, sudden cardiac arrest could save many lives, the existence of that genetic information raises questions about insurance and job security which need to be carefully considered. The conclusions will allow them to make recommendations to Government about whether genetic tests for these conditions are clinically worthwhile, technically feasible, and acceptable to the general public.
For more information the Genetics Knowledge Park, go to the Oxford GKP website. http://www.oxfordgkp.org/
Posted in: Miscellaneous News
Tags: Cancer, Cardiac Arrest, Cardiovascular Disease, Chromosome, Chromosome 1, Chromosome 2, Chromosome 3, Chromosome 4, Chromosome 5, Chromosome 6, Chromosome 7, Chromosome 8, Chromosome 9, Chromosome X, Chromosome Y, Cold, Coronary Artery Disease, Cortisol, Depression, Diet, Evolution, Gene, Genes, Genetic, Genetic Information, Genetics, Genome, Hormone, Hospital, Immune System, Pacemaker, Research, Stress, Stress Related, Sudden Cardiac Death, X chromosome
Study shows how new antibiotic resistance genes arise from random DNA sequences
Researchers investigate prognostic role of diversity of chromatin compartments in gynecological cancers
Study: 20% of glioblastomas are fueled by overactive mitochondria
Glycylation essential to keep sperm swimming in a straight line, shows study
Vanderbilt researcher proposes an explanatory paradigm for the cause of autism
Mount Sinai and Rumi Scientific join hands to initiate autism drug discovery pipeline
Researchers measure brain volume differences in HIV-infected individuals
Study uncovers strong links between a person's diet, gut microbes and health
Researchers discover new metabolic vulnerability in a highly aggressive form of lung cancer


Whether you are avoiding certain foods due to sensitivities/allergens or simply wish to be discerning about what you put into your body, eating out whilst doing so can be challenging to say the least. This article offers a few tips which may help make the process easier and even enjoyable.
One can often feel like a nuisance when making special food requests or stating certain dietary preferences but this needn't be the case - especially when priceless assets like health and peace of mind are at stake. The key is to express your needs - and the reasons behind them - clearly, briefly and politely.
Call ahead: Speaking to the manager of the restaurant before your visit will prevent any potential awkwardness on the day. The responses you receive will also help you decide which restaurants to favour - or rule out - in future. You could draw up a list of questions before your call to ensure that your most important needs are met. Asking if something can be prepared from scratch to exclude any allergens is a great place to start. It is also often possible to view the menus of any restaurants you like the look of online beforehand.
Keep it simple: Grilled meat, fish or seafood and a salad without any ready-made dressing accompanied by olive oil and vinegar or lemon wedges is a foolproof option that can easily be prepared at any restaurant. Depending on how cautious you wish to be, it is worth bearing in mind that restaurants cook with rapeseed oil for the most part and it is not as healthy as it is reported to be. Trim off any fat from non-organic meat. Animals that have been routinely given antibiotics and growth hormones store these substances in their adipose (fatty) tissues. Avoid sauces as they tend to be less obvious sources of allergens and additives.
Bring your own: If you have been invited to dine at the home of a friend or family member, again, calling ahead of time to explain things is best. Offer to make something that meets your needs and can be be shared with other guests.
Eat before your outing: If all else fails, make yourself a little something to eat at home and - if possible - top this off later with a salad at the restaurant (or at the home of your host) just in case it turns out that nothing else on the menu is suitable.


It is up to us to come together and find constructive employment for our young people, she said. "We don't want to be dependent on aid." This week she was among experts gathering in Mogadishu this week for the first Somali Government-led conference, continuing the fight to stop the illegal charcoal trade and prevent charcoal production.
The conference from May 7-8 took place as deforestation, soil erosion and drought continue to grip the country. The high-level meeting brought together government officials, senior UN representatives, environmental advocates and donors to support implementation of the ban on importing Somali charcoal.
Throughout her career, Fatima Jibrell has challenged the status quo to protect ordinary Somalis and their way of life, while working to end the unsustainable charcoal trade. Born into a nomadic pastoralist family in Somalia, she is focused on her vision of peace and conservation. A leading environmental activist and founder of Adeso Africa – a non-profit organization established in 1991 – she has fought bravely to protect Somalia's fragile environment.
Instrumental in bringing about a ban on the export of charcoal in Somalia's semi-autonomous Puntland region, she has also co-funded Sun Fire Cooking, which promotes widespread use of solar cookers as an alternative to charcoal. In 2002 her work won her the prestigious Goldman Environmental Prize and in 2007, the National Geographic/Buffet Award for Leadership in African Conservation.
Exporting charcoal from Somalia was banned in 2012, but an illicit trade has decimated ancient acacia tree populations across the country. Since ordinary Somalis are often not aware of the long-term consequences of deforestation and desertification, they become perpetrators of their environment's own demise, with harsh economic and social repercussions.
Erik Solheim, UN Environment's Executive Director, said: "Destruction of trees for charcoal leads to degradation of land, destruction of ecosystems and causes greater susceptibility to flooding and drought. This leads to loss of livelihoods and food insecurity, which are contributing to the humanitarian crises in Somalia.
"The charcoal trade contributes to and funds insecurity and conflict as it exacerbates inter-clan tension over control of land and trade and acts as a major source of funding for armed groups which illegally tax exports of the commodity. Somalia needs the support of the international community and the private sector to curb this unsustainable livelihood and to provide viable alternatives," he added.
Charcoal production – an economic activity that dates to pre-colonial times – has long served communities to meet energy requirements and provide livelihood opportunities. The market value of the exported commodity was estimated to be more than $250 million dollars over two years following the ban.
"The environmental destruction brought on by the charcoal trade contributes to drought, flooding, the loss of livelihoods and increase in food insecurity. Together with conflict, this exacerbates the humanitarian situation in Somalia," said the Deputy Special Representative of the Secretary-General for Somalia, Peter de Clercq.
Consequently, the trade in charcoal has accelerated environmental degradation and conflict over the control of resultant revenue. Fatima Jibrell will join delegates to strengthen institutional support to ensure the ban is finally upheld.
The two-day conference was supported by the UN Development Program (UNDP), UN Environment and the Food and Agriculture Organization of the United Nations (FAO), with funding from the European Union, Sweden and Italy.
Learn more about UN Environment's work on the environmental causes and consequences of disasters and conflicts.


If you've got talent in your chosen sport, it could help pay for your degree!
SportUNE offers a number of sporting scholarships to students enrolled in a course of at least two years' duration at the University of New England. Applicants should have an outstanding ability in a particular sport, and a desire to represent the University in their chosen sport. Recipients will be expected to become active members of the UNE sporting club for which the award has been granted.
For further information on scholarships, please refer to the University of New England (UNE) scholarships page.


text:
// *****************************************************
// CIXReader
// CanvasHTMLText.cs
//
// Author: Steve Palmer (spalmer@cix)
//
// Created: 14/11/2013 8:31 AM
//
// Copyright (C) 2013-2015 CIX Online Ltd. All Rights Reserved.
// *****************************************************

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using CIXClient;
using CIXReader.Properties;
using CIXReader.UIConfig;
using CIXReader.Utilities;
using TheArtOfDev.HtmlRenderer.Adapters;
using TheArtOfDev.HtmlRenderer.Core.Entities;
using TheArtOfDev.HtmlRenderer.WinForms;

namespace CIXReader.Canvas
{
    ///
    /// Canvas item element for an HTML text static control.
    ///
    public sealed class CanvasHTMLText : CanvasElementBase
    {
        // Smiley emoticons as constants
        private const string emoSmiley = ":-)";
        private const string emoLaugh = ":-D";
        private const string emoFrown = ":-(";
        private const string emoWink = ";-)";
        private const string emoShades = "8-)";
        private Dictionary<string, string> _emoticonDictionary;
        private bool _isMouseDown;
        private CanvasItemLayout _layout;
        private StringBuilder _text;
        private bool _wasDrag;

        ///
        /// Initialises a new instance of the <see cref="CanvasHTMLText"/> class
        ///
        public CanvasHTMLText() : base(CanvasItemLayout.ItemType.Component)
        {
            Font = CanvasItemLayout.DefaultFont;
            ExpandInlineImages = true;
        }

        ///
        /// Get or set the font used by the label text.
        ///
        public Font Font { get; set; }

        ///
        /// Get or set the foreground colour for the label text.
        ///
        public Color ForeColour { get; set; }

        ///
        /// Get or set the foreground colour for the label text.
        ///
        public override Color BackColor
        {
            get { return Control.BackColor; }
            set
            {
                if (Control != null)
                {
                    Control.BackColor = value;
                }
            }
        }

        ///
        /// Get or set a flag which indicates whether or not we expand inline images.
        ///
        public bool ExpandInlineImages { get; set; }

        ///
        /// Get or set a flag which indicates whether or not markup codes are interpreted.
        ///
        public bool DisableMarkup { get; set; }

        ///
        /// Get or set the text displayed in the label. The text will be converted to HTML automatically.
        /// To use prepared HTML text, use HTMLText instead.
        ///
        public string Text { get; set; }

        ///
        /// Get or set the text to be highlighted.
        ///
        public string Highlight { get; set; }

        ///
        /// Get or set the prepared HTML text displayed in the label. If this is set, it overrides
        /// what is set in Text.
        ///
        public string HTMLText { get; set; }

        ///
        /// Get or set the maximum height that the text must occupy. The text will be vertically
        /// centred within this height if it is less than the maximum height.
        ///
        public int LineHeight { get; set; }

        ///
        /// Get or set the amount of spacing after the text, in pixels.
        ///
        public int SpaceAfter { get; set; }

        ///
        /// Maximum possible height of the control.
        ///
        private static int MaxHeight { get { return 20000; } }

        ///
        /// Add a new HTML label within the layout at the given position. The client bounds determine the
        /// maximum extent of the text.
        ///
        public override void Add(CanvasItemLayout layout, Rectangle clientBounds, Point position)
        {
            int width = clientBounds.Width - (position.X - clientBounds.X);

            if (_text == null)
            {
                _text = new StringBuilder((HTMLText != null) ? HTMLWrap(HTMLText) : HTML(Text));
            }

            // Do Smiley replacement
            if (!DisableMarkup)
            {
                ReplaceEmoticon(_text, emoSmiley);
                ReplaceEmoticon(_text, emoFrown);
                ReplaceEmoticon(_text, emoLaugh);
                ReplaceEmoticon(_text, emoWink);
                ReplaceEmoticon(_text, emoShades);
            }

            string stylesheet = string.Format("pre {{ white-space: pre-wrap; margin-top: 0px }}\n" +
                                              "div {{ color: rgb({0}) }}\n" +
                                              "::selection {{ color: rgb({1}); background-color: rgb({2}) }}\n" +
                                              "blockquote {{ color: rgb({3}) }}\n" +
                                              "blockquote blockquote {{ color: rgb({4}) }}\n" +
                                              "blockquote blockquote blockquote {{ color: rgb({5}) }}",
                UI.ToString(layout.Container.Selected ? UI.Forums.SelectionTextColour : ForeColour),
                UI.ToString(layout.Container.Selected ? UI.Forums.SelectionColour : UI.Forums.SelectionTextColour),
                UI.ToString(layout.Container.Selected ? UI.Forums.SelectionTextColour : UI.Forums.SelectionColour),
                UI.ToString(layout.Container.Selected ? UI.Forums.SelectionTextColour : UI.Forums.Level1QuoteColour),
                UI.ToString(layout.Container.Selected ? UI.Forums.SelectionTextColour : UI.Forums.Level2QuoteColour),
                UI.ToString(layout.Container.Selected ? UI.Forums.SelectionTextColour : UI.Forums.Level3QuoteColour));

            Size size = new Size(width, MaxHeight);
            HtmlLabel label = new HtmlLabel
            {
                AutoSizeHeightOnly = false,
                AutoSize = true,
                Size = size,
                MaximumSize = size,
                Location = position,
                ForeColor = ForeColour,
                BaseStylesheet = stylesheet,
                BackColor = Color.Transparent,
                IsSelectionEnabled = true,
                Visible = true
            };

            Control = label;

            label.LinkClicked += OnLinkClicked;
            label.Click += OnClick;
            label.MouseDown += OnMouseDown;
            label.MouseMove += OnMouseMove;
            label.ImageLoad += LabelOnImageLoad;
            label.PreviewKeyDown += OnPreviewKeyDown;
            label.KeyDown += OnKeyDown;
            label.ContextMenuInvoked += OnContextMenuInvoked;
            label.LinkHover += OnLinkHover;

            try
            {
                label.Text = _text.ToString();
            }
            catch (Exception)
            {
                // This can crash in HtmlRenderer so we need this safeguard.
                label.Text = string.Empty;
            }

            layout.Container.Controls.Add(Control);
            Bounds = new Rectangle(position.X, position.Y, Control.Size.Width, Control.Size.Height + SpaceAfter);

            _layout = layout;
        }

        ///
        /// Add items to the context menu.
        ///
        private void OnContextMenuInvoked(object sender, HtmlContextMenuEventArgs eventArgs)
        {
            RContextMenu contextMenu = eventArgs.ContextMenu;
            string searchEngineTitle = Preferences.StandardPreferences.DefaultSearchEngine;
            contextMenu.AddItem(string.Format(Resources.SearchWith, searchEngineTitle), !string.IsNullOrEmpty(GetSelection()), OnContextMenuClick);
        }

        ///
        /// Do a search of the selected text with Google.
        ///
        private void OnContextMenuClick(object sender, EventArgs eventArgs)
        {
            string textToSearch = GetSelection();

            // Remove any trailing '.' at the end of the string
            while (textToSearch.Length > 0 && textToSearch.EndsWith(".", StringComparison.Ordinal))
            {
                textToSearch = textToSearch.Remove(textToSearch.Length - 1, 1);
            }

            // Double up any quotes in the string
            textToSearch = textToSearch.Replace("\"", "\"\"");

            // Escape spaces
            textToSearch = textToSearch.Replace(" ", "%20");

            string linkTemplate = SearchEngines.LinkForSearchEngine(Preferences.StandardPreferences.DefaultSearchEngine);
            string searchUrl = string.Format(linkTemplate, textToSearch.Trim());
            Process.Start(searchUrl);
        }

        ///
        /// Propagate keys up to the parent.
        ///
        private void OnKeyDown(object sender, KeyEventArgs keyEventArgs)
        {
            _layout.Container.RaiseKeyDown(keyEventArgs);
        }

        ///
        /// Make sure that arrow keys are caught so we can propagate those up to the parent.
        ///
        private static void OnPreviewKeyDown(object sender, PreviewKeyDownEventArgs args)
        {
            switch (args.KeyData)
            {
                case Keys.Up:
                case Keys.Down:
                case Keys.Right:
                case Keys.Left:
                case Keys.Home:
                case Keys.End:
                    args.IsInputKey = true;
                    break;
            }
        }

        ///
        /// Adjust the position of this item.
        ///
        public override void SetPosition(Point position, Rectangle clientBounds)
        {
            Control.Location = position;

            int width = clientBounds.Width - (position.X - clientBounds.X);
            Control.MaximumSize = new Size(width, MaxHeight);
            Bounds = new Rectangle(position.X, position.Y, Control.Size.Width, Control.Size.Height + SpaceAfter);
        }

        ///
        /// Retrieve the selected text, or an empty string if no selection.
        ///
        public override string GetSelection()
        {
            HtmlLabel label = (HtmlLabel) Control;
            return label.SelectedText;
        }

        ///
        /// Select all text in the HTML label
        ///
        public override void SelectAll()
        {
            HtmlLabel label = (HtmlLabel)Control;
            label.SelectAll();
        }

        ///
        /// Clears any existing selection
        ///
        public override void ClearSelection()
        {
            HtmlLabel label = (HtmlLabel) Control;
            label.ClearSelection();
        }

        ///
        /// This callback is invoked when a remote image is requested. These are identified by image: prefixes on the img
        /// tag source and are assumed to be http based. We request the image from the ImageRequestorTask in CIXClient and
        /// provide a callback to be invoked when the image is retrieved.
        ///
        private void LabelOnImageLoad(object sender, HtmlImageLoadEventArgs htmlImageLoadEventArgs)
        {
            string realUrl = htmlImageLoadEventArgs.Src;
            if (realUrl.StartsWith("image:", StringComparison.Ordinal))
            {
                realUrl = "http://" + realUrl.Substring(6);
                Image image = CIX.ImageRequestorTask.NewRequest(realUrl, Control.MaximumSize.Width/3, MaxHeight, ImageRetrieved, htmlImageLoadEventArgs);
                if (image != null)
                {
                    htmlImageLoadEventArgs.Callback(image);
                }
            }
            else if (realUrl.StartsWith("images:", StringComparison.Ordinal))
            {
                realUrl = "https://" + realUrl.Substring(7);
                Image image = CIX.ImageRequestorTask.NewRequest(realUrl, Control.MaximumSize.Width / 3, MaxHeight, ImageRetrieved, htmlImageLoadEventArgs);
                if (image != null)
                {
                    htmlImageLoadEventArgs.Callback(image);
                }
            }
        }

        ///
        /// Callback from ImageRequestorTask for when an image is retrieved.
        ///
        /// <param name="image">The image retrieved (may be null)</param>
        /// <param name="parameter">The HtmlImageLoadEventArgs argument</param>
        private void ImageRetrieved(Image image, object parameter)
        {
            HtmlImageLoadEventArgs args = parameter as HtmlImageLoadEventArgs;
            if (args != null)
            {
                args.Callback(image);

                Bounds = new Rectangle(Bounds.X, Bounds.Y, Control.Size.Width, Control.Size.Height + SpaceAfter);

                // Now we have an image, we need to adjust the control height to accommodate the
                // image size the label height will likely have changed.
                _layout.Container.RaiseRelayout();
                _layout.Container.Invalidate();
            }
        }

        ///
        /// Replace all occurrences of the specified emoticon in the string with an HTML img tag
        /// referencing the corresponding image in the Emoticons folder.
        ///
        /// <param name="source">StringBuilder with the text to replace</param>
        /// <param name="emoticon">The emoticon</param>
        private void ReplaceEmoticon(StringBuilder source, string emoticon)
        {
            if (_emoticonDictionary == null)
            {
                _emoticonDictionary = new Dictionary<string, string>();
                _emoticonDictionary[emoSmiley] = "smiley";
                _emoticonDictionary[emoLaugh] = "laugh";
                _emoticonDictionary[emoFrown] = "frown";
                _emoticonDictionary[emoShades] = "shades";
                _emoticonDictionary[emoWink] = "wink";
            }

            // Always assume that emoticon is in the dictionary. It is an error otherwise.
            string assemblyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            if (assemblyPath != null)
            {
                string emoticonPath = Path.Combine(assemblyPath, "Emoticons", _emoticonDictionary[emoticon]);
                source.Replace(emoticon, "");
            }
        }

        ///
        /// Trigger when the mouse moves. Set a flag if a drag event occurred so that we don't fire
        /// off a RaiseEvent later and de-select the control at the end of the drag.
        ///
        private void OnMouseMove(object sender, MouseEventArgs mouseEventArgs)
        {
            if (_isMouseDown)
            {
                if (!_wasDrag)
                {
                    _layout.Container.RaiseSelection();
                }
                _wasDrag = true;
            }
        }

        ///
        /// Trigger on the mouse down button and set a flag for use when we distinguish between a
        /// click drag and a click selection.
        ///
        private void OnMouseDown(object sender, MouseEventArgs e)
        {
            _isMouseDown = true;
            _wasDrag = false;
        }

        ///
        /// Handle a click on the label and pass up the event to the parent.
        ///
        private void OnClick(object sender, EventArgs eventArgs)
        {
            if (!_wasDrag)
            {
                _layout.Container.RaiseEvent(this);
            }
        }

        ///
        /// Handle links clicked in the label.
        ///
        /// <param name="sender">The control</param>
        /// <param name="args">The link click arguments</param>
        private void OnLinkClicked(object sender, HtmlLinkClickedEventArgs args)
        {
            _layout.Container.RaiseLink(args.Link);
            args.Handled = true;
        }

        ///
        /// Handle hover over a link.
        ///
        /// <param name="sender">The control</param>
        /// <param name="args">The link hover arguments</param>
        private void OnLinkHover(object sender, HtmlLinkHoverEventArgs args)
        {
            CanvasHoverArgs newArgs = new CanvasHoverArgs
            {
                Component = this,
                Link = args.Link,
                Location = new Point((int) args.Location.X + Bounds.X, (int) args.Location.Y + Bounds.Y)
            };
            _layout.Container.RaiseHover(newArgs);
        }

        ///
        /// Convert a raw text string to HTML complete with font and markup text
        /// converted to formatting. This is actually quite expensive code so it should
        /// be used sparingly and the results cached.
        ///
        /// <param name="s">Raw string to convert</param>
        /// <returns>The raw string in HTML format</returns>
        public string HTML(string s)
        {
            string text = s;

            if (!String.IsNullOrEmpty(text))
            {
                Regex r;

                // If text contains explicit XML, temporarily disable markup for this message
                bool localDisableMarkup = DisableMarkup || (text.Contains("?xml"));

                // Make sure all invalid HTML characters are converted to entities.
                if (localDisableMarkup)
                {
                    text = text.EscapeXml();
                }

                if (Highlight != null)
                {
                    r = new Regex(string.Format("({0})", Highlight), RegexOptions.Multiline|RegexOptions.IgnoreCase);
                    text = r.Replace(text, "$1");
                }

                // Replace hard newlines with break tags.
                text = text.TrimEnd().Replace("\r", "");
                text = localDisableMarkup ? text.Replace("\n", "
") : CIXMarkup.CIXMarkup.MarkupToHTML(text);

                // Convert HTTP:// (etc) and www / ftp (etc) links to actual links.
                const string regexlink = @"(((http|https|ftp|news|file)+://|www\.|ftp\.)[_.a-z0-9]+[a-z0-9/_:@=.+?,#!$_%&()~-]*[^.|\'|# |!|\(|?|,| |>|<|;|)])";
                r = new Regex(regexlink, RegexOptions.IgnoreCase);
                text = r.Replace(text, "$1").Replace("href=\"www", "href=\"http://www");

                // Make cix: links into links. These have slightly odder syntax than http
                // so we handle these especially.
                const string cixRegex = @"(cix:[a-z0-9._\-:/]*[a-z0-9]+)";
                r = new Regex(cixRegex, RegexOptions.IgnoreCase);
                text = r.Replace(text, "$1");

                // Handle mailto links
                const string mailtoRegex = @"(mailto:\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b)";
                r = new Regex(mailtoRegex, RegexOptions.IgnoreCase);
                text = r.Replace(text, "$1");

                // Look for image links and replace with img tags
                // Only HTTP links are used for now.
                if (ExpandInlineImages)
                {
                    const string imgRegex = "()(.*?)()";
                    r = new Regex(imgRegex, RegexOptions.IgnoreCase);
                    text = r.Replace(text, "$1$4");
                    text = text.Replace("image:http://", "image:");
                    text = text.Replace("image:https://", "images:");
                }

                // Make cixfile: links into links. These are converted to:
                //
                //  http://forums.cix.co.uk/secure/cixfile.aspx?forum={forum}&topic={topic}&file={filename}
                //
                const string cixfileRegex = @"cixfile\:([a-z0-9._\-]+)/([a-z0-9._\-]+):([a-z0-9\/_:@=.+?,#_%&~-]+)";
                r = new Regex(cixfileRegex, RegexOptions.IgnoreCase);
                text = r.Replace(text, "cixfile:$1/$2:$3");

                // Wrap the results
                Font font = Font ?? CanvasItemLayout.DefaultFont;
                float htmlFontSize = font.Size / (72f / 96f);
                text = String.Format("

{2}

", font.FontFamily.Name, htmlFontSize, text);
            }
            return text;
        }

        ///
        /// Wrap the given string in an HTML div tag.
        ///
        /// <param name="s">String to wrap</param>
        /// <returns>Wrapped string</returns>
        public string HTMLWrap(string s)
        {
            string text = s;

            if (!String.IsNullOrEmpty(text) && text[0] != '<')
            {
                Font font = Font ?? CanvasItemLayout.DefaultFont;
                float htmlFontSize = font.Size / (72f / 96f);
                text = String.Format("
{2}
", font.FontFamily.Name, htmlFontSize, text);
            }

            // Replace hard newlines with break tags.
            return (text != null) ? text.Replace("\n", "
") : String.Empty;
        }
    }
}


In women of reproductive age, is the levonorgestrel-releasing (20 µg/d) intrauterine system (LNG-20) more effective and tolerable than other reversible contraceptive methods?
Studies were identified using MEDLINE, EMBASE/Excerpta Medica, PsycLIT, POPLINE, Cochrane Controlled Trials Register, and specialist databases between January 1974 and July 1998. Bibliographies of relevant articles were also reviewed. Experts in the field and organizations were contacted for unpublished data.
Randomized controlled trials were selected if participants were women of reproductive age, they compared LNG-20 with another reversible contraceptive, and they had predetermined outcomes.
Data were extracted on predetermined outcomes of pregnancy as a result of method or user failure and continuation of contraceptive method. Data on these outcomes were extracted when either number of events per women months or single-decrement life-table probabilities were reported.
5 studies met the inclusion criteria. LNG-20 was compared with 2 groups of intrauterine devices (IUDs), categorized by the surface area of the copper wire: ≤ 250 mm2 (Nova-T, CuT 200, and CuT 220 IUDs) and > 250 mm2 (CuT 380 Ag IUD). At 5 years of follow-up, LNG-20 was more effective than IUDs ≤ 250 mm2 for preventing unplanned pregnancy (rate ratio [RR] 0.08, 95% CI 0.04 to 0.18) but not more effective than IUDs > 250 mm2 (RR 0.66, CI 0.25 to 1.75) (Table). Overall, continued use was more likely with LNG-20 than with IUDs ≤ 250 mm2 (RR 1.16, CI 1.02 to 1.31) and equally as likely with IUDs > 250 mm2 (RR 0.97, CI 0.83 to 1.14) (Table). LNG-20 users were more likely to discontinue use because of hormonal side effects than were users of IUDs ≤ 250 mm2(RR 5.2, CI 1.3 to 20.3) and IUDs > 250 mm2 (RR 4.2, CI 2.0 to 9.0). LNG-20 users were also more likely to discontinue use because of amenorrhea than were users of IUDs ≤ 250 mm2(RR 29.2, CI 1.7 to 488) and IUDs > 250 mm2 (RR 48.9, CI 16.9 to 141).
In women of reproductive age, the levonorgestrel-releasing (20 µg/d) intrauterine system (LNG-20) is more effective than intrauterine devices (IUDs) ≤ 250 mm2 but as effective as IUDs > 250 mm2 for preventing pregnancy. LNG-20 is more likely to lead to discontinued use because of hormonal side effects and amenorrhea.
Source of funding: NHS R&D Health Technology Assessment Programme.
For correspondence: Dr. R. French, Department of Sexually Transmitted Diseases, Royal Free and University College Medical School, Mortimer Market Centre, off Capper Street, London WC1E 6AU, England, UK. FAX 44-207-679-9669.
*RBX = relative benefit reduction. Other abbreviations defined in Glossary; RRR, RBI, RBR, NNT, NNH, and CI calculated from data in article.
†2 studies were meta-analyzed using a fixed-effects model and reported weighted event rates; other comparisons were based on 1 study.
The systematic review by French and colleagues addresses an important clinical question. The study methods reported were appropriate, and the search for relevant studies was comprehensive. The willingness by volunteers to be randomly allocated, however, implies that either contraceptive method was acceptable. The copper IUD comparative studies would therefore be unlikely to include women with heavy or painful menses, who are most likely to benefit from the "side effects" of LNG-20 (i.e., reduction of menstrual flow and pain). Some studies also noted the importance of preinsertion counseling to reduce concern about amenorrhea or the occurrence of irregular bleeding in the early months of use.
The category of IUDs ≤ 250 mm2 could be misleading because the only studies that were analyzed related to the CuT 380 Ag IUD, which has copper on the side arms and in the center. No available comparisons existed with other high copper-load devices positioned only centrally (e.g., Multiload 375). The distinction in the positioning of the copper may be one reason why the CuT 380 Ag IUD has such low pregnancy rates.
This review has a broader title than that of the abstract because a search was made for comparison with all reversible methods. Only 1 study not using a copper IUD was identified as eligible. This was a 3-year comparison with Norplant 2 that involved only 200 women and found no significant difference in measured outcomes other than fewer removals of devices because of bleeding with LNG-20.
The LNG-20 and the CuT 380 Ag IUD are equally effective and acceptable for women with normal menses. Questions remaining include which women are likely to benefit from a specific choice of 1 device or the other and the issue of cost-effectiveness.


Ava McCarthy is the author of several international acclaimed thrillers.
Ava's critically acclaimed debut, The Insider, was published in 2009. It was selected as Book of the Month for Sainsbury's Book Club and has been optioned for film by Polaris Pictures in Hollywood. The sequel, The Courier, was published in 2010, and the third in the Harry Martinez series, Hide Me, was published in October 2011. Her central character, hot-shot hacker Harry Martinez, is 'strong, attractive and super-smart… a clear-eyed, nonsentimental soul sister of Val McDermid's Kate Brannigan, or Sara Paretsky's VI Warshawski' (Irish Times).
DEAD SECRET, a standalone psychological suspense thriller, was published in January 2016. Ava's smart, page-turning thrillers have been translated into 13 languages worldwide, and have earned her comparisons with Harlen Coben, Lee Child and John Grisham.
Ava McCarthy was born in Dublin and is a graduate of University College Dublin, with a degree in Physics and a Master's Degree in Nuclear Medicine. A former Medical Physicist and Computer Analyst for the London Stock Exchange, she worked in the software industry for over twenty years before writing her first novel. Ava lives in Dublin with her husband and two children.


text:
海缆网 环球海缆产业协会
海缆网首页
全球海缆系统
Cable Landing Stations in India
Submarine Cables to/from India, by Suvesh Chattopadhyaya
As per the existing telecom licensing regime in India, the Telecom Regulatory Authority of India (TRAI) establishes the orders, regulations and directions on telecommunications sector, while the Department of Telecommunications (DoT) issues licenses.
The company laying submarine cables in Indian Territorial Waters must hold a valid ILD license issued by Department of Telecommunications (DoT). International Long-Distance Operators (ILDOs) licensees are allowed to set up Cable Landing Station (CLS) for landing of submarine cables, governed by the regulations/orders as may be made by the TRAI from time to time.
As of the end of 2022, there are 15 international subsea cables (17 if Seacom and MENA are considered seperate cables) landing in 14 distinct cable landing stations in 5 cities across India, in Mumbai, Chennai, Cochin, Tuticorin and Trivandrum. According to TRAI, the lit capacity and the activated capacity on these 17 international subsea cables were 123.87Tbps and 83.8Tbps respectively by the end of 2021.
There are also domestic submarine cables such as the Chennai-Andaman and Nicobar Island Cable (CANI) onnecting Port Blair along with seven other Islands of Andaman & Nicobar, and the Kochi-Lakshadweep Island (KLI) cable system for a direct communication link through a dedicated submarine optical fiber cable between Kochi and 11 Islands of Lakshadweep.
In addition, a number of new submarine cables are in pipeline for rollout, including MIST, IAX, IEX, 2Africa/EMIC-1, Blue-Raman, SEA-ME-WE 6, TEAS, etc.
The operators and their cable landing stations in India
Tata Communications owns five cable landing stations, three in Mumbai, and each in Chennai and Cochin.
Global Cloud eXchange (formerly Reliance Globalcom) owns the Versova Cable Landing Station in Mumbai for FALCON, and Trivandrum cable landing station for WARF cable connecting Maldives and Sri Lanka to India.
Reliance Jio owns BBG cable landing station in Chennai and AAE-1 cable landing station at Versova beach in Mumbai, is constructing new cable landing stations for its IAX and IEX cables.
Bharti Airtel owns three cables landing stations, two in Chennai and one in Mumbai. Bharti Airtel will be landing party for 2Africa/EMIC-1 and SEA-ME-WE 6 cables.
Sify Technologies owns cable landing station in Mumbai for MENA and GBI submarine cable systems.
BSNL owns its first international submarine cable connecting India and Sri Lanka (BLCS) and its cable landing station in Tuticorin. The Digha Cable Landing Station in West Bengal is newly approved in May 2011 by the department of telecommunication (DoT) of India for a submarine cable project between India and South-east Asia. BNSL is expected to own the Digha Cable Landing Station. BSNL has completed the Chennai- Andaman & Nicobar Islands (A&N Islands) submarine cable system, and constructed a new cable landing station in Chennai and several stations in the Andaman & Nicobar Islands.
Vodafone owns BBG cable landing station in Mumbai.
Lightstorm acts as landing partner for Cinturion's TEAS and will build a carrier-neutral and open Cable Landing Station (CLS) to host the cable.
IOX plans to construct a new cable landing station at Puducherry for its IOX cable.
To have a full picture about submarine cables landing in India, please read following articles by an Indian expert Mr. Suvesh Chattopadhyaya:
Is India'a subsea cable infrastructure sufficient to support next-gen business
New Submarine Cables to/from India – An outlook for 2019-2021
What does it take to be Independent Infrastructure Provider (IIP) in India to develop Submarine Cable System
Questionable State of Submarine Cables that globalizes India
According to Mr. Suvesh Chattopadhyaya's contribution, here is a complete list of submarine cables landing in India:
Complete List of Submarine Cables Landing in India, by Suvesh Chattopadhyaya


text:
$( document ).ready(function() {

	$(".ticketseatstyle td[class!='stage']").on( "click", function(){
		if($(this).css('background-color') =='rgb(255, 255, 255)'){
			$(this).css('background-color','rgb(190, 190, 190)');
			$(this).find('.seat_div').css('background-color','rgb(190, 190, 190)');
		}
		else if ($(this).css('background-color') == 'rgb(190, 190, 190)'){
			$(this).css('background-color','rgb(255, 255, 255)');
			$(this).find('.seat_div').css('background-color','rgb(255, 255, 255)');

		}
	});

	$('#ticketform #savechange').on( "click", function(){
		var seatlist=[];
		$('.ticketseatstyle td').each(function(){
			if($(this).css('background-color') =='rgb(190, 190, 190)'){
				seatlist.push($(this).find('div').text());
			}
		});
		console.log('seatlist',seatlist);
    	$('#ticketform #inputPosition').val(seatlist);
	});

	// $('#ticketform').submit(function(event){
	// 	event.preventDefault();
	// 	var email = $("#ticketform input#inputEmail").val();
	// 	var name = $("#ticketform input#inputName").val();
	// 	var phone = $("#ticketform input#inputPhone").val();
	// 	var seat = $("#ticketform input#inputPosition").val();
	// 	var donate;
	// 	$("#ticketform input[name='optionsRadios']").each(function() {
	// 		if($(this).prop('checked'))
	// 			donate = $(this).val();
	// 	});
	// 	var bookinfor = {"email": email, "name": name, "phone": phone, "seat": seat, "donate": donate};
	//   	console.log('bookinfor',bookinfor);
	//   /*
	//   $.post("bookticket.php", bookinfor)
	// 	.done(function( data ) {
	// 		console.log( "Data Loaded: " , data );
	// 	});
	// */
	// 	// window.location.href='/gardenii-eticket/index.php/member/distribute';
	// });

});


text:
Home / Sports / Historic Season
Historic Season
Sun, 03/13/2016 - 2:59pm Vic MacDonald
PC women wrap up season of success against #1 seed UNC-Asheville
Presbyterian College Sports Information
This season, the PC squad established themselves in the record books. Not only did The Blue Hose advance to the semifinals of the Big South Championship for the first time in school history they now sit second in Division I school history with 18 wins.
ASHEVILLE, N.C. – The Presbyterian College women's basketball team closed the 2015-16 season with a 65-55 loss to UNC Asheville on Saturday in the Big South Championship semifinals at Kimmel Arena. The two teams set a tournament record with a combined 19 three-pointers in the game.
Taylor Petty led the Blue Hose with 14 points and four three-pointers, while Cortney Storey added 13 points and four assists. Rebecca Walker (Snellville, Ga.) pulled down a team-best six rebounds and added four points.
Chatori Major led all scorers with 22 points and hauled in five rebounds for Asheville, while Tianna Knuckles added 15 points and six rebounds.
The two teams traded buckets before Aianna Kelly (Newport News, Va.) knocked down a three-pointer and gave the Blue Hose an 8-6 lead with 8:04 left in the first quarter. Asheville then went on a 7-0 run that closed the scoring in the first.
The Bulldogs took a 13-8 lead after the first period.
The Blue Hose held Asheville scoreless for the final four and a half minutes of the quarter.
The Blue Hose opened the second quarter on a 4-0 run and pulled within one at 13-12. Asheville responded with a 10-2 run and extended its lead to 23-14. Storey hit a deep three-pointer and cut the lead to 23-17. Janie Miles (Clemson, S.C.) traded three-pointers with the Bulldogs and kept the Blue Hose within six, 29-23. Storey knocked down a triple right before the buzzer as Asheville took a 29-26 lead into the locker room.
Storey led off the third quarter with a layup and pulled PC within one, 29-28. The Bulldogs went on a 7-0 run and extended the lead to 37-29. The Blue Hose responded with a 7-0 run and stayed within one at 37-36. Asheville then went on a 9-2 run and opened a 46-38 lead. Petty got fouled and converted a layup. Yakima Clifton (Durham, N.C.) got the offensive rebound off a missed free throw and Petty connected on a triple, which gavethe Blue Hose a five-point possession. PC trailed 46-43 into the final quarter.
The Bulldogs started the fourth quarter on an 8-0 run before Allie Wagner (Easley, S.C.) converted an and one for PC and cut the lead to 54-46. Petty knocked down back-to-back three-pointers and slimmed the Asheville lead to 58-52. The Bulldogs closed the game on a 7-3 run, all seven points on free throws.
This team finished first in PC DI history in points (1,880), three-point field goals made (217), scoring average (60.6), field goals made (650), free throws made (363), free throw percentage (.727), offensive rebounds (369), steals (258) and scoring margin (6.8).
The team set a school record four players on the Big South All-Conference teams, including Big South Freshman of the Year for back-to-back seasons. They Blue Hose combined for a school record 14 three-pointers against Longwood onFebruary 1 at the Templeton Center. The team swept the season series against Liberty and Winthrop for the first time in school history this season as well.
Cortney Storey (Fayetteville, Tenn.) set a school record with 126 assists in the season, while Salina Virola (Huntsville, Ala.) now sits in first with a .489 three-point percentage. Taylor Petty(Spartanburg, S.C.) holds second with 354 points and third with 74 three-point field goals, both are the most by a freshman in school history
The Blue Hose end the season with an 18-13 record, while UNC Asheville improves to 25-6 on the year, advancing to the league championship Sunday.
Presbyterian now waits on word for an at-large bid into a post season tournament.
UNC-Asheville - Presbyterian College set a tournament record with a combined 19 three-pointers in the game.
PC women's basketball
My Clinton News


The ISIS terrorist group's health minister and a number of other ISIS leaders have been killed in northern Iraqi city of Mosul.
In a press release, the Kurdistan's Counterterrorism Group (CTG) announced the forces targeted an ISIS headquarters affiliated to ISIS al-Furqan brigade in Mosul.
The forces killed Abu Bakr el Sheshani, a Russian national who is ISIS military official in Nineveh governorate, and Abu Fatma el Tounsi, the terrorist group's financial official in Nineveh.
The statement also added that Dr. Salah Hassan el Sakalawi, aka Dr. Abdullah, who is considered ISIS health minister, and Dr. Abu Hassan el Homosi, ISIS health Emir in Wilayat el Sham, were also killed during the operation.
At least 30 terrorists were also killed in the operation carried out in cooperation with the US-led coalition, the CTG further said, according to a report by Baghdad Post.
The operation came after Iraqi Prime Minister Haidar al-Abadi announced Sunday the launch of a military operation to retake the western bank of Mosul from ISIS terrorist group.