text:
News Articles Archive
New Dulwich Estate CEO
The Dulwich Estate Board of Trustees has announced the appointment of Simone Crofton as the new Chief Executive. She succeeds John Major, who is retiring after leading the organisation for 16 years. Ms Crofton will take up the position on 15 January 2018.
Ms Crofton is a former Chief Executive of the Institute of Imagination and The Borough Market Trust. Her CV includes extensive leadership experience in running charitable Trusts, building community relations and managing property portfolios and development programmes. She was instrumental in making London's Borough Market the renowned national and international food destination it is today.
In welcoming her appointment, the Chairman of the Board of Trustees, Martin Bagley, said: "We are delighted to welcome Simone Crofton to the role. She brings an impressive mix of experience which will prove invaluable to the future of the organisation. We have no doubt she will serve our beneficiaries and the area well. We look forward to working with her as we move towards marking our 400th anniversary in 2019."
Ms Crofton commented: "As a regular visitor to Dulwich, I am thrilled to join the organisation at such an important milestone in its history. I will work closely with businesses, residents and the wider community to build on The Dulwich Estate's proud history of stewardship, supporting education and the elderly, contributing to this much loved and unique area of South East London."
The Dulwich Society
About The Dulwich Society
Planning and Architecture
Funds For Local Projects
Dulwich Estate Maps
Burial Ground Research
The Journal Archive
Executive Committee Contacts
Sub-Committee and Other Contacts


text:
Law firm makes big gains after last year's tax change
Profits jump 25 per cent to £4.1m
Scots law firm Ledingham Chalmers saw a 25 per cent increase in its profits to £4.1million last year on the back of a19 per cent rise in turnover to £9.4m.
The firm has announced impressive annual results for a second year since relaunching as a limited liability partnership (LLP) in 2006.
Corporate activity, particularly in the booming North East of Scotland, was seen as a major contributing factor for the increase, along with a flurry of deals made before the changes to capital gains tax came into effect in April. Over the past year the firm's headcount has expanded to 158, including partners, with the number of qualified lawyers now standing at 62 across all disciplines - a dozen more than in the previous year.
Chairman David Laing said the firm has benefited from a strong economy in the North East, allowing the firm to grow by investing in existing and new talent right across the firm.
He said: "When a professional practice is focused on recruiting, retaining and developing the best people and ensuring that it delivers effective solutions for its clients, the result must be positive for everyone. In common with other firms, we benefited from the changes in capital gains tax which came into effect on 6th of April this year and there were a lot of deals made in the run up to that.
"Last year, taking us up to the end of March 2008, we hadn't seen the effects of the credit crunch and the reluctance of the banks to lend, and as such we expect corporate deal activity to be less buoyant than last year.
"But we still have a portfolio of very busy clients, so overall we are not expecting to see a slump in business over the coming year.
"There is still healthy activity in the oil and gas and exploration services, which has allowed the firm to increase activity in the traditional corporate, commercial property, litigation and private client areas while also growing its construction, planning and rural practice."
Laing said his firm was very conscious that many clients are facing, or may yet face, severe economic pressures arising from the credit crunch and an ever-rising oil price.
He said: "Our challenge is to respond by continuing to deliver effective support and value for money.
"Continued financial growth has further secured our position in the marketplace and given us the confidence to invest for the future.
"The current financial year has started well in spite of the well-publicised problems of the residential property market, but we are reasonably well hedged at present to ride out any fluctuations in the economy."
'We still have a portfolio of very busy clients'

redpajama_set_name: RedPajamaCommonCrawl


Today I present you the project I was recently working on, a fantasy styled palace!
Please let me know if something doesno t work (download, schematic, cano t open the map in singleplayer...) so I can fix it, thanks.
If you'd be german I could write much more!
Well, the terrain is perfect! I really enjoy it! Hmm, and the render is ... I'll just say he's awesome. You know what the point means. Please keep up producing renders like the last 4! :o You're getting better.
I really appreciate to help you and support you! It's a pleasure. Supporting a level 46, an awesome builder, a very nice friend, that's just a pleasure.
Wow, this is very, very cool. Diamond! I really like the shape.
Amazing building. You just earned a diamond and subscibre my friend.
Thats so epic. Imagine that in a medieval city. Good job.
good, but lets see an interior!
Maybe. Maybe not. I'm not sure wether I'm gonna build one or not.
Hi, I would just like to notifiy you I will be using your map for my upcoming Hub server I will give all credit to you :D. Btw nice builde +1 Diamond.
I especially like the Inner tower's detail. Works really well.
why is there no world save link?
Thanks, I used DokuCraft TSG Light.
That's really the best palace I've ever seen!
Thank you, I like your stuff too!


text:
Module shapeclass

    use types
    use image

    implicit none

    type, abstract :: shape

    type(RGB) :: colour

    Contains

    procedure :: info => info_fn

    end type shape

    private :: info_fn

    Contains

    subroutine info_fn(this)

        class(shape), intent(IN) :: this

        print*,'This is a shape. Colour: ', this%colour
    end subroutine info_fn

end Module shapeclass

redpajama_set_name: RedPajamaGithub


I can't believe Steven and I got married one month ago, October 27, 2018! For our little anniversary I thought it would be fun to share some of my favorite wedding photos!
Steven and I got engaged in April 2018 after about 5ish years together and quickly set a wedding date of July 6, 2019. Well as many of you know that plan changed when we found out we were pregnant in July. We both decided it would be best to move the wedding up – and that's exactly what we did. We planned the wedding in about two months and it was just magical! A night we will not soon forget.
Happy one month of marriage my love – I pray for many more happy years together!
It was a Beautiful for you and your family,your Uncle Kevin and I are so happy for you. We Love You!


Simple and elegant solution for animated wallpapers Lilies Love live wallpaper.  Distributed free of charge.
- Application Lilies Love live wallpaper - installed on the device.  - General menu - the icon = Lilies Love live wallpaper = - run.


text:
Q: on tap rehaga una consulta a un servicio estoy con un proyecto en el que tengo un listado de clientes, y quiero que cada vez que hago click en uno de ellos me navegue a otra pagina en la que me muestra los datos del cliente. Tal y como han hecho el api rest, los datos del cliente me los trae pero poniendo en el body lo siguiente
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SociedadOtros_Lee xmlns="http://xxxxxx/">
      <usuario>xxxxx</usuario>
      <password>xxxxxx</password>
      <Codigo>112</Codigo>
    </SociedadOtros_Lee>
  </soap:Body>
</soap:Envelope>

el problema lo tengo que el codigo me lo da cuando hago click en el cliente, llama al servicio y me trae los datos, pero cuando vuelvo atras y hago click en otro cliente no vuelve a pasar por el servicio sino que me trae lo que ya habia antes.
Mi duda es:
1.- como paso el codigo del cliente al servicio para ponerlo en el codigo del body
2.- como puedo hacer para que cada vez que hago click en un cliente vuelva a llamar al servicio.
Gracias
Edito mi pregunta como me comentan
Este es el codigo de la pagina de datos del cliente
import 'package:jpaSOAP/pages/pages.dart';
import 'package:jpaSOAP/services/services.dart';
import 'package:jpaSOAP/widgets/widgets.dart';
import 'package:provider/provider.dart';

class ClientePage extends StatelessWidget {
  static String routeName = 'cliente';

  @override
  Widget build(BuildContext context) {
    final directionService = Provider.of<DirectionService>(context);
    final phoneService = Provider.of<PhoneService>(context);
    final clientService = Provider.of<ClientsService>(context);

    //String codigo = clientService.selectedClient.sociedad!.codigo;

    //print(clientService.selectedClient.sociedad!.codigo);

    if (directionService.isLoading) return LoadingScreen();
    if (phoneService.isLoading) return LoadingScreen();

    final _phoneNumber1 = phoneService.phone[0].telefono1!;
    final _phoneNumber2 = phoneService.phone[0].telefono2!;
    final _mail = phoneService.phone[0].correoElectronico!.trim();

    Widget optionOne = SimpleDialogOption(
      child: Text('Direccion: ' +
          directionService.direction[0].nombreVia!.trim() +
          ' ' +
          directionService.direction[0].numeroVia!),
      onPressed: () async {
        Navigator.pushNamed(context, 'mapa');
      },
    );
    Widget optionTwo = SimpleDialogOption(
      child: Text('Localidad: ' + directionService.direction[0].localidad!),
    );
    Widget optionThree = SimpleDialogOption(
      child: Text('Teléfono: ' + phoneService.phone[0].telefono1!),
      onPressed: () async {
        launch('tel://$_phoneNumber1');
      },
    );
    Widget optionFour = SimpleDialogOption(
      child: Text('Teléfono 2: ' + phoneService.phone[0].telefono2!),
      onPressed: () async {
        launch('tel://$_phoneNumber2');
      },
    );
    Widget optionFive = SimpleDialogOption(
      child: Text('Email: ' + phoneService.phone[0].correoElectronico!),
      onPressed: () async {
        launch('mailto:$_mail');
      },
    );

    return Scaffold(
        appBar: AppBar(
          backgroundColor: Color.fromRGBO(63, 63, 156, 1),
          elevation: 0,
          actions: [
            IconButton(
                icon: Icon(Icons.arrow_back_ios_outlined),
                onPressed: () {
                  Navigator.pushReplacementNamed(context, 'clientes');
                }),
          ],
          title: Text(clientService.selectedClient.nombre! +
              ' ' +
              clientService.selectedClient.apellidos!),
        ),
        drawer: const MenuWidget(),
        body: AppBackground(
          child: SimpleDialog(
            //title: Text(clientService.selectedClient.apellidos!),
            children: [
              optionOne,
              optionTwo,
              optionThree,
              optionFour,
              optionFive,
            ],
          ),
        ));
  }
}

Y este es el servicio al que llamo cuando accedo a la pagina de datos del cliente. Pero solo se llama la primera vez que entra, despues si sales y vuelves a entrar ya no pasa por el servicio
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:jpaSOAP/models/models.dart';
import 'package:xml2json/xml2json.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';

class DirectionService extends ChangeNotifier {
  final _baseUrl = Uri.parse('http://xxxx.asmx');
  final _body = '''<?xml version="1.0" encoding="utf-8"?>
      <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
        <soap12:Body>
          <SociedadDireccion_Lee xmlns="http://xxxx.org/">
            <usuario>xxxx</usuario>
            <password>xxxxxx</password>
            <Codigo>11</Codigo>
          </SociedadDireccion_Lee>
        </soap12:Body>
      </soap12:Envelope>''';

  final List<Direction> direction = [];
  Direction? selectedDirection;

  bool isLoading = true;

  DirectionService() {
    loadDirections();
  }

