text:
Civic Media Center to hold 24th anniversary dinner, speakers: Matheson Museum, Friday, Oct. 20

The Civic Media Center will mark the start of its 24th year with an anniversary dinner at the Matheson Museum on Friday evening, Oct. 20. It is a happy return to the Matheson where the CMC has held a number of successful “SpringBoard” fundraisers in years past.

The dinner features varied food from area restaurants, and great raffle and silent auction items. As an incentive to expand CMC’s collection, donations of current (within the last 5 years) and relevant books will be given a free raffle ticket per book.

At this event we will be honoring one of our community’s great Movement elders, Carol Thomas, who as a result of arrests and intimidation for integration organizing was branded “the most dangerous woman in Gainesville” in the 1960s. In addition, the Penrod Award will be presented to Candi Churchill for her labor organizing work for United Faculty of Florida.

The Matheson is located at 516 E. University Ave. with lots of parking adjoining the museum and across the street at the Kirby Smith building. Doors will open at 6:15, and dinner will begin at 6:30. The CMC is asking $25-50 per person. Advance tickets (or donations) can be made through PayPal on the CMC website, or at the door.

As a reminder, the CMC currently can accept tax-deductible donations made out to NUBA (Neighborhood United for a Better Alachua) but earmarked for the CMC, until our own 501(c)3 status is approved. We intend to keep the program lively and moving, and we will be done at approximately 9:30. We know from the past our varied supporters always enjoy being in each other’s company.

Being recognized at the CMC anniversary event will be Carol Thomas, a woman who was at the forefront of early desegregation efforts in Gainesville. Carol moved to Gainesville in 1960, but she had already developed an activist, progressive attitude from participating in anti-McCarthy demonstrations at Wayne State University near Detroit as a youth in the 1950s. Later in the ’50s, she moved to Nashville and was involved in protests against the White Citizen Council’s marches against desegregation. When she got to Gainesville, the segregation here, the substandard housing, and the abuse of black people at the jail moved her to be a community activist. She joined the NAACP, Gainesville Women for Equal Rights, and was a member of the community Bi-racial Committee, and also worked at voter registration and education efforts.

She was harassed for having integrated organizing. Carol was basically run out of town in 1969, after being threatened with charges of criminal aiding and abetting, and with that, the threat they would take her children away from her.

She left her mark on many people here, and then, once resettled in Louisville, continued her work as a community organizer around housing issues, working with the Legal Aid Society and the National Tenants Organization. While there, she formed tenant unions, changing the housing codes and helping create statewide adopted reforms based around the rights and responsibilities of tenant and landlords.

In 2000, she came back to Alachua County, and remained active with many organizations and issues in the City of Alachua and in Gainesville. Among them, ten years ago, she was a co-founder of Neighbors United for a Better Alachua, a group which the CMC has come under the wing of to be our 501(c)3 sponsor while we work to reinstate our own 501(c)3 status. Carol’s address to us will be a wake-up call to understand our history and the changed context of the events of today.

As mentioned earlier, the John A. Penrod Award for Peace and Justice will be awarded at the dinner. The award was established to honor local activists in memory of John A. (Jack) Penrod. The award is coordinated jointly by the Alachua County Labor Coalition, Veterans for Peace, and the United Faculty of Florida.

Prior to his career as a Professor at the University of Florida, Jack volunteered and fought with the Abraham Lincoln Brigade against fascism in the late 1930s Spanish Civil War. Jack was active in all three sponsoring organization (as well as the CMC) and was a co-founder of the faculty union. It is one of their union members that is honored in the award this time, Candi Churchill.

Since first embracing activism and organizing in the mid 1990s as a UF student, she has been a solid worker both in feminist organizing with National Organization for Women and National Women’s Liberation, as well as Graduate Students United and now United Faculty of Florida. This is in addition to marriage to her partner Andrew Reynolds (they met through GAU) and raising their son Max.

That these fine organizations choose the Civic Media Center dinner for this award presentation is an honor in itself. It is the linkage of so many good organizations and their members that keep this great little blue dot of progressivism that we all share so vital. The CMC hopes you can make it, and if not, a donation to the CMC is encouraged to launch them into their 24th year.

Comments are closed.


Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: text/html

WARC-Type: response

text:
Hungry for Football Season?

Author: George West

Centerplate, the largest hospitality partner to North America’s premier sports stadiums, convention centers and entertainment venues, announced today a series of new menu concepts, service enhancements and fan promotions for the upcoming Fighting Irish football season. Centerplate look to increase the Game Day experience with the updating of grill stands, carving stations, and chef-attended action carts on the concourse.

Along with your traditional chicken fingers, burger, and popcorn, Centerplate will offer new menu items such as:

Specialty Hot Dogs

  • Hand carved Prime Rib, Turkey Breast, and Corned Beef Brisket sandwiches
  • Grilled chicken sandwich on whole wheat bun
  • Italian Sausage with peppers, onions, and marinara sauce
  • Philly Cheesesteak sandwiches
  • Churros
  • Bavarian handmade Pretzels

Main Concourse and Mezzanine Offerings

Upper Concourse Offerings

Stay Up To Date

