13 YRS Jiangsu Yaofeng Tools Co., Ltd.
1 YRS Jiangsu Yaofeng Tools Co., Ltd.
4 YRS Beijing Garscitech Co., Ltd.
Automatic equipment could ensure the Accurate and Stable quality. 2. With High ability to do Reasearch/Development for customers. 5. Helping clients to make money , is making money for ourselves.
Item : General Purpose Diamond Saw Blade for Granite Cutting material : Diamond Powder Usage of Diamond Saw Blade : Wet and Dry Cutting Body Material : 65Mn, 30Crmo, 50#, etc. Pictures for Diamond Saw Blade: Specifications Specifications of Diamond Saw Blade: Packaging Packing for Diamond Saw Blade: Campany Information Main Product Catalogue Company Introduction DANYANG TONGYU TOOLS CO., LTD. Contact us If need the Diamond Saw Blade or have any question, pls contact me.
2 YRS Hangzhou Xinsheng Precision Machinery Co., Ltd.
6 YRS Zhengzhou Cutsky Industrial Co., Ltd.
2) Decorated holes good for cooling during cutting. 4) Delivery: Dispatch the goods to appointed airport or seaport, prepare all shipping documents to customers. 5) After-Sale Service: Track the goods, learn the products' performance.
5 YRS Xiamen ZL Diamond Technology Co., Ltd.
7 YRS Henan Drills-King Mining Technology Co., Ltd.
5 YRS Hubei Changli Diamond Products Co., Ltd.
6 YRS Benxi Tool Co., Ltd.
1 YRS Shanghai Jet World Technology Co., Ltd.
1 YRS Hebei Esuhong Trade Co., Ltd.
1 YRS Zhengzhou Hope C&T Co., Ltd.
4 YRS Poyang Hui Sen Diamond Tools Co., Ltd.
6 YRS Zhangjiagang City Scowell Machine Co., Ltd.
5 YRS Suzhou Hizar Machinery & Tool Co., Ltd.
3 YRS Shijiazhuang Huayong Alloy Tools Co., Ltd.
4 YRS Shijiazhuang Hukay Precision Tools Co., Ltd.
With full sets of advanced Germany equipments, High top quality raw material, experienced technology and strict quality control. Our saw blade have a excellent quality and can meet all your strict cutting requirements. Contact us for any inquiry and we'll provide the professional guides and service for your cutting solution.
3 YRS Jiangsu Kaileisi Tools Co., Ltd.
1 YRS Hebei Chengyu Tools Co., Ltd.
11 YRS Johnson Tools Manufactory Co., Ltd.
2 YRS Xiamen HongLiFeng Import & Export Co., Ltd.
2 YRS Danyang Ebuy Imp & Exp Co., Ltd.
5 YRS Changzhou I Believe Imp. & Exp. Co., Ltd.
2 YRS Jiuli Knives (Ma'anshan) Co., Ltd.
Whether it is hard alloy or special alloy material, the six-meter long tool can achieve the smooth and flawless performance. Q2: what kind of payment torment we can use9 Payment terms we can accept as follows: T/T, Western Union. Q3: What is the delivery time if I place my order9 It depends on the complexity of the Blade, or the quantity you ordered .
1 YRS Jiangsu Sutek Tools Co., Ltd.
3 YRS Zhongshan Kingwave Saw Blade Manufacturing Co., Ltd.
9 YRS Shanghai Roblion Diamond Tool Manufacturing Co., Ltd.
2 YRS Tongling Changjiang Diamond Tools Co., Ltd.
3 YRS Quanzhou City Huaxing Superhard Tools Co., Ltd.
5 YRS Shenzhen Dehuai Technology Co., Ltd.
Compensation Policy Any quality problem caused by our company side with enough evidence, we promise you that if could be re-produced for free. In addition, professional QC teams are able to ensure the quality of the products. Any quality problem caused by our company with full evidence, we promise you that the items will be re-produced for free.
Alibaba.com offers 1,390 general saw blades products. About 84% of these are saw blade, 3% are tool parts.
A wide variety of general saw blades options are available to you, such as free samples.
There are 1,390 general saw blades suppliers, mainly located in Asia. The top supplying country is China (Mainland), which supply 100% of general saw blades respectively.
General saw blades products are most popular in Domestic Market, South America, and North America.
You can ensure product safety by selecting from certified suppliers, including 439 with ISO9001, 306 with Other, and 117 with BSCI certification.


text:
Q: Android - How to open Adobe Acrobat within android application I'm developing an android application which is used to display the pdf file. I want to open the adobe acrobat within my android application to open the pdf file.
So please help me how i can do this.
Thanks in advance.
Regards
preet_Android

A: first you need to check whether there is a pdf viewer available in your system.
Therfore you need to call the intent to read a file
 Intent intent = new Intent(Intent.ACTION_VIEW,
    Uri.parse("path-to-document"));
intent.setType("application/pdf");
 PackageManager pm = getPackageManager();
 List<ResolveInfo> activities = pm.queryIntentActivities(intent, 0);
 if (activities.size() > 0) {
   startActivity(intent);
   }
 else
  {
Toast.maketext("hi there is no pdf viewer in your system");
 }

A: You can open the pdf file in your app by:
File pdfFile = new File("/sdcard/read.pdf");
 if(pdfFile.exists()) {
           Uri path = Uri.fromFile(pdfFile);
            Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
            pdfIntent.setDataAndType(path, "application/pdf");
            startActivity(pdfIntent);

   }

A: File file = new File(mRealPath);
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
setDataAndType(path, "application/pdf");

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try{
       //If pdf reader app already installed it will cause and exception

       startActivity(intent);

}catch(Exception e)
{
    // IF NO PDF APPLICATION INSTALLED ASK USER TO DOWNLOAD
}

redpajama_set_name: RedPajamaStackExchange


text:
import sys, os, glob
import re
from optparse import OptionParser, OptionGroup
import subprocess

HTML_SRC = 'html4'

if __name__=='__main__':
    # parse arguments
    parser = OptionParser("usage: %prog -d {directory containing source files}")
    parser.add_option('-d', '--dir', action='store', type='string', dest='dir', help='Source file directory path')

    (opts, args) = parser.parse_args()
    dir_name = opts.dir

    if not dir_name.endswith('/'):
        dir_name += '/'

    if not os.path.isdir(dir_name + HTML_SRC):
        os.system('mkdir ' + dir_name + HTML_SRC)

    for d in glob.glob(dir_name + '*_units/*/'):
        re_pattern = dir_name + '(.*)_units/(.*)_(.*)/'
        re_match = re.search(re_pattern, d)
        re_pattern_actual = dir_name + '(.*)_units/(.*?)_(.*)/'
        re_match_actual = re.search(re_pattern, d)
        func_name_actual = re_match_actual.group(3)
        func_name = re_match.group(3)

        parent_test_case = open(dir_name + HTML_SRC + '/' + func_name + '.html', 'w')
        parent_test_case.write('Following test case(s) in %s resulted in memory out-of-bounds errors. Click for more details

'%(func_name_actual))
        parent_test_case.close()

    for f in glob.glob(dir_name + '*_units/*/test*.ptr.err'):
        re_pattern = dir_name + '(.*)_units/(.*)_(.*)/(.*).ptr.err'
        re_match = re.search(re_pattern, f)
        func_name = re_match.group(3)
        test_case = re_match.group(4)

        test_case_pagename_relative = '%s_%s.html'%(func_name, test_case)
        test_case_page = open('%s%s/%s_%s.html'%(dir_name, HTML_SRC, func_name, test_case), 'w')

        test_case_page.write('\n')

        out = os.popen('cat ' + f).read()
        out = out.replace('\n', '\n
')

        '''
        proc = subprocess.Popen(['cat', f], stdout=subprocess.PIPE, shell=True)
        (out, err) = proc.communicate()
        '''

        test_case_page.write(out)
        test_case_page.write('

')

        '''
        proc = subprocess.Popen(['ktest-tool', f[:-7]+'ktest'], stdout=subprocess.PIPE, shell=True)
        (out, err) = proc.communicate()
        '''

        out = os.popen('ktest-tool ' + f[:-7]+'ktest').read()
        out = out.replace('\n', '\n
')

        test_case_page.write(out)
        test_case_page.write('')
        test_case_page.close()

        parent_test_case = open(dir_name + HTML_SRC + '/' + func_name + '.html', 'a')
        parent_test_case.write('%s
'%(test_case_pagename_relative, test_case))
        parent_test_case.close()

redpajama_set_name: RedPajamaGithub


IGI is collaborating with leaders across industries to take advantage of the power of 3D sculpted technology. There is almost no image area too large for IGI to handle. We take pride in making seemingly impossible applications possible.
IGI's NanoSculpt™ 3D Solution Suite provides our customers with advanced nano/microstructure technologies and techniques. NanoSculpt allows you to add more dimension and surface textures to precision imaging and easily create textured molds. Prototype your design with direct imaging for 3D nano/microstructure generation, quickly transforming ideas into reality. Some of the unique NanoSculpt capabilities include large areas up to 800mm and 100 micron depths.
Microscopes will catch more detail, lighting will reflect more effectively, semiconductor photoresist definition will be more controlled, and replicating patterns will be more efficient. These are just a few ways our 3D/sculptured imaging technology is making an impact for prototyping and high volume production.
We can develop your prototype or high-quality production-ready 3D/sculpted microstructure.
Custom capabilities are available on engineering projects. Tolerances can vary by structure, shape and design.


Dr. Reilly is an anthropological archaeologist interested in race formation processes, whiteness, and colonial modernity in the Atlantic world. His work on the Caribbean island of Barbados, the subject of his forthcoming book, Archaeology below the Cliff: Race, Class, and Redlegs in Barbadian Sugar Society, explores how a group of poor whites known as the Redlegs fit within the social matrix of a system of sugar production and slavery. He is currently working on two related projects in Barbados and Liberia. His work in Barbados focuses on heritage management and the process of building futures with the material remains of the dark histories of plantation slavery. He is also collaborating on a project in the West African nation of Liberia investigating a small village established by Barbadian settlers in 1865. The project uses archaeological and ethnographic approaches to explore the process of "reverse diaspora" and settler-native interactions. At the heart of his research is a critical exploration of the complex relationships between slavery and freedom, colonialism and sovereignty, race, class, and capitalism, the social construction of race and structural racism, and the past, present, and future.
Dr. Reilly's research interests surround the intersections of race, class, gender, colonialism, and capitalism in the Atlantic World. He is particularly interested in the origins of modern racial discourse and the development of whiteness as a racial identity and ideological concept. His interests also include archaeological approaches to time, materiality, memory, and praxis. His work draws from a diverse number of scholarly traditions which include critical whiteness studies, Marxism, postcolonial theory, radical Caribbean thought, cultural studies, critical race theory, Atlantic World history, materiality, and material culture studies.
Reilly, Matthew C. (under revision). Archaeology below the Cliff: Race, Class, and Redlegs in Barbadian Sugar Society. The University of Alabama Press: Tuscaloosa, AL.
Reilly, Matthew C., guest editor (under review). Archaeology and Futurity. Journal of Contemporary Archaeology.
Reilly, Matthew C. (under review). "Archaeologies of Expectation." Journal of Contemporary Archaeology.
Handler, Jerome S. and Matthew C. Reilly (2017). "White Slaves" in the Early English Caribbean: The Case of Barbados. New West Indian Guide. 91: 30-55.
Reilly, Matthew C. (2016). Archaeologies of Instability: Order and Disorder in Colonial Barbados. Journal of Social Archaeology. 16(2): 216-237.
Reilly, Matthew C. (2016). "Poor White" Recollections and Artifact Reuse in Barbados: Considerations for Archaeologies of Poverty. International Journal of Historical Archaeology. 20(2): 318-340.
Armstrong, Douglas V. and Matthew C. Reilly (2014). The Archaeology of Settler Farms and Early Plantation Life in Seventeenth-Century Barbados. Slavery and Abolition. 35(3): 399-417.
Reilly, Matthew C. (under review). Intimacies and Attachments: Households and Hucksters on the Barbadian Plantation. In Intimate Economies by K. Fogle and J. Nyman (eds.). University Press of Florida: Gainesville, FL.
Reilly, Matthew C. (2016). "Poor Whites" on the Peripheries: "Poor White" and Afro-Barbadian Interaction on the Plantation. In Roots of Empire: Archaeologies of Freedom and Slavery in the Caribbean by L. Bates, J. Delle, and J. Chenoweth (eds.). University Press of Florida: Gainesville, FL, pp. 49-78.
Reilly, Matthew C. (2015). The Politics of Work, "Poor Whites", and Plantation Capitalism in Barbados. In Historical Archaeologies of Capitalism by Mark P. Leone and Jocelyn E. Knauf (eds.). Springer Press: New York, NY, pp. 375-397.
Reilly, Matthew C. (2015). The Irish in Barbados: Labour, Landscapes and Legacies. In Caribbean Irish Connections by A. Donnell, M. McGarrity, and E. O'Callaghan (eds.). University of the West Indies Press: Kingston, Jamaica, pp. 47-63.
Handler, Jerome S. and Matthew C. Reilly (2015). Father Antoine Biet's Account Revisited: Perspectives on Irish Catholics in Mid-Seventeenth Century Barbados. In Caribbean Irish Connections by A. Donnell, M. McGarrity, and E. O'Callaghan (eds.). Kingston: University of the West Indies Press: Kingston, Jamaica, pp. 33-46.
Hogan, Liam, Laura McAtackney, and Matthew C. Reilly (2016). The Irish in the Anglo-Caribbean: Servants or Slaves? History Ireland. March-April: 18-22.
Reilly, Matthew C. (2014). The School of Female Industry: "Poor White" Education in the Era of Slavery. Journal of the Barbados Museum and Historical Society. Vol. LVV: 94-118.
Reilly, Matthew C. (2013). Archaeological Approaches to the "Poor Whites" of Barbados: Tired Stereotypes and New Directions. Journal of the Barbados Museum and Historical Society. Vol. LVIV: 1-27.
Armstrong, Douglas V., Karl S. Watson, and Matthew C. Reilly (2012). The 1646 Hapcott Map, Fort – (Trent) Plantation, St. James, Barbados: A Significant Resource for Research on Early Colonial Settlement in Barbados. Journal of the Barbados Museum and Historical Society. Vol. LVIII: 137-154.


Are you ready to learn more about Metal Gear Solid V: The Phantom Pain? Maybe, say, a release date?
Well, we're not getting our hopes up too much, but today's big Gamescom preview event should at least give us some more insight about what to expect from the next entry in Hideo Kojima's batshit insane stealth-action series. I imagine we'll see new gameplay and hear Kojima make lots of droll jokes about boxes.
This livestream, hosted by GTTV's Geoff Keighley, should be a fun watch for MGS fans. The show starts at 2pm Eastern. Stream's below, and you can keep hitting refresh on Kotaku for all the news as it happens.


text:
itmustbebobby writing & photography
Feb 28 Buying Valium in Cambodia
asia, travel, cambodia, phnom penh
One of the first things you hear about Cambodia—other than that several million of its people were murdered in a genocide just 40 years ago, or that parts of the country are still heavily covered in land mines, or that Cambodians generally seem very friendly and happy despite their country's tragic recent past (aggressive scamming touts at the land border crossings notwithstanding)—is that it's easy to buy drugs there. Very easy. Heck, the bartender at the restaurant Allison and I stopped at in Toronto before our flight to Thailand told us he'd spent a month living in Cambodia in some previous life and that you can literally walk into any pharmacy and buy whatever you want.
Guidebook entries and blog posts about this abound. I read accounts of Valium being available over-the-counter, no-questions asked, for as little as $1 for 60 pills. But it's not just prescription drugs. Heroin is also reportedly widely available, especially in large cities like Phnom Penh, although confusingly it's sold as "coke," making the risk of a fatal overdose extremely real. Marijuana is so common it's even sprinkled on food, billed as "happy pizza" or "happiness shake" or things like that.
Obviously, as we prepared to enter the Heart of Darkness, this was all very tantalizing. (OK, maybe not the heroin part.)
Here I should confess that I am already familiar with buying Valium without a prescription. Several years ago, when I was living in New York, I used to order Valium online, I think from some company based in India—or maybe it was just manufactured there. It wasn't cheap, about $3 per pill, but the online ordering system was actually very reliable. It seemed easier than dealing with the actual U.S. health-care system, although I did obtain Valium that way occasionally too, seeking out a doctor for whatever hypochondriacal anxiety I was having at the time—debilitating fear of ALS, HIV, cancer, whatever felt deadliest in my mind at the time. The doc would shake his head ruefully, say, "I really don't think you have ALS or HIV," write me a scrip for 10 or 20 pills and send me reeling out onto the sweltering, freezing NYC streets. Ordering online was easier, and to be honest, I resented the fact that I needed a doctor's "permission" to relax enough to not be constantly consumed by the thought of death. (Anyway, I was very methodical about the dosage; limiting myself to one pill at a time, not more than a few times a month, etc. I'm probably more careful than a lot of doctors out there, actually.)
The only reason I stopped doing this (which I didn't do that often, maybe three or four times total) was that some U.S. drug schedule law changed (thanks, Obama) and these foreign companies were no longer able to accept credit card payments for Valium (plenty of other drugs were still available to buy with a credit card online though). Payment for the last order I ever made was arranged via a Western Union in Times Square. I actually wired a woman money for the pills, sure I was being scammed, since this is like No. 1 in the Getting Scammed on the Internet 101 handbook, but on the other hand, I kind of trusted this particular lady because she worked for the same company I'd ordered pills from successfully in the past (and actually we'd exchanged many pleasant emails; her name was Victoria). Also, I'd checked out her story about the drug laws having changed recently, and it seemed legit.
Indeed, an envelope full of pills arrived at my apartment soon thereafter, as promised, and they worked just fine at taking the edge off after a day spent wasting away in an office copyediting a women's fashion magazine or whatever I was doing at the time. But that was the last order I placed, as the whole Western Union wrinkle was too complicated to make it feel worth it anymore. I probably started buying marijuana again instead (those guys will come right to your apartment, or at least meet you in some empty aisle of a comic book store on your lunch break). Or maybe I joined a gym.
In any case, the potential for 60 pills of Cambodian Valium for a dollar was obviously something I had to investigate. Our first night in Phnom Penh, Allison and I were content to just get drunk at the fabulous Sundance Inn & Saloon on 75 cent mugs of beer and $1.50 Jim Beams—with a 50 cent pack of cigarettes thrown in to help us feel like truly decadent lowlifes—but by the second night in Phnom Penh we realized we were really going to have to take something stronger than ibuprofen to cushion those barbed-wire Cambodian hangovers.
We stopped at the first pharmacy we saw, about two blocks from our hotel, and, with a bit of trepidation, I said, "Valium? You have for sale?"
The pharmacy, as I just called it, was really just a storefront with a glass counter that opened up onto a busy, trash-and-rubble-strewn street in Phnom Penh. There was probably somebody selling whole roasted ducks with the heads still attached in the darkness to my right, but I was too focused on my mission to notice. The glass counter itself was filled with boxes of drugs, as were the shelves behind the "pharmacist."
"Diazepam," she said sweetly. "Five milligram or 10 milligram?" She was a short, pretty woman with glasses, and despite the dusty, traffic-choked road behind us and the murky legality of what we were doing—although this is apparently very normal in Cambodia—I felt like I was in good hands. This lady looked proud, professional even, as she spread the boxes of pills out before us. She may have been wearing a white coat.
"Five dollar for 10 milligram pack. Two dollar 50 cent for 5 milligram pack. Forty pill each."
It wasn't quite the 60-for-a-dollar bonanza I'd read about online (maybe that was a couple of years ago) but still, Allison and I gave each other kid-in-a-candy-store glances, and I nearly broke out in a giddy guffaw as I said, "Yes, we take the 10 milligram pack."
I walked away feeling like I'd stolen something.
Later that night, as we exited the Sundance Saloon again, a young tuk tuk driver, perhaps still a teenager, offered to sell me marijuana. Allison was across the street retrieving her scarf, which she'd left in the bar for the second night in a row, so I entertained the conversation. He wanted $20 for a bag, which I told him was outrageous—Did he know what country we were in?—and he laughed and said he had smaller amounts, I should just take a look. To be honest, some weed did sound good, better than those god-awful 50 cent cigarettes we'd been smoking, but at this point Allison returned and began trying to pull me away from what, yes, she was probably right, would have been an ill-advised transaction.
During the ensuing conversation with the kid, as Allison pulled me in one direction and he in the other, he revealed that he was high himself—on "ice" as he called it, which is basically crystal meth or some derivation of it. Likely his marijuana contained some kind of stimulant too, which he presented as a selling point, until I told him I wasn't interested in that, at which point he said the complete opposite, that it was very calming weed, "Good for sleeping, relaxing."
As Allison finally dragged me away, down the dark, empty street, back toward our hotel, the boy called out plaintively, "Sir, open your heart. Open your heart …"
It seemed an odd thing to say, and I turned it over in my mind quite a bit that night and the next day. My heart is open, in my opinion, although I am not necessarily easily moved by emotional pleas or even distress. Perhaps it's actually my mind that's open, not my heart. I hardly ever see something and think, "THAT UPSETS ME!" in an emotional sense—because too much of the world is that way; it should be better, but it isn't. It's deeply, tragically flawed. Usually I just think, "Ah, so that's another predictably broken piece of the world."
In other words, I asked myself, do I think it's "wrong" to buy drugs from a kid in Cambodia so that he can go buy more drugs to support his meth habit? Not really. My heart is "open" enough, so to speak, to understand that he feels he needs those drugs, or at least wants them very badly, and that his life is unimaginably harder than mine could possibly be. I'm a white guy from America with a solid savings account and a peer group that complains righteously on Facebook day in and day out about the latest manufactured political drama and what a "fascist" Donald Trump is. A quarter of this kid's country's population was murdered by an actual dictator in the name of some kind of crazy communist purity not long before he was born, and even though he was too young to have experienced it directly, his family surely did. Beyond that, poverty and corruption are rampant in Cambodia, and day-to-day life in Phnom Penh is so hectic and stress-inducing I wonder how anyone can manage it. Cambodian life expectancy rates are among the lowest in Asia (and in the bottom half worldwide), just 66 or 67 years for men.
The next day, as Allison and I swerved through traffic in the back of a tuk tuk on the way to the Killing Fields, that tourist attraction where you can see the exact spot thousands of Cambodians were killed in the late 1970s, including the tree the Khmer Rouge soldiers bashed babies to death on, Allison said, "How many people in this city do you think are high right now, on Valium or meth or who knows what?"
A good question. What about just getting drunk on beer? Any time of day is a good time for that in Cambodia. Fifty cents each in a local store, an ice cold—or even just mildly cold—Cambodian- or Angkor-brand beer is perfect in the 90 degree heat, even with breakfast. People do it all the time, locals and foreigners both. It's not even noon as I'm writing this, and I think I'm going to have one right now. I'm sitting on the roof of the Royal Hotel in Battambang, a breeze is blowing, and it sounds like the perfect thing ...
(Full disclosure: I took a Valium before sitting down to write this. It wouldn't be authentic to write a blog post about buying Valium in Cambodia without ingesting a bit of the product first, right? It's research! Also, I forgot to mention earlier, I did a little comparison-shopping in the beach town of Kep, south of Phnom Penh, just to see how consistent prices are and whether I "overpaid" at $5 for 40. At the pharmacy there, a pack of 10 brand-name Valiums made in Europe was a whopping $7, but a pack of 10 Cambodian-made diazepam was just 80 cents. So yeah, I could have saved $1.80 on 40. That's a pack of smokes and two beers. Or a meal. Whichever is more important to you.)
cambodia, valium, drugs, marijuana, diazepam, Southeast Asia, phnom penh
Get updates from my blog.
Jan 22, 2016 Winter / Rochester / indoors / bathroom window Jan 22, 2016
Jan 23, 2016 Jolene gets a carwash Jan 23, 2016
Jan 24, 2016 An empty fry carton in winter Jan 24, 2016
Jan 25, 2016 A snowcapped pumpkin decays gently atop a tree stump Jan 25, 2016
Jan 26, 2016 Running inside for milk Jan 26, 2016
Jan 27, 2016 Quick thaw Jan 27, 2016
Jan 28, 2016 Pedestrians prohibited Jan 28, 2016
Jan 29, 2016 Nothing but gray skies Jan 29, 2016
Jan 30, 2016 Whiskey and wine Jan 30, 2016
Jan 31, 2016 Wireless what? Jan 31, 2016
Feb 1, 2016 Postcard mania Feb 1, 2016
Feb 3, 2016 Rabbit / Bear at dusk Feb 3, 2016
Feb 6, 2016 Country roads / Lake Ontario Feb 6, 2016
Feb 7, 2016 Donatello guards the soap Feb 7, 2016
Feb 9, 2016 Laburnam Crescent begins Feb 9, 2016
Feb 12, 2016 Do you sell ... clippers? Feb 12, 2016
Feb 13, 2016 Post office purgatory Feb 13, 2016
Feb 14, 2016 A tepid pool of toothpaste, water and spit Feb 14, 2016
Feb 17, 2016 Winter arrives in Rochester / My mind wanders Feb 17, 2016
Feb 18, 2016 The archetypal view / Dank memes Feb 18, 2016
Feb 20, 2016 Shoe shopping is hell Feb 20, 2016
Feb 25, 2016 Dismantling my childhood bed Feb 25, 2016
Feb 26, 2016 Lazy February days Feb 26, 2016
Feb 29, 2016 Decaying pumpkin atop a tree stump, part 2: President Trump Feb 29, 2016
Mar 2, 2016 Up and down the familiar avenue / Super Tuesday Mar 2, 2016
Mar 6, 2016 Buffalo excursion Mar 6, 2016
Mar 7, 2016 Typical scenes, digitally enhanced Mar 7, 2016
Mar 13, 2016 Michigan road trip Mar 13, 2016
Mar 16, 2016 Super haircut Tuesday Mar 16, 2016
Mar 18, 2016 The day my parents (briefly) disappeared Mar 18, 2016
Mar 23, 2016 Western Tuesday / Monroe County for Bernie Sanders Mar 23, 2016
Mar 27, 2016 Phonebanking on a Saturday afternoon Mar 27, 2016
Mar 30, 2016 Radio towers on Pinnacle Hill Mar 30, 2016
Apr 3, 2016 Entering the 36th Chamber / Canvassing for Bernie Apr 3, 2016
Apr 20, 2016 New York primary day Apr 20, 2016
May 12, 2016 Pinnacle Hill ramble May 12, 2016
May 24, 2016 Bracing for summer May 24, 2016
Jun 26, 2016 Summer excursions / Durand-Eastman Beach Jun 26, 2016
Jun 29, 2016 I hate fun / I like having a bad time Jun 29, 2016
Aug 4, 2016 Adjournment in contemplation of dismissal / Turning over a new leaf Aug 4, 2016
Aug 6, 2016 Escape from New York (part 2, the return) Aug 6, 2016
Aug 25, 2016 Rochester >> Bangkok >> ??? Aug 25, 2016
Sep 22, 2016 Just show up and look around Sep 22, 2016
Sep 27, 2016 So, are you EXCITED? Sep 27, 2016
Sep 29, 2016 Obviously I want to be myself Sep 29, 2016
Oct 3, 2016 T minus two weeks Oct 3, 2016
Nov 6, 2016 Three weeks in Nov 6, 2016
Dec 19, 2016 "I'm sure this place has a decent bathroom." Dec 19, 2016
Dec 28, 2016 "You want to go sunrise?" Dec 28, 2016
Jan 12, 2017 "I just need to look at a proper fucking map!" Jan 12, 2017
Jan 19, 2017 "I HATE Trump!" Jan 19, 2017
Feb 28, 2017 Buying Valium in Cambodia Feb 28, 2017
Jul 13, 2017 The Unquiet Americans (and Chinese) Jul 13, 2017
Mar 5, 2018 Gun Headlines Collage Mar 5, 2018
Jul 13 The Unquiet Americans (and Chinese)
Jan 19 "I HATE Trump!"
Get updates on my blog.

redpajama_set_name: RedPajamaCommonCrawl


text:
Brabejum es un género monotípico de árbol perteneciente a la familia de las proteáceas. Su única especie: Brabejum stellatifolium, es un endemismo de Sudáfrica.

Características

Es un árbol de hoja perenne. Crece hasta unos 15 metros de altura, pero tiene grandes ramas extendidas y un hábito en expansión. La corteza es lisa de color marrón grisáceo moteado y atractivo. Las hojas verdes, coriáceas son dentadas y lanceoladas, aparecen en rosetas de seis, a intervalos a lo largo de los tallos, e irradian hacia fuera de la rama como una estrella. Las hojas jóvenes son suaves, aterciopelados y doradas. Las pequeñas flores son blancas y perfumadas, aparecen en verano, en racimos densos.

Las frutas con un aspecto similar a la nuez o a las almendras y crecen en racimos en las puntas de las ramas. Los frutos jóvenes son de un atractivo color magenta o lila-morado y maduro con el típico color marrón más tarde en el verano. Los frutos son de corta duración, germinan rápidamente y con frecuencia se dispersan por los ríos.

Distribución

El área de distribución natural de estos árboles se limita al fynbos del Cabo, Sudáfrica. Aquí están en un hábitat local de los afro-bosques montanos. Prefieren las zonas húmedas, y por lo general se producen cerca de los arroyos en valles protegidos y en las laderas de las montañas más bajas. En Ciudad del Cabo todavía son abundantes en la vertiente oriental de la Montaña de la Mesa, a pesar de que grandes cantidades fueron talados de esta área para dar paso a las plantaciones de pinos. Sin embargo, a pesar de su limitado alcance, esta especie no está amenazada.

La presencia natural de estos árboles en Sudáfrica es de gran interés para los biólogos. Esto se debe a que Brabejum no tiene parientes cercanos en África - en la gran familia de Proteaceae su pariente más cercano es el árbol de Macadamia de Australia y Nueva Caledonia. Sus otros parientes más lejanos del mismo modo sólo existen en Australia y América del Sur. De hecho, no sólo esta especie es única en el género Brabejum, es también el único miembro de su sub-familia en África (las proteas que lo rodean en el sur de África son parientes relativamente distantes).

Cultivo
Este es un árbol de relativamente rápido crecimiento y no es adecuado para el jardín pequeño. Tiene una tendencia a extenderse hacia los lados y puede ser utilizado para formar una impenetrable cobertura. Si bien podado, puede formar un árbol de buena forma. Dondequiera que las ramas laterales se cortan, más ramas crecerán desde abajo del corte, por lo que se forma fácilmente en una buena pantalla. Los árboles más viejos forman una selva de ramas enredadas gigantes y de ramas en expansión.

Brabejum se propaga mejor por semilla. Los frutos secos pueden simplemente ser empujado al suelo tal como son, y germinan tan pronto como están en el suelo húmedo. Sin embargo, las semillas no sobreviven mucho tiempo si no pueden germinar o si se secan. Asegúrese de que las plántulas obtengan agua suficiente en sus primeros años, de preferencia mediante la plantación de ellos en un lugar húmedo o sombrío, como una orilla del río.

Taxonomía
Brabejum stellatifolium fue descrito por Carlos Linneo y publicado en Species Plantarum 1: 121. 1753.

Galería

Referencias

Enlaces externos

Proteaceae
Flora de África austral
Flora de África continental
Plantas descritas en 1753
Plantas descritas por Linnaeus

redpajama_set_name: RedPajamaWikipedia


Wibu-Systems will once again exhibit at Embedded World. The journey starts at Wibu-Systems' principal booth and continues at the OSADL, SD Association, Trusted Computing Group, and Wind River spaces for a fully engaging experience of the world of secure license management applied to electronic systems, distributed intelligence, the Industrial Internet of Things, e-mobility, and energy efficiency.
At Wibu-Systems' main space, the company security experts will be focusing specifically on IP protection as a way to prevent attempts to pirate or reverse engineer crucial code and to ultimately ensure the lasting commercial success for businesses everywhere. They will also be sharing several case studies where IP protection was skillfully integrated into modern business models to multiply revenue streams.
At the collective exhibit of OSADL, the Open Source Automation Development Lab, embedded software developers will be laying out the importance of monetizing digital know-how and raising the quality of their code. Wibu-Systems, who affiliated with OSADL a couple of years ago, will join forces with them to provide their combined expertise and services to the entire OSADL community.
Together with ATP, Delkin, GRL, Hagiwara, JMicron, Micron, Phison, Swissbit, Toshiba, and WD, Wibu-Systems will also present some of its many hardware secure elements at the SD Association's group exhibit.
At the Trusted Computing Group exhibit, the TCG member companies OnBoard Security, Wibu-Systems, and Wind River will demonstrate solutions for IoT and embedded security, based on TCG specifications and technologies equipped with a root of trust.
As the cooperation between Wibu-Systems and Wind River continues to morph and evolve over the years, the two companies keep offering a comprehensive turnkey solution for VxWorks that encompasses integrity protection, authenticity, IP and copy protection, certificate management, license and entitlement management, and hardware, software, and cloud-based key storage.


Speaking about the recent talks between United States and North Korea she said, "We just embarked upon a very courageous journey of denuclearisation and lasting peace in the peninsula".
The US and South Korea will suspend Ulchi Freedom Guardian, the major joint military exercise that they hold every August, Seoul said on Tuesday.
But other administration officials cast the move as a way to advance diplomacy with Pyongyang following North Korea's decision earlier this year to unilaterally suspend nuclear and missile tests.
"Our stance is that the sanctions must remain in place until North Korea takes meaningful, substantive steps towards denuclearisation", Foreign Minister Kang Kyung-wha told reporters.
"The South and the USA plan to continue consultations over additional measures", it added.
About 28,500 USA troops are stationed in South Korea, a legacy of the Korean War, which ended in 1953 in an armistice that left the two Koreas technically still at war.
-North Korean summit was more advantageous to North Korea than the United States. "I'm hoping the Russian lawmakers will join that journey", Moon said in a special speech delivered at Russia's State Duma, the lower house of the Russian parliament. And while the announcement canceling the exercises came suddenly, Kang said, South Korea was also considering this option to keep diplomatic momentum moving forward following the U.S.
North Korean diplomats talking to South Korean officials in the demilitarized border zone between the two countries reportedly offered to remove their long-range artillery guns, which have been a dagger pointed at Seoul's throat for decades. "There will be a meeting at the Pentagon later this week with the secretary of Defense, secretary of State and the National Security Advisor on this issue".
"The South and the North will continue to form unified teams for other worldwide sporting events. while holding joint training to strengthen inter-Korea cooperation and exchanges", said the statement.
"Consistent with President Trump's commitment and in concert with our Republic of Korea ally, the United States military has suspended all planning for this August's defensive "wargame" (Freedom Guardian)", White said in the statement.
The Pentagon did not go beyond suspending the next exercise on Monday, saying that it is still coordinating additional actions and no decisions have been made on future exercises.
The suspension of Ulchi-Freedom Guardian will not affect any Pacific exercises outside the Korean Peninsula, the Pentagon said, permitting the USA military to continue training with Japan and other partners in the region.
"I can confirm that Putin and I have a common goal and a shared vision and we are seeking this together", the South Korean leader said, noting that Russian Federation has offered assistance here by supporting and implementing the UN Security Council's sanctions against North Korea.
The U.S. has 6,800 nuclear warheads, 4,000 of which are stockpiled and 1,800 deployed, and 2,800 retired, according to a report from the Federation of American Scientists.
On Monday, the South Korean defense minister said the issue is still being discussed.
BEIJING-China provided the impetus for the halt of U.S.
As recently as May the North Korean Red Cross organization urged South Korea to return the women "without delay".


In 1955 Sinclair began a long and fruitful collaboration with producer-director Roger Corman which led to a busy career in low-budget independent filmmaking. Sinclair edited Corman's directorial debut, "Five Guns West" (1955), and went on to work on at least a dozen of his films including "Machine Gun Kelly" (1958), "The Intruder" (1962), "The Premature Burial" (1962), "The Raven" (1963) and "The Trip" (1967). He also edited a number of films by another low-rent auteur with big ideas, Bert I. Gordon: "The Amazing Colossal Man," "Invasion of the Saucer Men" (both 1957), "War of the Colossal Beast," "Attack of the Puppet People," and "The Spider" (all 1958).
This was guerrilla filmmaking for the drive-in teen market. The product was high concept, low-budget, and usually shot in a couple of weeks. A substantial portion of the footage shot for these economical marvels was doubtlessly saved through Sinclair's adept editing. He made a brief return to acting in "The Big Catch" (1969), a British children's film.


A door handle now harnesses sophisticated technology that goes beyond merely making it easy to get in or out of a vehicle.
As we explored previously, a blend of consumer demand and elaborate automotive controls has made it critical for designers and engineers to pay greater attention to the components chosen and how they can reinforce the overall brand identity of their vehicles. Door handles are no exception; some brands, like the Cadillac XLR Coupe, have electronic handles that require a light tap for the doors to automatically pop open. Other brands, such as BMW, prefer to eliminate the door handle completely from its Z1 series in favor of a push-button system that lowers the window into the door while simultaneously dropping the door into the sill.
With so many brands opting for doors that operate with either push-button or other remote systems, the right selection of switches that power these functions is needed. Designers need to feel confident failure won't occur – i.e., the door becomes jammed and will no longer open.
Automotive engineers must select switches that will withstand the elements, ones that are chosen again and again by OEMs for their superior reliability. Sealed switches, such as C&K's KSC series, provide protection against harsh environments, including rain, humidity, snow, sudden temperature change, or other outdoor elements that can cause a door handle's technology to malfunction.
Today's door handles are also paired with modern key fobs allowing users to open and lock a car door remotely. Handles are made with built-in antennas that receive the signal to release or lock the latch when prompted by the fob. C&K's line of miniature tactile switches are the perfect size to fit compactly inside key fobs and door handles, and are rugged enough that they don't wear out from constant use or harsh weather conditions cars must endure.
It's clear that today's automotive companies are pushing the envelope to create the truly unique brand experiences their tech-savvy drivers now expect. As the demand for sophisticated automotive experiences increases, the need for C&K's high-quality and customizable switches becomes more imperative to power those experiences.


text:
Need to get away?
Start exploring magnificent places with our weekly travel newsletter.
Half of Travelers Have the Same New Year's Resolution
Carissa Rawson
As another year greets us, people around the world have started finessing their New Year's resolutions. Here's one surprising resolution, reported by an AmEx Trendex travel trends poll conducted in October 2021: 52% of respondents have a desire to take more vacation time in 2022 than 2021.
But for those who want to get away, is travel likely? As more companies return to the office and flexibility dwindles, we're left wondering how possible it will be for people to accomplish New Year's resolutions that involve travel.
Let's take a look at the likelihood of more travel being taken, how employees can balance their work and vacations and whether it's worth it to stay online while on the road.
Will people travel more often?
Although it's true that more people are heading back to the office, it looks like remote work is here to stay. According to a September 2021 Gallup poll, 45% of full-time U.S. employees worked from home at least some of the time that month, a rate that's similar to the two months prior. An overwhelming majority of employees who work remotely to some degree want to retain this system, with 3 in 10 stating that they're very likely to look for employment elsewhere if their employer mandates a full return to the office.
People are also reading…
Board pulls funds for APEX Center
Wytheville native breaking barriers in Army
Smyth County Sheriff's Office investigating shooting death of man in Saltville
VDOT begins action on Adwolfe Road traffic circles
Bland County Police Blotter
Mount Rogers PACE center coming to Marion soon
Top responders recognized by Fire Stations
Inn at Foster Falls nearing completion
Smyth grand jury returns indictments during December session
Wandering Around Washington: Will the Barter stay at the Moonlite?
Moss reflects on first year with Chilhowie PD
Wythe man convicted of trying to kill deputy
Wytheville resident signs with Space Force
Time for Conversations: Mt. Pleasant museum leaders chart a course for the future
Next Generation: Motivating the future
Increased flexibility with work makes it easier to travel — and relaxed border restrictions help pave the way for working long-distance. As vaccination rates increase and COVID-19 tests become easier to find, the ability for remote workers to hit the road at home and abroad is also growing.
Of course, not everyone can take part in this flexibility. Those whose careers rely on in-person interactions, such as health care workers, have far less ability to maintain a remote or hybrid work environment. In these cases, earning and using vacation time will be the key to getting out more often.
Not to mention, international travel restrictions in response to coronavirus variants can be reinstated quickly, making working remotely from abroad still a roll of the dice.
Balancing work and vacation
If your job allows you to work remotely, now may be the time to squeeze in some extra travel. However, learning to balance your vacation with your job isn't always easy, and spending too much time on holiday can land you in hot water at work.
Instead, consider optimizing your work time to be as productive as possible while traveling. This means lugging your laptop along on travel days, where airport lounges and in-flight internet can allow you to work. Several different credit cards come with complimentary airport lounge access.
You can also get your computer ready in case the internet isn't great: Download your documents to have offline access and pull up any pages you'll need on your browser beforehand.
Sitting at a streetside cafe with your laptop may sound idyllic, but consider crowds, noise levels and other distractions while you work. A more suitable option may be "work from anywhere" packages offered by various hotel chains. Ranging from a day pass to multimonth stays, brands such as Hyatt and Marriott offer these specialized packages to those looking for a calmer work experience.
Joining a coworking space may also be a good idea. Organizations such as WeWork and Regus grant access to thousands of business locations around the world via membership plans. Prices vary, but you can expect strong, stable Wi-Fi and a place to spread out.
Finally, unplug during your days off. Working remotely can offer thrilling new ways to explore life, but it can also mean that you bring your work home with you. And although you may think this makes you a model employee, it doesn't.
A 2016 Baylor University study found that failing to clock out mentally leads to greater burnout and less commitment to work. So when it's time to turn off the computer, do it and don't look back.
If you're looking to travel more
Is your New Year's resolution to take more vacations in 2022? If your work allows it, take advantage of remote work and increased flexibility to spend more time away from home. Maximize your remote work days by logging in from airport lounges, specialized hotel rooms or even on board your flight.
If your job requires in-person interaction, you'll have less flexibility to travel, but make sure to take your vacation days. You've earned them, after all.
One last thing to note, no matter your job: Unplug during your time off. Doing so makes you a better employee and reduces burnout. And whose employer will be upset about that?
How to Travel to Super Bowl LVI on a Budget
U.S. Travelers to EU to Face New Fee, Paperwork in 2022
Winter Storms, COVID: How to Change a Flight Last-Minute
Carissa Rawson writes for NerdWallet. Email: articles@nerdwallet.com.
The article Half of Travelers Have the Same New Year's Resolution originally appeared on NerdWallet.
Vacations & Trip Planning
New Year's Resolution
The world's most powerful passports for 2022
There's a widening gap between the global north and the global south when it comes to travel freedoms, says the first 2022 report by London-based global citizenship and residence advisory firm Henley & Partners.
Ed Perkins on Travel: AARP in 2022: Mostly more of the same
Most AARP deals carry over each year, with only minor changes, so there are few surprises this year.
Taking the kids: — to kid-friendly California wine country this winter
Kids living and visiting Sonoma, California, never knew Antonia and Frank Bartholomew, but they owe them a big thank you.
Here Are the Most Valuable Hotel Rewards Programs in 2022
Navigating hotel rewards programs can be a daunting task. From point-earning promotions to elite status upgrades and thousands of other factors, it's easy to feel overwhelmed. Yet, for most travelers,…
Rick Steves' Europe: York: Vikings, bygone days, and a ruined abbey
I'm following Edwin on a walk around York — the most interesting stop between London and Edinburgh. Edwin is a spry retired schoolteacher who stays active by leading town walks and giving private tours. Today, he's showing me around to illustrate why, in his mind, York is such a fascinating city.


A unique network of long-established specialists coming together to deliver excellence in rural land use and planning services. We have combined expertise and experience of working across a range of development and environmental disciplines to address the issues and demands of rural communities and landowners.
Whether you are looking to develop your site, or you are considering options for diversification, we can help.
The natural environment can provide a range of goods and services to support landowners and managers. Realising and enhancing natural capital is a core element of managing land sustainably.


text:
All Members 1384
Show: — Everything — New Members Profile Updates Updates rtMedia Updates Topics Replies Posts Comments
Judith Barrow wrote a new post 1 week, 3 days ago
Ask an Industry Expert: Emily Ruston Today I'm delighted Emily Ruston at Boldwood Books who was nominated by Alex Stone author of 'The Perfect Daughter' Hello and w
Sheila Riley wrote a new post 1 month ago
NEW RELEASES JANUARY 2023
Louise Allen: Time's Perilous Desire
Time travel, romantic mystery
The Clock House Mysteries Book 3
Natasha and Matthew are settling in
Judith Barrow wrote a new post 1 month, 1 week ago
Today I'm delighted to welcome Sara-Jade Virtue, Brand Development Director, Fiction, at Simon & Schuster who was named by author, Jennifer Bibby, author of The Cornish Hideaway.
Hello and welcome, Sa
Julia Boggio wrote a new post 1 month, 1 week ago
We are joined today by best-selling Sunday Times author, Phillipa Ashley. What was the inspiration behind your book? What prompted you to tell this story? The Christmas Holiday is about Krystle, a professional
We are delighted that you could join us to talk about your new release. Could you tell us a little more about it? What was the inspiration behind your book? What prompted you to tell this story? Thank you for
We are so excited that Susan Watson from My Weekly magazine is joining us today on the blog. As the fiction editor for the magazine, Susan is responsible for book reviews, author interviews, fiction events and
Julia Boggio wrote a new post 1 month, 3 weeks ago
We are delighted that you could join us to talk about your new release. Could you tell us a little more about it? How To Save a Life tells the story of Ted and Marianne. They meet once, briefly, on Waterloo Bridge
Today we welcome Kendra Smith, author of Everything Has Changed, to the blog.
What has been the inspiration behind the book? The inspiration behind Everything Has Changed was from a personal experience I had: a
Leeds bookseller, Amy Richards, from Words & Kisses, has won the Romantic Bookseller of the Year award for the Romantic Novelists' Association's annual Industry Awards for 2022. The awards celebrate the hard wor
Literary agent Hannah Schofield has won the Agent of the Year award for the Romantic Novelists' Association's (RNA) annual Industry Awards for 2022. The awards celebrate the hard work and talent of any person, gro
Sheila Riley wrote a new post 2 months ago
Elizabeth Bailey: The Vengeance Trail (Lady Fan Mystery Book 9)
Sapere Books
ebook and paperback
When Ottilia herself launched into a river and fighting f
Julia Boggio wrote a new post 2 months, 1 week ago
Sara-Jade Virtue, Brand Development Director, Fiction, at Simon & Schuster UK, has won the Publisher and/or Editor of the Year award for the Romantic Novelists' Association's (RNA) annual Industry Awards for
Anne Williams is a book blogger and reviewer, sharing her reviews of the romance and women's fiction she loves in all the most important places, including on her website Being Anne. The blog is now approaching
South Lanarkshire audiobook narrator, Helen McAlpine, has won the Narrator of the Year award for the Romantic Novelists' Association's annual Industry Awards for 2022. The awards celebrate the hard work and tal
Melbourne book cover designer, Lucy Murphy, has won the Cover Designer of the Year award for the United Kingdom's Romantic Novelists' Association's (RNA) annual Industry Awards for 2022. The awards celebrate the h
Emily Shelton Poole lives in the mountains of North Carolina with her husband, four children, and Lotte, the golden doodle who thinks she's a person. In addition to her work as an editor, Emily plays viola p
Mills & Boon senior editor, Rebecca Slorach, has won the Inclusion Award for the Romantic Novelists' Association's annual Industry Awards for 2022. The awards celebrate the hard work and talent of any per
Julia Boggio wrote a new post 2 months, 2 weeks ago
We are delighted that you could join us to talk about your new release. Could you tell us a little more about it?
When school teacher Rose loses her dream job at a London primary school, her self-confidence takes
Thank you for inviting me along to sit in the hot seat! My new release is the third in my
Cat Lawless wrote a new post 3 months ago
Sara-Jade Virtue, Brand Development Director, Fiction, at Simon & Schuster UK, is a finalist in the Publisher and / or Editor of the Year category for the Romantic Novelists' Association's (RNA) annual Ind


text:
Petronas Dagangan eyes expansion in Indonesia, Myanmar
News Editor June 20, 2012
Petronas Dagangan Bhd, the retail arm of Malaysia's state oil firm Petronas aims to expand into Indonesia and Myanmar as it widens its presence in Southeast Asia, its managing director told Reuters in an interview.
The largest liquefied petroleum gas (LPG) provider in Malaysia announced this month it will buy six downstream companies belonging to Petronas in the Philippines, Vietnam, Thailand and Malaysia in a deal worth MYR197.3 million (USD62.57m).
"We need to build new engines for growth," Amir Hamzah Azizan told Reuters in an interview at his 76th-floor office in Kuala Lumpur's Petronas Twin Towers, adding that the Malaysian market could become saturated over the next four years.
(Source: The Malaysian Insider)


The Scooter is a roomy insulated tote that doubles as a lunch tote and fabulous fashion accessory. There are 2 exterior zip pockets that are handy for holding cutlery, napkins and even your wallet. Move over brown paper bag, this stylish tote will make you look forward to lunch time!


A mortgage broker can help you quickly determine how much house you can afford.
To schedule a hassle-free phone consultation, contact DJ Riley, click here.
Don't make major purchases, like a new car. Consult with a mortgage broker.
To schedule a hassle-free mortgage consultation, contact DJ Riley today at 763-276-3960, or via email @djriley@unitedfamilymortgage.com.
To schedule a hassle-free mortgage consultation, contact DJ Riley today at 763-276-3960, or via email @ djriley@unitedfamilymortgage.com.


At BrainDumps4IT your purchase of 1Z0-588 exam questions dumps never expire. The moment you complete the transaction, it activates instantly and you can download your copy of Oracle Hyperion Data Relationship Management Essentials , 1Z0-588 braindumps.
By keeping the importance of Oracle in mind, our company is currently also announcing 30% discount on all examcollection 1Z0-588 vce test preparation products. Students can easily study with 1Z0-588 exam vce.
Wouldn't it be the best thing to know about the actual 1Z0-588 exam questions way before you step in the exam hall? We flfl your dream and give you real 1Z0-588 questions in our Oracle 1Z0-588 braindumps. You get the chance to practice real 1Z0-588 test questions, exactly the ones you'll be getting in the real 1Z0-588 Oracle Hyperion Data Relationship Management Essentials exam. Master all the 1Z0-588 dumps' exam questions and answers. So the dreaded day of exam will be nothing less than a fun day. Perform amazingly in the 1Z0-588 exam and get certified easily.
We are a trusted OPN Certified Specialist 1Z0-588 braindumps provider from a very long time and have a very long list of customers. We have never sold that list or used it for sending promotional emails. When you enter your information to download Oracle 1Z0-588 dumps questions, your information becomes encrypted when it reaches the server. The information that you enter to purchase the 1Z0-588 exam dumps becomes unreadable by humans so there is no way that it can fall in the wrong hands.
There are no timers or jammers hidden in our OPN Certified Specialist 1Z0-588 exam braindumps. You only need to pay once for the Oracle 1Z0-588 dumps to start your preparation and after that you will get free 1Z0-588 braindumps' updates for 3 months.


text:
You are viewing events from 2017
Go to 2022 events
Johanna Zmud
Sr Research Scientist
Texas A&M Transportation Institute
Dr. Johanna Zmud is a senior research scientist at the Texas A&M Transportation Institute and director of its Washington, DC, office. She has a doctoral degree in the social and behavioral sciences and has spent her professional career in the transport sector. Prior to TTI, she also served as director of the Transportation, Space, and Technology Program at the RAND Corporation. And prior to that she was founder and president of a survey science consultancy focused on travel behavior research within the transportation industry. Her research interests are in the socio-demographic, cultural, psychological determinants of travel demand, and she often works at the intersection of mobility, technology, and policy. Topics of recently completed studies include future transport technology scenarios for the UK, paths of automated vehicle (AV) and connected vehicle (CV) deployment in the U.S., and Impact of AVs on travel demand. She has significant peer-reviewed publications on topics including determinants of future mobility, technology impacts, and survey methodology.
Programming descriptions are generated by participants and do not necessarily reflect the opinions of SXSW.
Events featuring Johanna Zmud
Designing Infrastructure for Autonomous Cars at JW Marriott Salon 7
Mentor Session: Johanna Zmud at Westin Austin Downtown Saxon Room
©2018-2019 SXSW, LLC. SXSW®, SXSW EDU®, and South by Southwest® are trademarks owned by SXSW, LLC. Any unauthorized use of these names, or variations of these names, is a violation of state, federal, and international trademark laws.
Development & Code
Entertainment Influencers
Experiential Storytelling
Film & TV Industry
Making Film & Episodics
SXSW Gaming
Touring & Live Experience
Alt Country
Avant / Experimental
24 Beats Per Second
Award Winner Screenings
Documentary Feature Competition
Festival Favorites
Narrative Feature Competition
Narrative Spotlight
Short Film Program
SXSW Community Screenings
Title Design Competition
Keynotes & Featured Sessions
Lounges, Parties, & Activations
Sign In to start building your Schedule


An apology letter to a friend seeks to ask for forgiveness for wrong words or action that hurt the individual. An apology is a way of maintaining friendship; it can take years to build a vibrant relationship, but it will take a second to ruin the relationship. When you discover you have wronged your friend the best way is to write an apology letter to clear things out. Conflicts and arguments are part of healthy relationships. When things turn sour in your relationship, confront these issues with an apology.
Saying sorry is a foreign word to some individuals, but it's essential to know it doesn't depict your weakness but how strong you are. Finding the right words to express your apology daunt, but a sample or template will work wonders in such cases.
Once you have gathered enough strength to apologize to your friend, put it down in pen and paper. Let your heart speak; tell your friend how the incident had affected you. Don't forge your apology. A sincere apology will heal the wounds and start a new chapter in your relationship.
A true apology has the guts to prevent a recurrence of the mistake in the future. When apologizing to your friend, talk of ways you can use to avoid a repeat of the incident in days to come. After the apology, you need to talk and agree on how you will keep off from anything that can ruin your relationship.
Many individuals error when apologizing to their friends by seeking an apology for mistakes committed years or decades ago. To make the apology genuine and strong, handle one case at a time.
Some arguments and conflicts arise because of misunderstandings. As you seek an apology form a friend, recount the story to clarify the matter. Let your friend understand why you had to act the way you did. If it was because of anger or any other reason, let them know.
When a person is hurt, it affects their emotions, and they might not want to see you or receive any communication from you. As you write the letter, appreciate that your friend is angry. If they don't respond instantly allow them to heal or sober up before responding to your message.
When you write a letter to a friend requesting for forgives, don't expect them to respond immediately. You must understand your friend was hurt. Different individuals take different time to heal. Don't prompt for a response, wait for the answer.
Do not apologize if you have the wrong motive. If you hope to forget the incident without a genuine apology, then there is no point in writing a letter to fake an apology.
The apology letter to a friend should focus on the incident at hand. Choose the words to use. Avoid words that can make matters worse. Go straight to what you are apologizing about and leave the rest of the stories for another day.
The best way to receive forgiveness is by owning a mistake you did. When writing a letter to a friend seeking forgiveness highlights your role on the issue.
…..not footing your bill though I had the cash to do so.
I understand that you are hurting but allow me to apologize for the fight we had yesterday. Fighting should be the last act to end a conflict; I hate fighting. But I started it all.
Forgive me for not allowing you to explain what had happened to our electronics business. When angry I act in strange ways. Though I was angry, fighting shouldn't have been the way to sort out our differences.
After reflecting on my actions, I realized that I was wrong. We have been friends for 7 years. I shall not allow a simple misunderstanding to break our relationship.
Kindly, forgive my unbecoming acts and let's move forward with our relationship. I ask for a meeting to resolve this conflict soon.
I promise never to act in such a way in future no matter what. Besides, I will visit my counselor for advice on how to handle my anger.
Once more I am sorry for the fight. The moments we have shared for years will help us overcome any challenge as friends.


text:
"""GraphLasso: sparse inverse covariance estimation with an l1-penalized
estimator.
"""

# Author: Gael Varoquaux <gael.varoquaux@normalesup.org>
# License: BSD 3 clause
# Copyright: INRIA
import warnings
import operator
import sys
import time

import numpy as np
from scipy import linalg

from .empirical_covariance_ import (empirical_covariance, EmpiricalCovariance,
                                    log_likelihood)

from ..exceptions import ConvergenceWarning
from ..utils.extmath import pinvh
from ..utils.validation import check_random_state, check_array
from ..utils import deprecated
from ..linear_model import lars_path
from ..linear_model import cd_fast
from ..model_selection import check_cv, cross_val_score
from ..externals.joblib import Parallel, delayed
import collections

# Helper functions to compute the objective and dual objective functions
# of the l1-penalized estimator
def _objective(mle, precision_, alpha):
    """Evaluation of the graph-lasso objective function

    the objective function is made of a shifted scaled version of the
    normalized log-likelihood (i.e. its empirical mean over the samples) and a
    penalisation term to promote sparsity
    """
    p = precision_.shape[0]
    cost = - 2. * log_likelihood(mle, precision_) + p * np.log(2 * np.pi)
    cost += alpha * (np.abs(precision_).sum()
                     - np.abs(np.diag(precision_)).sum())
    return cost

def _dual_gap(emp_cov, precision_, alpha):
    """Expression of the dual gap convergence criterion

    The specific definition is given in Duchi "Projected Subgradient Methods
    for Learning Sparse Gaussians".
    """
    gap = np.sum(emp_cov * precision_)
    gap -= precision_.shape[0]
    gap += alpha * (np.abs(precision_).sum()
                    - np.abs(np.diag(precision_)).sum())
    return gap

def alpha_max(emp_cov):
    """Find the maximum alpha for which there are some non-zeros off-diagonal.

    Parameters
    ----------
    emp_cov : 2D array, (n_features, n_features)
        The sample covariance matrix

    Notes
    -----

    This results from the bound for the all the Lasso that are solved
    in GraphLasso: each time, the row of cov corresponds to Xy. As the
    bound for alpha is given by `max(abs(Xy))`, the result follows.

    """
    A = np.copy(emp_cov)
    A.flat[::A.shape[0] + 1] = 0
    return np.max(np.abs(A))

# The g-lasso algorithm

def graph_lasso(emp_cov, alpha, cov_init=None, mode='cd', tol=1e-4,
                enet_tol=1e-4, max_iter=100, verbose=False,
                return_costs=False, eps=np.finfo(np.float64).eps,
                return_n_iter=False):
    """l1-penalized covariance estimator

    Read more in the :ref:`User Guide <sparse_inverse_covariance>`.

    Parameters
    ----------
    emp_cov : 2D ndarray, shape (n_features, n_features)
        Empirical covariance from which to compute the covariance estimate.

    alpha : positive float
        The regularization parameter: the higher alpha, the more
        regularization, the sparser the inverse covariance.

    cov_init : 2D array (n_features, n_features), optional
        The initial guess for the covariance.

    mode : {'cd', 'lars'}
        The Lasso solver to use: coordinate descent or LARS. Use LARS for
        very sparse underlying graphs, where p > n. Elsewhere prefer cd
        which is more numerically stable.

    tol : positive float, optional
        The tolerance to declare convergence: if the dual gap goes below
        this value, iterations are stopped.

    enet_tol : positive float, optional
        The tolerance for the elastic net solver used to calculate the descent
        direction. This parameter controls the accuracy of the search direction
        for a given column update, not of the overall parameter estimate. Only
        used for mode='cd'.

    max_iter : integer, optional
        The maximum number of iterations.

    verbose : boolean, optional
        If verbose is True, the objective function and dual gap are
        printed at each iteration.

    return_costs : boolean, optional
        If return_costs is True, the objective function and dual gap
        at each iteration are returned.

    eps : float, optional
        The machine-precision regularization in the computation of the
        Cholesky diagonal factors. Increase this for very ill-conditioned
        systems.

    return_n_iter : bool, optional
        Whether or not to return the number of iterations.

    Returns
    -------
    covariance : 2D ndarray, shape (n_features, n_features)
        The estimated covariance matrix.

    precision : 2D ndarray, shape (n_features, n_features)
        The estimated (sparse) precision matrix.

    costs : list of (objective, dual_gap) pairs
        The list of values of the objective function and the dual gap at
        each iteration. Returned only if return_costs is True.

    n_iter : int
        Number of iterations. Returned only if `return_n_iter` is set to True.

    See Also
    --------
    GraphLasso, GraphLassoCV

    Notes
    -----
    The algorithm employed to solve this problem is the GLasso algorithm,
    from the Friedman 2008 Biostatistics paper. It is the same algorithm
    as in the R `glasso` package.

    One possible difference with the `glasso` R package is that the
    diagonal coefficients are not penalized.

    """
    _, n_features = emp_cov.shape
    if alpha == 0:
        if return_costs:
            precision_ = linalg.inv(emp_cov)
            cost = - 2. * log_likelihood(emp_cov, precision_)
            cost += n_features * np.log(2 * np.pi)
            d_gap = np.sum(emp_cov * precision_) - n_features
            if return_n_iter:
                return emp_cov, precision_, (cost, d_gap), 0
            else:
                return emp_cov, precision_, (cost, d_gap)
        else:
            if return_n_iter:
                return emp_cov, linalg.inv(emp_cov), 0
            else:
                return emp_cov, linalg.inv(emp_cov)
    if cov_init is None:
        covariance_ = emp_cov.copy()
    else:
        covariance_ = cov_init.copy()
    # As a trivial regularization (Tikhonov like), we scale down the
    # off-diagonal coefficients of our starting point: This is needed, as
    # in the cross-validation the cov_init can easily be
    # ill-conditioned, and the CV loop blows. Beside, this takes
    # conservative stand-point on the initial conditions, and it tends to
    # make the convergence go faster.
    covariance_ *= 0.95
    diagonal = emp_cov.flat[::n_features + 1]
    covariance_.flat[::n_features + 1] = diagonal
    precision_ = pinvh(covariance_)

    indices = np.arange(n_features)
    costs = list()
    # The different l1 regression solver have different numerical errors
    if mode == 'cd':
        errors = dict(over='raise', invalid='ignore')
    else:
        errors = dict(invalid='raise')
    try:
        # be robust to the max_iter=0 edge case, see:
        # https://github.com/scikit-learn/scikit-learn/issues/4134
        d_gap = np.inf
        for i in range(max_iter):
            for idx in range(n_features):
                sub_covariance = np.ascontiguousarray(
                    covariance_[indices != idx].T[indices != idx])
                row = emp_cov[idx, indices != idx]
                with np.errstate(**errors):
                    if mode == 'cd':
                        # Use coordinate descent
                        coefs = -(precision_[indices != idx, idx]
                                  / (precision_[idx, idx] + 1000 * eps))
                        coefs, _, _, _ = cd_fast.enet_coordinate_descent_gram(
                            coefs, alpha, 0, sub_covariance, row, row,
                            max_iter, enet_tol, check_random_state(None), False)
                    else:
                        # Use LARS
                        _, _, coefs = lars_path(
                            sub_covariance, row, Xy=row, Gram=sub_covariance,
                            alpha_min=alpha / (n_features - 1), copy_Gram=True,
                            method='lars', return_path=False)
                # Update the precision matrix
                precision_[idx, idx] = (
                    1. / (covariance_[idx, idx]
                          - np.dot(covariance_[indices != idx, idx], coefs)))
                precision_[indices != idx, idx] = (- precision_[idx, idx]
                                                   * coefs)
                precision_[idx, indices != idx] = (- precision_[idx, idx]
                                                   * coefs)
                coefs = np.dot(sub_covariance, coefs)
                covariance_[idx, indices != idx] = coefs
                covariance_[indices != idx, idx] = coefs
            d_gap = _dual_gap(emp_cov, precision_, alpha)
            cost = _objective(emp_cov, precision_, alpha)
            if verbose:
                print(
                    '[graph_lasso] Iteration % 3i, cost % 3.2e, dual gap %.3e'
                    % (i, cost, d_gap))
            if return_costs:
                costs.append((cost, d_gap))
            if np.abs(d_gap) < tol:
                break
            if not np.isfinite(cost) and i > 0:
                raise FloatingPointError('Non SPD result: the system is '
                                         'too ill-conditioned for this solver')
        else:
            warnings.warn('graph_lasso: did not converge after %i iteration:'
                          ' dual gap: %.3e' % (max_iter, d_gap),
                          ConvergenceWarning)
    except FloatingPointError as e:
        e.args = (e.args[0]
                  + '. The system is too ill-conditioned for this solver',)
        raise e

    if return_costs:
        if return_n_iter:
            return covariance_, precision_, costs, i + 1
        else:
            return covariance_, precision_, costs
    else:
        if return_n_iter:
            return covariance_, precision_, i + 1
        else:
            return covariance_, precision_

class GraphLasso(EmpiricalCovariance):
    """Sparse inverse covariance estimation with an l1-penalized estimator.

    Read more in the :ref:`User Guide <sparse_inverse_covariance>`.

    Parameters
    ----------
    alpha : positive float, default 0.01
        The regularization parameter: the higher alpha, the more
        regularization, the sparser the inverse covariance.

    mode : {'cd', 'lars'}, default 'cd'
        The Lasso solver to use: coordinate descent or LARS. Use LARS for
        very sparse underlying graphs, where p > n. Elsewhere prefer cd
        which is more numerically stable.

    tol : positive float, default 1e-4
        The tolerance to declare convergence: if the dual gap goes below
        this value, iterations are stopped.

    enet_tol : positive float, optional
        The tolerance for the elastic net solver used to calculate the descent
        direction. This parameter controls the accuracy of the search direction
        for a given column update, not of the overall parameter estimate. Only
        used for mode='cd'.

    max_iter : integer, default 100
        The maximum number of iterations.

    verbose : boolean, default False
        If verbose is True, the objective function and dual gap are
        plotted at each iteration.

    assume_centered : boolean, default False
        If True, data are not centered before computation.
        Useful when working with data whose mean is almost, but not exactly
        zero.
        If False, data are centered before computation.

    Attributes
    ----------
    covariance_ : array-like, shape (n_features, n_features)
        Estimated covariance matrix

    precision_ : array-like, shape (n_features, n_features)
        Estimated pseudo inverse matrix.

    n_iter_ : int
        Number of iterations run.

    See Also
    --------
    graph_lasso, GraphLassoCV
    """

    def __init__(self, alpha=.01, mode='cd', tol=1e-4, enet_tol=1e-4,
                 max_iter=100, verbose=False, assume_centered=False):
        self.alpha = alpha
        self.mode = mode
        self.tol = tol
        self.enet_tol = enet_tol
        self.max_iter = max_iter
        self.verbose = verbose
        self.assume_centered = assume_centered
        # The base class needs this for the score method
        self.store_precision = True

    def fit(self, X, y=None):

        # Covariance does not make sense for a single feature
        X = check_array(X, ensure_min_features=2, ensure_min_samples=2,
                        estimator=self)

        if self.assume_centered:
            self.location_ = np.zeros(X.shape[1])
        else:
            self.location_ = X.mean(0)
        emp_cov = empirical_covariance(
            X, assume_centered=self.assume_centered)
        self.covariance_, self.precision_, self.n_iter_ = graph_lasso(
            emp_cov, alpha=self.alpha, mode=self.mode, tol=self.tol,
            enet_tol=self.enet_tol, max_iter=self.max_iter,
            verbose=self.verbose, return_n_iter=True)
        return self

# Cross-validation with GraphLasso
def graph_lasso_path(X, alphas, cov_init=None, X_test=None, mode='cd',
                     tol=1e-4, enet_tol=1e-4, max_iter=100, verbose=False):
    """l1-penalized covariance estimator along a path of decreasing alphas

    Read more in the :ref:`User Guide <sparse_inverse_covariance>`.

    Parameters
    ----------
    X : 2D ndarray, shape (n_samples, n_features)
        Data from which to compute the covariance estimate.

    alphas : list of positive floats
        The list of regularization parameters, decreasing order.

    X_test : 2D array, shape (n_test_samples, n_features), optional
        Optional test matrix to measure generalisation error.

    mode : {'cd', 'lars'}
        The Lasso solver to use: coordinate descent or LARS. Use LARS for
        very sparse underlying graphs, where p > n. Elsewhere prefer cd
        which is more numerically stable.

    tol : positive float, optional
        The tolerance to declare convergence: if the dual gap goes below
        this value, iterations are stopped.

    enet_tol : positive float, optional
        The tolerance for the elastic net solver used to calculate the descent
        direction. This parameter controls the accuracy of the search direction
        for a given column update, not of the overall parameter estimate. Only
        used for mode='cd'.

    max_iter : integer, optional
        The maximum number of iterations.

    verbose : integer, optional
        The higher the verbosity flag, the more information is printed
        during the fitting.

    Returns
    -------
    covariances_ : List of 2D ndarray, shape (n_features, n_features)
        The estimated covariance matrices.

    precisions_ : List of 2D ndarray, shape (n_features, n_features)
        The estimated (sparse) precision matrices.

    scores_ : List of float
        The generalisation error (log-likelihood) on the test data.
        Returned only if test data is passed.
    """
    inner_verbose = max(0, verbose - 1)
    emp_cov = empirical_covariance(X)
    if cov_init is None:
        covariance_ = emp_cov.copy()
    else:
        covariance_ = cov_init
    covariances_ = list()
    precisions_ = list()
    scores_ = list()
    if X_test is not None:
        test_emp_cov = empirical_covariance(X_test)

    for alpha in alphas:
        try:
            # Capture the errors, and move on
            covariance_, precision_ = graph_lasso(
                emp_cov, alpha=alpha, cov_init=covariance_, mode=mode, tol=tol,
                enet_tol=enet_tol, max_iter=max_iter, verbose=inner_verbose)
            covariances_.append(covariance_)
            precisions_.append(precision_)
            if X_test is not None:
                this_score = log_likelihood(test_emp_cov, precision_)
        except FloatingPointError:
            this_score = -np.inf
            covariances_.append(np.nan)
            precisions_.append(np.nan)
        if X_test is not None:
            if not np.isfinite(this_score):
                this_score = -np.inf
            scores_.append(this_score)
        if verbose == 1:
            sys.stderr.write('.')
        elif verbose > 1:
            if X_test is not None:
                print('[graph_lasso_path] alpha: %.2e, score: %.2e'
                      % (alpha, this_score))
            else:
                print('[graph_lasso_path] alpha: %.2e' % alpha)
    if X_test is not None:
        return covariances_, precisions_, scores_
    return covariances_, precisions_

class GraphLassoCV(GraphLasso):
    """Sparse inverse covariance w/ cross-validated choice of the l1 penalty

    Read more in the :ref:`User Guide <sparse_inverse_covariance>`.

    Parameters
    ----------
    alphas : integer, or list positive float, optional
        If an integer is given, it fixes the number of points on the
        grids of alpha to be used. If a list is given, it gives the
        grid to be used. See the notes in the class docstring for
        more details.

    n_refinements : strictly positive integer
        The number of times the grid is refined. Not used if explicit
        values of alphas are passed.

    cv : int, cross-validation generator or an iterable, optional
        Determines the cross-validation splitting strategy.
        Possible inputs for cv are:

        - None, to use the default 3-fold cross-validation,
        - integer, to specify the number of folds.
        - An object to be used as a cross-validation generator.
        - An iterable yielding train/test splits.

        For integer/None inputs :class:`KFold` is used.

        Refer :ref:`User Guide <cross_validation>` for the various
        cross-validation strategies that can be used here.

    tol : positive float, optional
        The tolerance to declare convergence: if the dual gap goes below
        this value, iterations are stopped.

    enet_tol : positive float, optional
        The tolerance for the elastic net solver used to calculate the descent
        direction. This parameter controls the accuracy of the search direction
        for a given column update, not of the overall parameter estimate. Only
        used for mode='cd'.

    max_iter : integer, optional
        Maximum number of iterations.

    mode : {'cd', 'lars'}
        The Lasso solver to use: coordinate descent or LARS. Use LARS for
        very sparse underlying graphs, where number of features is greater
        than number of samples. Elsewhere prefer cd which is more numerically
        stable.

    n_jobs : int, optional
        number of jobs to run in parallel (default 1).

    verbose : boolean, optional
        If verbose is True, the objective function and duality gap are
        printed at each iteration.

    assume_centered : Boolean
        If True, data are not centered before computation.
        Useful when working with data whose mean is almost, but not exactly
        zero.
        If False, data are centered before computation.

    Attributes
    ----------
    covariance_ : numpy.ndarray, shape (n_features, n_features)
        Estimated covariance matrix.

    precision_ : numpy.ndarray, shape (n_features, n_features)
        Estimated precision matrix (inverse covariance).

    alpha_ : float
        Penalization parameter selected.

    cv_alphas_ : list of float
        All penalization parameters explored.

    grid_scores_ : 2D numpy.ndarray (n_alphas, n_folds)
        Log-likelihood score on left-out data across folds.

    n_iter_ : int
        Number of iterations run for the optimal alpha.

    See Also
    --------
    graph_lasso, GraphLasso

    Notes
    -----
    The search for the optimal penalization parameter (alpha) is done on an
    iteratively refined grid: first the cross-validated scores on a grid are
    computed, then a new refined grid is centered around the maximum, and so
    on.

    One of the challenges which is faced here is that the solvers can
    fail to converge to a well-conditioned estimate. The corresponding
    values of alpha then come out as missing values, but the optimum may
    be close to these missing values.
    """

    def __init__(self, alphas=4, n_refinements=4, cv=None, tol=1e-4,
                 enet_tol=1e-4, max_iter=100, mode='cd', n_jobs=1,
                 verbose=False, assume_centered=False):
        self.alphas = alphas
        self.n_refinements = n_refinements
        self.mode = mode
        self.tol = tol
        self.enet_tol = enet_tol
        self.max_iter = max_iter
        self.verbose = verbose
        self.cv = cv
        self.n_jobs = n_jobs
        self.assume_centered = assume_centered
        # The base class needs this for the score method
        self.store_precision = True

    @property
    @deprecated("Attribute grid_scores was deprecated in version 0.19 and "
                "will be removed in 0.21. Use 'grid_scores_' instead")
    def grid_scores(self):
        return self.grid_scores_

    def fit(self, X, y=None):
        """Fits the GraphLasso covariance model to X.

        Parameters
        ----------
        X : ndarray, shape (n_samples, n_features)
            Data from which to compute the covariance estimate
        """
        # Covariance does not make sense for a single feature
        X = check_array(X, ensure_min_features=2, estimator=self)
        if self.assume_centered:
            self.location_ = np.zeros(X.shape[1])
        else:
            self.location_ = X.mean(0)
        emp_cov = empirical_covariance(
            X, assume_centered=self.assume_centered)

        cv = check_cv(self.cv, y, classifier=False)

        # List of (alpha, scores, covs)
        path = list()
        n_alphas = self.alphas
        inner_verbose = max(0, self.verbose - 1)

        if isinstance(n_alphas, collections.Sequence):
            alphas = self.alphas
            n_refinements = 1
        else:
            n_refinements = self.n_refinements
            alpha_1 = alpha_max(emp_cov)
            alpha_0 = 1e-2 * alpha_1
            alphas = np.logspace(np.log10(alpha_0), np.log10(alpha_1),
                                 n_alphas)[::-1]

        t0 = time.time()
        for i in range(n_refinements):
            with warnings.catch_warnings():
                # No need to see the convergence warnings on this grid:
                # they will always be points that will not converge
                # during the cross-validation
                warnings.simplefilter('ignore', ConvergenceWarning)
                # Compute the cross-validated loss on the current grid

                # NOTE: Warm-restarting graph_lasso_path has been tried, and
                # this did not allow to gain anything (same execution time with
                # or without).
                this_path = Parallel(
                    n_jobs=self.n_jobs,
                    verbose=self.verbose
                )(delayed(graph_lasso_path)(X[train], alphas=alphas,
                                            X_test=X[test], mode=self.mode,
                                            tol=self.tol,
                                            enet_tol=self.enet_tol,
                                            max_iter=int(.1 * self.max_iter),
                                            verbose=inner_verbose)
                  for train, test in cv.split(X, y))

            # Little danse to transform the list in what we need
            covs, _, scores = zip(*this_path)
            covs = zip(*covs)
            scores = zip(*scores)
            path.extend(zip(alphas, scores, covs))
            path = sorted(path, key=operator.itemgetter(0), reverse=True)

            # Find the maximum (avoid using built in 'max' function to
            # have a fully-reproducible selection of the smallest alpha
            # in case of equality)
            best_score = -np.inf
            last_finite_idx = 0
            for index, (alpha, scores, _) in enumerate(path):
                this_score = np.mean(scores)
                if this_score >= .1 / np.finfo(np.float64).eps:
                    this_score = np.nan
                if np.isfinite(this_score):
                    last_finite_idx = index
                if this_score >= best_score:
                    best_score = this_score
                    best_index = index

            # Refine the grid
            if best_index == 0:
                # We do not need to go back: we have chosen
                # the highest value of alpha for which there are
                # non-zero coefficients
                alpha_1 = path[0][0]
                alpha_0 = path[1][0]
            elif (best_index == last_finite_idx
                    and not best_index == len(path) - 1):
                # We have non-converged models on the upper bound of the
                # grid, we need to refine the grid there
                alpha_1 = path[best_index][0]
                alpha_0 = path[best_index + 1][0]
            elif best_index == len(path) - 1:
                alpha_1 = path[best_index][0]
                alpha_0 = 0.01 * path[best_index][0]
            else:
                alpha_1 = path[best_index - 1][0]
                alpha_0 = path[best_index + 1][0]

            if not isinstance(n_alphas, collections.Sequence):
                alphas = np.logspace(np.log10(alpha_1), np.log10(alpha_0),
                                     n_alphas + 2)
                alphas = alphas[1:-1]

            if self.verbose and n_refinements > 1:
                print('[GraphLassoCV] Done refinement % 2i out of %i: % 3is'
                      % (i + 1, n_refinements, time.time() - t0))

        path = list(zip(*path))
        grid_scores = list(path[1])
        alphas = list(path[0])
        # Finally, compute the score with alpha = 0
        alphas.append(0)
        grid_scores.append(cross_val_score(EmpiricalCovariance(), X,
                                           cv=cv, n_jobs=self.n_jobs,
                                           verbose=inner_verbose))
        self.grid_scores_ = np.array(grid_scores)
        best_alpha = alphas[best_index]
        self.alpha_ = best_alpha
        self.cv_alphas_ = alphas

        # Finally fit the model with the selected alpha
        self.covariance_, self.precision_, self.n_iter_ = graph_lasso(
            emp_cov, alpha=best_alpha, mode=self.mode, tol=self.tol,
            enet_tol=self.enet_tol, max_iter=self.max_iter,
            verbose=inner_verbose, return_n_iter=True)
        return self


Professor Dr. Dr. h.c. mult. Jürgen Basedow, Director of the Max Planck Institute for Comparative and International Private Law (Hamburg), has analyzed the challenges that Brexit poses for private and commercial law in an editorial for issue 3/2016 of the Zeitschrift für Europäisches Privatrecht. The main contents of this article have been summarized in English on the Institute's website; this abstract is reproduced here with the kind permission of Professor Basedow.
As soon as the UK notifies the European Council of its intent to leave the EU in accordance with Article 50 para. 2 TEU, a two year period shall commence within which all negotiations must be conducted. Should negotiations exceed this two year period or if the outcomes meet resistance in the UK or the EU bodies, Art. 50 para. 3 TEU stipulates that Union Treaties shall simply cease to apply, unless the Council and the UK unanimously agree to extend that period.
As sparing as the wording of Art. 50 para. 2 TEU is, it does make it very clear: should the EU and the UK not reach agreement within two years of notification, then the Treaties, including the freedom of movement they contain, cease to be in force. The possibility that access may be lost to the European single market and other guarantees provided by primary EU law puts the UK under economic and political pressure that may weaken their negotiating position against the EU. British voters were probably not aware of this consideration before the referendum.
The question of whether and how the international conventions of the EU, particularly those for a uniform system of private law, shall continue to apply is also complex. It may be that conventions like the Montreal Convention for the Unification of Certain Rules for International Carriage by Air or the Cape Town Convention on International Interests in Mobile Equipment and the Aviation Protocol will continue to apply, as they were ratified by both the UK and the EU, although relevant decisions handed down by the ECJ will no longer be binding on the UK courts. But what is the situation with regard to the Hague Jurisdiction Convention of 2005 that was ratified by the EU on behalf of all Member States, but not by the States themselves? These private and procedural law Conventions – just as all other international law agreements of the EU – must also be addressed during the exit negotiations.
Any change of Great Britain's status under the Brussels I Regulation 1215/2012 is also particularly significant for private law. It is for the British courts to decide whether they will continue to observe the rules of jurisdiction. Their judgments however will no longer be automatically enforceable across the whole Union, as Art. 36 only applies to "a judgment given by the courts of a Member State". Older bilateral agreements such as that existing between Germany and Britain may go some way to bridging the gap, as will the autonomous recognition of laws, but neither will suffice completely. International legal and commercial affairs must thus return to square one. As it currently stands, the Lugano Convention (OJ 2009 L 147) is also unable to cover the shortfall, signed as it was by the EU and not the individual Member States. According to Art. 70, Great Britain is not one of the states entitled to join the Convention. This effectively removes one of the fundamental pillars supporting the remarkable rise in the number of law firms in London, with a business model based on the simple promise that stipulating London in a jurisdiction agreement would guarantee enforceability across the whole of Europe. This model will soon be a thing of the past, if viable solutions cannot be found for the exit agreement.
The agenda for the exit negotiations will thus be immensely broad in its scope. Even if the British government should drop EU primary law for the reasons listed above, they will try to include secondary legal guarantees for access to the European single market into their exit agreement. That would require the discussion of hundreds of Directives and Regulations. Considering that the entry negotiations with nine member states, divided into over 30 negotiation chapters, took so many years to complete, it is doubtful whether negotiations in the other direction can be completed within the two years stipulated by Art. 50 para. 3 TEU. Brexit has also shaken up international commercial competition in ways that have yet to be determined.
The complete article "Brexit und das Privat- und Wirtschaftsrecht" by Professor Jürgen Basedow will be published in the forthcoming issue 3/2016 of the ZEuP – Zeitschrift für Europäisches Privatrecht.
Since the 1968 Brussels Convention is formally still in force, and the Brussels I Regulations only "supersede" the Convention "as between the Member States", couldn´t it be argued that (post Brexit) the 1968 Brussels Convention will again be applicable vis à vis the United Kingdom? Can it be automatically reborn?
it is unlikely the Convention may apply to the United Kingdom once it will leave the European Union. In fact, the Preamble of the Convention stipulates that the latter applies to States who are part of the Rome Treaty, which the United Kingdom will no longer be once it will leave the European Union. Please read my Article on the future of jurisdiction agreements selecting the English, Scottish and Northern Irish courts, from my persepctive at: http://www.bbmpartners.com/index.php/en/news/item/358-brexit-jurisdiction-agreements.
You are absolutely right: the 1968 Brussels Convention was linked to Art 220 EC Treaty. But it was (and still is) an autonomous Convention, governed by the Law of Treaties. Once the 1968 Brussels enters into force between Contracting States, being a Member of the UE is not a legal condition for its application. And I am not fully convinced that the Preamble is a sufficient legal basis to draw that conclusion, i.e. that the Convention ceases automatically to apply vis à vis the United Kingdom by the mere fact that they leave the EU. Furthermore, the 1968 Brussels Convention is not obviously included in the "Treaties" referred to by Article 50 (3) TEU.
I fully agree, the Convention is for sure governed by the Law of Treaties which must be considered. Could being a party to the ECC Treaty be understood as an essential basis of the consent of the Contracting States to be bound by the Brussels Convention?
By the way, whether or not the Convention will revive is a big issue also for Italian Private International Law.
In fact, Article 3(2) of the Italian Private International Law provides the general rule by which the Brussels Convention applies in order to assess the Italian court's jurisdiction where the defendant is a person domiciled in a non-Contracting State.
Though the Convention has been superseded by the later Regulations, Italian courts have maintained the reference to the Brussels Convention, considering that the latter is still in force in some territories, e.g. New Caledonia (see, amongst others, Cass. 01/04/2015, n. 6603, in Leggi d'Italia).
Instead, only recently, backed by a number of commentators, some courts have held that such a reference should be rather made to the Brussels I Regulation (and today, the Brussels Ibis Regulation), and not to the Brussels Convention (see, amongst others, Cass. 20/02/2013, n. 4211, in Leggi d'Italia, or Trib. Milano, 11/01/2016, in Leggi d'Italia).
If the Brussels Convention would revive vis-à-vis the United Kindgom, then the recent development in Italian case law would be questioned, and thus, no doubt, reference made in Article 3(2) of the Italian Private International Law should be made to the Brussels Convention.


As a traveler you have a lot to worry about, so go ahead and have the peace of mind that your sightseeing adventures are booked and ready for your arrival. We recommend that you buy your tickets in advance to ensure your availability and the best rate for your trip.
You will have your reservation confirmed on the screen at the end of the payment process and be given a booking reference number. We will also send a confirmation e-mail to your email address. You will need to print this voucher to redeem it for your tickets at your destination.
In case you will not receive the instant email confirmation, please check out you spam inbox. If the email is not there contact with our customer service by email (booking@madridtourstickets.com) including your name, phone number and booking reference (if you have it).
The majority of our tours are automatically confirmed once your booking is completed. However, please check carefully the instructions given on the confirmation email in case you must reconfirm your booking.
We accept MasterCard and Visa credit cards online. We also accept many debit cards but only from Spanish banks. Please consider we do not accept American Express.
We're more than happy to accommodate you on a different date, or at a different time as long as we have the availability. To make a change, please contact us at the contact information printed on your email voucher.
If you are inquiring about tickets from parties of 10 or more guests, please contact by email (booking@madridtourstickets.com) to inquire about group rates. These discounts and their availability will vary by season and are not guaranteed, but we are always happy to help with your party's excursions!
No problem – please send us an email with your full address, post/zip code and city and we will send it to you straight away.