  Future<List> loadDirections() async {

    this.isLoading = true;
    notifyListeners();

    final resp = await http.post(_baseUrl,
        headers: {
          "Content-Type": "text/xml; charset=utf-8",
          "SOAPAction": "http://xxxxx"
        },
        body: _body,
        );

    Xml2Json xml2json = Xml2Json();
    xml2json.parse(resp.body);
    final jsondata = xml2json.toParker();
    final data = json.decode(jsondata);

    final datos = data['soap:Envelope']['soap:Body']
        ['SociedadDireccion_LeeResponse']['SociedadDireccion_LeeResult'];

    final directionMap = {'direction': datos};

    directionMap.forEach((key, value) {
      final tempDirection = Direction.fromMap(value);
      tempDirection.codigo = key;
      this.direction.add(tempDirection);
    });

    this.isLoading = false;
    notifyListeners();

    return direction;
  }
}

redpajama_set_name: RedPajamaStackExchange


text:
Discover bluebiz
Join bluebiz
Your bluebiz account
Change our company's details
Update the first contact person
Blue credits
Book an upgrade
Buy flight-related services
Claim blue credits
Ethiopia opens up: welcome in the Imperial Palace
With its economy growing at a healthy pace, Ethiopia is opening up. In a step to become more attractive to local and international tourists, the country has opened its Imperial Palace to the public.
After decades of secrecy – the 40-acre compound was always off-limits to anyone not closely connected to Ethiopia's rulers – the curtain has finally been raised. The Imperial Palace has been home to Ethiopia's rulers since the days of Emperor Menelik II. "Locals and tourists are now being invited to explore the 15-acre Unity Park created out of the palace complex. Although it remains the residence of the prime minister, land has officially been given back to the city of Addis Ababa", CNN reports.
Part of the complex has been renovated by order of Ethiopia's charismatic prime minister, Abiy Ahmed; some $170 million has been spent on it. The park comprises a mixture of landscaped open areas, renovated palace buildings and animal enclosures.
Further reading on edition.cnn.com
The world's optimists live in Nigeria, Ethiopia and Burkina Faso
According to a Pew Research Centre survey, Nigeria, Ethiopia and Burkina Faso are the countries with the brightest prospects in the next year.
Ethiopia and Djibouti will build Horn of Africa Pipeline
Ethiopia and neighbour Djibouti signed an agreement to build a 550-kilometer fuel pipeline from port access in Djibouti to central Ethiopia.
BlueBiz
Looking to save on your company's travel expenses? BlueBiz is the answer. BlueBiz is the corporate benefits program of AIR FRANCE, KLM and partner airlines.
Hassle free traveling
Earn Blue Credits and spend them on free tickets and upgrades
Flying Blue Miles & Blue Credits can be earned on one and the same ticket
Sign up for BlueBiz
Join us and receive automatically our newsletter. Stay up to date on the latest news, insights and articles.
Join and receive the newsletter
Stay up to date on the latest news via social media. Or register to receive our newsletter
We're always searching for suggestions, trends, tips or tricks. Please share with us your most successful and inspiring stories on doing business in Africa. Read more or email our editors at
shareyourstory@your-bizbook.com
BizClubs
Club Africa
*Please note that airlines participating in the program can differ per country.
© 2020 bluebiz
To send you to the right destination we're going to need a bit of extra information. Please select the right settings.


Stock is the backbone of so many recipes. Whether it's used as a cooking liquid for rice or beans, or as the base of a soup or gravy, the quality of your stock influences the quality of your final dish. Though it's not hard to make, there are a few tweaks you can make to make sure yours is rich and tasty stock that's anything but watery.
I have never in my life used a recipe to make stock, mainly because I just make it out of whatever veggie scraps and bones I've squirreled away. For me, it's simply a matter of tossing a gallon-sized freezer bag worth of scraps—both animal and vegetable—in a big pot, adding enough water to cover everything, and letting it all simmer away for at least five hours, skimming "scum" off the top and adding more water as needed. Alternatively, you can chuck it all in a pressure cooker and cook it on "high" for 60 minutes. Both routes will give you a wonderfully flavorful stock perfect for soups, stews, and gravies.
Wing it: Besides homemade Buffalo wings, the highest calling for a poultry wing is stock. Though wings may be lacking in meat, they more than make up for it in fat and collagen, which is what you need to make an extra rich stock. Chicken feet also excel here.
Get scrappy: Keep two gallon-sized freezer bags in your freezer—one for veggie ends, skins, and peels (especially garlic skins), and one for animal bones. Once you have enough to fill a pot, you're ready to re-stock your stock.
Roasting adds flavor: Roasting your vegetable bits—whether scraps or whole pieces—in the oven before adding them to your stock pot will add a depth of flavor you won't get from raw, and give your stock a darker color. Roasted bones taste better too, so save that rotisserie chicken carcass.
Cheese rinds are your friend: Never, ever toss a Parmesan rind. Those things impart salty umami like whoa, and should be simmered along with the rest of your scrappy friends.
Dried mushrooms add depth: Though there is nothing wrong with the fresher fungi, dried mushrooms have a deeper, more concentrated flavor.
Add acid: A bit of vinegar can help break down the collagen in your bone of choice resulting in a richer, more-gelatin-packed liquid with a rounder mouthfeel.
Aromatics are important: Leafy herbs and other plant parts add freshness and flavor, and keep your stock from being one-note. A couple of sprigs of thyme, a bay leaf, and whole peppercorns always help, but don't shy away from lemongrass, ginger root, or dried chilies.
Once your stock is done simmering—give it a taste to make sure it's to your liking—drain it, chill it, and get it in the fridge. Remove the solidified fat off the top, transfer to a container with a lid, and store in the fridge for a couple of days (or in the freezer).


The finest shades of purples and pinks rest together in perfect harmony. Lilac and blush hued roses, deep purple lisianthus, violet tulips, and amethyst ranunculus mingle amongst vibrant green viburnum and winter roses. This vibrant design rests within a 16" by 16" wooden box complete with removable plexiglass lid for easy gifting.
The finest shades of purples and pinks rest together in perfect harmony for this stunning design. Lilac and blush hued roses, deep purple lisianthus, violet tulips, and amethyst ranunculus mingle amongst vibrant green viburnum and winter roses. This vibrant arrangement rests within a 16" by 16" wooden box complete with removable plexiglass lid for easy gifting.


text:
On Sports and Life
Sports commentary from one fan's perspective, updated twice a week.
Posted by: Mike Cornelius | May 17, 2018
One More Hero With Feet Of Clay
From the very beginning Robinson Cano was meant to not just play the Great Game, but to be one of its stars. His father Jose was signed as an amateur free agent by the New York Yankees in 1980, two years before Robinson was born. The elder Cano spent time in the minor league organizations of both New York and Atlanta, before finally making it to the big time, ever so briefly. In 1989 Jose Cano, a right-handed pitcher, appeared in six games for the Houston Astros, three as a starter and three in relief. His major league record was 1-1, with the sole win a complete game victory in his last time on a big league mound. After that Jose spent another season in the minors and a few years pitching in Taiwan.
By that time he had already transferred his big league ambitions to his son, to whom he had given the name Robinson in honor of the Brooklyn Dodger great who tore down baseball's color barrier. Some children might have staggered under the weight of the lofty expectations conveyed by that name, perhaps even renouncing any interest in the sport, but the young Cano met them head on. Growing up mostly in his native Dominican Republic, with a brief interlude in New Jersey, Cano played both baseball and basketball. Early in 2001 he followed in his father's footsteps, signing an amateur free agent contract with the Yankees, for which he received a $100,000 bonus.
Cano was assigned to the Yankees' affiliate in the rookie Gulf Coast League, from where he began a steady march towards the Bronx. From Tampa to Staten Island, where the New York Penn League team would eventually retire his number, on to Greensboro, Trenton and Columbus over the next four seasons, until he got the call every minor leaguer dreams of early in the 2005 campaign. The 22-year-old rookie batted .297 that year, finishing second in the balloting for AL Rookie of the Year. The following season Cano put up monster numbers, batting .342 with 41 doubles while gaining the first of what would eventually be eight All-Star Game selections. Cano complemented his plate presence with solid and occasionally spectacular defensive play at second base, filling the hole left by the departure of Alfonso Soriano in the trade that brought Alex Rodriguez to New York.
Over time Cano also improved his power stroke. He managed 14 home runs in his rookie year, and first topped 20 homers in the Yankees' 2009 championship season, when he hit 25. His high while in pinstripes was 33 in 2012, by which time New York's radio play-by-play announcer had long since perfected his Cano home run call. As the Yankees' star second baseman glided around the bases after putting one in the seats, John Sterling would cry "Robbie Cano, don't you know!"
But Cano was not a perfect hero. While blessed with enormous natural talent, he did not always match it with an equal measure of effort. When an at-bat produced a routine grounder hit right at an opposing infielder, Cano would sometimes barely nod in the direction of first base. And while he had good range and was capable of dramatic plays in the field, on occasion he was content to simply wave his glove at a ball that looked to be within reach to the fans in the stands. If the opposing fielder bobbled the sure out or the lackadaisical defense opened the door to a big inning, Yankee fans were happy to let their All-Star second baseman know what they thought of his casual approach. In retrospect, perhaps those moments were warning signs, early indicators of a player willing to accept shortcuts.
Still when Cano became a free agent after the 2013 season, most of the Yankees' faithful wanted him to stay in the fold. New York offered seven years and $175 million and dangled the prospect of Cano becoming the first Dominican-born player with a plaque in Monument Park if he chose to be a Yankee for life. But Cano wanted as many years and as much money as he could get, and so headed to Seattle when the Mariners offered a decade-long contract valued at $240 million.
Through four years and the first quarter of the fifth, Cano provided a decent return on Seattle's huge investment. While playing from age 30 to 35, his numbers were down only slightly from those he posted as a twenty-something in the Bronx. And while he hadn't been able to end the longest postseason drought among all teams in the four major North American professional sports leagues all by himself, this year the Mariners, fortified by the additions of Nelson Cruz in 2015, Jean Segura in 2016, and most recently Dee Gordon, were hanging close to the Angels and Astros in the AL West, and as of Monday were just outside of a Wild Card spot.
Then on Tuesday came word that Cano had been suspended for 80 games after testing positive for furosemide, a diuretic better known by the brand name Lasix that is on MLB's banned substances list. The chemicals in Lasix do nothing to improve an athlete's performance. Rather the drug is seen as a masking agent, taken to flush out the system and expunge evidence of performance enhancers. Because of that a positive test for furosemide does not by itself trigger a suspension. Rather it leads to an investigation by the independent administrator into why the drug was taken. Only if it's determined that it was being used as a masking agent to hide use of a PED does the suspension, in this case the mandated 80 games for a first-time offender, follow. While fans will never know what evidence the administrator found, his conclusion is clear.
In addition to the occasionally casual play, when Cano was with the Yankees his best friends on the team were Melky Cabrera and Alex Rodriguez. Cabrera was suspended for 50 games while with the San Francisco Giants in 2012, and Rodriguez, well, what more need be said? Guilt by association is never entirely fair, but it's what led former teammate Mark Teixeira to say he wasn't surprised by the news of Cano's suspension, and prompted Yankees GM Brian Cashman to state that while he had no knowledge of PEDs use by Cano, "knowledge is one thing, suspicion is another."
For his part Cano issued a statement through the Players Association, the elements of which are by now utterly familiar. The player shifts responsibility. "This substance was given to me by a licensed doctor in the Dominican Republic to treat a medical ailment." He expresses remorse, but is it for using a banned substance or for getting caught? "I obviously now wish that I had been more careful." Finally, he apologizes to family, friends, fans and his team. One wonders if there is a preprinted stack of these at the Association's headquarters, only requiring that blanks for the name of the player and the team be filled in prior to their release.
When he returns later this season, Cano and the Mariners will still be wed to each other for another five years, until he is 40. Fans in Seattle will be able to watch him in decline, and wonder what might have been. A viable candidate for the 3,000-hit club and the Hall of Fame as recently as Monday, Cano has likely decimated his chances for either of those honors. Meanwhile without a key member of their lineup, the Mariners will try to reach the playoffs for the first time since 2001. To paraphrase John Sterling's old cry, Robbie Cano, now we know.
Posted in Baseball | Tags: Alex Rodriguez, Brian Cashman, Dee Gordon, Furosemide, Jean Segura, John Sterling, Jose Cano, Lasix, Mark Teixeira, Melky Cabrera, MLB, MLBPA, Nelson Cruz, PEDs, Robbie Cano, Robinson Cano, Seattle Mariners, Yankee Stadium, Yankees
« Webb Simpson Is Back, Thanks To "The Claw"
From Out Of The Fog, Justify Has Just Enough »
Ball Parks On A Budget
Bill Miller's On Deck Circle
Cyberspace Troudadour
East Coast Hangars
for the love of nike
Lomax Bike
The Millenium Conjectures
VeloQuotes
Categories Select Category Baseball (411) Basketball (121) Boxing (7) Broadcasting (1) College Sports (65) Cycling (2) Golf (281) Hockey (89) Horse Racing (46) IndyCar (5) NASCAR (35) NFL (120) Olympics (18) Running (8) Skiing (1) Soccer (17) Tennis (24) Uncategorized (2) Writing (5)
Follow @onsportsandlife
One More Sad Moment On The Browns' Long List onsportsandlife.com/2021/01/17/one…Added	16 hours ago
Knicks Fans Have Seen This One Before onsportsandlife.com/2021/01/14/kni…Added	3 days ago
Another Cold Winter For The Great Game onsportsandlife.com/2021/01/10/ano…Added	1 week ago
The Limits Of Our Games onsportsandlife.com/2021/01/07/the…Added	1 week ago
Time To Give Notre Dame The Boot onsportsandlife.com/2021/01/03/tim…Added	2 weeks ago
Follow On Sports and Life on WordPress.com


