text:
Cuba Symposium Tackled Tough Issues
April 8, 2011 | Posted by FundacionAmistad on In the News | 0 comments
By Dawn Gable
HAVANA TIMES, April 8 — Last week hundreds of scholars gathered at the City University of New York's Graduate Center to share their Cuba related research and projects; to discuss the island's current affairs, history and future; and to enjoy each other's anecdotes about their travels to the country where most US citizens are still forbidden to go.
The more than 50 panels covered a wide range of topics such as literature, biotechnology, race and gender, the colonial period, José Martí, social theory, religion, the diaspora, and tourism. To browse through or read the more than 200 papers presented at the Cuba Futures event, check the Bildner Center website from time to time where they will all be published eventually. The following is just a peek at some of the event highlights which addressed US-Cuba relations, the Cuban economy, humanitarian assistance, and digital media and included intimate discussions with legends of Cuban literature and Latin Jazz.
US-CUBA RELATIONS
Opening night plenary featured Robert Pastor, U.S. national security advisor on Latin America and the Caribbean during the Carter administration, who led the first secret negotiations with the Cuban government after diplomatic ties were severed in the early 60's. Pastor had just returned from accompanying President Carter on his second trip to the island where they met with both of the Castro brothers. Recalling what the elder brother told him decades ago, "US policy is to wait for me to die and I do not intend to cooperate," Pastor implied that Fidel's health is at least stable saying that "Fidel does not seem any more likely to cooperate now than he did then."
Pastor shared that President Carter would be submitting a written report about his visit to both President Obama and Secretary of State Clinton. While he listed several positive steps made by the Obama administration to improve relations between the countries, he was clear they were insufficient, specifically mentioning Obama's refusal to take a position on bills that would have lifted the travel ban outright and facilitated agricultural sales to Cuba.
He also denounced the fact that the current administration continues the "democracy programs" that led to the arrest of Alan Gross, who he admitted was in violation of Cuban law regardless of any details and who he hopes "doesn't have to serve as long as the Cuban Five have here in US prisons, which has been 13 years."
Regarding the eminent economic reforms, Pastor opined that Raul "wants to hand to the next generation an economy that works." But he said it was not clear if changes in the Cuban system will impact US-Cuba relations because of the symbolism of the embargo to Cuban-Americans, 55% of whom think the sanctions should remain even while 77% of them admit the embargo doesn't work. When asked by Mauricio Font, the chief organizer of the symposium, whether or not Cuban Americans are really driving US policy, he responded affirmatively reminding the audience of the tiny number of Florida votes that delivered Bush II to power in 2000. However, he conceded two other major factors: Cuba is low priority, so politicians don't want to waste political capital on the issue and the "physical existence of the original sinners" Fidel and Raul.
To close, Palmer recited a quote by George Washington that could apply to both Cuba and the US: The nation which indulges toward another a habitual hatred … is in some degree a slave. It is a slave to its animosity … which is sufficient to lead it astray from its duty and its interest.
Thanks to modest adjustments in regulations made by the Obama administration, several Cuban scholars were able to travel to the US and participate in the symposium unlike in past editions. On the panel "Cuban Perspectives on the Cuban Economy", four economists from the University of Havana think-tank Centro de Estudios de la Economía Cubana (Cuban Economy Study Center, CEEM) discussed various aspects of the Cuban economy.
Pavel Vidal assured that Cuba is gradually emerging from the recent crisis despite limited convertibility of the Cuban peso (CUC), noting, for example, that by mid-2010 Cuba had paid 2/3 of its frozen bank accounts. He painted a modestly optimistic future looking forward to institutional reforms, the expansion of contracted Cuban medical services to Algeria and Angola, and the realization of megaprojects such as the construction of a modern port at Mariel and oil refineries in Cienfuegos and Matanzas.
Everleny Pérez discussed the process of updating the Cuban economic model framed by the new economic guidelines released to the public late last year. In particular, he pointed out the lack of emphasis on micro-credits as well as contradictions in the document that will need to be addressed in the upcoming 6th Party Congress (April 16-19). Armando Nova described the guidelines as laying out "what" needs to be done, but now the "how" has to be worked out.
Camila Piñeiro provided a look at the non-state sector that is expected to spike over the coming half decade from around 500 thousand individuals participating in non-state economic activities in 2010 to 1.8 million non-state enterprises in 2015. New opportunities include leasing taxis, barber chairs, restaurants, night clubs, etc.; forming agricultural cooperatives; and licensing individuals to hire a small workforce.
When asked if the new market reforms are contradictory to the principles of the revolution, Vidal cautioned not to "confuse the market with capitalism." Piñeiro explained that the new and unique model will reinforce the socialist notion that personal interests are indivisible from those of the community by decentralizing the collection and use of taxes and incentivizing social forms of production such as cooperatives.
In another panel on the economy, Emily Morris, formerly of the Economist Intelligence Unit, mentioned her talks with economists and decision-makers on the island and related that most Cubans don't understand how profound the reforms are going to be and that the next couple of years are going to be very risky and bumpy. Vidal agreed explaining that the economic reforms will create winners and losers so the system will have to be able to support the losers. It will be the Party's task to instill faith in the people that the changes are in the best interests of everyone in the long run.
Everleny Pérez expressed his concern for micro-financing again when he asked a panel of US based NGO's when they might be updating their assistance approach to include offering micro-credits. After Caritas Cubanas, Fundacion Amistad, and Acceso shared with the audience the numerous important humanitarian aid shipments, projects and delegations to Cuba they have sponsored over the years, they assured that they are pursuing such programs, but are stalled waiting for the new US regulations to be published first and then the Cuban government will have to accept.
Ben Rodriguez, representing the Cuban Artist Fund talked about the difficulties NGO's face due to constantly shifting US policy, the apprehension of philanthropists to get involved with Cuba projects because of the "murky regulations," and the obstacles to partnering with third country or international entities because of the Helms-Burton Act.
Ted Henken moderated the Digital Dilemma's panel and brought to the audience's attention several pertinent developments: the Venezuelan fiber optics cable is set to go live this summer; Cuban opposition blogs are no longer blocked from being accessed inside Cuba; the "leaked" MINIT video in which a cyber security official gives a lecture on the cyber war being waged by the US against Cuba; the new TV mini-series "Cuba's reasons", a recent episode of which took aim at a few Cuban bloggers, and the video response "Citizen's reasons" by Yoani Sanchez and others
Havana Times editor Circles Robinson opened the panel discussion on Cuba's blogosphere by telling the story of how the site, which has some 20 contributors, came into being and discussing a bit about the composition, workings, and evolution of the collective and the project. He said presenting a cross section of opinions and offering some proposals for change is a strong feature of the online publication. He assured that after some initial hassles the many diary writers of Havana Times continue to write unabated. Robinson said that some Cuban readers have expressed fear of visiting the site from work computers. Luckily the publication offers a Spanish language email version that works around this issue.
Investigative blogger Tracy Eaton of Along the Malecón introduced his other blogging venture, the Cuba Money Project, where he follows the money involved in carrying out US policy toward Cuba, which he totals at around $98 million in the past 4 years. To put that number into perspective, according to Eaton, the US only provided $600,000 in hurricane aid to Cuba in 2008, a year of devastating storms, while the State Department has earmarked $30 million for internet for internet freedom projects this year in Cuba and other countries. As an example of the types of projects that receive these funds, Eaton exposed the initiative of Stephanie Rudat, author of "Effective Tools and Strategy: Kicking it Up a Notch in Cuba and Beyond," whose company receives State Department funding and is organizing a meeting in Panama this month called {think}CUBA which "will convene select leaders in activism for human rights and democratic freedoms outside of Cuba to become educated ambassadors of movements working toward democratizing and empowering Cubans."
Vision Comun, a youth community media project in the Eastern town of El Cobre, was presented by Diana Coryat of the University of Massachusetts. In 2007, she donated a camera and some basic equipment to a group of young people and taught a 3 day workshop on documentary making. When she returned a year later, she found that they had "gone wild" and made several videos. Now they offer regular community screenings of their work and hold an annual 3 day film festival.
Another community and participatory media screened clips of their work in a special session. TV Serrana began in 1993 in Cuba's Sierra Maestra mountains in the far eastern province of Granma as a cooperative effort of UNESCO, the Cuban government, the National Association of Small Farmers (ANAP), and the Cuban Institute of Radio and Television (ICRT). Over the years the children of farmers who were trained by TVS have produced hundreds of documentaries many of which are broadcast on national television; some of these productions have received awards in national and international film festivals. TVS filmmaker Carlos Rodriguez is currently touring the US with 21 films. For more information check out TV Serrana's website.
LEGENDS OF CUBAN LITERATURE & LATIN JAZZ
Special events included a conversation with Leonardo Padura, one of Cuba's leading writers who in addition to his famous crime and historic novels, is known for his written reviews of literature and music, investigative journalism, and screenplays. In a lively exchange with the audience, Padura explained the different techniques of character development when dealing with fictional, as opposed to historical characters. He mused over how many people ask him for updates on the lives of his fictional characters as if they were real people.
Latin jazz enthusiasts were treated to an on opening night performance by the Arturo O'Farrill Afro Latin Latin Jazz Ensemble, which included two of his sons Adam and Zack; two Cuban born and trained musicians, Yosvany and Yunior Terry; and Roland Guerrero, an internationally renowned Latin Jazz artist who played with, among numerous others, the Cuban musical legend Chico O'Farrill, the father of Arturo.
To bring the symposium full circle Arturo and others returned on closing night to discuss the Havana-New Orleans historical connection and the role of music in cultural diplomacy. During Ned Sublette's animated and humorous tracing of various rhythms through history, he emphasized that Havana was the first great music center in the hemisphere and that Cuba mounted the second radio tower on the entire continent. Panelists agreed that among their students and understudies, those of Cuban heritage are much more knowledgeable about the history and development of music, which they concurred, is essential for a true jazz performer. Arturo clarified that there are not Cuban musicians and Cuban American musicians as "we all share the same roots."
© 2011 Havana Times.org
Click here to see the article at the Havana Times website.


Avito operates the online trading community Avito.ru.
It provides advertising and marketing services.
Avito offers a web based platform for free online classified advertisements in Russia. Buyers and sellers use its line of business for the exchange of products and services such as coins, collectibles, computers, memorabilia, stamps and toys, as well as concert and sporting tickets.
Jonas Nordlanderr and Filip Engelbert founded Avito in 2007. Its headquarters is in Moscow in the Russian Federation.


Address: 16 Mountjoy st 7 Co. Dublin, Dublin. See full address and map.
Address: Old Market Place Douglas St Cork Co. Cork, Cork. See full address and map.
Address: Longmile Ctr Longmile rd Walkinstown 12 Co. Dublin, Dublin. See full address and map.
Address: Unit C & D JFK Dr Bluebell 12 Co. Dublin, Dublin. See full address and map.
Address: Togher rd (Opp Earlwood Est) Togher Cork Co. Cork, Cork. See full address and map.
Address: Old Market Pl, Douglas St., Cork Co. Cork, Cork. See full address and map.
Address: Primrose Hill Hazelhatch rd Celbridge Co. Kildare, Kildare. See full address and map.
Address: u 4 Hills ind est Lucan Co. Dublin, Dublin. See full address and map.
Address: 8 Liberty st Cork Co. Cork, Cork. See full address and map.
Find every business listed for Brass in Ireland.