warcinfo:
isPartOf: CC-MAIN-2020-45
publisher: Common Crawl
description: Wide crawl of the web for October 2020
operator: Common Crawl Admin (info@commoncrawl.org)
hostname: ip-10-67-67-128.ec2.internal
software: Apache Nutch 1.17 (modified, https://github.com/commoncrawl/nutch/)
robots: checked via crawler-commons 1.2-SNAPSHOT (https://github.com/crawler-commons/crawler-commons)
format: WARC File Format 1.1
conformsTo: http://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/


WARC-Identified-Payload-Type: application/xhtml+xml

text:
Focusses Sound In Sonic Space

Wave Field Synthesis is the first sound reproduction technique that enables sound to be truly - that is physical instead of psycho acoustic - distributed spatially.

Sonology WFS Festival 2020

The annual Wave Field Synthesis festival that is traditionally hosted by the Sonology department of the Royal Conservatoire in The Hague had to be cancelled due to the Covid-19 pandemic. Instead of the concert on 30 May 2020, Ji selected several pieces that are rendered binaurally (a new feature!) with the WFSCollider software.

Program notes can be found on SoundCloud (click the SoundCloud logo in the top right to open).

Voor het laatste nieuws en actualiteiten:

Game of Life on Facebook

Next agenda item

There are no upcoming agenda items

© 2009-2010 Game Of Life. Website by TTM-Services.

Theme by WooThemes - Premium Wordpress Themes


text:
EA’s Squadrons Gameplay Footage to be Shown at Gamescom 2020 Opening Night Live

Gamescom 2020 is around the corner, a matter of fact, its this week! However, due to the pandemic, no conventions are happening, but that has not stopped the gaming community!

This will be yet another online gaming convention, and it seems gamescom 2020 will be pretty legit as they will be bringing some exciting gaming news our way. The latest game to get announced for the show is EA’s Squadrons. This Thursday at 8 pm CEST / 2 pm ET / 11 am PT, we will be receiving a new look at the highly anticipated game.

Check out the official announcement from Geoff Keighley down below:

In related news, Insomniac Games will be bringing their recently announced title — Ratchet and Clank: Rift Apart to gamescom opening night live as well. This is where we will see even more footage for the highly anticipated Ratchet and Clank sequel. Be Prepared to see plenty of great game reveals at gamescom 2020.

Gamescom 2020 kicks off later this week, stick with gameranx this entire weekend for all of the latest breaking news. What are you excited to see at the convention? Let us know in the comments below!

source: Twitter


text:
Gamestars PUBG Mobile: Solo Battle
PUBG Mobile Solo

Gamestars PUBG Mobile: Solo Battle

Gamestars League - is a new league for the fans of mobile esports, which will let you try your skills and make it to the big stage. In the preliminary season of Gamestars League: PUBG Mobile PreSeason players from Russia, Ukraine and Kazakhstan will be able to participate. The prize pool of PUBG Mobile: Solo Battle PreSeason is $1,250, while the best teams of PUBG Mobile: Team Battle PreSeason will fight for $2,500.

  • Place:

  • Dates:

    October 6 - November 22, 2020

  • Prize:


text:
Defiance Review

July 24, 2019

Developed by Trion Worlds, Defiance is based on a pre-existing franchise through a companion SyFy TV show. This helps set it apart from other MMOs at a time when the PC landscape is still dominated by old titans such as World of Warcraft and EVE Online.

Originally released in 2013, Defiance went free-to-play in 2014. Although SyFy cancelled the TV show in 2015, the game is still going strong. But, is it worth your time?

Unlike many other MMOs, the gameplay in Defiance is fast-paced. It plays more like a shooter rather than a traditional MMO, with games like Borderlands being an obvious influence. As a result, Defiance has a somewhat chaotic and fun approach, much like other looter shooters.

The basic gameplay system is one of defeating enemies and gathering up the loot they drop so you can become stronger. The problem is that Defiance essentially just falls into the trap of continuing this loop indefinitely. Unlike other titles, Defiance doesn’t have much to fall back on outside of this premise. Games such as Borderlands often have a strong narrative element and don’t just rely on the basic mechanics to provide the motivation to keep on playing.

Sure, it can be fun to just mow down hordes of enemies but a full game needs more. Facing the same type of enemies over and over again without any variety is tough enough. Doing so knowing that you will be doing the same thing afterwards, just in a more powerful form, is frustrating and depressing.

This lack of variety extends to your own character as well. There are only four classes to choose from. Even though they each have their very own distinctive ability, these don’t seem different enough to really justify further playthroughs. Player customization is also extremely limited, so much so that you can barely change anything about your appearance or the way you play the game.

Quests are just as disappointing. Everything revolves around getting to a specific area and then just holding it for a short period of time or interacting with an object at the press of a button. Even the larger public events don’t offer much more than just killing a lot of mobs before fighting a larger and stronger boss. In a time when many MMOs are including wide-ranging and complex mission structures, Defiance looks very much like a relic of the past.

Defiance starts out with a promising introduction that suggests there is going to be plenty of story to get to grips with. A cut scene explains who you are and what is going on, getting you acquainted with this post-apocalyptic world. Earth has suffered from some unknown cataclysmic event and the surface is all but destroyed. Ark Hunters, like yourself, now spend most of their time trying to find whatever leftover technology they can from the wastelands.

Unfortunately, the story elements seem to just fall away after this early promise. Despite all of the potential for a great narrative and background story, Defiance fails to utilize any of it. Alien races, doomsday scenarios, and the characters are given little-to-no backstories and do not develop as the plot progresses.

What the setting does provide is a great excuse to take a different approach to mounts than other MMOs. In keeping with the sci-fi story and post-apocalyptic wasteland location, players get around on ATVs. These vehicles are not only enjoyable to drive, they also provide some nifty gameplay opportunities when it comes to fighting large crowds. The “Mad Max” style vehicles certainly feel appropriate for the world and they work well.

Almost everything in Defiance looks like it is a year or two behind everything else. Textures and models certainly look dated and there is a distinct lack of detail to what appears on screen. Also, animations have a stiffness to them that stops movements from flowing as smoothly as you might like. Even on high settings, the draw distances don’t really improve and the rest of the visuals don’t get any better.

Similarly, the soundscape is just as uninspiring in terms of both the soundtrack and the effects you hear as you travel around the in-game world. Voice acting is one plus, with the performances being consistently good, even if they are far too brief and infrequent.

Final Verdict

The core gameplay and setting of Defiance have a lot of potential. It certainly offers the chance for some mindless fun while shooting lots of bad guys.

However, you cannot help but feel this is a missed opportunity to create a truly great game. All the problems mean that most players are unlikely to want to invest too much time into what is a flawed game.

Category: Reviews

Leave a Reply

Wanna be a part of the team?
Press A to join us!


text:
Tag: Monarda ‘Raspberry Wine’

‘Casa Blanca’

I was going to start this post by declaring that if I could only have one Lily, that would be the Oriental Lily ‘Casa Blanca’. But then I realized that I only have 4 kinds of Lilies altogether: there’s the Oriental-Trumpet hybrid ‘Conca d’Or’, a couple of Asiatic Lilies (variety unknown), and a few Martagon …

Monarda Musings

The genus Monarda brings wonderful gifts to the garden. Through trial and error, though, I’ve come to realize that getting the most out of Monarda species takes a certain amount of thought.

Summer Blooms for the Shade

Flowers for shade, especially perennials, are usually associated with springtime, before the leaf canopy fills in and blocks most of the sunlight.  We do have a few summer blooms in our shady back garden, though.

Monarda Mystery

It’s a very peculiar thing. I used to have one clump of Wild Bergamot (Monarda fistulosa) in the Driveway Border, and now I have two.

What’s New In The Front Garden?

Changes in the garden accelerate as we reach mid-summer. Every few days seems to bring something new. Let’s take an overview of the state of the Front Garden.

Perennial Winners and Losers in the Sidewalk Border

The Sidewalk Border was the second border that I added to the garden. We moved into our house in July, 2003. Next day I went to work on the Driveway Border. The following spring I started digging up turf along the sidewalk for the Sidewalk Border.

Light in August

The light changes in August, and so does the feel of the garden. The days have begun to shorten and the sun is lower in the sky. The light still brings heat, but there is a softening, especially in late afternoon.

A “White House” That Delights

The OT Hybrid Lilies are done blooming, in fact I’ve snipped off the tips so that they won’t waste energy making seeds. Happily, the Oriental Lily ‘Casa Blanca’ has taken up where the OT Hybrid left off.

More Monardas, More Butterflies, and a Troll Bridge

‘Raspberry Wine’ Bee Balm (Monarda didyma) is the first of our Monardas to bloom.

Raspberry Fields Forever

The most noticeable blooms in the front garden at this moment are those of ‘Raspberry Wine’ Bee Balm (Monarda didyma). It’s really dominating the Sidewalk Border.


text:
GASPOL Team - Sky is not the limit!

The biggest successes

2011 - 1st position, 27th Polish Balloon Championship, Leszno
2013 - 3rd position, 29th Polish Balloon Championship, Nałęczów
2015 - 3rd position, 24th Leszno Balloon Cup, Leszno
2016 - 1st position, 4th Paczków Aeropicnic, Paczków
2016 - 2nd position, 16th Włocławek International Balloon Championship, Włocławek
2017 – 1st position, 17th Włocławek Balloon Competition

Two-time winner of Polish Balloon Cup (2011, 2016), 2nd place in general rankings of Polish Cup (2015), winner in general rankings of Polish Cup’s pilots (2016).

Europe / International

2009 – 2nd position, 4th European Union Cup – “The skies of open Europe”, Krakow (Poland)
2010 – 28th position, 19th FAI World Hot Air Balloon Championship, Debrecen (Hungary)
2013 – 3rd position, 18th European Balloon Cup, Mainfonds (France)
2016 – 18th position, European Hot Air Balloons Cup, Mainfonds (France)
2017 – 2nd position, Central European Balloon Cup, Szeged (Hungary)


text:
Local Sluts Chesterfield Inlet NU, Local Sluts Phone Numbers Nunavut

Local sluts Tips for Chesterfield Inlet NU local hairdressers being sluts Individual: Exactly How To Conquer Shyness Dating a female is not really hard for guys who have this high self- confidence in themselves. Yet what's really hard is dating a lady if the person can not conquer his pressure due to the fact that he is actually timid to interact with that said woman.

Shyness Being shy means, you have an overall distress in social experiences, which can be heightened by being around people. You may have an extreme shyness that it affects your ability to interact once you want to, Although the majority of men and women feel shy some occasions. Shy people are often.

Big Tit Muture Sluts Who Love To Get Fuck In The Ass

Real good. And everybody- ehhhhh- verrrrrr- eeeeeeee- boooooody! - in old neighborhood, deh loved me" No, not an additional on The Sopranos: Deleting dating apps reddit Chesterfield Inlet Nunavut, however my own date. Or should I say" date" - as it was actually an excuse for a neverending wander down memory lane.

" Tell me what you think! " I said as I once again caught her and stuffed the panties under her nose as she strove to shake her head and escape my grip. She shivered involuntarily and took a deep breath through her nose. I sneered since I put the panties and inhaled. Woman's scent was masked somewhat by a detergent that is floral. I started out the panties and looked at the gusset that was stained using a moist patch.

Where Can I Find Young Teen Sluts Located Near Chesterfield Inlet NU

Another" red flag" is the speed at which the scammer wants your connection to go. He or she's going to say" I love you" at an inappropriately early moment. If you were dating a person" offline" and he or she said those 3spiritual dating apps words too premature, it might( and should) make you uneasy.

What if you have bounds? Whenyou're a kid and visited someone else's home, could your parents have been OK with you smoking cigarettes if you said, " But it's not against the rules at Timmy's home! " Respect.

Dating Sites For People Who Don't Want Chidren

Why are you here? Are you looking as a route of expression for sex? Or are you Chesterfield Inlet NU local nude snapchat sluts for love? Are you tired of drifting around aimlessly being unable to be yourself, never finding that place which you can call home? If you go out searching for love, well, maybe part of that reason is, you're leaving who you really are at home. Everything, all the comforts of who you are and what you are, you're leaving behind, to slide into this complex purpose of anticipation, whether it's exactly what you wear, how you talk, how you walk, in which you operate, what you local wife sluts pics Chesterfield Inlet, or how much money is in your accounts. All of those prostitutes columbia sc which you have to put up a storefront, a front.

Chesterfield Inlet Exposing Local Sluts

Individuals who are looking for real- honest- to- goodnessrelationships would like to know that woman or a man they'd tublr local sluts Chesterfield Inlet to date is as homemade college fuck buddy out at a pub on a Friday night, with dining in as comfy.

Chesterfield Inlet Fuck Local Sluts

Women Who Peg Dating Sites

PEOPLE! ! , Online free dating apps IS BASELINE A nice guy with a project: that must be baseline. That's not Chesterfield Inlet NU local singles sluts relationship substance; that's simply, " Hey, you get another date" This part of the process is a main how to connect with local sluts Chesterfield Inlet in becoming intentional about your relationship of the job we'll perform, so I like to frame it in a means which makes sure we're hitting all things.

And being confident means that you don't take reddit local sluts Hopkins Landing BC personally if someone does not like your remarks, or does not agree with you. Above all else though, being confident means that you aren't destitute, or clingy and that you are distressed to be detected, or to be enjoyed, by other people.

Chesterfield Inlet NU Casual Sex Oshkosh WiChesterfield Inlet Times Square Hookers

How To Get A Fuck Buddy To Be Your Girlfriend

The next fatal mistake is the one delivered by" The Ex- Man" . Its mind blowing I understand but some men will actually go on and on about their ex- partners. So this point relates equally to all I understand, girls do it as well. No matter how pissed you are with them, raising the issues of relationships that are previous is insecure, it suicidal. If your partner raises the matter sweep you move on to another topic and might have had on your prior relationship. This reveals your personality isn't ill fated and ought to put you down for a score that is positive. In case your first date turns into something more severe this subject will come up and there'll be opportunity to talk about the issues but only keep it in the closet for the time being.

And what happens once we do that? We blame the man. To really jump into this very first step, just" Dating apps nation coverage Chesterfield Inlet Nunavut" .

How To Get Free Dating Sites For 2019 Without Paying

" It's my friend's birthday today and she is expecting me for beverages. " " I would love to see a movie with you on the weekend ifyou're free. " " Yeah, well, I will let you know whether my program opens up but I've got a couple birthday parties to visit. " " I will see anything you like. " I assume a position on the sofa and go home. I imagine the hospital furnace but now Timmy burns. The head surgeon burns off, as does the stalker patient of Anton. In the flames, naked and shivering awaiting my turn I stand in this fantasy. " I don't understand what's wrong, " Anton yells, punching and twisting the controls. His scalp slides and drips from his nose. " This shouldn't be happening. Do not go inside there. You do not have to. I'll fix this and everything will be OK. " I say, stepping to the fire. Proof My date with Anders was at a Chinese restaurant up the road. About him I had been asked by my friends Following the date. " He is a mathematician, " I stated. " He Chesterfield Inlet Nunavut local amature sluts for one of those universities. He looked somewhat uptight. I don't think I will see him again. " " Did he pay for the drinks? " " Yes, but I really don't think- " " Good. And he is obviously really wise. Give him another opportunity. Do not be a snob, Nicole. He seems really wonderful. " " But I don't think I'm attracted to him. " " People grow. You won't understand unless you go out with him. " I've never considered myself to be a person. I went out with a man who thought it acceptable to show up in his job at a university IT department wearing shirts. If a button dropped one of my tops I shored up the area with a Chesterfield Inlet Nunavut pin till I got around to replacing it. But Allen did not find the purpose of security pins. Inside his Chesterfield Inlet Nunavut the degradation of a shirt from tear and wear could be put down to ageexactly the like the fine lines growing at the corner of his eyesinevitable and no cause for alarm.

Who Makes More Money Male Or Trans Prostitutes

Chesterfield Inlet Local Sluts Nude Pics

Porn is all about fantasy. What is fantastic about a business that makes guys think while classically conditioning girls to pretend it, they need to perform up to an impossible standard? The Chesterfield Inlet NU ways to meet local sluts is, the women in those uploads are being paid, coerced, or at some instances humiliated by an ex. So when you use internet dating to secure a fun filled relationship what is it you expect? Unexpectedly that nameless screenshot is a real live person on your bed and when it's over, dream becomes the unpleasant reality that you are equally stripped naked on a lot more levels than you thought, and there's no browser window to close and make it vanish. Does not sound like a dream; it seems more like a nightmare.

Straight Men Who Are Secret Bbc Sluts

I never pretended to have a great deal of money, as I got out there, I didn't lie about anything else for that matter, or my age. I spoke first, simply smiled, shook hands, greeted the others, and asked them questions about themselves.

Dollie Darko Sluts Dont Stop When Its Cold

However, you should still hold space and acknowledge them, if the bodily dance stop from continuing. In one of the conditions where it is best not to take things a smile of appreciation to your feelings will do just fine.

Young Sluts Who Like It In The Ass Hard

I've got hundreds of other pinners depending to upgrade my Pinterest boards. Any man who would like to maintain my life must understand he might need to talk about me. I won't let you down, girls( and Chesterfield Inlet NU crazy local sluts from Baltimore) ! If you've got a passion or any things you appreciate, it is only appropriate to talk about them in this section of this internet dating resume to find declare where you will be spending your time and possibly find areas of common interest.

How To Sleep With Women Quickly Through Online Dating Located Near Chesterfield Inlet

Chesterfield Inlet NU Best Way To Sleep With Local Sluts

Whatever the case, I realize I had been convinced to the best of my skills because I didn't feel confident from the relationship that is digital. Anyway, what is done is done! I do have some tested insights to analytically approach the finish of your virtual relationship, although my connection didn't location hc az prostitutes Chesterfield Inlet NU.

Chesterfield Inlet Trumps Online Dating SiteChesterfield Inlet NU Local Sluts Fuck

What Is The Best Desi Dating Sites

Examples Of Being Manipulative( Yes guys do so! ) Borrowing a friend's house or car and saying you own it Local average sluts Chesterfield Inlet about that which you understand Lying about your job /hobbies /previous Telling a woman, you have similar interests as her if you truly don't Lying about the women in your life As the old saying goes, " Honesty is always the best policy. " You know it may piss off her and if the truth sucks, do not exaggerate, lie, or be manipulative.

Dating Sites Which Indians Use Located Near Chesterfield Inlet

Then you likely know; in order to readily tackle the boss monster. This usually means moving to spawning points or dungeons, learning new skills, doing repetitive acts to boost your skill with the controls, and finding the suit of armor you can fully utilize based on your level, so as to confront prey. Apply polishing your conversation skills, visiting singles bars to speak up some enticing ladies that to dating and it means suiting up inside your way.

Chesterfield Inlet

Sluts Who Give Kinky Blow Jobs

DEFINITION, PLEASE In the New Testament, there are six different Chesterfield Inlet Nunavut little asian hookers in the original text that are translated as sin. One of these words is hamartia, derived from the root term hamartano, which was an archer's term that meant to" miss the mark. " Whenyou're shooting an arrow at a target, you sin as soon as your arrow strikes on anything except the place at which you aimed. As an instance, " While I had been planning for the yellow bull's- eye, my arrow sinned to the left and landed between the blue and red circles" Within this context, sin ways to miss your objective.

How Picky Are You Online Dating Quiz

In the transition local sluts that makes house calls Chesterfield Inlet of the climb, you will begin to understand the influences. You will discover that you likely married someone like the parent you never made peace with and that whatever growing- up activities you did not finish in childhood, you are trying to work out in your relationships.


text:
Email through custom domain without setting up your own mail server: the MX record is the key (and services like Zoho)

Setting up an email stack on a Linux box is a challenge. While it is quite possible to get things running, it requires a tremendous amount of care and overview to harden the system from the security point of view and to maintain it. I spent the last days configuring and re-configuring and re-re-configuring postfix, dovecot, squirrelmail, and the whole MySQL-databases-unix-user-permissions tail. I believe I managed to do this properly (at this point I would like to acknowledge this particularly well-written and complete article). But do I still understand the configuration in half a year? Would I be able to maintain it properly? At the moment, I don’t think so. That’s why I do not like having this mail stack on my Linux box. It frightens me. For very simple cases like mine, there is a more elegant solution: making an external service provider manage the mail sent to the custom domain.

The MX record

Someone sends an email to and e.g. Microsoft retrieves it? How would that work? The key mechanism is mediated through the DNS MX record of your domain: when the sending mail transfer agent tries to send a mail to e.g., it queries the MX record for, yielding a list of host names. These hosts are assumed to be (and should be) ready to retrieve mails via SMTP. Hence, mail retrieval and management can be outsourced to any service provider by making the MX record for the custom domain point to mail servers of the corresponding service provider (for this purpose, Google e.g. lists its mail servers here).

Google, Microsoft or Zoho?

If Google should manage the mail for the custom domain, this would go through Google Apps, either for business or for education. In the meanwhile, Google Apps for Business costs money, so this is not an option if you want to manage your mail for free. Lifehacker suggests that now Microsoft with its Outlook service is a good option. Via you can register and validate your custom domain. After that, you can add up to 500 user accounts. Microsoft, however, does not provide IMAP access for the corresponding mail accounts. This is a killer argument (for me, at least), so I was looking into other solutions. The Lifehacker article mentioned above also recommends Zoho, so I tried the free version, supporting — among others — 5 GB storage for your mails and IMAP.

Zoho it is

After validating my domain with Zoho and adding the MX records for and (the effect of which you can btw verify via services such as mxtoolbox), I created a new user/mail account. IMAP is not activated by default, but can easily be switched on through the user interface (although this really could be clearer). Right after that, I added the corresponding account to Thunderbird, using

  • with TLS and
  • with TLS.

It works out of the box and, assuming that Zoho has set up their mail infrastructure properly, is more secure, reliable, and maintainable than trying to set up things by oneself.

Update: TLS between MTAs

According to, Zoho’s MTA does not support TLS, i.e. incoming mails sent from other MTAs to the SMTP server at are, in principle, readable (and editable) by any device on the route between both MTAs. Microsoft’s hotmail also does not support it. Googlemail, however, does.

What is TLS between two MTAs good for? Encrypted transport between two MTAs itself does not have any implication on the privacy, integrity, and authenticity of a mail. The connections between the sender/recipient and their SMTP/(IMAP/POP) server might or might not be secured. The mail might pass more than two MTAs. Let us assume that the SMTP connection of the sender, the POP/IMAP connection of the recipient and all connections between the MTAs involved are secured via TLS. This reduces the instances that might read the mail or tamper with the mail to the MTAs involved. It reduces risk. In my opinion, this is desirable and that is why I would like to see Microsoft and Zoho support TLS on their side.

In brutal security terms, however, “reduced risk” does not exist. Binary thinking is required. Either the entire transmission process guarantees integrity/authenticity/privacy or it does not. And this does not depend on the connection between to MTAs. That is — presumably — why Zoho and Microsoft decided to save computing resources and not implement TLS. End-to-end mail integrity and authenticity can only be guaranteed via adding a signature to the mail with e.g. PGP. Privacy can only be achieved via end-to-end encryption.


text:
Battle of Warships

Battle of Warships – Great game for fans of sea battles. In the game you will be available to most of the ships of the First and Second World War. You can immerse yourself in the epic atmosphere of sea battles. The taste of salty water and the smell of gunpowder, that’s what awaits you on the battlefield! Play against players from all over the world in real time, destroy your enemies and discover a new technique that will lead you to victory!

Download Battle of Warships APK


text:
Skip to content

Ask The Industry – Mark Lippmann

In a world of experts where all you have to do is ask, we are pleased to bring you this exciting section to Tipping Point’s blog…. Ask The Industry! This week we have Mark Lippmann, founder of Scruff of The Neck music group.

Still proudly independent, Mark Lippmann has built Manchester based Scruff of the Neck from its humble DIY beginnings, into the wide-reaching organisation it is today. With a strong emphasis on the development of new artists, Mark has enabled Scruff of the Neck to go from strength to strength, evolving from local promoters into a multi-divisioned, 360-degree music company with an impressive roster of bands for management, label, publishing and live promotion alongside in house creative, marketing and tour management teams.

Mark has progressed in music with a desire to collaborate with others as well as pioneer his own methods, an approach that recently lead to record deals for Cassia (Distiller) and Larkins (Good Soldier). Now entering it’s 10th year, Scruff of the Neck has statement shows on sale at Manchester Apollo (The Slow Readers Club), The Albert Hall (Larkins) and The Ritz (Cassia) as well as huge tours spanning UK and Europe.

  1. Tell us a bit about yourself Mark

I started out in 2009 by running a gig in a student pub (where I was working and living above!). The then ‘Scruff of the Neck’ night grew and grew and we ended up progressing onto Manchester city centre shows. I’ve always been ambitious and competitive and we wanted to continue to grow and grow and I realised the way to do this was by getting the best bands, but to do this you needed to offer more; so I started taking a keen interest in developing the artists outside of the gigs (helping release music, build a brand etc).

This ethos stuck with Scruff of the Neck and is still fore frontal today, we basically worked hard to learn all aspects of developing artists, making mistakes along the way but also pioneering new approaches and we realised we were very good at it! This naturally evolved into us taking bands on for management roster I now have 3 acts on my roster (Cassia, Larkins and Glass Caves who will have sold over 10,000 tickets between them in 2018 and two of them have signed record deals amongst other incredible achievements!).

  1. What does your day to day work look like?

I run an office with 12 staff in Manchester (how did this happen?!) so I’ll come in and we’ll have a team buzz meeting with a coffee on the second floor and get everyone pumped for the day. I’ll then inevitably have the first hour trying to save my inbox from e-mail Armageddon! Each day then tends to differ but will be filled with meetings with other industry / artists and a load of phone calls to my management roster. In the evening I do quite often get out to shows which is always fun but still constitutes work!

  1. How do you generally discover new music?

Through our Scruff of the Neck LIVE machine. We will have booked over 500 shows in the UK and Germany in 2018 ranging from 80 cap to 3,500 (and growing!) so this is an amazing A&R vehicle as you generally get to put on band’s first ever shows and nurture them both artistically and personally if it clicks and naturally when they fulfil their potential the bond is strong! We found all our management and label roster this way.

  1. What advice would you give to artists just starting out?

For bands (where I work best) I’d say focus on your live set first and foremost. Observe other artists and how they perform and what makes them great on stage and try to find your own way; remember it’s a ‘show’ so it’s OK to wear outrageous clothes and act in an overt way, it’s entertainment! Once you feel gig ready, get cracking on shows but make sure each one counts; quality over quantity! You’ll also hone the aforementioned ‘show’ by playing live so keep going.

I would really recommend researching your local promoters and trying to build a relationship with the best ones that work hard to grow your opportunities. If you build a relationship with a Scruff of the Neck, This Feeling, Futuresound, Birmingham Promoters etc you really will develop. It’s OK to be loyal to one, we never hold that against bands!

  1. What do you look for in a new act when taking on new artists? How do you know they are ready?

I look for 3 clear things:

  • Talent – there has to be a ‘thing’ which I know sounds wishy washy but you just get a feel for this. It doesn’t mean the band need to be the finished article but they need something special like a unique frontperson or an insane knack to write a hook.

  • Work Ethic – everyone that understands Scruff of the Neck, our people and our bands know we all graft, so I’m always looking for this. Often bands worry about ‘pestering’ but I love seeing those hungry individuals because it shows they want it!

  • Good People – working in music is very stressful to the point where mental health and well-being initiatives are really prominent at the moment (and rightly so) so we need to enjoy what we do and look out for each other! So yeah we look for nice people to work with as that’s how we feel we operate as well.

  1. Finally, what track do you have on repeat at the moment? (provide links if possible)

I still listen to all the old noughties indie stuff in my spare time like The Cribs, The Sunshine Underground and early Arctic Monkeys but the reader will probably be more interested in new bands or ‘hidden gems’. I’m going to give you the Scruff of the Neck management / label roster and then a couple of non-SOTN bands so I’m not just blowing our trumpet!:

(note from the editor: We couldn’t host all 12 of tracks on this webpage, so I’ve had to cut Mark’s choice’s down to 1 roster + 1 non-roster [two of my favourites from all them!]. His other mentions from his roster were Cassia, Larkins, Glass Caves, Young Monarch and Kashmere and from the Non-Roster mentions were Marsicans, POLO, Jerry Williams, The Lottery Winners and Twisted Wheel-  CD).

Site delivered by


text:
Screen Shot at PM

Will DuPont-Dow merger raise global food prices?

New York Post |
The gigantic Dow Chemical-DuPont merger is experiencing some serious antitrust pushback in Europe and some Washington insiders feel it could ...


text:
U.N. human rights panel urges Kuwait to amend its mandatory DNA testing law

Reuters |
The GLP aggregated and excerpted this blog/article to reflect the diversity of news, opinion and analysis. A U.N. human rights ...


text:
Chapter 9 Bridges to GIS software

  • This chapter requires QGIS, SAGA and GRASS to be installed and the following packages to be attached:40

9.1 Introduction

A defining feature of R is the way you interact with it: you type commands and hit Enter (or Ctrl+Enter if writing code in the source editor in RStudio) to execute them interactively. This way of interacting with the computer is called a command-line interface (CLI) (see definition in the note below). CLIs are not unique to R.41 In dedicated GIS packages, by contrast, the emphasis tends to be on the graphical user interface (GUI). You can interact with GRASS, QGIS, SAGA and gvSIG from system terminals and embedded CLIs such as the Python Console in QGIS, but ‘pointing and clicking’ is the norm. This means many GIS users miss out on the advantages of the command-line according to Gary Sherman, creator of QGIS (Sherman 2008):

With the advent of ‘modern’ GIS software, most people want to point and click their way through life. That’s good, but there is a tremendous amount of flexibility and power waiting for you with the command line. Many times you can do something on the command line in a fraction of the time you can do it with a GUI.

The ‘CLI vs GUI’ debate can be adversial but it does not have to be; both options can be used interchangeably, depending on the task at hand and the user’s skillset.42 The advantages of a good CLI such as that provided by R (and enhanced by IDEs such as RStudio) are numerous. A good CLI

  • facilitates the automation of repetitive tasks;
  • enables transparency and reproducibility, the backbone of good scientific practice and data science;
  • encourages software development by providing tools to modify existing functions and implement new ones;
  • helps develop future-proof programming skills which are in high demand in many disciplines and industries; and
  • is user-friendly and fast, allowing an efficient workflow.

On the other hand, GUI-based GIS systems (particularly QGIS) are also advantageous. A good GIS GUI

  • has a ‘shallow’ learning curve meaning geographic data can be explored and visualized without hours of learning a new language;
  • provides excellent support for ‘digitizing’ (creating new vector datasets), including trace, snap and topological tools;43
  • enables georeferencing (matching raster images to existing maps) with ground control points and orthorectification;
  • supports stereoscopic mapping (e.g., LiDAR and structure from motion); and
  • provides access to spatial database management systems with object-oriented relational data models, topology and fast (spatial) querying.

Another advantage of dedicated GISs is that they provide access to hundreds of ‘geoalgorithms’ (computational recipes to solve geographic problems — see Chapter 10). Many of these are unavailable from the R command line, except via ‘GIS bridges’, the topic of (and motivation for) this chapter.44

A command-line interface is a means of interacting with computer programs in which the user issues commands via successive lines of text (command lines). bash in Linux and PowerShell in Windows are common examples. CLIs can be augmented with IDEs such as RStudio for R, which provides code auto-completion and other features to improve the user experience.

R originated as an interface language. Its predecessor S provided access to statistical algorithms in other languages (particularly FORTRAN), but from an intuitive read-evaluate-print loop (REPL) (Chambers 2016). R continues this tradition with interfaces to numerous languages, notably C++, as described in Chapter 1. R was not designed as a GIS. However, its ability to interface with dedicated GISs gives it astonishing geospatial capabilities. R is well known as a statistical programming language, but many people are unaware of its ability to replicate GIS workflows, with the additional benefits of a (relatively) consistent CLI. Furthermore, R outperforms GISs in some areas of geocomputation, including interactive/animated map making (see Chapter 8) and spatial statistical modeling (see Chapter 11). This chapter focuses on ‘bridges’ to three mature open source GIS products (see Table 9.1): QGIS (via the package RQGIS; Section 9.2), SAGA (via RSAGA; Section 9.3) and GRASS (via rgrass7; Section 9.4). Though not covered here, it is worth being aware of the interface to ArcGIS, a proprietary and very popular GIS software, via RPyGeo.45 To complement the R-GIS bridges, the chapter ends with a very brief introduction to interfaces to spatial libraries (Section 9.6.1) and spatial databases (Section 9.6.2).

TABLE 9.1: Comparison between three open-source GIS. Hybrid refers to the support of vector and raster operations.
GIS First release No. functions Support
GRASS 1984 >500 hybrid
QGIS 2002 >1000 hybrid
SAGA 2004 >600 hybrid

9.2 (R)QGIS

QGIS is one of the most popular open-source GIS (Table 9.1; Graser and Olaya 2015). Its main advantage lies in the fact that it provides a unified interface to several other open-source GIS. This means that you have access to GDAL, GRASS and SAGA through QGIS (Graser and Olaya 2015). To run all these geoalgorithms (frequently more than 1000 depending on your set-up) outside of the QGIS GUI, QGIS provides a Python API. RQGIS establishes a tunnel to this Python API through the reticulate package. Basically, functions set_env() and open_app() are doing this. Note that it is optional to run set_env() and open_app() since all functions depending on their output will run them automatically if needed. Before running RQGIS, make sure you have installed QGIS and all its (third-party) dependencies such as SAGA and GRASS. To install RQGIS a number of dependencies are required, as described in the install_guide vignette, which covers installation on Windows, Linux and Mac. At the time of writing (autumn 2018) RQGIS only supports the Long Term Release (2.18), but support for QGIS 3 is in the pipeline (see RQGIS3).

set_env(dev = FALSE)
#> $`root`
#> [1] "C:/OSGeo4W64"
#> ...

Leaving the path-argument of set_env() unspecified will search the computer for a QGIS installation. Hence, it is faster to specify explicitly the path to your QGIS installation. Subsequently, open_app() sets all paths necessary to run QGIS from within R, and finally creates a so-called QGIS custom application (see

We are now ready for some QGIS geoprocessing from within R! The example below shows how to unite polygons, a process that unfortunately produces so-called slivers , tiny polygons resulting from overlaps between the inputs that frequently occur in real-world data. We will see how to remove them.

For the union, we use again the incongruent polygons we have already encountered in Section 4.2.5. Both polygon datasets are available in the spData package, and for both we would like to use a geographic CRS (see also Chapter 6).

data("incongruent", "aggregating_zones", package = "spData")
incongr_wgs = st_transform(incongruent, 4326)
aggzone_wgs = st_transform(aggregating_zones, 4326)

To find an algorithm to do this work, find_algorithms() searches all QGIS geoalgorithms using regular expressions. Assuming that the short description of the function contains the word “union”, we can run:

find_algorithms("union", name_only = TRUE)
#> [1] "qgis:union"        "saga:fuzzyunionor" "saga:union"

Short descriptions for each geoalgorithm can also be provided, by setting name_only = FALSE. If one has no clue at all what the name of a geoalgorithm might be, one can leave the search_term-argument empty which will return a list of all available QGIS geoalgorithms. You can also find the algorithms in the QGIS online documentation.

The next step is to find out how qgis:union can be used. open_help() opens the online help of the geoalgorithm in question. get_usage() returns all function parameters and default values.

alg = "qgis:union"
#>  INPUT <ParameterVector>
#>  INPUT2 <ParameterVector>
#>  OUTPUT <OutputVector>

Finally, we can let QGIS do the work. Note that the workhorse function run_qgis() accepts R named arguments, i.e., you can specify the parameter names as returned by get_usage() in run_qgis() as you would do in any other regular R function. Note also that run_qgis() accepts spatial objects residing in R’s global environment as input (here: aggzone_wgs and incongr_wgs). But of course, you could also specify paths to spatial vector files stored on disk. Setting the load_output to TRUE automatically loads the QGIS output as an sf-object into R.

union = run_qgis(alg, INPUT = incongr_wgs, INPUT2 = aggzone_wgs,
                 OUTPUT = file.path(tempdir(), "union.shp"),
                 load_output = TRUE)
#> $`OUTPUT`
#> [1] "C:/Users/geocompr/AppData/Local/Temp/RtmpcJlnUx/union.shp"

Note that the QGIS union operation merges the two input layers into one layer by using the intersection and the symmetrical difference of the two input layers (which by the way is also the default when doing a union operation in GRASS and SAGA). This is not the same as st_union(incongr_wgs, aggzone_wgs) (see Exercises)! The QGIS output contains empty geometries and multipart polygons. Empty geometries might lead to problems in subsequent geoprocessing tasks which is why they will be deleted. st_dimension() returns NA if a geometry is empty, and can therefore be used as a filter.

# remove empty geometries
union = union[!, ]

Next we convert multipart polygons into single-part polygons (also known as explode geometries or casting). This is necessary for the deletion of sliver polygons later on.

# multipart polygons to single polygons
single = st_cast(union, "POLYGON")

One way to identify slivers is to find polygons with comparatively very small areas, here, e.g., 25000 m2 (see blue colored polygons in the left panel of Figure 9.1).

# find polygons which are smaller than 25000 m^2
x = 25000
units(x) = "m^2"
single$area = st_area(single)
sub = dplyr::filter(single, area < x)

The next step is to find a function that makes the slivers disappear. Assuming the function or its short description contains the word “sliver”, we can run:

find_algorithms("sliver", name_only = TRUE)
#> [1] "qgis:eliminatesliverpolygons"

This returns only one geoalgorithm whose parameters can be accessed with the help of get_usage() again.

alg = "qgis:eliminatesliverpolygons"
#>ALGORITHM: Eliminate sliver polygons
#>  INPUT <ParameterVector>
#>  KEEPSELECTION <ParameterBoolean>
#>  ATTRIBUTE <parameters from INPUT>
#>  COMPARISON <ParameterSelection>
#>  COMPARISONVALUE <ParameterString>
#>  MODE <ParameterSelection>
#>  OUTPUT <OutputVector>
#>  ...

Conveniently, the user does not need to specify each single parameter. In case a parameter is left unspecified, run_qgis() will automatically use the corresponding default value as an argument if available. To find out about the default values, run get_args_man().

To remove the slivers, we specify that all polygons with an area less or equal to 25,000 m2 should be joined to the neighboring polygon with the largest area (see right panel of Figure 9.1).

clean = run_qgis("qgis:eliminatesliverpolygons",
                 INPUT = single,
                 ATTRIBUTE = "area",
                 COMPARISON = "<=",
                 COMPARISONVALUE = 25000,
                 OUTPUT = file.path(tempdir(), "clean.shp"),
                 load_output = TRUE)
#> $`OUTPUT`
#> [1] "C:/Users/geocompr/AppData/Local/Temp/RtmpcJlnUx/clean.shp"
Sliver polygons colored in blue (left panel). Cleaned polygons (right panel).

FIGURE 9.1: Sliver polygons colored in blue (left panel). Cleaned polygons (right panel).

In the code chunk above note that

  • leaving the output parameter(s) unspecified saves the resulting QGIS output to a temporary folder created by QGIS; run_qgis() prints these paths to the console after successfully running the QGIS engine; and
  • if the output consists of multiple files and you have set load_output to TRUE, run_qgis() will return a list with each element corresponding to one output file.

To learn more about RQGIS, see Muenchow, Schratz, and Brenning (2017).

9.3 (R)SAGA

The System for Automated Geoscientific Analyses (SAGA; Table 9.1) provides the possibility to execute SAGA modules via the command line interface (saga_cmd.exe under Windows and just saga_cmd under Linux) (see the SAGA wiki on modules). In addition, there is a Python interface (SAGA Python API). RSAGA uses the former to run SAGA from within R.

Though SAGA is a hybrid GIS, its main focus has been on raster processing, and here particularly on digital elevation models (soil properties, terrain attributes, climate parameters). Hence, SAGA is especially good at the fast processing of large (high-resolution) raster datasets (Conrad et al. 2015). Therefore, we will introduce RSAGA with a raster use case from Muenchow, Brenning, and Richter (2012). Specifically, we would like to compute the SAGA wetness index from a digital elevation model. First of all, we need to make sure that RSAGA will find SAGA on the computer when called. For this, all RSAGA functions using SAGA in the background make use of rsaga.env(). Usually, rsaga.env() will detect SAGA automatically by searching several likely directories (see its help for more information).

#> Search for SAGA command line program and modules...
#> Done
#> $workspace
#> [1] "."
#> ...

However, it is possible to have ‘hidden’ SAGA in a location rsaga.env() does not search automatically. linkSAGA searches your computer for a valid SAGA installation. If it finds one, it adds the newest version to the PATH environment variable thereby making sure that rsaga.env() runs successfully. It is only necessary to run the next code chunk if rsaga.env() was unsuccessful (see previous code chunk).

saga = linkSAGA()

Secondly, we need to write the digital elevation model to a SAGA-format. Note that calling data(landslides) attaches two objects to the global environment - dem, a digital elevation model in the form of a list, and landslides, a data.frame containing observations representing the presence or absence of a landslide:

write.sgrd(data = dem, file = file.path(tempdir(), "dem"), header = dem$header)

The organization of SAGA is modular. Libraries contain so-called modules, i.e., geoalgorithms. To find out which libraries are available, run (output not shown):

We choose the library ta_hydrology (ta is the abbreviation for terrain analysis). Subsequently, we can access the available modules of a specific library (here: ta_hydrology) as follows:

rsaga.get.modules(libs = "ta_hydrology")

rsaga.get.usage() prints the function parameters of a specific geoalgorithm, e.g., the SAGA Wetness Index, to the console.

rsaga.get.usage(lib = "ta_hydrology", module = "SAGA Wetness Index")

Finally, you can run SAGA from within R using RSAGA’s geoprocessing workhorse function rsaga.geoprocessor(). The function expects a parameter-argument list in which you have specified all necessary parameters.

params = list(DEM = file.path(tempdir(), "dem.sgrd"),
              TWI = file.path(tempdir(), "twi.sdat"))
rsaga.geoprocessor(lib = "ta_hydrology", module = "SAGA Wetness Index",
                   param = params)

To facilitate the access to the SAGA interface, RSAGA frequently provides user-friendly wrapper-functions with meaningful default values (see RSAGA documentation for examples, e.g., ?rsaga.wetness.index). So the function call for calculating the ‘SAGA Wetness Index’ becomes:

rsaga.wetness.index(in.dem = file.path(tempdir(), "dem"),
                    out.wetness.index = file.path(tempdir(), "twi"))

Of course, we would like to inspect our result visually (Figure 9.2). To load and plot the SAGA output file, we use the raster package.

twi = raster::raster(file.path(tempdir(), "twi.sdat"))
# shown is a version using tmap
plot(twi, col = RColorBrewer::brewer.pal(n = 9, name = "Blues"))
SAGA wetness index of Mount Mongón, Peru.

FIGURE 9.2: SAGA wetness index of Mount Mongón, Peru.

You can find an extended version of this example in vignette("RSAGA-landslides") which includes the use of statistical geocomputing to derive terrain attributes as predictors for a non-linear Generalized Additive Model (GAM) to predict spatially landslide susceptibility (Muenchow, Brenning, and Richter 2012). The term statistical geocomputation emphasizes the strength of combining R’s data science power with the geoprocessing power of a GIS which is at the very heart of building a bridge from R to GIS.

9.4 GRASS through rgrass7

The U.S. Army - Construction Engineering Research Laboratory (USA-CERL) created the core of the Geographical Resources Analysis Support System (GRASS) (Table 9.1; Neteler and Mitasova 2008) from 1982 to 1995. Academia continued this work since 1997. Similar to SAGA, GRASS focused on raster processing in the beginning while only later, since GRASS 6.0, adding advanced vector functionality (Bivand, Pebesma, and Gómez-Rubio 2013).

We will introduce rgrass7 with one of the most interesting problems in GIScience - the traveling salesman problem. Suppose a traveling salesman would like to visit 24 customers. Additionally, he would like to start and finish his journey at home which makes a total of 25 locations while covering the shortest distance possible. There is a single best solution to this problem; however, to find it is even for modern computers (mostly) impossible (Longley 2015). In our case, the number of possible solutions correspond to (25 - 1)! / 2, i.e., the factorial of 24 divided by 2 (since we do not differentiate between forward or backward direction). Even if one iteration can be done in a nanosecond, this still corresponds to 9837145 years. Luckily, there are clever, almost optimal solutions which run in a tiny fraction of this inconceivable amount of time. GRASS GIS provides one of these solutions (for more details, see In our use case, we would like to find the shortest path between the first 25 bicycle stations (instead of customers) on London’s streets (and we simply assume that the first bike station corresponds to the home of our traveling salesman).

data("cycle_hire", package = "spData")
points = cycle_hire[1:25, ]

Aside from the cycle hire points data, we will need the OpenStreetMap data of London. We download it with the help of the osmdata package (see also Section 7.2). We constrain the download of the street network (in OSM language called “highway”) to the bounding box of the cycle hire data, and attach the corresponding data as an sf-object. osmdata_sf() returns a list with several spatial objects (points, lines, polygons, etc.). Here, we will only keep the line objects. OpenStreetMap objects come with a lot of columns, streets features almost 500. In fact, we are only interested in the geometry column. Nevertheless, we are keeping one attribute column; otherwise, we will run into trouble when trying to provide writeVECT() only with a geometry object (see further below and ?writeVECT for more details). Remember that the geometry column is sticky, hence, even though we are just selecting one attribute, the geometry column will be also returned (see Section 2.2.1).

b_box = st_bbox(points)
london_streets = opq(b_box) %>%
  add_osm_feature(key = "highway") %>%
  osmdata_sf() %>%
london_streets = dplyr::select(london_streets, osm_id)

As a convenience to the reader, one can attach london_streets to the global environment using data("london_streets", package = "spDataLarge").

Now that we have the data, we can go on and initiate a GRASS session, i.e., we have to create a GRASS spatial database. The GRASS geodatabase system is based on SQLite. Consequently, different users can easily work on the same project, possibly with different read/write permissions. However, one has to set up this spatial database (also from within R), and users used to a GIS GUI popping up by one click might find this process a bit intimidating in the beginning. First of all, the GRASS database requires its own directory, and contains a location (see the GRASS GIS Database help pages at for further information). The location in turn simply contains the geodata for one project. Within one location, several mapsets can exist and typically refer to different users. PERMANENT is a mandatory mapset and is created automatically. It stores the projection, the spatial extent and the default resolution for raster data. In order to share geographic data with all users of a project, the database owner can add spatial data to the PERMANENT mapset. Please refer to Neteler and Mitasova (2008) and the GRASS GIS quick start for more information on the GRASS spatial database system.

You have to set up a location and a mapset if you want to use GRASS from within R. First of all, we need to find out if and where GRASS 7 is installed on the computer.

link = findGRASS()

link is a data.frame which contains in its rows the GRASS 7 installations on your computer. Here, we will use a GRASS 7 installation. If you have not installed GRASS 7 on your computer, we recommend that you do so now. Assuming that we have found a working installation on your computer, we use the corresponding path in initGRASS. Additionally, we specify where to store the spatial database (gisDbase), name the location london, and use the PERMANENT mapset.

# find a GRASS 7 installation, and use the first one
ind = grep("7", link$version)[1]
# next line of code only necessary if we want to use GRASS as installed by
# OSGeo4W. Among others, this adds some paths to PATH, which are also needed
# for running GRASS.
link2GI::paramGRASSw(link[ind, ])
grass_path =
  ifelse(test = !is.null(link$installation_type) &&
           link$installation_type[ind] == "osgeo4W",
         yes = file.path(link$instDir[ind], "apps/grass", link$version[ind]),
         no = link$instDir)
initGRASS(gisBase = grass_path,
          # home parameter necessary under UNIX-based systems
          home = tempdir(),
          gisDbase = tempdir(), location = "london",
          mapset = "PERMANENT", override = TRUE)

Subsequently, we define the projection, the extent and the resolution.

execGRASS("g.proj", flags = c("c", "quiet"),
          proj4 = st_crs(london_streets)$proj4string)
b_box = st_bbox(london_streets)
execGRASS("g.region", flags = c("quiet"),
          n = as.character(b_box["ymax"]), s = as.character(b_box["ymin"]),
          e = as.character(b_box["xmax"]), w = as.character(b_box["xmin"]),
          res = "1")

Once you are familiar with how to set up the GRASS environment, it becomes tedious to do so over and over again. Luckily, linkGRASS7() of the link2GI packages lets you do it with one line of code. The only thing you need to provide is a spatial object which determines the projection and the extent of the spatial database.. First, linkGRASS7() finds all GRASS installations on your computer. Since we have set ver_select to TRUE, we can interactively choose one of the found GRASS-installations. If there is just one installation, the linkGRASS7() automatically chooses this one. Second, linkGRASS7() establishes a connection to GRASS 7.

link2GI::linkGRASS7(london_streets, ver_select = TRUE)

Before we can use GRASS geoalgorithms, we need to add data to GRASS’s spatial database. Luckily, the convenience function writeVECT() does this for us. (Use writeRAST() in the case of raster data.) In our case we add the street and cycle hire point data while using only the first attribute column, and name them also london_streets and points.

To use sf-objects with rgrass7, we have to run use_sf() first (note: the code below assumes you are running rgrass7 0.2.1 or above).

writeVECT(SDF = london_streets, vname = "london_streets")
writeVECT(SDF = points[, 1], vname = "points")

To perform our network analysis, we need a topological clean street network. GRASS’s v.clean takes care of the removal of duplicates, small angles and dangles, among others. Here, we break lines at each intersection to ensure that the subsequent routing algorithm can actually turn right or left at an intersection, and save the output in a GRASS object named streets_clean. It is likely that a few of our cycling station points will not lie exactly on a street segment. However, to find the shortest route between them, we need to connect them to the nearest streets segment.’s connect-operator does exactly this. We save its output in streets_points_con.

# clean street network
execGRASS(cmd = "v.clean", input = "london_streets", output = "streets_clean",
          tool = "break", flags = "overwrite")
# connect points with street network
execGRASS(cmd = "", input = "streets_clean", output = "streets_points_con",
          points = "points", operation = "connect", threshold = 0.001,
          flags = c("overwrite", "c"))

The resulting clean dataset serves as input for the, which finally finds the shortest route between all cycle hire stations. center_cats requires a numeric range as input. This range represents the points for which a shortest route should be calculated. Since we would like to calculate the route for all cycle stations, we set it to 1-25. To access the GRASS help page of the traveling salesman algorithm, run execGRASS("g.manual", entry = "").

execGRASS(cmd = "", input = "streets_points_con",
          output = "shortest_route", center_cats = paste0("1-", nrow(points)),
          flags = c("overwrite"))

To visualize our result, we import the output layer into R, convert it into an sf-object keeping only the geometry, and visualize it with the help of the mapview package (Figure 9.3 and Section 8.4).

Shortest route (blue line) between 24 cycle hire stations (blue dots) on the OSM street network of London.

FIGURE 9.3: Shortest route (blue line) between 24 cycle hire stations (blue dots) on the OSM street network of London.

route = readVECT("shortest_route") %>%
  st_as_sf() %>%
mapview::mapview(route, map.types = "OpenStreetMap.BlackAndWhite", lwd = 7) +

There are a few important considerations to note in the process:

  • We could have used GRASS’s spatial database (based on SQLite) which allows faster processing. That means we have only exported geographic data at the beginning. Then we created new objects but only imported the final result back into R. To find out which datasets are currently available, run execGRASS("g.list", type = "vector,raster", flags = "p").
  • We could have also accessed an already existing GRASS spatial database from within R. Prior to importing data into R, you might want to perform some (spatial) subsetting. Use and v.extract for vector data. lets you select subsets of the attribute table of a vector layer without returning the corresponding geometry.
  • You can also start R from within a running GRASS session (for more information please refer to Bivand, Pebesma, and Gómez-Rubio 2013 and this wiki).
  • Refer to the excellent GRASS online help or execGRASS("g.manual", flags = "i") for more information on each available GRASS geoalgorithm.
  • If you would like to use GRASS 6 from within R, use the R package spgrass6.

9.5 When to use what?

To recommend a single R-GIS interface is hard since the usage depends on personal preferences, the tasks at hand and your familiarity with different GIS software packages which in turn probably depends on your field of study. As mentioned previously, SAGA is especially good at the fast processing of large (high-resolution) raster datasets, and frequently used by hydrologists, climatologists and soil scientists (Conrad et al. 2015). GRASS GIS, on the other hand, is the only GIS presented here supporting a topologically based spatial database which is especially useful for network analyses but also simulation studies (see below). QGIS is much more user-friendly compared to GRASS- and SAGA-GIS, especially for first-time GIS users, and probably the most popular open-source GIS. Therefore, RQGIS is an appropriate choice for most use cases. Its main advantages are

  • a unified access to several GIS, and therefore the provision of >1000 geoalgorithms (Table 9.1) including duplicated functionality, e.g., you can perform overlay-operations using QGIS-, SAGA- or GRASS-geoalgorithms;
  • automatic data format conversions (SAGA uses .sdat grid files and GRASS uses its own database format but QGIS will handle the corresponding conversions);
  • its automatic passing of geographic R objects to QGIS geoalgorithms and back into R; and
  • convenience functions to support the access of the online help, named arguments and automatic default value retrieval (rgrass7 inspired the latter two features).

By all means, there are use cases when you certainly should use one of the other R-GIS bridges. Though QGIS is the only GIS providing a unified interface to several GIS software packages, it only provides access to a subset of the corresponding third-party geoalgorithms (for more information please refer to Muenchow, Schratz, and Brenning (2017)). Therefore, to use the complete set of SAGA and GRASS functions, stick with RSAGA and rgrass7. When doing so, take advantage of RSAGA’s numerous user-friendly functions. Note also, that RSAGA offers native R functions for geocomputation such as multi.local.function(), pick.from.points() and many more. RSAGA supports much more SAGA versions than (R)QGIS. Finally, if you need topological correct data and/or spatial database management functionality such as multi-user access, we recommend the usage of GRASS. In addition, if you would like to run simulations with the help of a geodatabase (Krug, Roura-Pascual, and Richardson 2010), use rgrass7 directly since RQGIS always starts a new GRASS session for each call.

Please note that there are a number of further GIS software packages that have a scripting interface but for which there is no dedicated R package that accesses these: gvSig, OpenJump, Orfeo Toolbox and TauDEM.

9.6 Other bridges

The focus of this chapter is on R interfaces to Desktop GIS software. We emphasize these bridges because dedicated GIS software is well-known and a common ‘way in’ to understanding geographic data. They also provide access to many geoalgorithms.

Other ‘bridges’ include interfaces to spatial libraries (Section 9.6.1 shows how to access the GDAL CLI from R), spatial databases (see Section 9.6.2) and web mapping services (see Chapter 8). This section provides only a snippet of what is possible. Thanks to R’s flexibility, with its ability to call other programs from the system and integration with other languages (notably via Rcpp and reticulate), many other bridges are possible. The aim is not to be comprehensive, but to demonstrate other ways of accessing the ‘flexibility and power’ in the quote by Sherman (2008) at the beginning of the chapter.

9.6.1 Bridges to GDAL

As discussed in Chapter 7, GDAL is a low-level library that supports many geographic data formats. GDAL is so effective that most GIS programs use GDAL in the background for importing and exporting geographic data, rather than re-inventing the wheel and using bespoke read-write code. But GDAL offers more than data I/O. It has geoprocessing tools for vector and raster data, functionality to create tiles for serving raster data online, and rapid rasterization of vector data, all of which can be accessed via the system of R command line.

The code chunk below demonstrates this functionality: linkGDAL() searches the computer for a working GDAL installation and adds the location of the executable files to the PATH variable, allowing GDAL to be called. In the example below ogrinfo provides metadata on a vector dataset:

cmd = paste("ogrinfo -ro -so -al", system.file("shape/nc.shp", package = "sf"))
#> INFO: Open of `C:/Users/geocompr/Documents/R/win-library/3.5/sf/shape/nc.shp'
#>     using driver `ESRI Shapefile' successful.
#> Layer name: nc
#> Metadata:
#>  DBF_DATE_LAST_UPDATE=2016-10-26
#> Geometry: Polygon
#> Feature Count: 100
#> Extent: (-84.323853, 33.881992) - (-75.456978, 36.589649)
#> Layer SRS WKT:
#> ...

This example — which returns the same result as rgdal::ogrInfo() — may be simple, but it shows how to use GDAL via the system command-line, independently of other packages. The ‘link’ to GDAL provided by link2gi could be used as a foundation for doing more advanced GDAL work from the R or system CLI.46 TauDEM ( and the Orfeo Toolbox ( are other spatial data processing libraries/programs offering a command line interface. At the time of writing, it appears that there is only a developer version of an R/TauDEM interface on R-Forge ( In any case, the above example shows how to access these libraries from the system command line via R. This in turn could be the starting point for creating a proper interface to these libraries in the form of new R packages.

Before diving into a project to create a new bridge, however, it is important to be aware of the power of existing R packages and that system() calls may not be platform-independent (they may fail on some computers). Furthermore, sf brings most of the power provided by GDAL, GEOS and PROJ to R via the R/C++ interface provided by Rcpp, which avoids system() calls.

9.6.2 Bridges to spatial databases

Spatial database management systems (spatial DBMS) store spatial and non-spatial data in a structured way. They can organize large collections of data into related tables (entities) via unique identifiers (primary and foreign keys) and implicitly via space (think for instance of a spatial join). This is useful because geographic datasets tend to become big and messy quite quickly. Databases enable storing and querying large datasets efficiently based on spatial and non-spatial fields, and provide multi-user access and topology support.

The most important open source spatial database is PostGIS (Obe and Hsu 2015).47 R bridges to spatial DBMSs such as PostGIS are important, allowing access to huge data stores without loading several gigabytes of geographic data into RAM, and likely crashing the R session. The remainder of this section shows how PostGIS can be called from R, based on “Hello real word” from PostGIS in Action, Second Edition (Obe and Hsu 2015).48

The subsequent code requires a working internet connection, since we are accessing a PostgreSQL/PostGIS database which is living in the QGIS Cloud (

conn = dbConnect(drv = PostgreSQL(), dbname = "rtafdf_zljbqm",
                 host = "",
                 port = "5432", user = "rtafdf_zljbqm",
                 password = "d3290ead")

Often the first question is, ‘which tables can be found in the database?’. This can be asked as follows (the answer is 5 tables):

#> [1] "spatial_ref_sys" "topology"        "layer"           "restaurants"
#> [5] "highways"

We are only interested in the restaurants and the highways tables. The former represents the locations of fast-food restaurants in the US, and the latter are principal US highways. To find out about attributes available in a table, we can run:

dbListFields(conn, "highways")
#> [1] "qc_id"        "wkb_geometry" "gid"          "feature"
#> [5] "name"         "state"

The first query will select US Route 1 in Maryland (MD). Note that st_read() allows us to read geographic data from a database if it is provided with an open connection to a database and a query. Additionally, st_read() needs to know which column represents the geometry (here: wkb_geometry).

query = paste(
  "SELECT *",
  "FROM highways",
  "WHERE name = 'US Route 1' AND state = 'MD';")
us_route = st_read(conn, query = query, geom = "wkb_geometry")

This results in an sf-object named us_route of type sfc_MULTILINESTRING. The next step is to add a 20-mile buffer (corresponds to 1609 meters times 20) around the selected highway (Figure 9.4).

query = paste(
  "SELECT ST_Union(ST_Buffer(wkb_geometry, 1609 * 20))::geometry",
  "FROM highways",
  "WHERE name = 'US Route 1' AND state = 'MD';")
buf = st_read(conn, query = query)

Note that this was a spatial query using functions (ST_Union(), ST_Buffer()) you should be already familiar with since you find them also in the sf-package, though here they are written in lowercase characters (st_union(), st_buffer()). In fact, function names of the sf package largely follow the PostGIS naming conventions.50 The last query will find all Hardee restaurants (HDE) within the buffer zone (Figure 9.4).

query = paste(
  "SELECT r.wkb_geometry",
  "FROM restaurants r",
  "SELECT gid",
  "FROM highways",
  "ST_DWithin(r.wkb_geometry, wkb_geometry, 1609 * 20) AND",
  "name = 'US Route 1' AND",
  "state = 'MD' AND",
  "r.franchise = 'HDE');"
hardees = st_read(conn, query = query)

Please refer to Obe and Hsu (2015) for a detailed explanation of the spatial SQL query. Finally, it is good practice to close the database connection as follows:51

Visualization of the output of previous PostGIS commands showing the highway (black line), a buffer (light yellow) and three restaurants (light blue points) within the buffer.

FIGURE 9.4: Visualization of the output of previous PostGIS commands showing the highway (black line), a buffer (light yellow) and three restaurants (light blue points) within the buffer.

Unlike PostGIS, sf only supports spatial vector data. To query and manipulate raster data stored in a PostGIS database, use the rpostgis package (Bucklin and Basille 2018) and/or use command-line tools such as rastertopgsql which comes as part of the PostGIS installation.

This subsection is only a brief introduction to PostgreSQL/PostGIS. Nevertheless, we would like to encourage the practice of storing geographic and non-geographic data in a spatial DBMS while only attaching those subsets to R’s global environment which are needed for further (geo-)statistical analysis. Please refer to Obe and Hsu (2015) for a more detailed description of the SQL queries presented and a more comprehensive introduction to PostgreSQL/PostGIS in general. PostgreSQL/PostGIS is a formidable choice as an open-source spatial database. But the same is true for the lightweight SQLite/SpatiaLite database engine and GRASS which uses SQLite in the background (see Section 9.4).

As a final note, if your data is getting too big for PostgreSQL/PostGIS and you require massive spatial data management and query performance, then the next logical step is to use large-scale geographic querying on distributed computing systems, as for example, provided by GeoMesa ( or GeoSpark (; Huang et al. 2017).

9.7 Exercises

  1. Create two overlapping polygons (poly_1 and poly_2) with the help of the sf-package (see Chapter 2).

  2. Union poly_1 and poly_2 using st_union() and qgis:union. What is the difference between the two union operations? How can we use the sf package to obtain the same result as QGIS?

  3. Calculate the intersection of poly_1 and poly_2 using:

    • RQGIS, RSAGA and rgrass7
    • sf
  4. Attach data(dem, package = "spDataLarge") and data(random_points, package = "spDataLarge"). Select randomly a point from random_points and find all dem pixels that can be seen from this point (hint: viewshed). Visualize your result. For example, plot a hillshade, and on top of it the digital elevation model, your viewshed output and the point. Additionally, give mapview a try.

  5. Compute catchment area and catchment slope of data("dem", package = "spDataLarge") using RSAGA (see Section 9.3).

  6. Use gdalinfo via a system call for a raster file stored on disk of your choice (see Section 9.6.1).

  7. Query all Californian highways from the PostgreSQL/PostGIS database living in the QGIS Cloud introduced in this chapter (see Section 9.6.2).

Bivand, Roger, Edzer J Pebesma, and Virgilio Gómez-Rubio. 2013. Applied Spatial Data Analysis with R. Vol. 747248717. Springer.

Bucklin, David, and Mathieu Basille. 2018. “Rpostgis: Linking R with a PostGIS Spatial Database.” The R Journal.

Chambers, John M. 2016. Extending R. CRC Press.

Conrad, O., B. Bechtel, M. Bock, H. Dietrich, E. Fischer, L. Gerlitz, J. Wehberg, V. Wichmann, and J. Böhner. 2015. “System for Automated Geoscientific Analyses (SAGA) V. 2.1.4.” Geosci. Model Dev. 8 (7): 1991–2007.

Graser, Anita, and Victor Olaya. 2015. “Processing: A Python Framework for the Seamless Integration of Geoprocessing Tools in QGIS.”

Huang, Zhou, Yiran Chen, Lin Wan, and Xia Peng. 2017. “GeoSpark SQL: An Effective Framework Enabling Spatial Queries on Spark.” ISPRS International Journal of Geo-Information 6 (9): 285.

Krug, Rainer M., Núria Roura-Pascual, and David M. Richardson. 2010. “Clearing of Invasive Alien Plants Under Different Budget Scenarios: Using a Simulation Model to Test Efficiency.” Biological Invasions 12 (12): 4099–4112.

Longley, Paul. 2015. Geographic Information Science & Systems. Fourth edition. Hoboken, NJ: Wiley.

Muenchow, Jannes, Alexander Brenning, and Michael Richter. 2012. “Geomorphic Process Rates of Landslides Along a Humidity Gradient in the Tropical Andes.” Geomorphology 139-140 (February): 271–84.

Muenchow, Jannes, Patrick Schratz, and Alexander Brenning. 2017. “RQGIS: Integrating R with QGIS for Statistical Geocomputing.” The R Journal 9 (2): 409–28.

Neteler, Markus, and Helena Mitasova. 2008. Open Source GIS: A GRASS GIS Approach. Third. New York, NY: Springer.

Obe, Regina O., and Leo S. Hsu. 2015. PostGIS in Action. Second. Shelter Island, NY: Manning.

Sherman, Gary. 2008. Desktop GIS: Mapping the Planet with Open Source Tools. Pragmatic Bookshelf.

  1. Packages that have already been used including spData, spDataLarge and dplyr also need to be installed. ↩

  2. Other ‘command-lines’ include terminals for interacting with the operating system and other interpreted languages such as Python. Many GISs originated as a CLI: it was only after the widespread uptake of computer mice and high-resolution screens in the 1990s that GUIs became common. GRASS, one of the longest-standing GIS programs, for example, relied primarily on command-line interaction before it gained a sophisticated GUI (Landa 2008).↩

  3. GRASS GIS and PostGIS are popular in academia and industry and can be seen as products which buck this trend as they are built around the command-line. ↩

  4. The mapedit package allows the quick editing of a few spatial features but not professional, large-scale cartographic digitizing;↩

  5. An early use of the term ‘bridge’ referred to the coupling of R with GRASS (Neteler and Mitasova 2008). Roger Bivand elaborated on this in his talk, “Bridges between GIS and R”, delivered at the 2016 GEOSTAT summer school (see slides at: ↩

  6. By the way, it is also possible to use R from within Desktop GIS software packages. The so-called R-ArcGIS bridge (see allows R to be used from within ArcGIS. One can also use R scripts from within QGIS (see Finally, it is also possible to use R from the GRASS GIS command line (see↩

  7. Note also that the RSAGA package uses the command line interface to use SAGA geoalgorithms from within R (see Section 9.3). ↩

  8. SQLite/SpatiaLite are certainly also important but implicitly we have already introduced this approach since GRASS is using SQLite in the background (see Section 9.4).↩

  9. Thanks to Manning Publications, Regina Obe and Leo Hsu for permission to use this example.↩

  10. QGIS Cloud lets you store geographic data and maps in the cloud. In the background, it uses QGIS Server and PostgreSQL/PostGIS. This way, the reader can follow the PostGIS example without the need to have PostgreSQL/PostGIS installed on a local machine. Thanks to the QGIS Cloud team for hosting this example.↩

  11. The prefix st stands for space/time.↩

  12. It is important to close the connection here because QGIS Cloud (free version) allows only ten concurrent connections.↩


text:
Australia Bushfire Causes

The Indian Ocean Dipole (IOD) and the El Nino Southern Oscillation (ENSO) are the primary natural climate variability drivers impacting Australia. Contrast that to AGW as the man-made driver. These two categories of natural and man-made causes form the basis of the bushfire attribution discussion, yet the naturally occurring dipoles are not well understood. Chapter 12 of the book describes a model for ENSO; and even though IOD has similarities to ENSO in terms of its dynamics (a CC of around 0.3) the fractional impact of the two indices is ultimately responsible for whether a temperature extreme will occur in a region such as Australia (not to mention other indices such as MJO and SAM).

Continue reading

In Chapter 12 of the book, the math model behind the equatorial Pacific ocean dipole known as the ENSO (El Nino /Southern Oscillation) was presented.  Largely distinct to that, the climate index referred to as the Pacific Decadal Oscillation (PDO) occurs in the northern Pacific. As with modeling the AMO, understanding the dynamics of the PDO helps cross-validate the LTE theory for dipoles such as ENSO, as reported at the 2018 Fall Meeting of the AGU (poster). Again, if we can apply an identical forcing for PDO as for AMO and ENSO, then we can further cross-validate the LTE model. So by reusing that same forcing for an independent climate index such as PDO, we essentially remove a large number of degrees of freedom from the model and thus defend against claims of over-fitting.

Continue reading

AO, PNA, & SAM Models

In Chapter 11, we developed a general formulation based on Laplace’s Tidal Equations (LTE) to aid in the analysis of standing wave climate models, focusing on the ENSO and QBO behaviors in the book.  As a means of cross-validating this formulation, it makes sense to test the LTE model against other climate indices. So far we have extended this to PDO, AMO, NAO, and IOD, and to complete the set, in this post we will evaluate the northern latitude indices comprised of the Arctic Oscillation/Northern Annular Mode (AO/NAM) and the Pacific North America (PNA) pattern, and the southern latitude index referred to as the Southern Annular Mode (SAM). We will first evaluate AO and PNA in comparison to its close relative NAO and then SAM …

Continue reading

The Indian Ocean Dipole

In the book, we modeled the ENSO and QBO climate behaviors. Based on the approach described therein we have since extended this to the PDO, AMO, and NAO indices, with the IOD the focus of this post.

In Chapter 12, we concentrated on the Pacific ocean dipole referred to as ENSO (El Nino/Southern Oscillation).  A dipole that shares some of the characteristics of ENSO is the neighboring Indian Ocean Dipole and its gradient measure the Dipole Mode Index.

The IOD is important because it is correlated with India subcontinent monsoons. It also shows a correlation to ENSO, which is quite apparent by comparing specific peak positions, with a correlation coefficient of 0.2.  This post will describe the differences found via perturbing the ENSO model …

Continue reading


text:
4 comments on “The Bear Necessities

  1. Dear, Geoff – i am enjoying your posts a great deal and have read back through several. I have family all over the UK whom i rarely get to visit though i long for the opportunity. Having just re-read some Alan Garner as well as working my way through Iain Banks’ “Raw Spirit”, my imagination is steeped in the Scots and Welsh landscapes (inns and country roads and distilleries and more) about which your recent posts remind me.

    But i comment now mostly to offer condolences on your loss and this significant anniversary which has some curious resonance for me and, i daresay, a lovely thread that connects our lives. It was 23 years ago that a good friend of mine, dian marino, having just turned 50, passed away after living many years with cancer (i co-edited a collection of dian’s work that was published as “Wild Garden: art, education, and the culture of resistance). I miss dian still.

    I came across Chris’ PhD on the CARPP site several years ago, read it quickly, and filed it for response at some point. Sadly that point is now, having just re-read it more slowly and having noted some remarkable similarities not only between Chris and dian, but also amongst Chris and her community and myself and my community. Looking for a way to send Chris a message (at least to affirm her interest in dian marino’s work) i first came across a memorial FaceBook page and, eventually, your blog. I am saddened to learn of Chris’ passing. I regret not having followed up on reading her PhD sooner. I am touched by your ongoing tribute to Chris about which you write so eloquently in these blog posts. It is both solace and comfort to learn more about her. And about you (and Ted), as well, of course.

    I am delighted to have found your blog and more delighted still to learn that you are a storyteller. I have your “Coming Home to Story” on order and look froward to reading it. I appreciate your story of “coming late” to storytelling and your enthusiastic embrace of it. Unlike you, i came earlier to the vocation of storytelling and have benefitted immensely from being a member of a very vibrant community of tellers and listeners here in Toronto – through which i have had the good fortune to meet tellers from across our storied planet. I am pleased to “meet” yet another wonderful teller.

    Again, condolences.

    chris cavanagh

    • Dear Chris, thank you for you kind comments. Chris loved Dian’s work and I still have her copy of Wild Garden. It was so good to hear from you. I hope you enjoy Coming Home to Story when it arrives. All good wishes. Geoff PS: I had the great pleasure of performing at the Toronto Storytelling Festival a few years ago.

      • I’m pleased you’ve been part of our annual festival and sorry i missed you. I was deeply involved with it in the 90s and early 2000s. But my involvement since has been sporadic (mostly on account of raising a child – he’ll be 8 in a month).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


text:
Reviving Dead Space

Garrett Faulkner

The owners had lived in Europe and loved old buildings, their secrets and surprises. They decided that Georgetown was the perfect place to find the right convergence of a period architecture, space with good “bones” and character that would be a suitable canvas for their creation. Together with their architect, Christian Zapatka, a champion of and expert in period Georgetown buildings, they pursued their quarry.

Their hunt took them through myriad clapboard row houses and brick Georgians until they happened upon their “crumbly cottage,” the dark, dowdy little 1810 Federal that they knew would unfurl into a spacious, light-filled beauty.

The potential lay, in great part, in its semi-detached orientation, with three exposures. Zapatka, an expert in keeping the period aspects of a house intact while giving it a fresh 21st-century makeover, gutted the entire house and then carefully put it back together, weaving together traditional crown molding and woodwork and reclaimed hardwood flooring, with updated lighting and modern space planning.

His greatest challenge was to create another entire level of livable space. Typically attics yield a treasure trove of reclaimable space, but in this case, it needed to be squeezed out from a four-foot earthen, windowless crawl space. His team dug deep, moving another five feet of earth, much of it by hand. Changing an earthen dungeon into a inviting living area is a challenge, and not every basement is a good candidate for finishing. Key considerations for conversion include controlling moisture, adding ventilation and light, and finding a way around hanging drain lines, ductwork and wiring. Added challenges stem from digging around what was once the original kitchen, judging from the huge masonry fireplace, of a 200-year-old building.

Although many finished basements in old houses are musty, dinghy affairs, proper planning, new products and architectural expertise yielded an additional 600 square feet of living space that includes a gourmet kitchen/family room, an office/guest room, a new full bath and a landscaped yard.

Walls of creamy curly maple cabinets hide a flat screen television and stereo equipment and provide plenty of storage. An open floor plan, a sparkling stainless steel mosaic backsplash, skylights, limestone floors and countertops and abundant high-efficiency windows make one forget that this was once a subterranean space.

Michelle Galler is a realtor with TTR/Sotheby’s International Realty, an interior designer and antiques dealer who resides in Georgetown’s West Village. If you have resolved a George¬town design challenge that would be of inter¬est to our readers, contact Ms. Galler in care of The Georgetowner.

Photographs by Amy Snyder Photography

Share this:

Please enter your comment!
Please enter your name here

Time limit is exhausted. Please reload the CAPTCHA.


text:
Who’s Who

Gerry Team 2013

Meet the team who will guide you through a week exploring the places young Gerald considered to be his playground during his childhood on Corfu.
New team picture yet to come!

Lee with YaKwanza, Jersey Zoo Mar 09 - J StarkDr Lee Durrell, MBE

Most of you will know Lee from Gerald Durrell’s wonderful entertaining books. Best known, of course, is My Family and Other Animals, part of The Corfu Trilogy, all set in Corfu. Gerald started a wildlife conservation organisation which is now known as Durrell Wildlife Conservation Trust, of which Lee is Honorary Director. The Trust is famous throughout the world for conservation work to save endangered species. Lee is a leading expert in animal behaviour and breeding programmes.

We are so fortunate to have someone with such expertise and enthusiasm for Corfu and the island Gerald referred to as ‘paradise’ and ‘home’. Lee brings in a refreshing dimension to not only the island itself but her specific knowledge on the wildlife and environmental issues on Corfu.

Dr David ShimwellIMGP5534

David, affectionately known as Chunkie, was once David Bellamy’s PhD student and is now a close friend.  Chunkie is a great asset to the Gerald Durrell Week, as a botanist, campaigner on environmental conservation, a lecturer at Durham University on Mediterranean ecology and  the history of European vegetation. He is currently writing a book on the differences between Gerald’s Corfu and the present day. He has recently published Dining with the Durrells which is a collection of stories and recipes from the Archives of Mrs Louisa Durrell.

Dr Peter Sutton, BSc (hons), DPhil.(Sussex), CSci., CChem., FRSC, FRES.

Peter studied chemistry and became involved in addressing some of the more serious global pollution problems that we have created, before moving into the realm of teaching. He has a particular interest in the Orthoptera and allied insects and has been the national recording scheme organiser for this group since 2002. His combined interests in chemistry and natural history have led to the publication of books about the larger water beetles of the British Isles, the current status of the British and Irish Orthopteroid insects, and many articles and papers in a variety of journals, 16 of which concern the invertebrate fauna of Corfu.

David AshcroftDad at Philips
David was the Managing Director of  The Durrell School of Corfu. He is a strong supporter of compassionate farming, originally trained in agriculture, specializing in genetics, at Lancaster University. He has managed several commercial farms before taking up the reins of managing the largest city educational farm in London, The Mudchute. His farming career led him to take his family back to Cornwall, in order fulfill his life’s aim and run his own farm. David now lives in Corfu and spends his time between renovating houses and enjoying the wildlife in Corfu’s countryside.

Alex AshcroftAlexina
Alex was one of the founder directors of The Durrell School of Corfu when it was founded in 2002. She was the Administrative Director of the School until it’s closure in 2014. Alex is responsible for coordinating the Gerald Durrell Week and keeps the accommodation, transport and programme running as smoothly as the culture of the island and participants allow.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


text:
Clutch Master Cylinder Range Rover P38

In stock
Stock: 10
Part No:
Incl. VAT:
Special Price £62.10 RRP £73.20

Have a Question?

Be the first to ask a question about this.

Ask a Question
More Information
Box Qty 1
Marque Land Rover
Status EACH
Gross Weight 1.02
Net Weight 0.91
Length 0.32
Width 0.16
Height 0.08
Supercedes ANR4589
Products Master Cylinders
Suitable for Vehicles Range Rover
Suitable for Models Range Rover P38
Suitable for Application Range Rover P38
Suitable for Fitment From (V)TA321817 2.5L 6 CYL BMW M51
Write Your Own Review
You're reviewing:Clutch Master Cylinder Range Rover P38

We aim to dispatch all items out within 2 working days after payment has cleared. This is just a guideline as we can often dispatch your item quicker, within 1-2 working days. Carriage costs are for UK mainland ONLY. Please contact us for delivery costs if outside UK Mainland, we can ship worldwide. Highlands and Islands are not included within the UK Mainland. * (Post codes IV, HS, KA27-28, KW, PA20-49, PA60-78, PH17-26, PH30-44, PH49-50, ZE PO30, PO34-40, IM, BT & Channel Islands).

We use a range of courier services so as you, as the customer, can get the best delivery prices available. The majority of our items will be sent Royal Mail (3-5 day delivery). If your item is slightly larger it will more than likely be sent with the courier, Fedex (2-3 day delivery). If your item is a large or heavy item such as a bumper, winch etc we will use TNT courier service (Next working day). We can send items that we have in stock out for next day delivery if you request however this will be paid for by the customer. If for any reason we are unable to supply your item to you within the time scale provided above we will contact you letting you know an approximate lead time.

Please note that our delivery costs are all subject to size and weight restrictions. Extremely large and/or heavy items will incur a shipping cost (or an additional cost than our website states).

Back to Top