Abstract: This paper addresses the question of the existence and size of a risk premium in the Eurobond market. We measure the yield difference between German government bonds and bonds issued in Deutsche Mark by several European countries. The results are regressed against macroeconomic variables supposed to be determinants of the risk of default on government debt. Our yield differences are smaller than those found between US states. However, some of our macroeconomic variables seem to be good predictors of yield differentials. A natural conclusion is that yield differentials partially are related to risks perceived by market participants.
JEL Classification: E43, E44, F35, F36, H63.
Keywords: Bond Yield, Default, EMU, Government Debt, Risk Premium.
Published in: Review of World Economics, Vol. 136, No. 2, (June 2000), pp. 259-283.


In the 1950s, British Rockers were donning leather jackets, buying motorcycles and racing each other from cafe to cafe. The 'cafe racer' was born. They used to hang around in large groups, rode together, partied together, they did everything together. They had each others' backs and would let the world know what they stood for by wearing motos on the back of their leather jackets for all to see.
Emblazoned with our 'No Rules, Just Ride' mantra, our Attacus Cycle Squad jersey is a nod to those rebellious, free-spirited two wheelers. Made for the many among you that don't play by the rules, but instead make your own.
While we do our best to accurately display the true colours of our garments in all photography on our website, sometimes the actual colour may vary in real life. This is because every monitor has a different capability to display colours, and that everyone sees these colours differently.
At Attacus we do our absolute best to simplify every garment that we make. We don't compromise on quality. Our design philosophy is to find the 'sweet spot' in every piece of kit we make.
We've spent fourteen months developing and honing the sweet spot of summer cycling kit. A range that strikes the perfect balance between performance, function and cost. Without compromising on quality. Our Sweet Spot Collection is our most comfortable, fitted, functional range yet. Carefully designed and rigorously tested so that it works, whether you're heading out on an epic adventure or heading out to conquer your local roads.
The technical fabrics in our jerseys are designed for movement, and will naturally stretch. It's why you may find you fit into more than one size bracket. So to help you find the best fit for you, we recommend you follow the steps below.
Start by measuring your chest all the way around at the fullest part. Then use this number to see which size options you fall into from our size charts below.
Use the numbers in the sleeve and torso columns to work out how each size will fit on you, and make sure you're happy with the length.
Consider how you want your kit to fit. Do you like it quite close fitting? Or prefer it a little looser? Make sure your chosen size reflects how you like to wear it.


Previously unknown features in Hatteras Transverse Canyon and environs were recently mapped during multibeam surveys of almost the entire eastern U.S. Atlantic continental margin. The newly identified features include (1) extensive landslide scarps on the walls of Hatteras Transverse and Hatteras Canyons, (2) an area of multiple landslide deposits that block lower Hatteras Transverse Canyon, (3) a large depositional feature down-canyon from the landslide deposits that rises 100 m above the uppermost Hatteras Fan and has buried the transition from the mouth of Hatteras Transverse Canyon to uppermost Hatteras Fan, (4) a zone of cyclic steps on upper Hatteras Fan that suggests supercritical turbidity currents performed a series of hydraulic jumps and formed large upstream-migrating bedforms, (5) several knickpoints in the channel thalwegs of both Hatteras Transverse Canyon and Hatteras Canyon, one 40 m high, that suggest both canyon channels are out of equilibrium and are in the process of readjusting, either to the channel blockage by the extensive landslide deposits or by a readjustments to increased sedimentation during the last eustatic lowstand, (6) a large area of outcrop on the lower margin between Pamlico and Hatteras Canyons that previously was interpreted as an area of slumps, blocky slide debris and mud waves, (7) headward erosion in the head region of Hatteras Transverse Canyonwhere it has intercepted the lowest reaches of Albemarle Canyon channel aswell as headward erosion in a small side channel that has eroded into Hatteras Outer Ridge and (8) sections of bedforms on Hatteras Outer Ridge that are partially buried by sediment fromWashington–Norfolk Canyon channel as well as by sediment transported fromHatteras Abyssal Plain. The newly discovered features add a new level of detail to understand the recent processes that have profoundly affected Hatteras Transverse Canyon, Hatteras Canyon and, to a lesser degree, Hatteras Outer Ridge.


We offer an outstanding selection of luxury vehicles at affordable rates. Our extensive fleet of limousines is available to get you to your location in style and comfort.
Whether you are looking for a memorable and luxurious ride on your wedding day or an exciting way to party with your friends at prom, our huge selection of limos is sure to have just what you're looking for. We'll take the worry and hassle out transportation at your next bar/ bat mitzvah, gala, private party, or night out on the town, leaving you free to enjoy your celebration to its fullest.
We also have many vintage and exotic vehicles available for rent. A full listing of our fleet is available on our website. We're confident you'll find just the right vehicle for your occasion. Our vehicles are regularly serviced and immaculately detailed between services.
Our friendly and professional staff strives to make your transit experience effortless and enjoyable. We offer many package deals, including business trip, wedding, and airport packages that offer substantial discounts. In addition, we offer special rates such as 10% off on a rental of 5 hours or more on Sunday through Thursday, and 20% off on a 20 passenger limo rental. We are available 24/7 to provide the best in customer service.
Our drivers are highly trained and vetted. We provide thorough background checks, drug & alcohol tests, and check DMV records to ensure a clean driving record. We ensure that our chauffeurs are courteous, professional in manner and appearance, and very knowledgeable about traffic routes through the city.
Planning an elegant and romantic wedding? Our Rolls Royce Phantom and Cadillac Escalade limos will help make your special day memorable. Our wedding packages include premium champagne, unlimited soft drinks, rose petals, red carpet service, and "Just Married" signs. We also offer a discount on service exceeding 6 hours.
If you are looking to transport a large group to a corporate function or sporting event, our luxurious party buses are perfect. Capable of carrying up to 46 passengers, many come with dramatic lighting, a stocked bar, and some have flat screen TVs to help get the party started.
Our limo service is great for a special night on the town with friends. With no worries about parking or designated drivers, you are free to enjoy the festivities to their fullest. We also offer city tours, Malibu wine country tours, special airport rates, and non-emergency medical transportation services.
We look forward to working with you to meet all of your transportation needs.
"Beverly Hills Transportation Made My Wedding Day One Of The Best And Easiest Days Of My Life I Reserved The Cadillac Escalade Limousine With The Rolls Royce Phantom And I Was Surprised With The Amount Of High Quality Service That I Received From This Limousine Service. I Called Many Limousine Companies But None Of Them Could Match The Quality And Price Of This Limousine Service I Highly Recommend This Limousine Company For Anyone Who Is In Need Of A Limousine Service!"


text:
package httpd

import (
	"bytes"
	"compress/gzip"
	"encoding/json"
	"errors"
	"expvar"
	"fmt"
	"io"
	"io/ioutil"
	"log"
	"net/http"
	"net/http/pprof"
	"os"
	"strconv"
	"strings"
	"time"

	"github.com/bmizerany/pat"
	"github.com/influxdb/influxdb"
	"github.com/influxdb/influxdb/client"
	"github.com/influxdb/influxdb/cluster"
	"github.com/influxdb/influxdb/influxql"
	"github.com/influxdb/influxdb/models"
	"github.com/influxdb/influxdb/services/continuous_querier"
	"github.com/influxdb/influxdb/services/meta"
	"github.com/influxdb/influxdb/uuid"
)

const (
	// DefaultChunkSize specifies the amount of data mappers will read
	// up to, before sending results back to the engine. This is the
	// default size in the number of values returned in a raw query.
	//
	// Could be many more bytes depending on fields returned.
	DefaultChunkSize = 10000
)

// TODO: Standard response headers (see: HeaderHandler)
// TODO: Compression (see: CompressionHeaderHandler)

// TODO: Check HTTP response codes: 400, 401, 403, 409.

type route struct {
	name        string
	method      string
	pattern     string
	gzipped     bool
	log         bool
	handlerFunc interface{}
}