Please RSVP if you plan to attend, rwj.epilepsy@rutgers.edu or 732.235.7340 with your name and number of people attending.
Dr. Ram Mani will discuss basic information and new research regarding seizure emergencies and urgencies. Dr. Mani is a neurologist, epilepsy specialist, neurology education director, and clinical researcher at Rutgers Robert Wood Johnson Medical School (New Brunswick, NJ). Dr. Mani is a member of the Rutgers RWJ Epilepsy Center.
There will be time for patients, their family and other caregivers to discuss common concerns. The meeting is open to adult and pediatric patients and their families and caregivers.
This support group meets to promote awareness and education to pediatric & adult patients, family members & other members of the community, about topics related to seizures and epilepsy and how to maintain optimal health.
This will include presentations and discussions regarding surgical interventions for epilepsy; the use of seizure drugs and their possible side effects; and other non-medication effective strategies. Discussions of other disorders more common in patients with epilepsy will include mood disorders, memory & other cognitive disorders, bone health & fall risks.


Probably the most important part of the living historian's "kit" is his uniforms and gear. Though plenty of original equipment still exists, the historical value has increased over the last 10 years. We encourage personnel to purchase quality reproduction uniforms and equipment through a number of recommended vendors (see list below).
For those who are looking to get into World War II living history as an Airborne Paratrooper, we have compiled a list of uniforms and equipment that will help you get started. Not all of these items are required and you should get in touch with us before you make any purchases.
The field meals for the World War II soldier are as iconic as the uniform itself. Millions of meals were produced as part of the war effort and part of the fun of doing the impression is creating the K-Ration meals from the instructional downloads below including labels for the infamous SPAM (Satan Posing As Meat).
The following documents are recommended reading for all members of our organization.


WHMS Art club allows members art related opportunities throughout the year through various projects for the school, community and themselves. Membership is open to all students. Our main focus this year will be to plan/design and create a school mural.


fire table are wonderful alternative for individuals who've small table. Sometime we are perplexed to choose right household home furnishings for your own small space. You also should be mindful in picking out right furnishings so that you won't make your table seem terrible or you also diminish part of your table. Dining table with bench and chair will be helpful for those personally who have smaller table as it's streamlined dining room in your table. You may place it at the corner of your table far as well.
Gray is also the recommended coloration to become applied from the table. A number of you undoubtedly think that gray is not interesting color because it seems gloomy and maybe not Favorable. The truth is that gray is called the tasteful colour as it's not too dark and likewise not overly bright. It's just the proper coloring for property owners who are looking to present the most exceptional appearance from the table. Gray could be mixed or combined with other colors, such as yellow, blue, or black. The different shade with unique search for the table is sage green. It is but one of laguna concrete ventless fire column fire tables columns restoration hardware outdoor that's suggested for you who like to garden and cook just as your favourite spot.
Bosch is the second deal you can set at household. It will offer you the best appliances to your own table that is able to make your cooking task easier. Besides this, you could also find fashionable products using this package. Those services and products will really make your table looks lavish and elegant.
Meal timing is your time to have alongside your loved ones. With round table, you can easily see each other's faces therefore it's not hard to participate in dialog. However, roundtable is only good to be utilised in modest setting to host small bunch of individuals. If the table is far too large, it will be difficult that you speak to each other and you also won't accomplish the warmth you for from the dinner table. So, make sure to even consider the magnitude of the laguna concrete ventless fire column fire tables columns restoration hardware outdoor.
When you yourself get a new table, you should think about that the laguna concrete ventless fire column fire tables columns restoration hardware outdoor that will you insert into your table. It is a simple activity, nevertheless, you need to know the depth of home equipment that you should put in to be able to force you to get easy when accomplishing task in your table. Here the list of table home equipment you have to understand and insert on your table. The principal appliances you can add on your table are stoveand dishwasher, microwave oven and refrigerator. However, those are just the main part, there are still lots of appliances which can make you an easy task to accomplish the task, here the lists.
This Laguna Concrete Ventless Fire Column Fire Tables Columns Restoration Hardware Outdoor the gallery form Restoration Hardware Fire Table. Hopefully you can find the best inspiration from our gallery here.


The philosophy of the Tea Party in the primary season can be described in three words. Anybody but Romney. Unfortunately, this is a very bad strategy.
Is Romney now an acceptable candidate?
Seventy to seventy five percent of Republicans want someone other than Romney. That number is higher among Tea Party supporters. Obama's numbers are tanking so badly that almost any Republican who can fog a mirror is going to be in good shape next year.
But before we get to the general election, we go through the primaries. If Mitt Romney wins the primaries, the Tea Party has lost and it does not matter whether it is Obama or Romney who wins the election, as there is very little difference between the two.
Granted Obama hates America and Romney at least likes America, but beyond that, from a policy standpoint, there is little difference between the two. The number of advisors that worked for both Romney and Obama is stunning, or appalling, depending on your point of view.
Romney gave Massachusetts Romneycare, which has almost bankrupted the state. His spending on welfare programs would make Obama proud and of course, he supported cap and trade and imposed draconian, job-killing environmental regulations on Massachusetts businesses.
We need a President who is committed to ripping socialism out of government, which excludes Romney who wants to grow and manage big government.
I encourage everyone in the Tea Party movement to come on board now and join me in supporting Newt for President.


text:
Skip the navigation
RCIP-CHIN
Teachers' Centre Home Page > Find Content > Rhine: Migration... > Places on the... > Cologne
Rhine: Migration Highway to the Sea, Germany to Canada 1750-1752
Add this Collection to My Content
Many of this site's behavioral enhancements will only function in a modern browser that supports the Document Object Model and JavaScript. However the site will still be usable with most user agents that do not support the DOM/JavaScript (or have support turned off). For a more enjoyable experience we recommend you use a modern browser like Firefox.
You will be missing the following functionality:
Date formatting on forms
Subject checkbox validation on forms
Validation of maximum length requirements on textarea inputs text on forms
Content tables displayed with stripes
Rich text editor present on certain textarea form fields will not display. (Collection Introduction, Collection References, Collection Credits and Acknowledgements, Digital Asset Text)
The inline back button won't work. Use the browser back button to go back
The finish button won't work. Use the main navigation to move through the process
Places on the Rhine, Migration Highway 1750-1752
Add this Media File to My Content
Print this Asset
From the river, in 1752, an emigrant family must have seen the crane that stood over the famous Gothic cathedral, which had been under construction for 500 years. The cathedral contains relics of the Three Magi, making the city an important place of pilgrimage.
Cologne is one of the most important cities in German history, and one of the oldest. The Romans declared it a city in 50 A.D., a hundred years after Caesar had conquered Gaul to the banks of the Rhine. They called it Colonia Claudia Ara Agrippinensium. The "permanent" bridge they built over the Rhine in 310 was gone long before Jakob's family passed through.
The citizens of Cologne took power from the archbishops in 1288 and governed the city themselves until the French occupied the city in 1794. During this period it became an important and wealthy trading city of the Hanseatic League.
"Eau de Cologne" was first produced in 1709.
Canadian Heritage Information Network
Alexander Von Humboldt Schule, Canadian Museum of Civilization, Carl-Friedrich Gauß Schule, Confederation High School, Deutsachherren-Gymnasium, German Historical Museum, Gymnasium Isernhagen, Horton High School/Acadia University, Integrierte Gesamtschule Bonne-Beuel, Federal Ministry for Education and Research (BMBF) and Deutsche Telekom, Ananas Productions, Schule ans netz,
© 2009, CHIN-Canadian Heritage Information Network. All Rights Reserved.
Teachers' Centre Home Page | Find Learning Resources & Lesson Plans

redpajama_set_name: RedPajamaCommonCrawl


We can pretty much code any bail bond calculator as advanced as the one we offer for free to all bail bond company owners at BailBondCalculator.com or even a smaller version like the one you see below.
The objective here is to have the person who inputs the needed bail bond amount instantly be sent to a form for them to fill out and of course your phone number displayed as large as possible.
The example listed below is from a major Jersey Bail Bond website we currently have for sale. We can simply and easily add in your state, county and local jails to brand the calculator to your area.


text:
7 Strengths of Stone: The test series
Rockzero: The pioneering way to build nearly zero-energy homes
Make a difference to the world around you
Indoor comfort, health and safety
Fire resilience
Sustainability and circularity
Architect and specifier inspiration
Homeowner inspiration
Professional inspiration
Why Stone Wool
Thermal properties
Acoustic capabilities
Water properties
It's time to build a better future
SailGP
SailGP Blog
Denmark SailGP Team
Team ROCKWOOL Racing
Training with the Twins
Financial figures
Consensus and Analysts
Annual Report highlights 2019
Financial webcasts
Working at ROCKWOOL
Many possibilities for you
Lapinus
Environmentally friendly materials
How eco-friendly buildings can be part of a sustainable world.
Untapped potential
Worldwide, buildings consume too many resources and produce too much waste. They use 25 percent of the world's water and 40 percent of its resources, while creating one-third of all waste and 40 percent of global carbon emissions. Seen through the prism of these statistics, they're environmentally unsustainable.
But buildings also have huge untapped potential to become a central part of the solution to our urgent sustainability challenges. Eco-friendly designs can combat climate change while improving our health, wellbeing and productivity.
To achieve this, it's important to take a comprehensive approach to planning, design and construction that looks at every facet of sustainability. Focusing on just one approach can have a negative effect on the building's overall performance, which is why standards developed by ISO (International Standardisation Organisation) and CEN (European Committee for Standardization) now make it possible to measure sustainability over a building's entire lifecycle. These standards go beyond environmental performance to include how buildings contribute to health, safety and wellbeing.
#ThisFutureRocks
ROCKWOOL Sustainability Report
We need to continue working hard to produce even better products and leaving a smaller footprint in the process – that includes thinking sustainability into our products, operations, and R&D as well.
Jens Birgersson
ROCKWOOL Group
Creating a eco-friendly design
The key step to eco-friendly design is to reduce the amount of energy a building needs. Typically, 80 percent of its energy use results from heating, cooling, hot water and lighting, while the remaining 20 percent is generated by construction materials, transport and demolition. So, while low-energy design is essential, it's also important to design more comprehensively and consider how the building and its materials can be recycled and reused at the end of their life. The design and materials also have a bearing on other important aspects of sustainability such as thermal comfort, acoustic performance and fire safety.
of energy from heating and cooling
Materials, transport and demolition
of energy from materials, transport and demolition
of global resources and emissions are from buildings
Rating schemes
For an accurate assessment of how eco-friendly a building design is, Life Cycle Analysis (LCA) offers a useful and widely accepted methodology. LCAs look at a building's entire footprint, including the materials it's made from. Information about materials is usually communicated via Environmental Product Declarations (EPD).
An EPD can't tell you whether or not a material is "eco-friendly", because that depends on how it's integrated into the design. But it makes for faster and more accurate LCAs of buildings, and helps builders to meet national standards and gain credits in sustainable rating schemes. ROCKWOOL products contribute to credits under sustainable building rating schemes such as LEED®, BREEAM, DGNB (German Sustainable Buildings Council) and HQE (Haute Qualite Environnementale).
When we look at the whole life cycle of buildings, it's possible to create buildings that make a positive contribution to a more sustainable world.
Dive into our products
Curing sick buildings can improve profits as well as wellbeing. As we spend up to 90 percent of our time indoors it's important that the spaces where we work support our wellbeing.
Indoor comfort
A good indoor climate is essential to health and wellbeing now that we spend up to 90 percent of our time inside.
Energy efficient materials
When renovating old homes or planning a new development, the right combination of design and materials can make a big difference to a building's performance.
Upcycling: Like recycling, but better
We're all familiar with the idea of recycling. With 'upcycling', waste is transformed into more valuable products, thereby reducing the need for virgin materials.
Read about our approach to sustainability. Across the full range of our products and operations, ROCKWOOL is dedicated to enriching modern living.
At the ROCKWOOL Group, we are committed to enriching the lives of everyone who comes into contact with our solutions. Our expertise is perfectly suited to tackle many of today's biggest sustainability and development challenges.
Indoor health, safety and wellbeing
Organization ROCKWOOL
Hovedgaden 584
DK-2640 Hedehusene
Our Trademarks
Copyright © February 2017, ROCKWOOL International A/S


Electrical devices can create an electromagnetic field at the instant of energizing your coil, so they are called electromagnetic keys. They are used to open or close contacts.
There are several types of electrical devices that command, regulate and protect electric motors and form the power elements of industrial electrical installations. Some are manual as the power switch and other automatic such as contactors and relays.
There are also the auxiliary contacts, which are used to drive electromagnets (coils), magnetic keys, signal lamps or audible alarms.
These contacts may be of the normally open or NF (normally closed) type and the contactors have the identification of their associated terminals and relays, informing their position and the function of each terminal. The coils are identified alphanumerically (A1 and A2) according to IEC 947-4.


Lange was originally founded in 1845 by Ferdinand Adolph Lange in Glashütte, near the city of Dresden in German Saxony. Ferdinand's son Richard joined him in the business, and the company changed its name to A. Lange & Söhne. They specialised in making high quality pocket watches.
After their main production building was destroyed in the last days of the war the company ceased to exist under postwar Soviet administration. Walter Lange who is the great-grandson of the founder and the lead of the company had to flee the country in order to avoid forced labour.
When the fall of the wall is celebrated in November 1989, Walter Lange sees the chance for a new beginning for the family business in Glashütte. Shortly after their first new patent is registered for the outsize date which marks many of their models.
Ferdinand Adolph Lange founded the company in Glashütte which is located in the German state Saxony.
After their father's death, brothers Richard and Emil Lange take over the manufactory. Both complement each other perfectly.
The only Grand Complication no. 42500 was built. A pocket watch with chiming movement, grande and petite sonnerie, split seconds, minute repeater, perpetual calendar and moon-phase.
Walter Lange and Günter Blümlein make a plan to establish the Lange manufactory and the brand name is re-registered.
Lange Uhren GmbH files its first patent in 1992 for the outsize which will become a distinctive feature of many of their timepieces.
Extract of the Archives – Which Brands Offer This Service?


text:
class Time
  #Useful but not thread safe!!!!
  def convert_time_zone(to_zone)
    original_zone = ENV["TZ"]
    utc_time = dup.gmtime
    ENV["TZ"] = to_zone
    to_zone_time = utc_time.localtime
    ENV["TZ"] = original_zone
    return to_zone_time
  end
end

class DateTime
  def convert_time_zone(to_zone)
    self.to_time.convert_time_zone(to_zone).to_datetime
  end
end

redpajama_set_name: RedPajamaGithub


text:
package server

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"reflect"
	"regexp"
	"sort"
	"strings"
	"testing"
	"time"

	"github.com/gogo/protobuf/proto"
	"github.com/pkg/errors"
	"golang.org/x/net/context"

	"github.com/cockroachdb/cockroach/pkg/base"
	"github.com/cockroachdb/cockroach/pkg/config"
	"github.com/cockroachdb/cockroach/pkg/security"
	"github.com/cockroachdb/cockroach/pkg/server/serverpb"
	"github.com/cockroachdb/cockroach/pkg/sql"
	"github.com/cockroachdb/cockroach/pkg/sql/parser"
	"github.com/cockroachdb/cockroach/pkg/sql/sqlbase"
	"github.com/cockroachdb/cockroach/pkg/testutils"
	"github.com/cockroachdb/cockroach/pkg/testutils/serverutils"
	"github.com/cockroachdb/cockroach/pkg/util/httputil"
	"github.com/cockroachdb/cockroach/pkg/util/leaktest"
	"github.com/cockroachdb/cockroach/pkg/util/log"
	"github.com/cockroachdb/cockroach/pkg/util/timeutil"
	"github.com/cockroachdb/cockroach/pkg/util/tracing"
)

func getAdminJSONProto(
	ts serverutils.TestServerInterface, path string, response proto.Message,
) error {
	return serverutils.GetJSONProto(ts, adminPrefix+path, response)
}

func postAdminJSONProto(
	ts serverutils.TestServerInterface, path string, request, response proto.Message,
) error {
	return serverutils.PostJSONProto(ts, adminPrefix+path, request, response)
}

// getText fetches the HTTP response body as text in the form of a
// byte slice from the specified URL.
func getText(ts serverutils.TestServerInterface, url string) ([]byte, error) {
	httpClient, err := ts.GetHTTPClient()
	if err != nil {
		return nil, err
	}
	resp, err := httpClient.Get(url)
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	return ioutil.ReadAll(resp.Body)
}

// getJSON fetches the JSON from the specified URL and returns
// it as unmarshaled JSON. Returns an error on any failure to fetch
// or unmarshal response body.
func getJSON(ts serverutils.TestServerInterface, url string) (interface{}, error) {
	body, err := getText(ts, url)
	if err != nil {
		return nil, err
	}
	var jI interface{}
	if err := json.Unmarshal(body, &jI); err != nil {
		return nil, err
	}
	return jI, nil
}

// debugURL returns the root debug URL.
func debugURL(s serverutils.TestServerInterface) string {
	return s.AdminURL() + debugEndpoint
}

// TestAdminDebugExpVar verifies that cmdline and memstats variables are
// available via the /debug/vars link.
func TestAdminDebugExpVar(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	jI, err := getJSON(s, debugURL(s)+"vars")
	if err != nil {
		t.Fatalf("failed to fetch JSON: %v", err)
	}
	j := jI.(map[string]interface{})
	if _, ok := j["cmdline"]; !ok {
		t.Error("cmdline not found in JSON response")
	}
	if _, ok := j["memstats"]; !ok {
		t.Error("memstats not found in JSON response")
	}
}

// TestAdminDebugMetrics verifies that cmdline and memstats variables are
// available via the /debug/metrics link.
func TestAdminDebugMetrics(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	jI, err := getJSON(s, debugURL(s)+"metrics")
	if err != nil {
		t.Fatalf("failed to fetch JSON: %v", err)
	}
	j := jI.(map[string]interface{})
	if _, ok := j["cmdline"]; !ok {
		t.Error("cmdline not found in JSON response")
	}
	if _, ok := j["memstats"]; !ok {
		t.Error("memstats not found in JSON response")
	}
}

// TestAdminDebugPprof verifies that pprof tools are available.
// via the /debug/pprof/* links.
func TestAdminDebugPprof(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	body, err := getText(s, debugURL(s)+"pprof/block")
	if err != nil {
		t.Fatal(err)
	}
	if exp := "contention:\ncycles/second="; !bytes.Contains(body, []byte(exp)) {
		t.Errorf("expected %s to contain %s", body, exp)
	}
}

// TestAdminDebugTrace verifies that the net/trace endpoints are available
// via /debug/{requests,events}.
func TestAdminDebugTrace(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	tc := []struct {
		segment, search string
	}{
		{"requests", "<title>/debug/requests</title>"},
		{"events", "<title>events</title>"},
	}

	for _, c := range tc {
		body, err := getText(s, debugURL(s)+c.segment)
		if err != nil {
			t.Fatal(err)
		}
		if !bytes.Contains(body, []byte(c.search)) {
			t.Errorf("expected %s to be contained in %s", c.search, body)
		}
	}
}

// TestAdminDebugRedirect verifies that the /debug/ endpoint is redirected to on
// incorrect /debug/ paths.
func TestAdminDebugRedirect(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	expURL := debugURL(s)
	origURL := expURL + "incorrect"

	// There are no particular permissions on admin endpoints, TestUser is fine.
	client, err := testutils.NewTestBaseContext(TestUser).GetHTTPClient()
	if err != nil {
		t.Fatal(err)
	}

	// Don't follow redirects automatically.
	redirectAttemptedError := errors.New("redirect")
	client.CheckRedirect = func(req *http.Request, via []*http.Request) error {
		return redirectAttemptedError
	}

	resp, err := client.Get(origURL)
	if urlError, ok := err.(*url.Error); ok && urlError.Err == redirectAttemptedError {
		// Ignore the redirectAttemptedError.
		err = nil
	}
	if err != nil {
		t.Fatal(err)
	} else {
		resp.Body.Close()
		if resp.StatusCode != http.StatusMovedPermanently {
			t.Errorf("expected status code %d; got %d", http.StatusMovedPermanently, resp.StatusCode)
		}
		if redirectURL, err := resp.Location(); err != nil {
			t.Error(err)
		} else if foundURL := redirectURL.String(); foundURL != expURL {
			t.Errorf("expected location %s; got %s", expURL, foundURL)
		}
	}
}

func TestAdminAPIDatabases(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()
	ts := s.(*TestServer)

	ac := log.AmbientContext{Tracer: tracing.NewTracer()}
	ctx, span := ac.AnnotateCtxWithSpan(context.Background(), "test")
	defer span.Finish()

	// Test databases endpoint.
	const testdb = "test"
	session := sql.NewSession(
		ctx, sql.SessionArgs{User: security.RootUser}, ts.sqlExecutor, nil, &sql.MemoryMetrics{})
	session.StartUnlimitedMonitor()
	defer session.Finish(ts.sqlExecutor)
	query := "CREATE DATABASE " + testdb
	createRes := ts.sqlExecutor.ExecuteStatements(session, query, nil)
	defer createRes.Close(ctx)

	if createRes.ResultList[0].Err != nil {
		t.Fatal(createRes.ResultList[0].Err)
	}

	var resp serverpb.DatabasesResponse
	if err := getAdminJSONProto(s, "databases", &resp); err != nil {
		t.Fatal(err)
	}

	expectedDBs := []string{"system", testdb}
	if a, e := len(resp.Databases), len(expectedDBs); a != e {
		t.Fatalf("length of result %d != expected %d", a, e)
	}

	sort.Strings(resp.Databases)
	for i, e := range expectedDBs {
		if a := resp.Databases[i]; a != e {
			t.Fatalf("database name %s != expected %s", a, e)
		}
	}

	// Test database details endpoint.
	privileges := []string{"SELECT", "UPDATE"}
	testuser := "testuser"
	grantQuery := "GRANT " + strings.Join(privileges, ", ") + " ON DATABASE " + testdb + " TO " + testuser
	grantRes := s.(*TestServer).sqlExecutor.ExecuteStatements(session, grantQuery, nil)
	defer grantRes.Close(ctx)
	if grantRes.ResultList[0].Err != nil {
		t.Fatal(grantRes.ResultList[0].Err)
	}

	var details serverpb.DatabaseDetailsResponse
	if err := getAdminJSONProto(s, "databases/"+testdb, &details); err != nil {
		t.Fatal(err)
	}

	if a, e := len(details.Grants), 3; a != e {
		t.Fatalf("# of grants %d != expected %d", a, e)
	}

	userGrants := make(map[string][]string)
	for _, grant := range details.Grants {
		switch grant.User {
		case security.RootUser, testuser:
			userGrants[grant.User] = append(userGrants[grant.User], grant.Privileges...)
		default:
			t.Fatalf("unknown grant to user %s", grant.User)
		}
	}
	for u, p := range userGrants {
		switch u {
		case security.RootUser:
			if !reflect.DeepEqual(p, []string{"ALL"}) {
				t.Fatalf("privileges %v != expected %v", p, privileges)
			}
		case testuser:
			sort.Strings(p)
			if !reflect.DeepEqual(p, privileges) {
				t.Fatalf("privileges %v != expected %v", p, privileges)
			}
		default:
			t.Fatalf("unknown grant to user %s", u)
		}
	}

	// Verify Descriptor ID.
	path, err := ts.admin.queryDescriptorIDPath(ctx, session, []string{testdb})
	if err != nil {
		t.Fatal(err)
	}
	if a, e := details.DescriptorID, int64(path[1]); a != e {
		t.Fatalf("db had descriptorID %d, expected %d", a, e)
	}
}