// Handler represents an HTTP handler for the InfluxDB server.
type Handler struct {
	mux                   *pat.PatternServeMux
	requireAuthentication bool
	Version               string

	MetaClient interface {
		Database(name string) (*meta.DatabaseInfo, error)
		Authenticate(username, password string) (ui *meta.UserInfo, err error)
		Users() []meta.UserInfo
		Ping(checkAllMetaServers bool) error
	}

	QueryExecutor interface {
		Authorize(u *meta.UserInfo, q *influxql.Query, db string) error
		ExecuteQuery(q *influxql.Query, db string, chunkSize int, closing chan struct{}) (<-chan *influxql.Result, error)
	}

	PointsWriter interface {
		WritePoints(p *cluster.WritePointsRequest) error
	}

	ContinuousQuerier continuous_querier.ContinuousQuerier

	Logger         *log.Logger
	loggingEnabled bool // Log every HTTP access.
	WriteTrace     bool // Detailed logging of write path
	statMap        *expvar.Map
}

// NewHandler returns a new instance of handler with routes.
func NewHandler(requireAuthentication, loggingEnabled, writeTrace bool, statMap *expvar.Map) *Handler {
	h := &Handler{
		mux: pat.New(),
		requireAuthentication: requireAuthentication,
		Logger:                log.New(os.Stderr, "[http] ", log.LstdFlags),
		loggingEnabled:        loggingEnabled,
		WriteTrace:            writeTrace,
		statMap:               statMap,
	}

	h.SetRoutes([]route{
		route{
			"query", // Satisfy CORS checks.
			"OPTIONS", "/query", true, true, h.serveOptions,
		},
		route{
			"query", // Query serving route.
			"GET", "/query", true, true, h.serveQuery,
		},
		route{
			"write", // Satisfy CORS checks.
			"OPTIONS", "/write", true, true, h.serveOptions,
		},
		route{
			"write", // Data-ingest route.
			"POST", "/write", true, true, h.serveWrite,
		},
		route{ // Ping
			"ping",
			"GET", "/ping", true, true, h.servePing,
		},
		route{ // Ping
			"ping-head",
			"HEAD", "/ping", true, true, h.servePing,
		},
		route{ // Ping w/ status
			"status",
			"GET", "/status", true, true, h.serveStatus,
		},
		route{ // Ping w/ status
			"status-head",
			"HEAD", "/status", true, true, h.serveStatus,
		},
		route{ // Tell data node to run CQs that should be run
			"process_continuous_queries",
			"POST", "/data/process_continuous_queries", false, false, h.serveProcessContinuousQueries,
		},
	})

	return h
}

// SetRoutes sets the provided routes on the handler.
func (h *Handler) SetRoutes(routes []route) {
	for _, r := range routes {
		var handler http.Handler

		// If it's a handler func that requires authorization, wrap it in authorization
		if hf, ok := r.handlerFunc.(func(http.ResponseWriter, *http.Request, *meta.UserInfo)); ok {
			handler = authenticate(hf, h, h.requireAuthentication)
		}
		// This is a normal handler signature and does not require authorization
		if hf, ok := r.handlerFunc.(func(http.ResponseWriter, *http.Request)); ok {
			handler = http.HandlerFunc(hf)
		}

		if r.gzipped {
			handler = gzipFilter(handler)
		}
		handler = versionHeader(handler, h)
		handler = cors(handler)
		handler = requestID(handler)
		if h.loggingEnabled && r.log {
			handler = logging(handler, r.name, h.Logger)
		}
		handler = recovery(handler, r.name, h.Logger) // make sure recovery is always last

		h.mux.Add(r.method, r.pattern, handler)
	}
}

// ServeHTTP responds to HTTP request to the handler.
func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	h.statMap.Add(statRequest, 1)

	// FIXME(benbjohnson): Add pprof enabled flag.
	if strings.HasPrefix(r.URL.Path, "/debug/pprof") {
		switch r.URL.Path {
		case "/debug/pprof/cmdline":
			pprof.Cmdline(w, r)
		case "/debug/pprof/profile":
			pprof.Profile(w, r)
		case "/debug/pprof/symbol":
			pprof.Symbol(w, r)
		default:
			pprof.Index(w, r)
		}
	} else if strings.HasPrefix(r.URL.Path, "/debug/vars") {
		serveExpvar(w, r)
	} else {
		h.mux.ServeHTTP(w, r)
	}
}

func (h *Handler) serveProcessContinuousQueries(w http.ResponseWriter, r *http.Request, user *meta.UserInfo) {
	h.statMap.Add(statCQRequest, 1)

	// If the continuous query service isn't configured, return 404.
	if h.ContinuousQuerier == nil {
		w.WriteHeader(http.StatusNotImplemented)
		return
	}

	q := r.URL.Query()

	// Get the database name (blank means all databases).
	db := q.Get("db")
	// Get the name of the CQ to run (blank means run all).
	name := q.Get("name")
	// Get the time for which the CQ should be evaluated.
	t := time.Now()
	var err error
	s := q.Get("time")
	if s != "" {
		t, err = time.Parse(time.RFC3339Nano, s)
		if err != nil {
			// Try parsing as an int64 nanosecond timestamp.
			i, err := strconv.ParseInt(s, 10, 64)
			if err != nil {
				w.WriteHeader(http.StatusBadRequest)
				return
			}
			t = time.Unix(0, i)
		}
	}

	// Pass the request to the CQ service.
	if err := h.ContinuousQuerier.Run(db, name, t); err != nil {
		w.WriteHeader(http.StatusBadRequest)
		return
	}

	w.WriteHeader(http.StatusNoContent)
}

// serveQuery parses an incoming query and, if valid, executes the query.
func (h *Handler) serveQuery(w http.ResponseWriter, r *http.Request, user *meta.UserInfo) {
	h.statMap.Add(statQueryRequest, 1)

	q := r.URL.Query()
	pretty := q.Get("pretty") == "true"

	qp := strings.TrimSpace(q.Get("q"))
	if qp == "" {
		httpError(w, `missing required parameter "q"`, pretty, http.StatusBadRequest)
		return
	}

	epoch := strings.TrimSpace(q.Get("epoch"))

	p := influxql.NewParser(strings.NewReader(qp))
	db := q.Get("db")

	// Parse query from query string.
	query, err := p.ParseQuery()
	if err != nil {
		httpError(w, "error parsing query: "+err.Error(), pretty, http.StatusBadRequest)
		return
	}

	// Sanitize statements with passwords.
	for _, s := range query.Statements {
		switch stmt := s.(type) {
		case *influxql.CreateUserStatement:
			sanitize(r, stmt.Password)
		case *influxql.SetPasswordUserStatement:
			sanitize(r, stmt.Password)
		}
	}

	// Check authorization.
	if h.requireAuthentication {
		err = h.QueryExecutor.Authorize(user, query, db)
		if err != nil {
			httpError(w, "error authorizing query: "+err.Error(), pretty, http.StatusUnauthorized)
			return
		}
	}

	// Parse chunk size. Use default if not provided or unparsable.
	chunked := (q.Get("chunked") == "true")
	chunkSize := DefaultChunkSize
	if chunked {
		if n, err := strconv.ParseInt(q.Get("chunk_size"), 10, 64); err == nil {
			chunkSize = int(n)
		}
	}

	// Make sure if the client disconnects we signal the query to abort
	closing := make(chan struct{})
	if notifier, ok := w.(http.CloseNotifier); ok {
		notify := notifier.CloseNotify()
		go func() {
			<-notify
			close(closing)
		}()
	}

	// Execute query.
	w.Header().Add("content-type", "application/json")
	results, err := h.QueryExecutor.ExecuteQuery(query, db, chunkSize, closing)

	if err != nil {
		w.WriteHeader(http.StatusInternalServerError)
		return
	}

	// if we're not chunking, this will be the in memory buffer for all results before sending to client
	resp := Response{Results: make([]*influxql.Result, 0)}

	// Status header is OK once this point is reached.
	w.WriteHeader(http.StatusOK)

	// pull all results from the channel
	for r := range results {
		// Ignore nil results.
		if r == nil {
			continue
		}

		// if requested, convert result timestamps to epoch
		if epoch != "" {
			convertToEpoch(r, epoch)
		}

		// Write out result immediately if chunked.
		if chunked {
			n, _ := w.Write(MarshalJSON(Response{
				Results: []*influxql.Result{r},
			}, pretty))
			h.statMap.Add(statQueryRequestBytesTransmitted, int64(n))
			w.(http.Flusher).Flush()
			continue
		}

		// It's not chunked so buffer results in memory.
		// Results for statements need to be combined together.
		// We need to check if this new result is for the same statement as
		// the last result, or for the next statement
		l := len(resp.Results)
		if l == 0 {
			resp.Results = append(resp.Results, r)
		} else if resp.Results[l-1].StatementID == r.StatementID {
			cr := resp.Results[l-1]
			rowsMerged := 0
			if len(cr.Series) > 0 {
				lastSeries := cr.Series[len(cr.Series)-1]

				for _, row := range r.Series {
					if !lastSeries.SameSeries(row) {
						// Next row is for a different series than last.
						break
					}
					// Values are for the same series, so append them.
					lastSeries.Values = append(lastSeries.Values, row.Values...)
					rowsMerged++
				}
			}

			// Append remaining rows as new rows.
			r.Series = r.Series[rowsMerged:]
			cr.Series = append(cr.Series, r.Series...)
		} else {
			resp.Results = append(resp.Results, r)
		}
	}

	// If it's not chunked we buffered everything in memory, so write it out
	if !chunked {
		n, _ := w.Write(MarshalJSON(resp, pretty))
		h.statMap.Add(statQueryRequestBytesTransmitted, int64(n))
	}
}

func (h *Handler) serveWrite(w http.ResponseWriter, r *http.Request, user *meta.UserInfo) {
	h.statMap.Add(statWriteRequest, 1)

	// Handle gzip decoding of the body
	body := r.Body
	if r.Header.Get("Content-encoding") == "gzip" {
		b, err := gzip.NewReader(r.Body)
		if err != nil {
			resultError(w, influxql.Result{Err: err}, http.StatusBadRequest)
			return
		}
		body = b
	}
	defer body.Close()

	b, err := ioutil.ReadAll(body)
	if err != nil {
		if h.WriteTrace {
			h.Logger.Print("write handler unable to read bytes from request body")
		}
		resultError(w, influxql.Result{Err: err}, http.StatusBadRequest)
		return
	}
	h.statMap.Add(statWriteRequestBytesReceived, int64(len(b)))
	if h.WriteTrace {
		h.Logger.Printf("write body received by handler: %s", string(b))
	}

	if r.Header.Get("Content-Type") == "application/json" {
		h.serveWriteJSON(w, r, b, user)
		return
	}
	h.serveWriteLine(w, r, b, user)
}