func TestAdminAPIDatabaseDoesNotExist(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	const errPattern = "database.+does not exist"
	if err := getAdminJSONProto(s, "databases/I_DO_NOT_EXIST", nil); !testutils.IsError(err, errPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, errPattern)
	}
}

func TestAdminAPIDatabaseVirtual(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	const errPattern = `\\"information_schema\\" is a virtual schema`
	if err := getAdminJSONProto(s, "databases/information_schema", nil); !testutils.IsError(err, errPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, errPattern)
	}
}

func TestAdminAPIDatabaseSQLInjection(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	const fakedb = "system;DROP DATABASE system;"
	const path = "databases/" + fakedb
	const errPattern = `database \\"` + fakedb + `\\" does not exist`
	if err := getAdminJSONProto(s, path, nil); !testutils.IsError(err, errPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, errPattern)
	}
}

func TestAdminAPITableDoesNotExist(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	const fakename = "I_DO_NOT_EXIST"
	const badDBPath = "databases/" + fakename + "/tables/foo"
	const dbErrPattern = `database \\"` + fakename + `\\" does not exist`
	if err := getAdminJSONProto(s, badDBPath, nil); !testutils.IsError(err, dbErrPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, dbErrPattern)
	}

	const badTablePath = "databases/system/tables/" + fakename
	const tableErrPattern = `table \\"system.` + fakename + `\\" does not exist`
	if err := getAdminJSONProto(s, badTablePath, nil); !testutils.IsError(err, tableErrPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, tableErrPattern)
	}
}

func TestAdminAPITableVirtual(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	const virtual = "information_schema"
	const badDBPath = "databases/" + virtual + "/tables/tables"
	const dbErrPattern = `\\"` + virtual + `\\" is a virtual schema`
	if err := getAdminJSONProto(s, badDBPath, nil); !testutils.IsError(err, dbErrPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, dbErrPattern)
	}
}

func TestAdminAPITableSQLInjection(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	const fakeTable = "users;DROP DATABASE system;"
	const path = "databases/system/tables/" + fakeTable
	const errPattern = `table \"system.\\\"` + fakeTable + `\\\"\" does not exist`
	if err := getAdminJSONProto(s, path, nil); !testutils.IsError(err, regexp.QuoteMeta(errPattern)) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, errPattern)
	}
}

func TestAdminAPITableDetails(t *testing.T) {
	defer leaktest.AfterTest(t)()
	testAdminAPITableDetailsInner(t, "test", "tbl")
}

func TestAdminAPITableDetailsEscapedNames(t *testing.T) {
	defer leaktest.AfterTest(t)()
	testAdminAPITableDetailsInner(t, "test test", "tbl tbl")
}

func testAdminAPITableDetailsInner(t *testing.T, dbName, tblName string) {
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()
	ts := s.(*TestServer)

	escDBName := parser.Name(dbName).String()
	escTblName := parser.Name(tblName).String()

	ac := log.AmbientContext{Tracer: tracing.NewTracer()}
	ctx, span := ac.AnnotateCtxWithSpan(context.Background(), "test")
	defer span.Finish()

	session := sql.NewSession(
		ctx, sql.SessionArgs{User: security.RootUser}, ts.sqlExecutor, nil, &sql.MemoryMetrics{})
	session.StartUnlimitedMonitor()
	defer session.Finish(ts.sqlExecutor)
	setupQueries := []string{
		fmt.Sprintf("CREATE DATABASE %s", escDBName),
		fmt.Sprintf(`CREATE TABLE %s.%s (
	nulls_allowed INT,
	nulls_not_allowed INT NOT NULL DEFAULT 1000,
	default2 INT DEFAULT 2,
	string_default STRING DEFAULT 'default_string'
)`, escDBName, escTblName),
		fmt.Sprintf("GRANT SELECT ON %s.%s TO readonly", escDBName, escTblName),
		fmt.Sprintf("GRANT SELECT,UPDATE,DELETE ON %s.%s TO app", escDBName, escTblName),
		fmt.Sprintf("CREATE INDEX descIdx ON %s.%s (default2 DESC)", escDBName, escTblName),
	}

	for _, q := range setupQueries {
		res := ts.sqlExecutor.ExecuteStatements(session, q, nil)
		defer res.Close(ctx)
		if res.ResultList[0].Err != nil {
			t.Fatalf("error executing '%s': %s", q, res.ResultList[0].Err)
		}
	}

	// Perform API call.
	var resp serverpb.TableDetailsResponse
	url := fmt.Sprintf("databases/%s/tables/%s", dbName, tblName)
	if err := getAdminJSONProto(s, url, &resp); err != nil {
		t.Fatal(err)
	}

	// Verify columns.
	expColumns := []serverpb.TableDetailsResponse_Column{
		{Name: "nulls_allowed", Type: "INT", Nullable: true, DefaultValue: ""},
		{Name: "nulls_not_allowed", Type: "INT", Nullable: false, DefaultValue: "1000"},
		{Name: "default2", Type: "INT", Nullable: true, DefaultValue: "2"},
		{Name: "string_default", Type: "STRING", Nullable: true, DefaultValue: "'default_string'"},
	}
	testutils.SortStructs(expColumns, "Name")
	testutils.SortStructs(resp.Columns, "Name")
	if a, e := len(resp.Columns), len(expColumns); a != e {
		t.Fatalf("# of result columns %d != expected %d (got: %#v)", a, e, resp.Columns)
	}
	for i, a := range resp.Columns {
		e := expColumns[i]
		if a.String() != e.String() {
			t.Fatalf("mismatch at column %d: actual %#v != %#v", i, a, e)
		}
	}

	// Verify grants.
	expGrants := []serverpb.TableDetailsResponse_Grant{
		{User: security.RootUser, Privileges: []string{"ALL"}},
		{User: "app", Privileges: []string{"DELETE"}},
		{User: "app", Privileges: []string{"SELECT"}},
		{User: "app", Privileges: []string{"UPDATE"}},
		{User: "readonly", Privileges: []string{"SELECT"}},
	}
	testutils.SortStructs(expGrants, "User")
	testutils.SortStructs(resp.Grants, "User")
	if a, e := len(resp.Grants), len(expGrants); a != e {
		t.Fatalf("# of grant columns %d != expected %d (got: %#v)", a, e, resp.Grants)
	}
	for i, a := range resp.Grants {
		e := expGrants[i]
		sort.Strings(a.Privileges)
		sort.Strings(e.Privileges)
		if a.String() != e.String() {
			t.Fatalf("mismatch at index %d: actual %#v != %#v", i, a, e)
		}
	}

	// Verify indexes.
	expIndexes := []serverpb.TableDetailsResponse_Index{
		{Name: "primary", Column: "rowid", Direction: "ASC", Unique: true, Seq: 1},
		{Name: "descIdx", Column: "rowid", Direction: "ASC", Unique: false, Seq: 2, Implicit: true},
		{Name: "descIdx", Column: "default2", Direction: "DESC", Unique: false, Seq: 1},
	}
	testutils.SortStructs(expIndexes, "Name", "Seq")
	testutils.SortStructs(resp.Indexes, "Name", "Seq")
	for i, a := range resp.Indexes {
		e := expIndexes[i]
		if a.String() != e.String() {
			t.Fatalf("mismatch at index %d: actual %#v != %#v", i, a, e)
		}
	}

	// Verify range count.
	if a, e := resp.RangeCount, int64(1); a != e {
		t.Fatalf("# of ranges %d != expected %d", a, e)
	}

	// Verify Create Table Statement.
	{

		const createTableCol = "CreateTable"
		showCreateTableQuery := fmt.Sprintf("SHOW CREATE TABLE %s.%s", escDBName, escTblName)

		resSet := ts.sqlExecutor.ExecuteStatements(session, showCreateTableQuery, nil)
		defer resSet.Close(ctx)
		res := resSet.ResultList[0]
		if res.Err != nil {
			t.Fatalf("error executing '%s': %s", showCreateTableQuery, res.Err)
		}

		scanner := makeResultScanner(res.Columns)
		var createStmt string
		if err := scanner.Scan(res.Rows.At(0), createTableCol, &createStmt); err != nil {
			t.Fatal(err)
		}

		if a, e := resp.CreateTableStatement, createStmt; a != e {
			t.Fatalf("mismatched create table statement; expected %s, got %s", e, a)
		}
	}

	// Verify Descriptor ID.
	path, err := ts.admin.queryDescriptorIDPath(ctx, session, []string{dbName, tblName})
	if err != nil {
		t.Fatal(err)
	}
	if a, e := resp.DescriptorID, int64(path[2]); a != e {
		t.Fatalf("table had descriptorID %d, expected %d", a, e)
	}
}

// TestAdminAPIZoneDetails verifies the zone configuration information returned
// for both DatabaseDetailsResponse AND TableDetailsResponse.
func TestAdminAPIZoneDetails(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()
	ts := s.(*TestServer)

	// Create database and table.
	ac := log.AmbientContext{Tracer: tracing.NewTracer()}
	ctx, span := ac.AnnotateCtxWithSpan(context.Background(), "test")
	defer span.Finish()
	session := sql.NewSession(
		ctx, sql.SessionArgs{User: security.RootUser}, ts.sqlExecutor, nil, &sql.MemoryMetrics{})
	session.StartUnlimitedMonitor()
	setupQueries := []string{
		"CREATE DATABASE test",
		"CREATE TABLE test.tbl (val STRING)",
	}
	for _, q := range setupQueries {
		res := ts.sqlExecutor.ExecuteStatements(session, q, nil)
		defer res.Close(ctx)
		if res.ResultList[0].Err != nil {
			t.Fatalf("error executing '%s': %s", q, res.ResultList[0].Err)
		}
	}

	// Function to verify the zone for table "test.tbl" as returned by the Admin
	// API.
	verifyTblZone := func(
		expectedZone config.ZoneConfig, expectedLevel serverpb.ZoneConfigurationLevel,
	) {
		var resp serverpb.TableDetailsResponse
		if err := getAdminJSONProto(s, "databases/test/tables/tbl", &resp); err != nil {
			t.Fatal(err)
		}
		if a, e := &resp.ZoneConfig, &expectedZone; !proto.Equal(a, e) {
			t.Errorf("actual table zone config %v did not match expected value %v", a, e)
		}
		if a, e := resp.ZoneConfigLevel, expectedLevel; a != e {
			t.Errorf("actual table ZoneConfigurationLevel %s did not match expected value %s", a, e)
		}
		if t.Failed() {
			t.FailNow()
		}
	}

	// Function to verify the zone for database "test" as returned by the Admin
	// API.
	verifyDbZone := func(
		expectedZone config.ZoneConfig, expectedLevel serverpb.ZoneConfigurationLevel,
	) {
		var resp serverpb.DatabaseDetailsResponse
		if err := getAdminJSONProto(s, "databases/test", &resp); err != nil {
			t.Fatal(err)
		}
		if a, e := &resp.ZoneConfig, &expectedZone; !proto.Equal(a, e) {
			t.Errorf("actual db zone config %v did not match expected value %v", a, e)
		}
		if a, e := resp.ZoneConfigLevel, expectedLevel; a != e {
			t.Errorf("actual db ZoneConfigurationLevel %s did not match expected value %s", a, e)
		}
		if t.Failed() {
			t.FailNow()
		}
	}

	// Function to store a zone config for a given object ID.
	setZone := func(zoneCfg config.ZoneConfig, id sqlbase.ID) {
		zoneBytes, err := zoneCfg.Marshal()
		if err != nil {
			t.Fatal(err)
		}
		const query = `INSERT INTO system.zones VALUES($1, $2)`
		params := parser.MakePlaceholderInfo()
		params.SetValue(`1`, parser.NewDInt(parser.DInt(id)))
		params.SetValue(`2`, parser.NewDBytes(parser.DBytes(zoneBytes)))
		res := ts.sqlExecutor.ExecuteStatements(session, query, &params)
		defer res.Close(ctx)
		if res.ResultList[0].Err != nil {
			t.Fatalf("error executing '%s': %s", query, res.ResultList[0].Err)
		}
	}

	// Verify zone matches cluster default.
	verifyDbZone(config.DefaultZoneConfig(), serverpb.ZoneConfigurationLevel_CLUSTER)
	verifyTblZone(config.DefaultZoneConfig(), serverpb.ZoneConfigurationLevel_CLUSTER)

	// Get ID path for table. This will be an array of three IDs, containing the ID of the root namespace,
	// the database, and the table (in that order).
	idPath, err := ts.admin.queryDescriptorIDPath(ctx, session, []string{"test", "tbl"})
	if err != nil {
		t.Fatal(err)
	}

	// Apply zone configuration to database and check again.
	dbZone := config.ZoneConfig{
		RangeMinBytes: 456,
	}
	setZone(dbZone, idPath[1])
	verifyDbZone(dbZone, serverpb.ZoneConfigurationLevel_DATABASE)
	verifyTblZone(dbZone, serverpb.ZoneConfigurationLevel_DATABASE)

	// Apply zone configuration to table and check again.
	tblZone := config.ZoneConfig{
		RangeMinBytes: 789,
	}
	setZone(tblZone, idPath[2])
	verifyDbZone(dbZone, serverpb.ZoneConfigurationLevel_DATABASE)
	verifyTblZone(tblZone, serverpb.ZoneConfigurationLevel_TABLE)
}

func TestAdminAPIUsers(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()
	ts := s.(*TestServer)

	// Create sample users.
	ac := log.AmbientContext{Tracer: tracing.NewTracer()}
	ctx, span := ac.AnnotateCtxWithSpan(context.Background(), "test")
	defer span.Finish()
	session := sql.NewSession(
		ctx, sql.SessionArgs{User: security.RootUser}, ts.sqlExecutor, nil, &sql.MemoryMetrics{})
	session.StartUnlimitedMonitor()
	defer session.Finish(ts.sqlExecutor)
	query := `
INSERT INTO system.users (username, hashedPassword)
VALUES ('admin', 'abc'), ('bob', 'xyz')`
	res := ts.sqlExecutor.ExecuteStatements(session, query, nil)
	defer res.Close(ctx)
	if a, e := len(res.ResultList), 1; a != e {
		t.Fatalf("len(results) %d != %d", a, e)
	} else if res.ResultList[0].Err != nil {
		t.Fatal(res.ResultList[0].Err)
	}

	// Query the API for users.
	var resp serverpb.UsersResponse
	if err := getAdminJSONProto(s, "users", &resp); err != nil {
		t.Fatal(err)
	}
	expResult := serverpb.UsersResponse{
		Users: []serverpb.UsersResponse_User{
			{Username: "admin"},
			{Username: "bob"},
		},
	}

	// Verify results.
	const sortKey = "Username"
	testutils.SortStructs(resp.Users, sortKey)
	testutils.SortStructs(expResult.Users, sortKey)
	if !reflect.DeepEqual(resp, expResult) {
		t.Fatalf("result %v != expected %v", resp, expResult)
	}
}

func TestAdminAPIEvents(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()
	ts := s.(*TestServer)

	ac := log.AmbientContext{Tracer: tracing.NewTracer()}
	ctx, span := ac.AnnotateCtxWithSpan(context.Background(), "test")
	defer span.Finish()
	session := sql.NewSession(
		ctx, sql.SessionArgs{User: security.RootUser}, ts.sqlExecutor, nil, &sql.MemoryMetrics{})
	session.StartUnlimitedMonitor()
	defer session.Finish(ts.sqlExecutor)
	setupQueries := []string{
		"CREATE DATABASE api_test",
		"CREATE TABLE api_test.tbl1 (a INT)",
		"CREATE TABLE api_test.tbl2 (a INT)",
		"CREATE TABLE api_test.tbl3 (a INT)",
		"DROP TABLE api_test.tbl1",
		"DROP TABLE api_test.tbl2",
	}
	for _, q := range setupQueries {
		res := ts.sqlExecutor.ExecuteStatements(session, q, nil)
		defer res.Close(ctx)
		if res.ResultList[0].Err != nil {
			t.Fatalf("error executing '%s': %s", q, res.ResultList[0].Err)
		}
	}

	var zeroTimestamp serverpb.EventsResponse_Event_Timestamp

	const allEvents = ""
	type testcase struct {
		eventType sql.EventLogType
		expCount  int
	}
	testcases := []testcase{
		{sql.EventLogNodeJoin, 1},
		{sql.EventLogNodeRestart, 0},
		{sql.EventLogDropDatabase, 0},
		{sql.EventLogCreateDatabase, 1},
		{sql.EventLogDropTable, 2},
		{sql.EventLogCreateTable, 3},
	}
	minTotalEvents := 0
	for _, tc := range testcases {
		minTotalEvents += tc.expCount
	}
	testcases = append(testcases, testcase{allEvents, minTotalEvents})

	for i, tc := range testcases {
		url := "events"
		if tc.eventType != allEvents {
			url += "?type=" + string(tc.eventType)
		}
		var resp serverpb.EventsResponse
		if err := getAdminJSONProto(s, url, &resp); err != nil {
			t.Fatal(err)
		}
		if tc.eventType == allEvents {
			// When retrieving all events, we expect that there will be some system
			// database migrations, unrelated to this test, that add to the log entry
			// count. So, we do a looser check here.
			if a, min := len(resp.Events), tc.expCount; a < tc.expCount {
				t.Fatalf("%d: total # of events %d < min %d", i, a, min)
			}
		} else {
			if a, e := len(resp.Events), tc.expCount; a != e {
				t.Fatalf("%d: # of %s events %d != expected %d", i, tc.eventType, a, e)
			}
		}

		// Ensure we don't have blank / nonsensical fields.
		for _, e := range resp.Events {
			if e.Timestamp == zeroTimestamp {
				t.Errorf("%d: missing/empty timestamp", i)
			}

			if len(tc.eventType) > 0 {
				if a, e := e.EventType, string(tc.eventType); a != e {
					t.Errorf("%d: event type %s != expected %s", i, a, e)
				}
			} else {
				if len(e.EventType) == 0 {
					t.Errorf("%d: missing event type in event", i)
				}
			}

			if e.TargetID == 0 {
				t.Errorf("%d: missing/empty TargetID", i)
			}
			if e.ReportingID == 0 {
				t.Errorf("%d: missing/empty ReportingID", i)
			}
			if len(e.Info) == 0 {
				t.Errorf("%d: missing/empty Info", i)
			}
			if len(e.UniqueID) == 0 {
				t.Errorf("%d: missing/empty UniqueID", i)
			}
		}
	}
}

func TestAdminAPIUIData(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	start := timeutil.Now()

	mustSetUIData := func(keyValues map[string][]byte) {
		if err := postAdminJSONProto(s, "uidata", &serverpb.SetUIDataRequest{
			KeyValues: keyValues,
		}, &serverpb.SetUIDataResponse{}); err != nil {
			t.Fatal(err)
		}
	}

	expectKeyValues := func(expKeyValues map[string][]byte) {
		var resp serverpb.GetUIDataResponse
		queryValues := make(url.Values)
		for key := range expKeyValues {
			queryValues.Add("keys", key)
		}
		url := "uidata?" + queryValues.Encode()
		if err := getAdminJSONProto(s, url, &resp); err != nil {
			t.Fatal(err)
		}
		// Do a two-way comparison. We can't use reflect.DeepEqual(), because
		// resp.KeyValues has timestamps and expKeyValues doesn't.
		for key, actualVal := range resp.KeyValues {
			if a, e := actualVal.Value, expKeyValues[key]; !bytes.Equal(a, e) {
				t.Fatalf("key %s: value = %v, expected = %v", key, a, e)
			}
		}
		for key, expVal := range expKeyValues {
			if a, e := resp.KeyValues[key].Value, expVal; !bytes.Equal(a, e) {
				t.Fatalf("key %s: value = %v, expected = %v", key, a, e)
			}
		}

		// Sanity check LastUpdated.
		for _, val := range resp.KeyValues {
			now := timeutil.Now()
			lastUpdated := time.Unix(val.LastUpdated.Sec, int64(val.LastUpdated.Nsec))
			if lastUpdated.Before(start) {
				t.Fatalf("lastUpdated %s < start %s", lastUpdated, start)
			}
			if lastUpdated.After(now) {
				t.Fatalf("lastUpdated %s > now %s", lastUpdated, now)
			}
		}
	}

	expectValueEquals := func(key string, expVal []byte) {
		expectKeyValues(map[string][]byte{key: expVal})
	}

	expectKeyNotFound := func(key string) {
		var resp serverpb.GetUIDataResponse
		url := "uidata?keys=" + key
		if err := getAdminJSONProto(s, url, &resp); err != nil {
			t.Fatal(err)
		}
		if len(resp.KeyValues) != 0 {
			t.Fatal("key unexpectedly found")
		}
	}

	// Basic tests.
	var badResp serverpb.GetUIDataResponse
	const errPattern = "400 Bad Request"
	if err := getAdminJSONProto(s, "uidata", &badResp); !testutils.IsError(err, errPattern) {
		t.Fatalf("unexpected error: %v\nexpected: %s", err, errPattern)
	}

	mustSetUIData(map[string][]byte{"k1": []byte("v1")})
	expectValueEquals("k1", []byte("v1"))

	expectKeyNotFound("NON_EXISTENT_KEY")

	mustSetUIData(map[string][]byte{
		"k2": []byte("v2"),
		"k3": []byte("v3"),
	})
	expectValueEquals("k2", []byte("v2"))
	expectValueEquals("k3", []byte("v3"))
	expectKeyValues(map[string][]byte{
		"k2": []byte("v2"),
		"k3": []byte("v3"),
	})

	mustSetUIData(map[string][]byte{"k2": []byte("v2-updated")})
	expectKeyValues(map[string][]byte{
		"k2": []byte("v2-updated"),
		"k3": []byte("v3"),
	})

	// Write a binary blob with all possible byte values, then verify it.
	var buf bytes.Buffer
	for i := 0; i < 997; i++ {
		buf.WriteByte(byte(i % 256))
	}
	mustSetUIData(map[string][]byte{"bin": buf.Bytes()})
	expectValueEquals("bin", buf.Bytes())
}