// serveWriteJSON receives incoming series data in JSON and writes it to the database.
func (h *Handler) serveWriteJSON(w http.ResponseWriter, r *http.Request, body []byte, user *meta.UserInfo) {
	var bp client.BatchPoints
	var dec *json.Decoder

	dec = json.NewDecoder(bytes.NewReader(body))

	if err := dec.Decode(&bp); err != nil {
		if err.Error() == "EOF" {
			w.WriteHeader(http.StatusOK)
			return
		}
		resultError(w, influxql.Result{Err: err}, http.StatusBadRequest)
		return
	}

	if bp.Database == "" {
		resultError(w, influxql.Result{Err: fmt.Errorf("database is required")}, http.StatusBadRequest)
		return
	}

	if di, err := h.MetaClient.Database(bp.Database); err != nil {
		resultError(w, influxql.Result{Err: fmt.Errorf("metastore database error: %s", err)}, http.StatusInternalServerError)
		return
	} else if di == nil {
		resultError(w, influxql.Result{Err: fmt.Errorf("database not found: %q", bp.Database)}, http.StatusNotFound)
		return
	}

	if h.requireAuthentication && user == nil {
		resultError(w, influxql.Result{Err: fmt.Errorf("user is required to write to database %q", bp.Database)}, http.StatusUnauthorized)
		return
	}

	if h.requireAuthentication && !user.Authorize(influxql.WritePrivilege, bp.Database) {
		resultError(w, influxql.Result{Err: fmt.Errorf("%q user is not authorized to write to database %q", user.Name, bp.Database)}, http.StatusUnauthorized)
		return
	}

	points, err := NormalizeBatchPoints(bp)
	if err != nil {
		resultError(w, influxql.Result{Err: err}, http.StatusBadRequest)
		return
	}

	// Convert the json batch struct to a points writer struct
	if err := h.PointsWriter.WritePoints(&cluster.WritePointsRequest{
		Database:         bp.Database,
		RetentionPolicy:  bp.RetentionPolicy,
		ConsistencyLevel: cluster.ConsistencyLevelOne,
		Points:           points,
	}); err != nil {
		h.statMap.Add(statPointsWrittenFail, int64(len(points)))
		if influxdb.IsClientError(err) {
			resultError(w, influxql.Result{Err: err}, http.StatusBadRequest)
		} else {
			resultError(w, influxql.Result{Err: err}, http.StatusInternalServerError)
		}
		return
	}
	h.statMap.Add(statPointsWrittenOK, int64(len(points)))

	w.WriteHeader(http.StatusNoContent)
}

// serveWriteLine receives incoming series data in line protocol format and writes it to the database.
func (h *Handler) serveWriteLine(w http.ResponseWriter, r *http.Request, body []byte, user *meta.UserInfo) {
	// Some clients may not set the content-type header appropriately and send JSON with a non-json
	// content-type.  If the body looks JSON, try to handle it as as JSON instead
	if len(body) > 0 {
		var i int
		for {
			// JSON requests must start w/ an opening bracket
			if body[i] == '{' {
				h.serveWriteJSON(w, r, body, user)
				return
			}

			// check that the byte is in the standard ascii code range
			if body[i] > 32 || i >= len(body)-1 {
				break
			}
			i++
		}
	}

	precision := r.FormValue("precision")
	if precision == "" {
		precision = "n"
	}

	points, parseError := models.ParsePointsWithPrecision(body, time.Now().UTC(), precision)
	// Not points parsed correctly so return the error now
	if parseError != nil && len(points) == 0 {
		if parseError.Error() == "EOF" {
			w.WriteHeader(http.StatusOK)
			return
		}
		resultError(w, influxql.Result{Err: parseError}, http.StatusBadRequest)
		return
	}

	database := r.FormValue("db")
	if database == "" {
		resultError(w, influxql.Result{Err: fmt.Errorf("database is required")}, http.StatusBadRequest)
		return
	}

	if di, err := h.MetaClient.Database(database); err != nil {
		resultError(w, influxql.Result{Err: fmt.Errorf("metastore database error: %s", err)}, http.StatusInternalServerError)
		return
	} else if di == nil {
		resultError(w, influxql.Result{Err: fmt.Errorf("database not found: %q", database)}, http.StatusNotFound)
		return
	}

	if h.requireAuthentication && user == nil {
		resultError(w, influxql.Result{Err: fmt.Errorf("user is required to write to database %q", database)}, http.StatusUnauthorized)
		return
	}

	if h.requireAuthentication && !user.Authorize(influxql.WritePrivilege, database) {
		resultError(w, influxql.Result{Err: fmt.Errorf("%q user is not authorized to write to database %q", user.Name, database)}, http.StatusUnauthorized)
		return
	}

	// Determine required consistency level.
	consistency := cluster.ConsistencyLevelOne
	switch r.Form.Get("consistency") {
	case "all":
		consistency = cluster.ConsistencyLevelAll
	case "any":
		consistency = cluster.ConsistencyLevelAny
	case "one":
		consistency = cluster.ConsistencyLevelOne
	case "quorum":
		consistency = cluster.ConsistencyLevelQuorum
	}

	// Write points.
	if err := h.PointsWriter.WritePoints(&cluster.WritePointsRequest{
		Database:         database,
		RetentionPolicy:  r.FormValue("rp"),
		ConsistencyLevel: consistency,
		Points:           points,
	}); influxdb.IsClientError(err) {
		h.statMap.Add(statPointsWrittenFail, int64(len(points)))
		resultError(w, influxql.Result{Err: err}, http.StatusBadRequest)
		return
	} else if err != nil {
		h.statMap.Add(statPointsWrittenFail, int64(len(points)))
		resultError(w, influxql.Result{Err: err}, http.StatusInternalServerError)
		return
	} else if parseError != nil {
		// We wrote some of the points
		h.statMap.Add(statPointsWrittenOK, int64(len(points)))
		// The other points failed to parse which means the client sent invalid line protocol.  We return a 400
		// response code as well as the lines that failed to parse.
		resultError(w, influxql.Result{Err: fmt.Errorf("partial write:\n%v", parseError)}, http.StatusBadRequest)
		return
	}

	h.statMap.Add(statPointsWrittenOK, int64(len(points)))
	w.WriteHeader(http.StatusNoContent)
}

// serveOptions returns an empty response to comply with OPTIONS pre-flight requests
func (h *Handler) serveOptions(w http.ResponseWriter, r *http.Request) {
	w.WriteHeader(http.StatusNoContent)
}

// servePing returns a simple response to let the client know the server is running.
func (h *Handler) servePing(w http.ResponseWriter, r *http.Request) {
	h.statMap.Add(statPingRequest, 1)
	w.WriteHeader(http.StatusNoContent)
}

// serveStatus returns a simple response to let the client know the whole cluster is running.
func (h *Handler) serveStatus(w http.ResponseWriter, r *http.Request) {
	h.statMap.Add(statStatusRequest, 1)

	if err := h.MetaClient.Ping(false); err != nil {
		w.WriteHeader(http.StatusServiceUnavailable)
		return
	}

	w.WriteHeader(http.StatusNoContent)
}

// convertToEpoch converts result timestamps from time.Time to the specified epoch.
func convertToEpoch(r *influxql.Result, epoch string) {
	divisor := int64(1)

	switch epoch {
	case "u":
		divisor = int64(time.Microsecond)
	case "ms":
		divisor = int64(time.Millisecond)
	case "s":
		divisor = int64(time.Second)
	case "m":
		divisor = int64(time.Minute)
	case "h":
		divisor = int64(time.Hour)
	}

	for _, s := range r.Series {
		for _, v := range s.Values {
			if ts, ok := v[0].(time.Time); ok {
				v[0] = ts.UnixNano() / divisor
			}
		}
	}
}

// MarshalJSON will marshal v to JSON. Pretty prints if pretty is true.
func MarshalJSON(v interface{}, pretty bool) []byte {
	var b []byte
	var err error
	if pretty {
		b, err = json.MarshalIndent(v, "", "    ")
	} else {
		b, err = json.Marshal(v)
	}

	if err != nil {
		return []byte(err.Error())
	}
	return b
}

// Point represents an InfluxDB point.
type Point struct {
	Name   string                 `json:"name"`
	Time   time.Time              `json:"time"`
	Tags   map[string]string      `json:"tags"`
	Fields map[string]interface{} `json:"fields"`
}

// Batch is a collection of points associated with a database, having a
// certain retention policy.
type Batch struct {
	Database        string  `json:"database"`
	RetentionPolicy string  `json:"retentionPolicy"`
	Points          []Point `json:"points"`
}

// serveExpvar serves registered expvar information over HTTP.
func serveExpvar(w http.ResponseWriter, r *http.Request) {
	w.Header().Set("Content-Type", "application/json; charset=utf-8")
	fmt.Fprintf(w, "{\n")
	first := true
	expvar.Do(func(kv expvar.KeyValue) {
		if !first {
			fmt.Fprintf(w, ",\n")
		}
		first = false
		fmt.Fprintf(w, "%q: %s", kv.Key, kv.Value)
	})
	fmt.Fprintf(w, "\n}\n")
}

// httpError writes an error to the client in a standard format.
func httpError(w http.ResponseWriter, error string, pretty bool, code int) {
	w.Header().Add("content-type", "application/json")
	w.WriteHeader(code)

	response := Response{Err: errors.New(error)}
	var b []byte
	if pretty {
		b, _ = json.MarshalIndent(response, "", "    ")
	} else {
		b, _ = json.Marshal(response)
	}
	w.Write(b)
}

func resultError(w http.ResponseWriter, result influxql.Result, code int) {
	w.Header().Add("content-type", "application/json")
	w.WriteHeader(code)
	_ = json.NewEncoder(w).Encode(&result)
}

// Filters and filter helpers

// parseCredentials returns the username and password encoded in
// a request. The credentials may be present as URL query params, or as
// a Basic Authentication header.
// as params: http://127.0.0.1/query?u=username&p=password
// as basic auth: http://username:password@127.0.0.1
func parseCredentials(r *http.Request) (string, string, error) {
	q := r.URL.Query()

	if u, p := q.Get("u"), q.Get("p"); u != "" && p != "" {
		return u, p, nil
	}
	if u, p, ok := r.BasicAuth(); ok {
		return u, p, nil
	}
	return "", "", fmt.Errorf("unable to parse Basic Auth credentials")
}

// authenticate wraps a handler and ensures that if user credentials are passed in
// an attempt is made to authenticate that user. If authentication fails, an error is returned.
//
// There is one exception: if there are no users in the system, authentication is not required. This
// is to facilitate bootstrapping of a system with authentication enabled.
func authenticate(inner func(http.ResponseWriter, *http.Request, *meta.UserInfo), h *Handler, requireAuthentication bool) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		// Return early if we are not authenticating
		if !requireAuthentication {
			inner(w, r, nil)
			return
		}
		var user *meta.UserInfo

		// Retrieve user list.
		uis := h.MetaClient.Users()

		// TODO corylanou: never allow this in the future without users
		if requireAuthentication && len(uis) > 0 {
			username, password, err := parseCredentials(r)
			if err != nil {
				h.statMap.Add(statAuthFail, 1)
				httpError(w, err.Error(), false, http.StatusUnauthorized)
				return
			}
			if username == "" {
				h.statMap.Add(statAuthFail, 1)
				httpError(w, "username required", false, http.StatusUnauthorized)
				return
			}

			user, err = h.MetaClient.Authenticate(username, password)
			if err != nil {
				h.statMap.Add(statAuthFail, 1)
				httpError(w, err.Error(), false, http.StatusUnauthorized)
				return
			}
		}
		inner(w, r, user)
	})
}