func TestClusterAPI(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	// We need to retry, because the cluster ID isn't set until after
	// bootstrapping.
	testutils.SucceedsSoon(t, func() error {
		var resp serverpb.ClusterResponse
		if err := getAdminJSONProto(s, "cluster", &resp); err != nil {
			return err
		}
		if a, e := resp.ClusterID, s.(*TestServer).node.ClusterID.String(); a != e {
			return errors.Errorf("cluster ID %s != expected %s", a, e)
		}
		return nil
	})
}

func TestHealthAPI(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	// We need to retry because the node ID isn't set until after
	// bootstrapping.
	testutils.SucceedsSoon(t, func() error {
		var resp serverpb.HealthResponse
		return getAdminJSONProto(s, "health", &resp)
	})

	// Expire this node's liveness record by pausing heartbeats and advancing the
	// server's clock.
	ts := s.(*TestServer)
	ts.nodeLiveness.PauseHeartbeat(true)
	self, err := ts.nodeLiveness.Self()
	if err != nil {
		t.Fatal(err)
	}
	s.Clock().Update(self.Expiration.Add(1, 0))

	expected := "node is not live"
	var resp serverpb.HealthResponse
	if err := getAdminJSONProto(s, "health", &resp); !testutils.IsError(err, expected) {
		t.Errorf("expected %q error, got %v", expected, err)
	}
}

func TestClusterFreeze(t *testing.T) {
	defer leaktest.AfterTest(t)()
	s, _, _ := serverutils.StartServer(t, base.TestServerArgs{})
	defer s.Stopper().Stop()

	for _, freeze := range []bool{true, false} {
		req := serverpb.ClusterFreezeRequest{
			Freeze: freeze,
		}

		var resp serverpb.ClusterFreezeResponse
		cb := func(v proto.Message) {
			oldNum := resp.RangesAffected
			resp = *v.(*serverpb.ClusterFreezeResponse)
			if oldNum > resp.RangesAffected {
				resp.RangesAffected = oldNum
			}
		}

		cli, err := s.GetHTTPClient()
		if err != nil {
			t.Fatal(err)
		}
		path := s.AdminURL() + adminPrefix + "cluster/freeze"

		if err := httputil.StreamJSON(cli, path, &req, &serverpb.ClusterFreezeResponse{}, cb); err != nil {
			t.Fatal(err)
		}
		if aff := resp.RangesAffected; aff == 0 {
			t.Fatalf("expected affected ranges: %+v", resp)
		}

		if err := httputil.StreamJSON(cli, path, &req, &serverpb.ClusterFreezeResponse{}, cb); err != nil {
			t.Fatal(err)
		}
	}
}


In one study, obese men who added 2 tablespoons of coconut oil per day to their usual diet lost an average of 1 inch 2. The majority of these recipes can be cooked in bulk to enjoy multiple diet plan to lose 30 pounds in 6 weeks a week and many can be partially prepped ahead of time to cut down on the cooking time and make those meal time decisions even easier.
MCT stands for medium-chain triglycerides, which are a type of fat that's weight loss over age 45 differently than the long-chain fatty acids found in most foods. What's more, this compound may also help you burn more calories and lose body fat 55 Use canned salmon or leftover chicken. MCTs are rapidly absorbed for immediate use as an energy source.
Rinse and dry the lettuce. Compounds in cayenne pepper have been found to reduce inflammation, help control hunger and boost metabolic rate. This recipe features tuna steaks pan-fried in coriander seeds and lime zest brown butter, cumin and paprika sweet onion and red peppers, topped with zesty avocado salsa.
Sue— Just wanted to thank everyone for being so supportive.
I crave greens every day and get cranky without them. Tear or chop it into large chunks and place it into a big bowl or plate. Delicious, healthy dinner that is naturally gluten free! This is the one pan wonder dinner, of your busy Friday night dreams.
Due to their shorter length, MCTs are rapidly absorbed by the body and go straight to the liver, where they can be used immediately for energy or converted into ketones for use as an alternative fuel source. First, it's an excellent source of protein, potassium and calcium.
One study had 22 men consume different protein drinks on four separate days. Medium-chain triglycerides have been shown to increase metabolic rate in several studies 67. Yahooooo Nicholas— Hey Tribe! It's been credited with reducing appetite and lowering blood sugar and insulin levels in people with diabetes 47 Drizzle with Italian Dressing and serve! Studies have shown that egg-based breakfasts reduce hunger and promote feelings of fullness for several hours train body burn fat not carbs overweight easy fat burning dinner obese individuals 21 One large review of 20 studies concluded that taking capsaicin easy fat burning dinner reduce appetite and can increase the number of calories you burn by about 50 calories per day A whey protein shake is a quick meal or snack option that promotes fat loss and may help improve your body composition.
But make sure to choose plain, full-fat Greek yogurt, as non-fat and low-fat dairy products contain little to no conjugated linoleic acid. If I can do if, so can you. Jenn— After medical weight loss the woodlands tx of only losing. Tomatoes, onions, peppers, weight loss top 10 and fat loss treatments uk spiced up with a little chorizo — basically summer on a plate.
Whey protein appears to increase muscle growth, reduce appetite, increase fullness and boost metabolism more effectively than other protein sources. Given the difference in study outcomes, green tea's effects likely vary from person to person and may also depend on the amount consumed.
To make it even better for you and to save moneyslice of home-roasted turkey, chicken, fish, or beef in place of the lunch meat… and you can always add leftover bacon for a little extra crunch.
Right now you can join for free for your first 7 days to try everything out. You deserve delicious food, awesome support, and your health.
This support is just what I needed to stay on track. This is the amount found in about 1—4 cups of coffee, depending on its strength.
Salmon, herring, sardines, mackerel and other oily fish contain omega-3 fatty acids, which have been shown to reduce inflammation and decrease easy fat burning dinner disease risk 123. In one study of 23 healthy adults, a whey protein meal was found to increase metabolic rate and fat burning more than casein or soy protein meals Below are 42 of the best, healthiest easy fat burning dinner most delicious weight loss dinners you can find online from some incredible food blogs and websites.
Make sure to pin and save your favourites to social media to share with your friends and make them easier to find at your next dinner time! Olive oil has been shown to lower easy fat burning dinner, increase HDL cholesterol and stimulate the release of GLP-1, one of the hormones that helps keep you full Drizzled with an incredibly easy teriyaki dressing that doubles as a marinade!
Halloumi is your new best friend and pairing it with butternut squash and rosemary is a great place to start. Their powerful antioxidants may reduce inflammation and help protect your cells from damage Perfect BBQ food train body burn fat not carbs you ask me! Full-fat Greek yogurt also contains conjugated linoleic acidwhich seems to promote weight loss and fat burning in overweight and obese people, according to research that includes a large review of 18 studies 666768 Olive Oil Olive oil is one of the healthiest fats on earth.
Although egg yolks used to be avoided due to their high cholesterol content, whole eggs have actually been shown to help protect heart health in those at increased risk of disease 19 Fish is also rich in protein, which helps you feel full and boosts metabolic rate during digestion.
Full-fat Greek yogurt is extremely nutritious. Fatty fish contains omega-3 fatty acids that may promote fat loss. It is rich and smokey but not so spicy as to put off my notoriously fussy children.
Share your recipe in how to lose lower back fat comments below. We are what we eat! Coffee is one of the most popular beverages worldwide. Drinking a few cups of green tea, oolong tea or a combination of the two on a regular basis may promote fat loss and provide other beneficial health effects. However, it's best to start with 1 teaspoon easy fat burning dinner and gradually increase the dosage in order to minimize potential digestive side effects like cramping, nausea and diarrhea.
Consider eating chili peppers or using powdered cayenne pepper to spice up your meals several times a week. Organic, pastured if possible.
Coconut Oil Coconut oil is loaded with health benefits. I eat an enormous amount of vegetables, as often as I can—usually several times a day, which takes deliberate effort. What's more, one study found that oolong tea increased calorie burning twice as much as green tea did 6061 For the best fitness content straight to your inbox!
Don't worry we don't spam See more. Naturally gluten free and wholesome.
Consuming up to 2 tablespoons of coconut oil daily may help maximize fat burning. Oolong Tea Oolong tea is one of the healthiest beverages you can drink. In addition, omega-3 fatty acids may help you lose body fat.
MCT oil may increase fat burning, decrease hunger and protect 5 easy steps to lose weight at home mass during weight loss. In one study, people took mg of caffeine every two hours for 12 hours.
In addition, whey protein seems to be even more effective at suppressing appetite than other protein sources. Crispy bacon and chicken smothered in a Hawaiian style pineapple and barbecue sauce, these skewers are so addictive! Green tea contains caffeine and EGCG, both of which may boost metabolism, promote weight loss, protect heart health and reduce the risk of cancer.
What's more, some studies have shown that olive oil may boost metabolic rate and promote fat loss 7172 Honey mustard makes this chicken one easy fat burning dinner the best recipes I have on here.
Including apple cider vinegar in your diet may help you lose body fat. Or were, as the case may easy fat burning dinner. What's more, vinegar's main component, acetic acid, has been found to increase fat burning and reduce belly fat weight loss over age 45 in several animal studies 49 medical weight loss the woodlands tx, 50 Research suggests that high-protein dairy products can boost fat loss, protect muscle during weight loss and help you feel full and satisfied how to lose 10kg weight Sub in red bell peppers.


text:
Hatched	hatchedadmin	2017-02-02T23:56:33-05:00
Full Episode: NovelTie on Hatched
WATCH SHOW
Hatched is the new entrepreneurial show that gives inventors
a shot at the American dream! High school student Shreyas
is the creator of NovelTie, a clever and fun line of ties geared
towards students and young adults. His products seem
to be a hit with his peers but will the Hatched panel
feel the same way?
ACCELERATING CONSUMER BRANDS ACROSS AMERICA!
Hatched is a nationally syndicated TV show connecting emerging brands with successful
mentors and once-in-a-lifetime opportunities. More than just entertainment, Hatched
combines a multimedia platform with retail and corporate partners, digital experts, and
prolific investors to create an ecosystem around growing consumer brands.
COMPANY SPOTLIGHT: RGO
Raw Green Organics (RGO) creates
delicious mixes of plant based, non-GMO,
all-organic, super food snacks and cleanses
- all available online!
Are you ready to take your
invention or innovation to the next
level? Submit your proposal here.
Courtney Reum is the co-founder of M13, a brand development and investment company accelerating businesses at the nexus of consumer products, technology, and media. Courtney and his brother Carter Reum are collaborators and brothers from Chicago. Both Courtney & Carter Hatched their careers at Goldman Sachs. Leaving investment banking with an idea to create "a better way to drink," the Reums built VEEV Spirit, a 70 proof vodka alternative, from that idea into one of the pioneering artisanal alcohol brands in the spirits industry, helping to popularize the açaí berry in the United States and into one of the fastest growing independent spirit brands in the country. Building on VEEV's success, they launched VitaFrute™ Cocktails by VEEV®, the first line of certified organic ready-to- drink cocktails.
While growing both brands, the brothers began investing in other companies providing first hand experience, guidance and capitalization to many emerging businesses. Early investments include Bonobos, Birchox, Warby Parker, Pinterest, Lyft, Krave Jerky, Kevita, and numerous others. In 2016, Carter and Courtney sold a majority stake of VEEV Spirits to a larger company allowing them to found M13 and focus on their entrepreneurial stewardship of consumer brands.
Both Carter and Courtney have been profiled by several entrepreneurial groups such as the "30 Under 30" list, the INC "500 fastest growing private companies in America," Richard Branson's best-selling book "Screw Business as Usual" and most recently the Goldman Sachs Builders + Innovators 100 "Most Intriguing Entrepreneurs" of 2014 & again in 2015. They are also currently featured in the first year curriculum at Harvard Business School through the case study, "VEEV on the Rocks."
Courtney holds a B.A. with distinction from Columbia University in New York and is an alumnus of Harvard Business School. Courtney is also an active member of the Young President's Organization (YPO) internationally and locally in Los Angeles through the Bel-Air Chapter. Courtney served as one of the Mayor Eric Garcetti's Commissioners for the Los Angeles Convention Center & Tourism Authority and is philanthropically involved as a Board Member of the LA Opera and City Year organization helping underserved schools.
Courtney Reum
Carter Reum is the co-founder of M13, a brand development and investment company accelerating businesses at the nexus of consumer products, technology, and media. Carter and his brother Courtney Reum are collaborators and brothers from Chicago. Both Carter & Courtney Hatched their careers at Goldman Sachs. Leaving investment banking with an idea to create "a better way to drink," the Reums built VEEV Spirit, a 70 proof vodka alternative, from that idea into one of the pioneering artisanal alcohol brands in the spirits industry, helping to popularize the açaí berry in the United States and into one of the fastest growing independent spirit brands in the country. Building on VEEV's success, they launched VitaFrute™ Cocktails by VEEV®, the first line of certified organic ready-to- drink cocktails.
While growing both brands, the brothers began investing in other companies providing first hand experience, guidance and capitalization to many emerging businesses. Early investments include Bonobos, Birchbox, Warby Parker, Pinterest, Lyft, Krave Jerky, Kevita, and numerous others. In 2016, Carter and Courtney sold a majority stake of VEEV Spirits to a larger company allowing them to found M13 and focus on their entrepreneurial stewardship of consumer brands.
Carter has a B.A. with distinction from Columbia University in New York, where he graduated Summa Cum Laude with a 4.0 and is an alumnus of Harvard Business School.
Carter Reum
Dara Trujillo is the Vice President of Merchandise New Business Development for HSN and manages the new American Dreams program for the company. She has been in the retail world for 25+ years and her experience includes everything from overseeing 28 department store's and all their fashion and trends to retail and experiential development for a major theme park (not sure if you can say Disney).Currently in her role at HSN, she evaluates new merchandise businesses and opportunities, looks for new entrepreneurs with products to showcase and drives signature company initiatives for the network. She is looking for amazing entrepreneurs and dynamic product to showcase on TV and introduce to their 96M households. Having a successful business at HSN means understanding it all starts with People, a Purpose and the Product. We are looking for great stories and storytellers and when combined with great products, that's the winning combination.
Dara Trujillo
Steve Seigel is a former Investment Banker (@ Bear Stearns & JP Morgan), Hedge Fund Professional (@TIG Advisors, LLC) and prominent early stage investor and operator. Steve is currently an advisor for Honor, an on-demand in-home care company backed by Andreessen Horowitz, which most recently won the crunchie for best new start-up of 2015 along with being named as one of six companies that could change the world (@NewCo Shift), being placed beside Tesla. On the investment side, Steve has invested in several billion dollar companies including Palantir & Lyft along with a number of notable Health Tech Start-ups. Steve is also an adviser to Start-Up Health, the UCLA VC Fund and has made a career on understanding unique products that can disrupt the status-quo.
Steve Seigel
Victor Green is a successful international entrepreneur from London, England. He has had extensive achievements in founding and managing several successful businesses and corporations worth multimillions. Victor personally seeded and managed these business ventures and reached sales worth up to $200 million while staffing hundreds of employees. His first full-time business venture was starting a publishing company. From this he went on to start many other businesses, such as organizing conventions, printing, advertising, direct mail, PR, photography, import and export, manufacturing, soccer clubs, website design, creating portal websites, real estate, finance company, business consulting, mentoring and lecturing on business matters. Victor's success offers his clients a wealth of value in every aspect of a business from preparing and following a business plan, marketing, financing and more. Victor also recently published his book, How to Succeed in Business and lectures as a subject matter expert on business.
Victor Green
Nicole Lapin is the only finance expert you don't need a dictionary to understand. She got her start in finance at age eighteen, reporting from the floor of the Chicago Mercantile Exchange for First Business Network. She went on to become the youngest anchor ever at CNN and then to claim the same title at CNBC, where she anchored the only global finance show on the network, Worldwide Exchange, while contributing financial reports to MSNBC and Today. Nicole has also served as a business anchor and special correspondent for Bloomberg Television. She is the money saving correspondent for The Wendy Williams Show and reports on the business of Hollywood for The Insider. She is also the creator and host of the AOL Originals show, I'll Never Forget My First, where she interviews influential women about the first time they knew they made it. Nicole has earned the Accredited Investment Fiduciary (AIF®) certification. She graduated summa cum laude and as the valedictorian of her class at Northwestern University's Medill School of Journalism.
Nicole Lapin
Whether you think you can or whether you think you can't,
you're right!
There's no shortage of remarkable ideas,
what's missing is the will to execute them.
- Seth Godin
Think like a customer!
Every accomplishment starts with a decision to try.
One finds limits by pushing the limits.
Get a sneak peek at the candid moments
during the show.
WINNER! PARENTS' CHOICE FOUNDATION
WINNER! BEST EDUCATIONAL PROGRAM
© Copyright 2016 Litton Entertainment. All rights reserved.


The keyboard feel and usability is not quite as good as the ThinkPad X41 keyboard, but close. On the right side we have from front to back the hard drive bay, smart card slot right above the hard drive, then PCMCIA slot for accessory expansion, and then the headphone and microphone jacks. Also, the temperature of the room environment plays a big role in the notebooks ability to cool, so keep that in mind. See " Finding Information. On the back side from left to right we have the ethernet port, modem port, 2 USB 2.
To avoid loss of data, never turn off the computer while the light is flashing.
Right side view larger image. Using batteries in both the Media Base and the computer while the computer is docked in the Media Base increases the battery operating time.
The AC adapter works with electrical outlets worldwide.
The computer ships with a plastic blank installed in the slot. I used the 9-cell battery during a 35 hour trek back from Hong Kong many flight transfers and delays involved in that trip and squeezed 7 hours of use out of the 9-cell battery.
On the right side we have from front to back the hard drive bay, smart card slot right above the hard drive, then PCMCIA slot for accessory expansion, and then the headphone and microphone jacks.
The network connector is slightly larger than the modem connector. I like the computer because of its durability and because it is compact.
For information on supported keyboard shortcuts, see " Using the Keyboard and Touch Pad.
For more information, see the documentation that came with your Bluetooth wireless technology. Keyboard and touchpad view larger image.
See the Dell documentation that came with your docking device for more information. Mobile Intel GM Express.
For more information, see " Using Smart Cards. Bottom side view larger image Bottom side: Graphics performance and 3DMark05 score is still low due to integrated graphics. All content posted on TechnologyGuide is granted to TechnologyGuide with electronic publishing rights in perpetuity, as all content posted on this site becomes a part of the community. We use the program Super Infrarev to get a benchmark of processor speed.
When you receive your computer, the sensor is disabled. The Dell X1 has no vents, it uses passive cooling. Mainboard Data Bus Speed.
CNET may get a commission from these offers. This reimagined MacBook Air fixes almost all previous design issues, but not without adding With just the standard 6-cell battery I achieved infrsred Those that prefer having a touchpad, rell the ThinkPad ultraportable series does not have, will likely prefer the D user input options. Expansion Bays D4410 Qty. I know I can learn to love a notebook if it has a pointing stick. Trusted Computing Platform Alliance TCPA module, administrator password, hard drive password, security lock slot cable lock sold separatelysystem password.
Left side view larger image Left side: Turns on when you turn on the computer and blinks when the computer is in a power management mode. I recommend the media base option.
The battery is located at the front of the notebook, this is a first for me. The updated Spectre x inch convertible laptop adds terrific battery life and top-notch Wireless works well as d40 as connecting to available wireless networks, but not exceptional.
Do not block, push objects into, or allow dust to accumulate in the air vents.


You are visiting the placeholder page for Karen King. This page is here because someone used our placeholder utility to look for Karen King. We created this page automatically in hopes Karen King would find it. If you are not Karen King, but are an alumni of Archbishop Chapelle High School, register on this site for free now.


text:
Gabe Vela
Credit: FOX West Texas
Author: FOX West Texas staff
Published: 2:42 PM CDT July 14, 2021
Updated: 1:58 PM CDT July 15, 2021
I'm Gabe Vela, news director for FOX West Texas. I've been in news for about 15 years, spending most of my career as a news producer. I'm originally from Corpus Christi, but have lived in East, South and now West Texas.
As a dad of 3, my interests often change with my children. From video games to toys and movies, I love learning about their interests and getting involved in any way that I can.
What do you like about working at FOX West Texas?
I came to FOX West Texas to share my passion of news with my team. Everyone here has big dreams for their future and I am excited to help grow their careers.
What's one thing people would be surprised to learn about you?
I'm a huge "FRIENDS" fan. My wife and I have binged all 10 seasons several times. The Halloween episode is our favorite.


cross posted with Twilight, Travel, and Treats In celebration of Valentine's Day and also Breaking Dawn filming coming to Vancouver, I made some Breaking Dawn wallpapers. Click for full size. I've made desktop, iPhone, Blackberry, and iPad versions.


text:
import chainer

from chainer_wing.node import Input, Loss