type gzipResponseWriter struct {
	io.Writer
	http.ResponseWriter
}

func (w gzipResponseWriter) Write(b []byte) (int, error) {
	return w.Writer.Write(b)
}

func (w gzipResponseWriter) Flush() {
	w.Writer.(*gzip.Writer).Flush()
}

// determines if the client can accept compressed responses, and encodes accordingly
func gzipFilter(inner http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") {
			inner.ServeHTTP(w, r)
			return
		}
		w.Header().Set("Content-Encoding", "gzip")
		gz := gzip.NewWriter(w)
		defer gz.Close()
		gzw := gzipResponseWriter{Writer: gz, ResponseWriter: w}
		inner.ServeHTTP(gzw, r)
	})
}

// versionHeader takes a HTTP handler and returns a HTTP handler
// and adds the X-INFLUXBD-VERSION header to outgoing responses.
func versionHeader(inner http.Handler, h *Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		w.Header().Add("X-InfluxDB-Version", h.Version)
		inner.ServeHTTP(w, r)
	})
}

// cors responds to incoming requests and adds the appropriate cors headers
// TODO: corylanou: add the ability to configure this in our config
func cors(inner http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		if origin := r.Header.Get("Origin"); origin != "" {
			w.Header().Set(`Access-Control-Allow-Origin`, origin)
			w.Header().Set(`Access-Control-Allow-Methods`, strings.Join([]string{
				`DELETE`,
				`GET`,
				`OPTIONS`,
				`POST`,
				`PUT`,
			}, ", "))

			w.Header().Set(`Access-Control-Allow-Headers`, strings.Join([]string{
				`Accept`,
				`Accept-Encoding`,
				`Authorization`,
				`Content-Length`,
				`Content-Type`,
				`X-CSRF-Token`,
				`X-HTTP-Method-Override`,
			}, ", "))

			w.Header().Set(`Access-Control-Expose-Headers`, strings.Join([]string{
				`Date`,
				`X-Influxdb-Version`,
			}, ", "))
		}

		if r.Method == "OPTIONS" {
			return
		}

		inner.ServeHTTP(w, r)
	})
}

func requestID(inner http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		uid := uuid.TimeUUID()
		r.Header.Set("Request-Id", uid.String())
		w.Header().Set("Request-Id", r.Header.Get("Request-Id"))

		inner.ServeHTTP(w, r)
	})
}

func logging(inner http.Handler, name string, weblog *log.Logger) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		start := time.Now()
		l := &responseLogger{w: w}
		inner.ServeHTTP(l, r)
		logLine := buildLogLine(l, r, start)
		weblog.Println(logLine)
	})
}

func recovery(inner http.Handler, name string, weblog *log.Logger) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		start := time.Now()
		l := &responseLogger{w: w}

		defer func() {
			if err := recover(); err != nil {
				logLine := buildLogLine(l, r, start)
				logLine = fmt.Sprintf(`%s [panic:%s]`, logLine, err)
				weblog.Println(logLine)
			}
		}()

		inner.ServeHTTP(l, r)
	})
}

// Response represents a list of statement results.
type Response struct {
	Results []*influxql.Result
	Err     error
}

// MarshalJSON encodes a Response struct into JSON.
func (r Response) MarshalJSON() ([]byte, error) {
	// Define a struct that outputs "error" as a string.
	var o struct {
		Results []*influxql.Result `json:"results,omitempty"`
		Err     string             `json:"error,omitempty"`
	}

	// Copy fields to output struct.
	o.Results = r.Results
	if r.Err != nil {
		o.Err = r.Err.Error()
	}

	return json.Marshal(&o)
}

// UnmarshalJSON decodes the data into the Response struct
func (r *Response) UnmarshalJSON(b []byte) error {
	var o struct {
		Results []*influxql.Result `json:"results,omitempty"`
		Err     string             `json:"error,omitempty"`
	}

	err := json.Unmarshal(b, &o)
	if err != nil {
		return err
	}
	r.Results = o.Results
	if o.Err != "" {
		r.Err = errors.New(o.Err)
	}
	return nil
}

// Error returns the first error from any statement.
// Returns nil if no errors occurred on any statements.
func (r *Response) Error() error {
	if r.Err != nil {
		return r.Err
	}
	for _, rr := range r.Results {
		if rr.Err != nil {
			return rr.Err
		}
	}
	return nil
}

// NormalizeBatchPoints returns a slice of Points, created by populating individual
// points within the batch, which do not have times or tags, with the top-level
// values.
func NormalizeBatchPoints(bp client.BatchPoints) ([]models.Point, error) {
	points := []models.Point{}
	for _, p := range bp.Points {
		if p.Time.IsZero() {
			if bp.Time.IsZero() {
				p.Time = time.Now()
			} else {
				p.Time = bp.Time
			}
		}
		if p.Precision == "" && bp.Precision != "" {
			p.Precision = bp.Precision
		}
		p.Time = client.SetPrecision(p.Time, p.Precision)
		if len(bp.Tags) > 0 {
			if p.Tags == nil {
				p.Tags = make(map[string]string)
			}
			for k := range bp.Tags {
				if p.Tags[k] == "" {
					p.Tags[k] = bp.Tags[k]
				}
			}
		}

		if p.Measurement == "" {
			return points, fmt.Errorf("missing measurement")
		}

		if len(p.Fields) == 0 {
			return points, fmt.Errorf("missing fields")
		}
		// Need to convert from a client.Point to a influxdb.Point
		pt, err := models.NewPoint(p.Measurement, p.Tags, p.Fields, p.Time)
		if err != nil {
			return points, err
		}
		points = append(points, pt)
	}

	return points, nil
}


Spring sunlight gradually warms the meadows, until they bloom with a sudden profusion of wildflowers. This lightweight jacket evokes an alpine meadow with opulent floral embroidery, highlighted with silvery swirls and framed with golden trim. Oil-dyed fabric has a lovely textured appearance, which will vary slightly. Features stand-up collar and open front. Cotton/elastane; hand wash. Sizes S-XL.


Several days ago, I was watching a documentary about a "Holy woman" who travels around the world giving hugs to the thousands of people who come to sit in her presence, but when one of her devotees said that this woman "wasn't like the rest of us", I just knew that this was not true. I'm not doubting the claims that others feel calmed and blessed by her, or even that her presence has dramatically changed many lives for the better, but no person is "holier" than another. No one should be worshiped or elevated to super-human status (or dismissed as unenlightened or unconscious).
The externals: titles, education, styles of worship, religious heirachy, and choice of religion (or not), have no bearing at all on who we really are. Some people are more "awakened" to their true nature (and thus become great blessings to the world) but we are all points of Divine consciousness, in the process of remembering who we are, and as this process unfolds within each one of us, we realize the equality of all.
I totally agree with you Mary. We all have the ability in us but it's up to us to find our divine being.
Fred looks so adorable in this photo!
Thanks for your wonderful post (and photo of Fred). What you said made me think of the quote from Pierre Tielhard de Chardin, "We are not human beings having a spiritual experience; we are spiritual beings having a human experience." He isn't referring to some of us, but rather to all of us. It's humbling to remember that, and even Peter was still on his spiritual journey when Cornelius worshipped him.
Thank you, Mary. The Divine is within each of us. When we elevate people and put them on pedestals, they have to fall off because they are human like the rest of us.
Dear Mary. Thank you for this tender reminder (and Fred's precious presence chiming in as well) that each and every being is an expression of life…and therefore an expression of the divine. I am always flooded with such peace and hope when I remember this very simple yet profound truth.
I agree with Kathleen's comment…Having been to a place in MA where just such a person existed as the head of an ashram type of place, with yoga and so on studied as courses, there was my discomfort of the worship that was centred on this one man. I believe we have guides in our lives but we all have the capacity for leading and being more spiritual in how we are.
I love the concept that everyone is holy…that everyone should be worshipped …for everyone does have something profound to offer it just may not always be immediately obvious. Anyone from whom we learn a lesson, be it a homeless person, a cranky neighbor, a precocious child, becomes a teacher…we ARE all points of Divine consciousness. Thanks Mary for reminding me that it's not enough to remember who I AM…it is equally important to recognize the Holiness in others…if I AM truly awakened.
We are assured that we were made in the image of God. Therefore there is that kernel of holiness within each one of us waiting to prosper in the Light, from the moment of our birth. And I don't believe it's ever to late to help someone discover that kernel of God deep within. One of the Ten commandments reminds us not to bow down before any other God or graven image, but false idols abound. May we see with discerning eyes and recognize the holy in each other. Thank you Mary!
Well, I can see both sides. I personally don't believe in the guru system because there is such a potential for abuse as we have all read about, where one person is almost worshiped, and the followers give away their power and discursive thinking. But at the same time, although we all have the divine spark in us, it doesn't manifest in each of us equally. In some, such as a serial killer, the divine is not easily seen. In others, such as Byron Katie, the divine shines through every cell of her body.
I'm always pleased to find someone who is clear about their purpose and passion as they serve their spirit. It is a good thing to have role models and mentors and inspiration. But what we are seeing in those people is a reflection of our potential. I don't always see it in myself , but am eager to see it in someone else. A little back door glimpse at my own grace, I suppose.
You make me smile cheryl b.
"The divine in me, honors the divine in you. " A quote I have heard in yoga class. Thank you Mary and Fred is precious!
Terri Brown, I agree. Fred is precious. And I really like the expression 'The divine in me, honors the divine in you" A yoga class I attended ended with this expression. We used the Indian translation which sounds like "Jabawan." I don't know the correct spelling. It was nice to hear it today. Thank you.
In Buddhism, it's taught that we all have the potential for awakened mind; but some special folks have dropped more of the obscurations of it, and they can teach the rest of us or just shine as an example of what it looks like. I think this teacher is someone who has uncovered more of her fully open and awake nature than most, so she appears "special" to those who spend time with her. With traveling the world and hugging people, she expresses that nature and lives as an example of what we all can manifest. It is useful to spend time with someone like that as an inspiring and energizing influence, because it does take focus and effort to unmask the true light of our nature.


text:
Russia's state TV says Nuclear War is Coming Because the West doesn't understand What happens next
6 June 2022 6 June 2022 adm-zagami
Donation in support of Leo's work through Fundly: https://fundly.com/leo-lyon-zagami-channel or https://www.gofundme.com/f/the-leo-zagami-show-lesule
The situation seems to be spiraling out of control as Vladimir Putin states that new Ukraine sites will be targeted if the West supplies more long-range weapons,
While the USS Kearsarge visits Stockholm to participate in a military training exercise involving 14 NATO states plus Finland and Sweden, the Russian political analyst Sergey Mikheyev used Russia's state-controlled TV to send another nuclear warning to the West, and this time it might include more truth than we can digest. Speaking on Russia's Channel 1, Mikheyev threatened that the weapons that keep reaching Ukraine will see the war in Ukraine escalate into WW3. "The nuclear war is coming", he added after warning "[the West] don't understand what happens next".
Should we consider this threat worse than the others? Yes, we should, because as I pointed out in the past, the Illuminati have a secret plan to depopulate this planet using among other things, a nuclear war.
TOP SECRET: Illuminati Nuclear Plan for Depopulation and Total Control Moves to the Next Stage!
In the meantime, the ever-so "colorful" and "dramatic" Chechen leader Ramzan Kadyrove, warned the Ukrainian population of "real special operations" to be conducted by Russian invaders "in the coming days" as the country remains under Putin's attack without really understating how close they are to a possible nuclear attack by the Russian Federation.
In 2020 a poll found that nearly one in five people believe that the coronavirus pandemic is a "depopulation tactic" but nobody has yet conducted a similar poll regarding the present nuclear threat that should also include not only the current threats by Russia but also the current revival of nuclear power plants.
Even with their apocalyptic reputation, nuclear power plants are increasingly promoted as relatively safe by the elite that needs them.
There is the danger that more nuclear power stations in the world could mean more nuclear weapons, after all, the first nuclear power stations were built primarily to provide fissile material for nuclear weapons during the Cold War. Nuclear materials may also get into the wrong hands and be used to make a crude nuclear device or a so-called 'dirty bomb'.
So, while we don't fully understand yet the seriousness of the Russian threat, we can say with certainty that one way, or another the nuclear threat is alive and kicking on multiple sides and is rising as we speak. The connections between nuclear power and nuclear weapons have always been very close and are largely kept secret. Most governments take great pains to keep their connections well hidden, the nuclear power industry's habit of hiding things from the public was established right at its beginning, due to its close connections with military weapons that are not back in high demand. That's why we need to be ready for something terrible as The Great Reset continues to expand.
After 500 days of the Worst President in History and 100 days of Senseless War the Bilderbergers Meet in Washington DC
How Pope Francis is Planning his Resignation and Future "Black" Pope


text:
Database Reports Deal Monitors Data Stories Data Vantage Newsletter
Manage Account Logout
IPOs & Markets
Indonesia Singapore Malaysia Vietnam Thailand Philippines Myanmar
E-Commerce & Internet Economy
Deals Barometer
Get the best of our daily coverage and in-depth analysis with our free newsletters. Sign up NOW.
China: Alibaba Group discusses JV with Russia's Sberbank
A logo of Alibaba Group is pictured at its headquarters in Hangzhou, Zhejiang province, China, October 14, 2015. REUTERS/Stringer CHINA OUT
By Shiwen Yap
Sberbank, Russia's national savings bank, and China's Alibaba Group are discussing the creation of a joint venture (JV) that would integrate Alibaba's existing cross-border e-commerce businesses in Russia and neighboring countries, including B2C marketplace AliExpress.ru.
The terms of the JV would see Sberbank maintain a 50 per cent equity interest, in exchange for financial, marketing and technological support. Sberbank would get an at least 50% stake in the joint venture, which would be registered as a Russian legal entity.
According to a report by Kommersant, the talks involve members of the Russian government and central bank as well and are close to an agreement which might see the JV launch in H1 2017. It potentially involved Alibaba's cross-border businesses in Turkey.
Sberbank was reportedly developing a national e-commerce ecosystem in November 2016, with the aim of gathering various partners to share a common platform enabling B2B and B2C e-commerce.
For Alibaba, which maintains a Russian subsidiary, this new deal has a compelling rationale and is strategic in nature. Besides easing access to the markets of the Eurasian Economic Union (EAEU), such a JV could see Alibaba bypass regulations and bureaucracy, granting it a decisive competitive advantage.
In an exchange with Russia Beyond The Headlines, Oleg Remyga, China director at the Skolkovo Moscow School of Management, said, ""It is no secret that Sberbank is positioning itself as the most innovative bank [in Russia], and access to Alibaba Group's new financial and banking technologies will help it obtain that status."
However, given the political dimensions of such a JV, diplomatic tensions within the EAEU may inhibit the growth of such a JV. Alternatively, such a JV could help ease diplomatic tension through its ability to foster greater e-comerce trade amongst the member nations of the EAEU. But it also raises the long-term question of whether China's Silk Road infrastructure initiative synchronises with Russia's Central Asian ambitions.
Toy seller Detsky Mir plans listing as investors bet on Russia
Russia: Rusnano to launch two new nanotech funds in 2017
Russia: Sberbank, Sistema forge strategic partnership
Alibaba Alibaba Group Eurasian Economic Union Sberbank
Share this story with your friends and colleagues.
Bring stories like this into your inbox every day.
Sign up for our newsletter - The Daily Brief
Create an account to continue reading our free content.
Opt out of receiving The Daily Brief in your inbox everyday
stories_left_placeholder You have one free story left this month. You have stories_left_placeholder free stories left this month. This is your last free story of the month. Register to continue reading our free content.
© Copyright DEALSTREETASIA 2014-2022 All rights reserved.
We will never share your information with third parties.
If you don't already have an account click the button below to create your account.
Join DealstreetAsia's premium subscription service
Unlock your competitive advantage in a rapidly evolving landscape. Our packages come with exclusive access to archive content, data, discount on summit tickets & more.
Be a part of our growing community now.
Singapore Reporter/s
In Singapore, we are looking to double our reporting team by this year-end to comprehensively cover the fast-moving world of funded startups and VC, PE & M&A deals. We want reporters who can tell our readers what is really happening in these sectors and why it matters to markets, companies and consumers. The ability to write precisely and urgently is crucial for these roles. Ideal candidates must have to ability to work in a collaborative, dynamic, and fast-changing environment. We want our new hires to be digitally savvy and ready to experiment with new forms of storytelling. Most importantly, we are looking for hard-hitting reporters who work well in a team. Collaboration and collegiality are a must.
Following vacancies can be applied for (only in Singapore).
A reporter to track companies/startups that have raised private capital, and have the potential to become unicorns. SEA currently has over 40 companies with a valuation of over $100 million and under $1 billion.
A reporter who can get behind the scenes and reveal how funding rounds are put together, or why they've failed to materialise. She/he in this role will largely focus on long-format stories.
A journalist to track special situations funds, distressed debt and private credit (from the PE angle) across Asia.


text:
This is a list of members of the Tasmanian House of Assembly, elected at the 2006 state election.

 Labor MHA for Franklin and outgoing Premier of Tasmania, Paul Lennon, resigned on 27 May 2008. Ross Butler was elected as his replacement on 10 June 2008.
 Tasmanian Greens MHA for Denison and party leader, Peg Putt, resigned on 7 July 2008. Cassy O'Connor was elected as her replacement on 21 July 2008. Putt was replaced as leader by Nick McKim.
 Labor MHA for Franklin, Paula Wriedt, resigned on 18 January 2009. Daniel Hulme was elected as her replacement on 2 February 2009.

Distribution of seats

See also
List of past members of the Tasmanian House of Assembly

Members of Tasmanian parliaments by term
21st-century Australian politicians

redpajama_set_name: RedPajamaWikipedia


To celebrate our 2nd release of Cherry Red switch Filco keyboards after the initial launch back in March 2011, we'll be stocking a limited edition Red on Red model. These new keyboards feature a beautiful Italian red chassis to match the Cherry MX red mechanical switches at their heart.
Red switches are the newest switches to be added to the Majestouch line and have proved quite popular since their introduction. The switch is characterised by an extremely light touch – just 45 cN is required to actuate them. They are a linear switch, like the older Cherry MX Black, forgoing the tactile bump or audible click that you'll find in a board using Cherry MX Brown or Blue switches. This makes them quieter than their fellows, and therefore more suitable for a crowded office environment.
Whether you're using a red switch keyboard for typing or gaming, you'll be satisfied. The low actuation force of these switches makes typing particularly effort-free, although some users may miss the more readily apparent feedback provided by a Brown or Blue switch. The red switches have also proved popular in the gaming space, particularly for FPS players as the light linear switches are easy to double-tap on and generally rapid to use. Of course, everyone has different tastes, but a Cherry Red switch is well worth trying out if you haven't already.
Filco Majestouch-2 keyboards are the gold standard of mechanical keyboards, so whether this is your first mechanical or your fifth we hope you'll have a look at these gorgeous Red on Red models. For more information and photographs of these keyboards, please visit the official Keyboard Company product page via the links below.
Thanks for visiting our blog once more, and please do leave your comments below if you have a few moments. I'm always happy to answer any questions or respond to any feedback you might have, whether it's via those comments, on Twitter @keyboardco or on the KeyboardCo page on Facebook. Have a great day!
‹ New Matias keyboards announced at CES, coming soon to Keyboard Co!


Presently, more than 10 medical conditions are caused by issues in the thyroid, the butterfly-shaped gland located near the windpipe. However, it is necessary to have well-balanced thyroid functioning for maintaining proper health and bodily functions. This is mainly because the thyroid gland is responsible for maintaining hormonal and chemical balance in the body. It also plays a vital role in the growth and development of the human body.
Many women suffer from different thyroid issues without even being aware of them. In most of the cases, the signs are very subtle and hard to diagnose but they can take a toll on a person's metabolism, mental health, and everyday functioning.
Other than these two conditions, there are numerous other factors that are caused by irregularities in the thyroid gland. For example, it can be very difficult to maintain your ideal weight if your thyroid is imbalanced. Similarly, there are countless other ways in which the thyroid gland can influence your health.
One of the classic signs of problems in your thyroid gland is fatigue. If you do not feel active and energized no matter how many hours you sleep, your thyroid gland might be responsible for it. The lower levels of thyroid hormones flowing in the blood can cause weakness and numbness in the muscles.
Lower levels of thyroid hormones can also substantially affect the psychological well being of a person. Problems in the thyroid gland can cause problems in thinking clearly, maintaining focus, making decisions and performing daily activities.
There is a significant effect of the thyroid hormone on the digestion process. Hypothyroidism can cause constipation and abdominal pain. Hypothyroidism can also cause anxiety and nervousness. On the other hand, an underactive thyroid gland can cause diarrhea and nausea.
Other than this, it can also directly affect your weight. A lot of people continue exercising and eating right but still cannot manage to lose weight. More often than not, it is directly linked to their thyroid levels.
Since imbalance in thyroid levels is the reason behind a lot of medical problems, there has been extensive research to find the right cure. However, no medications or pills seem to treat the symptoms as the condition is caused by an autoimmune disorder. Thus, the first response of the medicine suppresses the development of thyroid hormones which reduces the impact of the thyroid receptors. If the receptors do not work properly, no amount of medicine will make any difference. Therefore, it is very important to come up with an idea that cures the issues without suppression of any natural hormones.
Thyroid Support Supplement is widely used for balancing thyroid levels while maintaining the ideal weight and functionality of the ovaries. It can also help in substantially improving and balancing the overall health. The oil naturally works for all types of thyroid issues including hyperthyroidism and hypothyroidism. What results should you expect by using this oil?
Thyroid support oil can also help to balance other hormones in the body and produce a calming and relaxing effect. It can also notably help in improving your memory. It is also good for normalizing blood sugar levels. Along with all this, thyroid support oil also assists in normalizing blood pressure levels.
Impact on Weight and Physical Health.
You should try the thyroid support organic essential blend to maintain your desired weight. The product is an amazing proof of how the human body and essential oils can magically work together to promote thyroid health. It is specifically designed for women. It provides an extra strength organic essential oil blend. The oil can also help in lowering blood glucose and decrease the urge to eat something. Additionally, it can also boost metabolism and help in taking away fats from the body.
It can further help in balancing the hormones by reducing stress, help you sleep better and at the same time, reduce your cortisol levels. You will also find a substantial improvement in your cognitive functionality and digestion. The oil also helps in balancing the natural abilities of the body and stimulating the immune system. It also decreases any hormonal imbalances which might be caused by the pituitary glands. The essential oil also supports the antibodies, toning the digestive system and strengthening the immune system.
Any trouble in thyroid function can significantly affect different parts of your body. Even your moods, emotions and well being are completely affected by thyroid glands. This unique oil has green myrtle essential oil which has been obtained from natural leaves. The adaptogen can stimulate thyroid activity and bring it to normal. It is ideal for people suffering from both hypothyroidism and hyperthyroidism, as it can bring the functionality of the thyroid gland to a normal level.
The use of essential oil is completely different from other drugs since it contains agents to normalize the function of the thyroid and other organs. Not only can essential oil help in maintaining a healthy body weight by boosting your metabolism, but it can also decrease the chances of other infections and diseases for a healthier 'you'.


text:
System Thinking - Concrete Wants vs Complex Realities
Over the last two blog posts and throughout the STW/STiA Systems Thinking Certification course the search has been for something concrete in systems thinking which to apply to new community paradigms. The concern arising from the reality that systems thinking can be overly abstract making its adoption problematic was raised in Systems Thinking 2nd Segment - Striving for a Better Understanding and other past articles in this series. The concern that the issues communities must deal with can be too abstract to be readily approachable was raised in relation to complexity in Complexity Addressed From On High and elsewhere. The irony is that systems thinking is supposed to be a means of addressing complexity. It is natural then to look for something concrete to build an effort upon, we want pragmatic solutions without wasting too much time on theory.
First, though we have to define what we mean when we ask for something to be concrete and we are not talking about driveways. Examined closely, concrete can be a troublesome, imprecise term if not talking about "heavy, rough building material made from a mixture of broken stone or gravel, sand, cement, and water, that can be spread or poured into molds and that forms a stone-like mass on hardening".
At worse, if we push the metaphor to its fullest extent, a hardened mass, it can then be thought of as a talisman against complexity, in that if we could make all our processes and outcomes concrete then we would never be afflicted by complexity. At best, concrete serves as a metaphor, not a particularly concrete concept, that can apply to understanding real life problems as in concrete reasoning but used, as we all do, in this manner the word concrete doesn't necessarily mean material.
For something then to be concrete, it does not have to be something determined by the senses but then it cannot be merely a possibility either. Concrete can still be defined as constituting an actual thing or instance as in the concrete proof of someone's sincerity, or a concrete occurrence of a systems archetype. It should be something existing in fact, as in concrete evidence. It could be the concrete application of a systems leverage point as developed by Donella Meadows. With systems thinking it should be defined in the context of concrete processes rather than focus on concrete outcomes as the Advisory Board does here. Our focus is usually on concrete outcomes with ends excusing means.
The difference, in my own view, is that systems thinking should be focused more on process or means and should be distinct though not separate from outcomes. Outcomes, need their own separate focus and systemic processes, more in line with dynamic systems methods than soft systems methods, but should still be extended from the systems thinking process that came prior in developing the approach. Moreover, systems thinking cannot see itself as being able to provide answers independent of the field with which it is working or be seen as a tactic to be used only occasionally. There has to be deep integration for this to work long term.
One problem with the term concrete is that it tends to create an image of 'set in stone' and while most would argue against setting strategies in stone, we are inadequate to deal with multi-loop nonlinear feedback systems which can only be imagined as being dynamic.
"In the long history of evolution, it has not been necessary until very recent historical times for people to understand complex feedback systems. Evolutionary processes have not given us the mental ability to interpret properly the dynamic behavior of those complex systems in which we are now embedded."
A number of papers demonstrate where this can have a significant impact. The first, from where the above quote was taken, COUNTERINTUITIVE BEHAVIOR OF SOCIAL SYSTEMS (pdf) is by J. W. Forrester, who was cited in the previous blog post as the founder of Systems Dynamics. The article demonstrates how problems can arise when these principles are ignored.
According to Forrester, our own individual mental models are fuzzy, incomplete, and imprecisely formed, continually changing with time, even in conversations. Even with only a single subject each participant in a conversation employs a different mental model with different fundamental assumptions never brought into the open and different goals left unstated. Our thinking is not as concrete as we would like to think.
System dynamics computer simulation models, even though they deal with dynamic complex systems are a concrete process. They are explicit about assumptions and how they interrelate by clearly describing concepts that are fully understandable in words through a computer model which forces clarification of ideas so that unclear and hidden assumptions are exposed, examined and debated.
The essential element though is not having a computer but how the computer is used to create the model. The George Box rule, stated before, still applies, all computer models are wrong, but some are useful or as Forrester says in the article.
"With respect to models, the key is not to computerize a model, but, instead, to have a model structure and decision-making policies that properly represent the system under consideration."
"A good computer model is distinguished from a poor one by the degree to which it captures the essence of a system that it represents."
The essence of a community system is complex which means the data coming out of it is complex. It does not mean that we necessarily need more data, as Forrester asserts in the article.
"The problem is not shortage of data but rather inability to perceive the consequences of information we already possess. The system dynamics approach starts with concepts and information on which people are already acting."
Further along in that same section, we arrive at the paradox of complex systems in our society, "Generally, behavior is different from what people have assumed." Forrester goes on to demonstrate how System dynamics models help us understand how difficulties within actual social systems arise, and why so many past efforts to improve social systems have failed.
The country has slipped into short-term policies for managing cities that have become part of the system that is generating even greater troubles.
Rather than face the rising population problem squarely, governments try to relieve the immediate pressures by more policemen, financial aid, busing to suburban schools, and subsidized health facilities. As a consequence, increasing population reduces the quality of life for everyone.
With simple systems, causes are close to symptoms of a problem in both time and space. In complex systems or with wicked problems, causes are often far removed in both time and space from the symptoms, lying far back in time and arising from an entirely different part of the system from when and where the symptoms occur, easily misleading us into believing our actions to alleviate the symptoms to be concrete in nature.
Policy improvements in the short run often degrade a system in the long run while policies producing long-run improvements often initially degrade the system at the start. Because the short run is more visible and more compelling, calling for immediate attention its impact is not really more concrete but more entrenched as Forrester explains.
"However, sequences of actions all aimed at short-run improvement can eventually burden a system with long-run depressants so severe that even heroic short-run measures no longer suffice. Many problems being faced today are the cumulative result of short-run measures taken in prior decades."
A second article, Leveraging Grantmaking: Understanding the Dynamics of Complex Social Systems, provided to me by Gene in response to a request for something more concrete related to system thinking, demonstrates how programs can be made more successful when these lessons were heeded. The article deals with the development of a 10-year plan to address homelessness in Calhoun County, Michigan (population 100,000).
A third, Making the Connections based on the Wellesley Institute Urban Health Model reaches out to the individual community member on issues of community health. Additional concrete examples can be found in A Collection of System Dynamics Consulting Projects.
0 comments Links to this post Labels: complex adaptive systems, complexity, systems thinking
System Thinking - Concrete Wants vs Complex Realit...


add url at directory of addurl.cc. very pleasure for add yours url and knowing our url from add url directories.
submit website at directory of submitawebsite.ltd. welcome submit yours website and searching our website online at submit a website ltd directories.


Touch of Class Event Management is committed to making your special event an enjoyable occasion for you. We aim to give you the best, without the stress, by providing a seamless service to give you an experience which will be no less than perfect! When we plan an event for you, we do it with care and attention to detail. We begin by personally knowing you and understanding your needs, always keeping your vision in mind.
We pride ourselves on providing you with the utmost professionalism, great attention to detail and personalized planning. When you allow us to plan your next event, you will be sure to save time and money, as well as, alleviate the stress of having to do it yourself. We offer a one-stop shop with many services and customized packages that are sure to create the most spectacular event. Let Touch of Class turn your dreams into a reality and make your event a memorable one!
Touch of Class Event Management is a certified wedding planner with Wedding.com and also a Notary Public in the State of Virginia for your needs.
Trust us to handle every aspect of your wedding day or special event, and be confident that the day you get hitched will go without a hitch.


So question. Is it normal to wait weeks - or even months - for tickets to be picked up?
Sadly, for a ticket for that particular issue, yes.
Ugh, thanks guys. Unfortunately I even had to go the route of making a new random side account just so I could even submit a ticket in the first place (which is, AFAIK, not against the rules since I can't.... access anything). Sigh. We'll see how it goes.
I need to figure out how to get into my sides on browsers that let me submit tickets in the first place. My main account has been frozen/glitched/dunno what since at least summer. Neo doesn't bother checking their support email, or it's so bogged down that they can't see but the tiniest fraction of it.
So I finally got a reply to my ticket... and unfortunately they basically won't help me unless I remember the EXACT e-mail address I signed up for Neopets with 15+ years ago. It's an old AOL e-mail so I just... have no idea. Even though I've offered a huge amount of proof that the account is mine... yeah. So basically still stuck.


A classic Victorian villa originally built in 1882 by a ship's carpenter which has been extended and loved over the past century. A family home full of happy memories with the current owners having lived here for over thirty-four years. They say they love the feel of the home. It's sunny, light and airy, it's so central to the village and ferry to the CBD, a must when they bought the home - it just works!
The main home consists of four bedrooms, two wonderful living areas, bathroom, and second w/c in the separate laundry. Set among charming gardens at the front and the rear, all positioned in a quiet street which is what many family buyers are looking for. Off-street parking and a single garage plus another driveway to park the boat or trailer are very rare in central Devonport.
The self-contained studio in the garden is perfect for teenagers or guests or a home office.
Full of character features, including timber floors and bay windows, this central Devonport villa is now available to love and enjoy by the next family looking to create some happy memories.


Who doesn't like a sparkly surprise? You'll receive a fabulous assortment of jewelry from our collection, with a total value of at least $100+. What will you get? Maybe it'll be a shiny skull bracelet. Or a crystal bib necklace. Perhaps a pair of statement earrings. A pearl ring, perchance? All of the above? More? Oh, the suspense!
We create these surprise jewelry boxes to bring a smile to your face. So while it might be great, it might be even better than that.
Did we say that this is a great way to get a jump on Christmas shopping? Jewels make for great stocking stuffers. Then again, you may want to keep all of the pieces for yourself.
Because this is a crazy amazing deal, all sales are final. Thanks for understanding!