class SoftmaxCrossEntropy(Loss):
    Input('in_array', (chainer.Variable,))

    def call(self):
        return 'softmax_cross_entropy(self.y, t)'

    @classmethod
    def register_chainer_impl(cls):
        return chainer.functions.softmax_cross_entropy

class SigmoidCrossEntropy(Loss):
    Input('in_array', (chainer.Variable,))

    def call(self):
        return 'sigmoid_cross_entropy(self.y, t)'

    @classmethod
    def register_chainer_impl(cls):
        return chainer.functions.sigmoid_cross_entropy

class MeanSquaredError(Loss):
    Input('in_array', (chainer.Variable,))

    def call(self):
        return 'mean_squared_error(self.y, t)'

    @classmethod
    def register_chainer_impl(cls):
        return chainer.functions.mean_squared_error

# class HuberLoss(Loss):
#     Input('in_array', chainer.Variable)
#     Input('delta', float)
#
#     def call(self):
#         self.check_member(('_delta',))
#         return 'huber_loss(self.y, t, delta={0})'.format(self._delta)


Happy New Year! I hope you have had an amazing start to 2016!
Did you notice that as soon as the flood of electronic Christmas wishes ended, a flood of electronic "New Year Resolutions" took over? My email and Facebook was taken over by posts and articles on how to make resolutions & how to stick to these resolutions. But now, towards the end of the month, I'm getting a few on how to ditch the resolutions altogether and how there's no point anyway! What's going on here? Are we all aiming too high? Are we being unrealistic? Are we just lazy? It's pretty interesting (and a little funny) to see how we can raise the bar at the start of the month and 3 weeks into it, take that bar down and beat ourselves to a pulp with it.
No, I'm not going to give you a motivational speech about getting back up and sticking your resolutions on a new and highly evolved vision board. I'm going to get really real on these resolutions and every single decision we make in our lives. And I mean every decision, from the seemingly unimportant ones, like, whether to tie your hair up or leave it out today to whether you are going to hand in your resignation and travel for the foreseeable future.
Our lives can be broken down to tiny moments. We may think we have no way of controlling these moments and for the most part, we are oblivious of these moments. Becoming aware of how we choose to live in the moments can make all the difference. Let's just take one of these small moments and look at the 2 ways of being able to experience them. Yes, there are only 2 ways.
One way is through a path of avoidance or fear. When walking down this path, you would be making choices based on the fear of "lack" or "effect" or "regret" etc. Looking at our hair example from above, you may choose to tie your hair up today because you fear the humidity and you fear it will make you look ridiculous. You may fear the heat will be unbearable.
I realise this example is very basic, but its purpose is to show you how a simple adjustment in your Core Intention can make a big difference to the experience of that moment and the final result. Although the end result was to tie your hair anyway, the intention driving it impacts your attitude, your motivation and ultimately how you feel about yourself, the weather and whomever may comment on your hair today!
Knowing that moments turn into other moments which expand to days, to years, to decades, to habits…wouldn't it be wise to pause for a bit and really get to understanding your Core Intentions?
These Core Intentions also impact how you connect with yourself. They determine how you connect with your external world – your partner, your family, children, colleagues, friends, the environment…what is the quality of your interactions?
Finally, these Core Intentions determine your level of motivation. Your intentions determine what you focus on and if it is fear based, then how motivating is it to keep driving towards it? How much more energy does it take you to do something you have negative emotions and beliefs around? How much more empowering would it be to work towards something that would be for the good of you or someone else?
So I say, before you set any more goals or resolutions this year, get clear on your Core Intentions. It is pretty simple because there are only 2 to choose from. Start your day with a little reflection, incorporate a lot of pauses throughout your day and be mindful of how you choose your experiences.
Older PostBeen fishing? How's your catch?


text:
Q: Can't restrict cipher for SSL/TLS in boost::asio I am trying to deny some ciphers from usage.
My code can be summed up as:
boost::asio::ssl::context mSSLContext( aIOService, boost::asio::ssl::context::tlsv12_server );

mSSLContext.set_password_callback( boost::bind( &Server::getSSLPassword, this ) );
mSSLContext.use_certificate_chain_file( aSSLCACertPath );
mSSLContext.use_certificate_file( aSSLPublicCertPath, boost::asio::ssl::context::pem );
mSSLContext.use_private_key_file( aSSLPrivateKeyPath, boost::asio::ssl::context::pem );
mSSLContext.use_tmp_dh_file( aSSLDHFilePath );
mSSLContext.set_verify_mode( boost::asio::ssl::verify_peer | boost::asio::ssl::verify_fail_if_no_peer_cert  );
mSSLContext.set_verify_callback( boost::bind( &Server::verifyCertificate, this, _1, _2 ) );

int rc = SSL_CTX_set_cipher_list( mSSLContext.native_handle(), "AES256-SHA:!DHE-RSA-CAMELLIA256-SHA");
assert(0 != rc);

But for some reason the server still offers DHE-RSA-CAMELLIA256-SHA cipher.
I am using https://github.com/drwetter/testssl.sh tool for verification.

Does anyone know why SSL_CTX_set_cipher_list have no effect?

redpajama_set_name: RedPajamaStackExchange


Good morning wedding loves! We have a gorgeous wedding for you today. This one will make you actually feel like you're on vacation with the lovely couple. Saher and Christian married at Pennsylvania's Ehrhardt's Waterfront Resort in the Pocono Mountains, bringing a nostalgic feel to their wedding day. I love how Saher's bridesmaids' bright red pops against the rustic background.
Christian and Saher's ceremony was outdoors, right on Lake Wallenpaupack. The atmosphere was relaxed and laid-back, which gave everyone the chance to enjoy being in each other's company. I loved the groomsmen's matching bright red bow ties and cummerbunds!
One of the best parts of Saher and Christian's wedding photos by Smile Peace Love Photography were their lakeside pictures on a dock. Talk about dramatic! I loved that they gave you the feeling that it was just them on the lake, having a private moment together. Lovely!
Finally, guests enjoyed dinner, cake and dancing well into the night. I loved the elegant look of Christian and Saher's cake with the single red bow to bring the entire red theme together.
Congratulations and best wishes to you both from The Big Fat Indian Wedding!


A landing page can be a page that visitors come to after clicking on a promotional banner or link. Eventually, the landing page should encourage the visitor that they must remain on your website.
What's going to keep them there? The structure, the language, and the visual appeal all play a part of it. Have a look at these pointers to develop a fantastic landing page, or reinvent the one you currently have.
Your landing page is the welcome wagon welcoming them in and feeding them the details they require. The structure of the page will either pull them in and motivate them to satisfy your goal, or distract and trigger them to cut out of there before getting the entire picture.
The structure of the landing page in general should be matching that of the ad, link or banner they clicked to get them there. For example, if your Pay Per Click Advertisement is targeting SEO articles, your landing page ought to discuss exactly that. If a Victoria Secret's Advertisement for underwear shows up and you click it, you will be moved to a landing page with the exact image and structure of the ad.
• Copy placement– Strategic use of copy and graphics will capture the visitor's attention. Don't muck up the page with big, distracting graphics. Use lots of whitespace and place your message in the central part of the page rather than putting details down the sides, where the focus can be lost rapidly. Keep the copy short. The visitor expects an accurate message, so do not choke it up with lots of mindless prose.
• Appeal remains in the eye– Use a constant color palate. If you have marketing or banners that link visitors to your website, make sure the principle and color design match throughout the board. It's also a great visual indicator for the visitor because they can quickly identify that they're still in the ideal place.
Prior to you develop the landing page, choose what the objective of the page will be. If you're searching for newsletter customers, the goal will be to have the visitor enter their info and become a member of your subscriber list.
Do your research. When constructing your landing page and tailor it to match their requirements, keep your visitors in mind. By narrowing your choices and focusing on your visitor, you'll remain on target.
Keep the concentrate on you. You have actually hung a large poster board over their head and pulled them in. Now that you have actually got them, do not give your visitors a factor to wander.
Many sites position the consultation kind or contact form directly on the landing page, which might not be such a bad concept. Once again, you require glaring calls to action. Do not include numerous useless links on the page that will take the visitor back to your primary site; rather consist of the links that will get them to actually buy your product/service.


Unless you're using Stickyworld for a private design review or similar small audience purpose, you'll want to get the word out to gather as many relevant eyeballs as possible.
An easy way of doing that in Stickyworld is by using the Share button on your room's home page.
You'll be given the option of sharing to social media, a link to the room, and an embed code to place on your website.
Just choose the option you want and send it out! Be sure to let us know in the comments below if you have any questions about sharing your Stickyworld room.


text:
Home / Frequently Asked Questions
The following are the most frequently asked questions to which our customers and clients seek answers regarding Sullivan Cove:
1. In what geographic area does Sullivan Cove provide services?
Sullivan Cove currently provides services in 49 states, the District of Columbia and Puerto Rico. Sullivan Cove is capable of providing services globally.
2. How many employees does Sullivan Cove employ?
Currently, Sullivan Cove employs approximately 60 full-time and part-time employees. In addition, we supervise over 91 additional subcontractor personnel.
3. How did Sullivan Cove become a Service Disabled Veteran Owned Small Business?
Sullivan Cove became a Service Disabled Veteran Owned Small Business when it was verified by the Center for Verification and Evaluation of the U.S. Department of Veterans Affairs in 2009. John S. Graham, III, Sullivan Cove's owner and Managing Director, receives a disability pension from the Veterans Administration resulting from his service as a Lieutenant in the U.S. Navy during the Vietnam War. Sullivan Cove has also been certified as a Service Disabled Veteran Owned Business by the New York State Office of General Services. Lastly, Sullivan Cove has been verified as a Veteran Owned Business by the National Veteran Business Development Council so that it is eligible for services set aside for veterans in the commercial market.
4. Is Sullivan Cove a minority owned business?
Yes, Sullivan Cove is a Hispanic owned business which is certified as a Minority Owned Business by the Capital Region Minority Supplier Development Council, and as a Minority Business Enterprise and a Disadvantaged Business Enterprise in the State of New York. Sullivan Cove is a graduate of the Maryland Department of Transportation Minority Business Enterprise program, the Delaware Minority Business Enterprise program and the U.S. Department of Transportation's Disadvantaged Business Enterprise program.
5. Does Sullivan Cove have a presence in the Washington, D.C. area to engage in in-person meetings with Federal Government officials?
Sullivan Cove's headquarters office is located in downtown Washington, D.C. at 601 Pennsylvania Avenue N.W., Suite 900, which is only one block away from the Archives-Navy Memorial-Penn Quarter metro stop. As a result, we are conveniently located in close proximity to our Federal Government clients. We also have an operations office located in Severna Park, MD, as well as an office in Long Island City, NY.
6. How many Federal contracts has Sullivan Cove been awarded?
Sullivan Cove has received awards from twenty separate Federal departments and agencies for a total of more than 40 contracts, more than 80% of which it primed.
7. Has Sullivan Cove performed any State Government contracts?
Sullivan Cove has performed contracts for the Maryland Public Service Commission in connection with the licensing of two off-shore wind energy projects. In addition, Sullivan Cove was awarded a contract with the New Jersey Transit Corporation and its New Jersey TransitGrid project. Sullivan Cove is currently performing as a subcontractor for the New York Power Authority.