text:
Breakfast in bed...
The missus fetched me breakfast in bed early this morning. "Many happy returns!" She announced. Somewhat perplexed, I replied, "It ain't my birthday." "I know," she screamed, nonchalantly pouring a cafetiere of boiling hot coffee into my lap, "It's mine, you absent-minded cretin!" I must admit that I have become rather forgetful of late. I forgot to go to the gym yesterday. That's fifteen years on the trot now!
Sir Alex Ferguson sends Arsene Wenger a message asking him to come up to Old Trafford. The next day Arsene goes up to Manchester. He walks into the boardroom and is greeted by Sir Alex. Arsene says, "I've heard a rumour you're retiring soon. Do you want me to step into your shoes?" Sir Alex says, "No... I just wanted to show you what a shed load of trophies look like."
The missus phoned me from the Trafford Centre. "I can't remember where I've parked the car!" she whined. "Don't panic love. Just look round for a small gathering of men slowly shaking their heads and tut-tutting. Mind you, she really let her hair down last night. She's only gone and dyed it ginger....
Large crystal ball for sale. £40, but you will knock me down to £28.50.
On the home improvement front, I've just had a state of the art electronic garage door installed. It's voice controlled and opens when it hears the wifes voice. To be honest, I ain't seen it shut yet...
I think more riots are starting. I was walking home from work and there were cars dumped all over the place and smashed to bits. So be careful if you're going past the Women's Institute.
In a moment of madness, while the wife was away, I took this girl back to the house, "You haven't removed many bras have you?" she opined. "What gives you that idea?" I asked. "The scissors" she replied.
How do you expect kids to listen to their parents and behave themselves in a proper fashion when Tarzan lives half-naked, Cinderella stops out until midnight, Pinocchio is an inveterate liar, Aladdin is the king of thieves, Batman drives at excessive speeds, Sleeping Beauty is lazy, and Snow White lives with seven stange blokes. We shouldn't be surprised when kids misbehave, they get it from story books. Typical innit! Especially regarding GCSE's, when they text each other thus: "Gud luk 2 evry1 gettin ther resultz 2moro." I think I can tell you your English result already if you want....
Thought for Thursday: Marriage is betting someone half your money and possessions, that you'll love them forever.
They say you can tell a lot about a person by their car. For example if it's in a ditch, then it most probably belongs to a woman. Further examples of rapier wit, funny jokes, hilarious diatribes and gear to get yer guffaw glands going can be found at my website: www.Comedian.ws. email me: comedianuk@sky.com.
An inveterate namedropper...
If women controlled the world....
Whilst shopping in Tesco yesterday, I was surprised to bump into Bono from U2. I said "Alright mate?" and he warbled "No, I still haven't found what I am looking for". The plot thickened. I spied Paul Simon in the Post Office, he was buying TV licence stamps. I said "Hey Paul, what was that song you recorded in the eighties?" "You can call me Al" he curtly informed me. "Okay Al, what was that song you did in the eighties?"
You would never believe who I met in Greggs. Veteran rocker Alan Price, formerly of The Animals. He told me that he might be moving to America. He's going to relocate to New Orleans. Apparently, there is a house there. Fascinating!
Took the sprog Susannah out to Manchester. We went to see Disney On Ice. Neither of us were impressed at all. It was just some old bloke in a fridge freezer.
Waiting to catch speeding drivers, a police officer sees a car puttering along at 22 mph. Says he to himself: "This driver is just as dangerous as a speeder!" So he turns on his lights and pulls the driver over. Approaching the car, he notices that there are five old ladies,
Two in the front seats and three in the back, wide eyed and white as ghosts. The driver, obviously confused, says to him "Officer, I don't understand, I was doing exactly the speed limit! What seems to be the problem?" "Ma'am," the officer replies, "you weren't speeding,
but you should know that driving slower than the speed limit can also be a danger to other drivers." "Slower than the speed limit? No sir, I was doing the speed limit exactly. Twenty-two miles an hour!" the old woman says a bit proudly. The efficient copper, trying to contain a chuckle explains to her that A22 is the road number, not the speed limit. A bit embarrassed, the woman grins and thanks the officer for pointing out her error. "But before I let you go, Ma'am, I have to ask is everyone in this car OK?" These women seem awfully shaken,
And they haven't made a sound this whole time," the officer asks. "Oh, they'll be all right in a minute officer..... We've just come off the A120."
A bunch of looters broke into Huddersfield police station and nicked all the Sat-Navs. Police say they're looking for Leeds.
Two blondes were walking through the forest when they came across some tracks. First blonde sez to the other, "these are moose tracks" the other replies" No, they're not you Bozo, these are deer tracks" and they both began to argue. Three hours later the police report stated that two women were standing over some tracks when a train hit them.
I had a potentially embarrassing moment yesterday. I bumped into my father at a brothel in the centre of town. . It all turned out ok though. He was only there to pick up my mum.
Thought for Thursday: Outside of a dog, a book is man's best friend. Inside of a dog it's too dark to read. -- Groucho Marx.
I am working away now for the next few weeks, so this column will return in the autumn. Enjoy the rest of the monsoon and we'll touch base again when all the trees are bereft of their foliage. You can get a chortle by visiting my Jokey-Blog. Just click on www.Comedian.ws and remember that the moon belongs to everyone. Email me: comedianuk@sky.com
Post hoc ergo propter hoc....
All the fighting, smashing windows and looting has ruined the summer for me. I'll be glad when the kids go back to school! I hear on the grapevine that looting may have occurred at the City of Manchester Stadium. There is now only one trophy left in the cabinet. Moreover, Roberto Mancini is looking for a house in Manchester. He dosen't want anything too flash. Just a two up - three down will do.
The police stopped a Scouser on a moped with a fifty inch widescreen plasma TV, with surround sound. The efficient copper sez "What's all this then?" The Scouser replied, "It's me Sat Nav."
The missus (or Shrek in a frock, as I lovingly refer to her) was limping down the High Street yesterday. I asked her what the problem was, to which she curtly informed me "I have a stone in my shoe." Quick as a flash, I replied "Well there must be seventeen stone in the other shoe." The icy stare she gave me would have stopped a clock! Looks like I'll be kipping on the sofa for the next few days/weeks/months. It dosen't bother us lads. It's just like camping innit!
Yesterday afternoon, the German Shepherd from next door leapt over the fence and urinated on my front lawn. It gets worse. This morning, he brought his dog with him!
How come it takes so little time for a child who is afraid of the dark to become a teenager who wants to stay out all night?
The sprog Susannah wanted me to find her a summer job. She asked me to check with my friends, my business associates. Then she asked me to run off a hundred copies of her resume, call up the employment agencies, and write an ad for the Part-Time Employment section of the newspaper. I asked her how she wanted to describe herself in the ad. She said, "A self-starter!" You couldn't make it up! Could you?
Five Pearls of Wisdom to Remember:
1) Money cannot buy happiness but somehow, it's more comfortable to cry in a Bentley Turbo than it is on a moped.
2) Forgive your enemy, but always remember the blackguard's name.
3) Help a man when he is in trouble and he will remember you when he is in trouble again.
4) Many people are alive only because it's illegal to shoot them.
5) Alcohol does not solve any problem, but then neither does milk.
Mr. Tickle was really excited about marrying his girlfriend Tess. Tess, however, wasn't too sure about her new name!
I was watching the women's golf earlier. They couldn't drive, but boy, could they use an iron !
Thought for Thursday: Life is too short to wake up with regrets. So love the people who treat you right. Forget about the ones who don't. Believe everything happens for a reason. If you get a second chance, grab it with both hands. If it changes your life, then let it. Nobody said life would be easy, they just promised it would be worth it. So, now you know!
I had to change a light bulb yesterday. A bit later on I crossed the road and walked into a pub. My life has become one big joke. For more BIG jokes, just visit my website www.ComedianUK.com or email me: austin.knight@homecall.co.uk Now, get back to work!
Can you spot the 4th Friend in the pic above?
Aromatic fragrances used to stimulate sales!
Sense of Freshness....
Recently a new supermarket opened in Manchester, UK.
It has an automatic water mister to keep the produce fresh.
Just before it starts misting, you hear the sound of distant thunder and the smell of fresh rain.
When you pass the milk section, you hear cows mooing and you experience the scent of freshly cut hay.
In the meat department there is the aroma of charcoal grilled steaks with onions.
When you approach the egg counter, you hear hens cluck and cackle, and the air is filled with the pleasing aroma of eggs frying.
The bread department features the tantalizing smell of fresh baked bread and cookies.
Of course, I don't buy my bog rolls from here...
Riots Latest!! ~ Cameron asserts authority...
Breaking News: Riot Latest!! Manchester Gay Village is on fire. Police and fireman are at the scene, together with a construction worker, a red indian and a cowboy...
In an effort to calm things in Tottenham, Spurs manager Harry Redknapp has signed several new 'ethnic' players ahead of their game against Everton on Saturday. - Olaf a De Fires, French international Andrei Grabatelly, German winger Nick De Cashtill and the Japanese twins Rio Ting and Lou Ting.
Wheres that f***ed up Norwegian guy who likes shooting teenagers en masse when you need him?
ITV: Next week on Jeremy Kyle Show ~ " i fink my gf cheated while i was out rioting.'"
Labels: riots looting
Banana Army sent in to stop looters....
It didn't work though....
More Riots & Looting....
The looting has continued at the City of Manchester Stadium. There is only one trophy left in the cabinet...
It's official! The recession is over! Shops across the UK have reported stock flying off the shelves at an unprecedented rate...
Breaking News: Riots, thieving & looting across the UK! The citizens of London call it ' Totally appalling'. People in Birmingham say 'it's a disgrace'. Liverpool call it 'Monday'....
Bunch of looters broke into Huddersfield POLICE STATION and nicked all the SatNavs. Police say they're looking for Leeds.
Reports suggest 150 looters have broken into Birmingham City's "St. Andrews" football ground. Club officials are asking if this can be used as a record attendance...
Manchester City owner Sheikh Mansour bin Zayed Al Nahyan has asked manager Roberto Mancini how close he is to a premier league winning side. Mancini replied "About 5 miles away"...
Things are quiet on the comedy front, so I've just got a temporary job. Washing dishes. Unfortunately, it's at Jodrell Bank.
The missus said she's leaving me because I never listen to her properly. Meat pie, chips, and mushy peas, I replied.
Two blondes were walking through the bush when they came across some tracks.One blonde says to the other " these are moose tracks " the other replies " they're not you Bozo, they are deer tracks" and they both began to argue. Three hours later the police report stated that two women were standing over some tracks when a train hit them.
Red sky at night ~ Shepherds delight? Nope. Red sky at night ~ Londons on fire! (Plus Manchester/Nottingham/Birmingham) I pray that all my friends will live as long as the DFS fire sale continues! You too can discover the elixir of mirth by visiting my all new joke blog. Click on www.ComedianUK.com and follow the link. You can also gizza tweet on Twitter! www.twitter.com/comedianuk . Nick Clegg, Listen up! Get sweeping up that debris! Davey
Cameron is-a-comin'!
Odd Job Man....
I was in my local pub, the 'Pit Bull and Stanley Knife', celebrating my £100 million windfall on the lottery when the ex-wife walked in and demanded half. I said, "Sure, it's the least I can do." She said, "What, are you serious? Thank you, thank you so much" I said, "Alright love, calm down. Do you want Fosters or Carling?"
I hear on the grapevine that Buzz Aldrin, the second man to walk on the moon has divorced his third wife. He reckons he needed more space!
Having accompanied the missus for her annual check up, while she was getting dressed, the doctor came out and said to me, "I don't like the way she looks." "Neither do I," I sez. " But she's good with the kids".
Discovery of a new diet. This one definitely works. - Just fill up your car with petrol and you won't be able to afford to buy any food!
An odd-job man who advertised in the local paper was totally useless. I gave him a list of 8 jobs to do whilst I was out at work. When I came back, he'd only done 1,3,5,and 7.
I know how to reduce unemployment in Britain. Raise the school-leaving age to 46 !
One afternoon a solicitor was travelling in his Bentley Turbo when he saw two men along the road-side eating grass. Disturbed, he ordered his chauffeur to stop the car and got out to investigate. He asked one of the men, "Why are you eating grass?" "We don't have any money for food," the poor man replied. "We have to eat grass." "Well, then, you can come with me to my house and I'll feed you," the lawyer proclaimed. "But sir, I have a wife and two children with me. They are over there, under that tree." "Bring them along," the lawyer replied. Turning to the other poor man, he sez, "You may come with us too." The second man, in a pitiful voice, began grovelling and said, "But sir, I also have a wife and SIX children with me!" "Bring all of them along," the solicitor answered. They all entered the car, which was no easy task, even for a car as large as the Bentley was. Once under way, one of the poor fellows turned to the lawyer and sez, "Sir, you are too kind." "Thank you for taking all of us with you. The lawyer replied, "Glad to do it. You'll really love my place, the grass is over two feet high!"
I cleared out my grandmothers house today, I put the good stuff on E-Bay and I took the rest down to the charity shop, I then went to the estate agent and put her house on the market,
I can't wait to see her face when she gets back from Bingo.
Thought for Thursday: Opinions are like armpits. Everyone has two of them and they usually stink.
If you need a smile, then text me. If you need a laugh, why not call me. If you need a hug, come round to my house. If you need money; then my number does not exist! You can visit my website though. Just click on: www.ComedianUK.com or send us a tweet on www.twitter.com/comedianuk


text:
Q: Print repeating pattern I have a marathon file from which I want to print the names of the runners, who have made multiple runs. Something like:
M, 2:08:58.0, John Lukas, USA, 1997-07-25, Paris, France

F, 2:15:04:0, Abebbe Boukari, KEN, 2000-10-01, London, UK

and so on
I have tried with uniq but it just doesn`t happen:
uniq -d marathon | grep "[[:alpha:]]\+[ ]\+[[:alpha:]]"

A: You have to sort using names first.

Note: 'uniq' does not detect repeated lines unless they are adjacent.  You may  want
         to  sort  the input first, or use `sort -u' without `uniq'.

You can use the -t/-k options, to sort these fields:
sort -t',' -k 3 marathon

that sort regarding the 3rd field with the comma as separator.
Then you can print only the 3rd column with awk, and then use the uniq command:
sort -t',' -k 3 marathon | awk -F, '{print $3}'|uniq -d

/!\ not tested
If you want to keep all the lines, you can use awk to save the number of times the name appear (count[$3]++); keep all the lines for the names (lines[$3]=lines[$3]?lines[$3]+"\n"+$0:$0;: if it's the first, store the lines, else append). At the end, if count number ≥ 2, print the lines for the names (if(count[i]>1){ print lines[i]}):
sort -t',' -k 3 marathon | awk -F, '{count[$3]++;lines[$3]=lines[$3]?lines[$3]+"\n"+$0:$0;}END{for (i in count){if(count[i]>1){ print lines[i]}}}'

A: Another simple, alternative(for someone  who dont want/know awk) script will be:
#!/bin/bash
sort -t',' -k 3 marathon | cut -d',' -f 3 | uniq -d

if someone wants to print whole line instead of just names:
#!/bin/bash
sort -t',' -k 3 marathon | cut -d',' -f 3 | uniq -d | grep -f - marathon

in over scripts:

*

*sort takes third field to sort, using , as separator from -t option and 3rd field from -k option

*cut command just cuts out third field using , as separator

*-d option for uniq just prints duplicate lines, which is what the author of the question wanted - "Print repeating pattern"

*-f option takes input from pipe(i.e. names) and searches it in marathon file to give whole line instead of just names

redpajama_set_name: RedPajamaStackExchange


text:
Intrepid coroner Bern Fortin faces murder and secrets in small town British Columbia in a debut novel already recognized by the Crime Writers of Canada (CWC).
When respected ex-Canadian Forces commander Bern Fortin cuts short his military career to take a job as the coroner for a small mountain town in the heart of BC, he's hoping to leave the past behind. Bern's looking forward to a quiet life, but the memories of what he witnessed during his stints in Afghanistan and other war-torn countries haunt him still.
When the body of one of the workers is found floating in the huge bottle-washing tank at the local brewery, Bern is called in for a routine investigation. What first appears to be a tragic accident takes a menacing turn when the body of the worker's girlfriend is discovered in a nearby field. Bern needs the help of brewery safety investigator Evie Chapelle, who, burdened by tragedies she might have prevented, is more determined than ever to keep her workers, and their tight-knit community, safe. Soon, Bern and Evie find themselves risking their jobs--and their lives--to uncover a killer hiding in a place where it is awfully hard to keep a secret.
Deryn Collier's debut novel is a taut mystery full of suspense. Confined Space was shortlisted for the Arthur Ellis Award for best unpublished first crime novel by the Crime Writers of Canada.
Publisher: New York : Simon & Schuster, c2012.
Characteristics: 391 p. ;,21 cm.
Read more reviews of Confined Space at iDreamBooks.com
BS2736 Jun 24, 2015
I had real hopes for this book because she's a good writer and the story sounded interesting but... within 140-150 pages you learn that a person has accidentally died in a small brewery in a small town and nobodies organizing a funeral rather they are having a pot luck to get beyond the accident? Not very credible. I think the mystery genre can reveal lots about human beings and history and provide entertainment but this book didn't do much of that. Darn!
Coroners — British Columbia — Fiction
Murder — Investigation — Fiction
British Columbia — Fiction

redpajama_set_name: RedPajamaCommonCrawl


Hello! I'm from Vancouver, B.C., Canada. Since coming to Japan, I've taught many students, in person or over various communication tools. I enjoy talking to people. Every time I talk to the students and do corrections for them, I always find new things I learn from them. I'm sure that this feeling is reciprocal. Looking forward to talking to you on the convenient communication tools for you.


text:
Home > Events > All events > Variety Cafe: Ewa Plywacz & Peter Falconer
Variety Cafe: Ewa Plywacz & Peter Falconer
Variety Café is a series of free lunchtime concerts supported by Kingston University. The programme offers an exciting mixture of emerging artists and alumni of Kingston University's music department.
Talented vocalist Ewa Plywacz initially trained in classical piano and eurhythmics. She fell in love with jazz in her early teens and for several years drew inspiration from Ella Fitzgerald. She began her vocal tuition with Elizabeth Swain at Kingston University, completing her BMus in 2015. After exploring her interest in mixing jazz with other genres, her musical style is now clearly influenced by modern jazz, soul and pop artists, such as Esperanza Spalding, Lianne La Havas, Sia and Kwabs. Ewa is accompanied on piano for this performance by Peter Falconer.
Originally from the North East, Peter has been a professional musician for 20 years, performing and composing in multiple genres. As a jazz pianist, his influences are Bill Evans, Dave Brubeck, and Chico Marx. He recently completed an MA in Music at Kingston University, and is looking to start an MRes this September, also at Kingston, specialising in minimalist electronic music. He is delighted to be playing alongside Ewa once again.
Enjoy a wonderful lunchtime music session with this great duo.
Contact: Val Marshall
Val Marshall


Discussion in 'Seasoned Marijuana Users' started by Sinister, May 12, 2003.
So im leaving my lifelong home of Virginia this Saturday to fly into Santa Cruz, CA. Ill be honest, im having some doubts and im nervous, but im sure ill be alright, its just that I only know 2 people up there, and a entire new fresh start, etc.
So if you can send some good luck or karma my way, id appreciate it, this is the biggest change of my life, and im hoping itll be for the best.
Also any people in the area can let me know and we can meet up and toke if your up for it, Im going to need all new smoking friends.
some major karama coming ur way! why r u moving?
Maybe the move will be all for the better!
Sending good luck and karma your way!!
just senta smile with my karma,...take a deep breath and have fun.
Every ending is a beginning and you have a big part in writing the story.
Well the main reason im moving is because I really dislike the place im currently at, even tho ive lived here my entire life, but a couple friends down there offered me a place to stay, a plane ticket on loan, and a job down there.
So of course I took it, just got lucky I guess, and it sounds like the perfect for me, or any stoner for that matter, as long as you like the beach.
there ya go! the answer to road rage.
revel in the excitement and adventure of going forth into the unknown. feal that rush? its adrenaline... go with it.
'tis what life is all about.


text:
In the second wave of Corona in the country, the standard 12 board exams (Board Exams 2021) have been postponed for a long time.
Students must study online and the exam will also be taken online Corona cases are on the rise in the state. The transition has become uncontrollable in Ahmedabad and Surat; The government has closed April-Flight education in schools in eight metropolitan areas of the state till April 10. Schools are unlikely to resume after April 10 as the number of cases increases. Online study is currently underway in schools.
Will the exam also be taken online?
🔳 દિકરીના નામ પર ખોલાવો આ ખાતુ *(૨૧)* વર્ષની ઉંમરમાં મળશે *(૬૪)* લાખ સુધી
Students study online because of the proximity of schools; Students and parents ask what will happen to the exams after that. In this regard, Assistant District Education Officer Bharatsinh Gohil said that the schools have been closed till April 10, but in view of a number of cases, the school cannot be reopened. However, the school will be reopened if ordered by the government, otherwise students will have to study online and also take exams online.
The government also closed tuition classes after school. - Divya Bhaskar
The government also closed tuition classes after school.
Line Flight education began in January and February.
Previously Std 10 and 12 schools were opened from 11th January, followed by Std 10 and 12, P.G. And last year's college classes were started. When in the state std. Schools of 9th and 11th were started on 1st February as well as standard 9th to 12th and competitive examination classes were allowed. After the reopening of schools and colleges from 9 to 12, the state government's education department announced the resumption of classroom education for first-year students in colleges from February 8.


text:
Q: ASP.NET MVC 4+ , javascript disabled I'm working on a ASP.NET MVC 4 web application. A requirement for this app is that pages should be able to work even if user has javascript disabled.
Which is the best approach to do this?
Should I create 2 views ?

*

*one view using jquery, javascript code for radio buttons postbacks, etc.

*onew view with just HTML and no javascript.
Is this correct or a good practice?
How could I display a message saying that user needs to enable javascript if wants to see a specific page?
Thank you in advance.

A: The terms you're looking for are "graceful degradation" and "progressive enhancement."
The correct approach is not to make separate views, no.  After all, how is your server-side code going to know which view to present?  It's really not the server-side code's business whether or not the client has JavaScript enabled.  Instead, the correct approach is to create a single view which works in any necessary scenario.
For example, let's say you want to post a form via AJAX and display a message after it's been posted.  Clearly you can't do this without JavaScript.  So what you would do is create a normal page with a normal form which posts to a server-side action and returns the same page with the message displayed.  Then you'd write some JavaScript code to attach to the form's submit event, cancel event propagation, make an AJAX request to a server-side action (perhaps a different action, or perhaps the same one and just parsing the result from the page... though the latter seems like a heavier operation than necessary), and display the message as a result of the response.
This same page will work with or without JavaScript.  Those without JavaScript will simply post the form and reload the page.  Those with JavaScript will have that functionality "overridden" by the JavaScript code to produce new functionality.
The goal is that all functionality of the application is accessible without any JavaScript.  Then JavaScript is used to "inject" its functionality and override the non-JavaScript functionality so that if it's enabled the user has a somewhat better user experience.

How could I display a message saying that user needs to enable javascript if wants to see a specific page?

That seems to entirely conflict with the requirement that "pages should be able to work even if user has javascript disabled."  You could use noscript tags I suppose (I haven't seen those in years, not sure if they were ever technically standard), or even just show the message by default and hide it with JavaScript as the page renders (thus, those with JavaScript wouldn't see it).  But either way, that means you would have functionality which requires JavaScript, which is contrary to the requirement.


text:
Das Stedelijk Museum Zwolle war ein Museum für Kunst- und Kulturgeschichte in der niederländischen Stadt Zwolle.

Geschichte

Das Museum entstand 1996 durch den Zusammenschluss des Provinciaal Overijssels Museum und der Librije Hedendaagse Kunst. Zur Sammlung gehörten historische Einrichtungs- und Gebrauchsgegenstände und eine Kunstsammlung mit Werken des Goldenen Zeitalters, darunter Gemälde von Hendrick ten Oever und Pieter van Noort. Als Museumsgebäude diente das Drostenhuis, ein unter Denkmalschutz stehendes Gebäude im Stadtzentrum aus dem Jahr 1551, sowie ein moderner Anbau von 1997. Während der Altbau vorwiegend für die historische Sammlungspräsentation genutzt wurde, gab es im Neubau verschiedene Wechselausstellungen.

2017 beschloss der Gemeinderat von Zwolle die Auflösung des Museums. Am 16. Oktober 2017 kam es im Drostenhuis zu einem Brand, der das Gebäude und Teile der Sammlung beschädigte. Das Museum ist seit dieser Zeit geschlossen. Die Sammlungsbestände sollen zukünftig vom Historische Centrum Overijssel übernommen und in die neu gegründete Stiftung Allemaal Zwolle überführt werden. Die Sammlung soll teilweise in Wechselausstellungen zu sehen sein, das Drostenhuis zukünftig eine Ausstellung zur Stadtgeschichte zeigen.

Literatur
  Lydie van Dijk: Topstukken uit de collectie Stedelijk Museum Zwolle, Stedelijk Museum Zwolle, Zwolle 2005, ISBN 90-73429-11-0.

Weblinks

 Internetseite des Stedelijk Museum Zwolle

Einzelnachweise

Zwolle
Kunstmuseum in den Niederlanden
Heimatmuseum in den Niederlanden
Gegründet 1996

redpajama_set_name: RedPajamaWikipedia


Farmers' markets are a good place to buy local produce and other interesting knick-knacks. Here are 5 that are worth a visit!
When visiting a farmers' market, expect to be greeted with heaps of local produce, ranging from eggs to fruits and even organic mosquito repellent. Some farmers' markets come with an additional plus: they give visitors the opportunity to step away from the hustle and bustle of city life.
Here at Aerinlé, we have put together a list of five to visit.
This long-running market is a good option if you want to pick up some fruits and vegetables before doing your shopping in town. But before you pack that schedule, remember to leave some time for coffee at The Pantry.
If you can hold out for awhile longer, this market at Hotel Jen Orchardgateway promises items like organic vegetables, granola snacks, jams and artisan bread. We'll definitely be there for the wine jellies!
Want to buy your vegetables and learn something about the process of farming at the same time? This is what the Weekend Farm offers visitors, that we think is well worth a drive out of the city! Plus, this market is open almost every day.
At this quarterly market, visitors can shop for local produce, pottery and even dine with friends at a variety of food stalls. Plus, visitors can take the opportunity to explore the Kranji Countryside.
Next market: Check its Facebook page for updates.
Aerinlé visited the last Farmers & Artisan market on April 30 at Bollywood Veggies. We were greeted by a bustling atmosphere and loved the fact that part of the organiser's earnings goes to an animal shelter.
Next market: Follow Bollywood Veggies for updates.
Do you need a camu camu berry?
Are walnuts worth the weekly splurge?


BYRON CENTER — Grocery distribution and retail company SpartanNash Inc. (Nasdaq: SPTN) has named Chris Meyers its new CFO, effective April 11.
Meyers joins the company from Naperville, Ill.-based natural and organic food wholesaler KeHE Distributors, according to a statement.
Meyers, a West Michigan native, will replace Dave Staples, the company's interim CFO, who has been appointed chief operating officer.
Meyers, a certified CPA, grew up in West Michigan, receiving a bachelor's degree in accounting from Western Michigan University and a master's degree in finance and strategy from the Kellogg School of Management at Northwestern University.


Information: Sarah Gertrude Knott (1895–1984), organizer.
Gertrude was founder of the National Folk Festival Association in 1934.
She was born in Princeton, Kentucky in 1895, and raised in a family of farmer-school teachers. Gertrude attended the single-room Knott School situated between the farms of her two grandfathers. However, it was at the newly established McCracken County High School where Gertrude found her love for stage production, a passion that she would pursue throughout the rest of her life.
Following her father's death in 1918, Gertrude moved to Pittsburgh to attend the King's School for Drama, transferring to the Elias Day Bush Conservatory in Chicago before returning to Kentucky to attend Georgetown College. She moved to St. Louis in 1929, where she worked for the local theater guild, the Dramatic League, until she organized the first National Folk Festival in 1934, presenting primarily her beloved Appalachian folk culture. After WWII, she asked Vyts Beliajus to include other ethnic groups, resulting in an annual festival at which many international folk dance leaders acquired dances.
Gertrude continued to work as the executive director of the festival until 1970. Gertrude passed in 1985, just shy of her ninetieth birthday, due to complications arising from a stroke. Even after her retirement and death, the festival has retained its founder's wanderlust, relocating to a new city every several years.
National Folk Festival Association, an article.
Three Kinds of Teachers: Which Shall We Follow?, an article.


text:
Port of San Diego Hit with Crypto Ransomware Attack
Officials report that the Port of San Diego has been hit with a ransomware attack demanding Bitcoin payments. Port CEO Randa Congiglio told ABC that a fraction of the port's information technology systems were compromised before staff members shut down other systems out of caution. The specific amount of Bitcoin demanded in the attack has yet to be disclosed by port officials, nor has the identity of the hackers.
"What we've seen in the last 12 months is more of this targeted attack on organizations," said Stephen Cobb, senior security researcher at San Diego Cyber security Firm ESET. "It is difficult for government organizations to necessarily get the budget as quickly as they need to put defenses in place, but on the other side, they have essential services."
In the era in which 'cryptojacking' has become the king of cybercrime, large scale ransomware attacks like the one reported in San Diego are becoming increasingly less common. According to reports conducted by Kaspersky Labs, the number of users who have encountered instances of ransomware has fallen by almost 30 percent, down from 2,581,026 in 2016-2017 to 1,811,937 in 2017-2018. Conversely, the Kaspersky Labs report goes on to show that instances of cryptojacking have increased by almost 44.5 percent, from 1,899,236 in 2016-2017 to 2,735,611 in 2017-2018.
Nevertheless, yesterday's attack serves as a frustrating reminder that crypto crime continues to be an ominous threat in all its guises. ABC reports that the FBI and Department of Homeland Security officials joined the Port of San Diego's investigation into the attack. Local, state and federal partners, including the US Coast Guard, have also been brought in to restore compromised systems. While public safety operations are ongoing, ABC reports that ships and boats working out of the Port of San Diego have not been affected.
"The temporary impacts on service to the public are in the areas of park permits, public records requests, and business services," said Coniglio.
The Port of San Diego has been ranked by the US Bureau of Transportation Statistics as one of America's top 30 US containership ports, supporting the operations of cargo and cruise terminals, hotels, restaurants, marinas, museums and 22 parks stretching along the 34 miles of the San Diego Bay.
The post Port of San Diego Hit with Crypto Ransomware Attack appeared first on UNHASHED.
Previous articleRipple is focused on creating an interconnected world, says Marcus Treacher
Next articleBinance CEO announces: BNB will be a native gas, reveals more on DEX


Rent a Studio in walking distance to Sveti Vlas, in a quiet and pleasant location in the village. Suitable for families of 2 persons or a couple with a child. Furniture in excellent condition. There is a fridge, TV, kitchen block.
Great place to stay with young children and the elderly. Good transport accessibility to Burgas, Sunny beach, Nessebar old and new.
At the end of the mandatory service, can be ordered at the reception.


text:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using Microsoft.TemplateEngine.Abstractions.PhysicalFileSystem;

namespace Microsoft.TemplateEngine.Utils
{
    public class InMemoryFileSystem : IPhysicalFileSystem
    {
        private class FileSystemDirectory
        {
            public string Name { get; }

            public string FullPath { get; }

            public Dictionary<string, FileSystemDirectory> Directories { get; }

            public Dictionary<string, FileSystemFile> Files { get; }

            public FileSystemDirectory(string name, string fullPath)
            {
                Name = name;
                FullPath = fullPath;
                Directories = new Dictionary<string, FileSystemDirectory>();
                Files = new Dictionary<string, FileSystemFile>();
            }
        }

        private readonly FileSystemDirectory _root;
        private readonly IPhysicalFileSystem _basis;

        private class FileSystemFile
        {
            private byte[] _data;
            private int _currentReaders;
            private int _currentWriters;
            private readonly object _sync = new object();

            public string Name { get; }

            public string FullPath { get; }

            public FileSystemFile(string name, string fullPath)
            {
                Name = name;
                FullPath = fullPath;
                _data = new byte[0];
            }

            public Stream OpenRead()
            {
                if (_currentWriters > 0)
                {
                    throw new IOException("File is currently locked for writing");
                }

                lock (_sync)
                {
                    if (_currentWriters > 0)
                    {
                        throw new IOException("File is currently locked for writing");
                    }

                    ++_currentReaders;
                    return new DisposingStream(new MemoryStream(_data, false), () => { lock (_sync) { --_currentReaders; } });
                }
            }

            public Stream OpenWrite()
            {
                if (_currentReaders > 0)
                {
                    throw new IOException("File is currently locked for reading");
                }

                if (_currentWriters > 0)
                {
                    throw new IOException("File is currently locked for writing");
                }

                lock (_sync)
                {
                    if (_currentReaders > 0)
                    {
                        throw new IOException("File is currently locked for reading");
                    }

                    if (_currentWriters > 0)
                    {
                        throw new IOException("File is currently locked for writing");
                    }

                    ++_currentWriters;
                    MemoryStream target = new MemoryStream();
                    return new DisposingStream(target, () =>
                    {
                        lock (_sync)
                        {
                            --_currentWriters;
                            _data = new byte[target.Length];
                            target.Position = 0;
                            target.Read(_data, 0, _data.Length);
                        }
                    });
                }
            }

            public FileAttributes Attributes { get; set; }
        }

        private class DisposingStream : Stream
        {
            private bool _isDisposed;
            private readonly Stream _basis;
            private readonly Action _onDispose;

            public DisposingStream(Stream basis, Action onDispose)
            {
                _onDispose = onDispose;
                _basis = basis;
            }

            public override bool CanRead => _basis.CanRead;

            public override bool CanSeek => _basis.CanSeek;

            public override bool CanWrite => _basis.CanWrite;

            public override long Length => _basis.Length;

            public override long Position { get => _basis.Position; set => _basis.Position = value; }

            public override void Flush() => _basis.Flush();

            public override int Read(byte[] buffer, int offset, int count) => _basis.Read(buffer, offset, count);

            public override long Seek(long offset, SeekOrigin origin) => _basis.Seek(offset, origin);

            public override void SetLength(long value) => _basis.SetLength(value);

            public override void Write(byte[] buffer, int offset, int count) => _basis.Write(buffer, offset, count);

            protected override void Dispose(bool disposing)
            {
                if (!_isDisposed)
                {
                    _isDisposed = true;
                    _onDispose();
                }

                base.Dispose(disposing);
            }
        }

        public InMemoryFileSystem(string root, IPhysicalFileSystem basis)
        {
            _basis = basis;
            _root = new FileSystemDirectory(Path.GetFileName(root.TrimEnd('/', '\\')), root);
            IsPathInCone(root, out root);
            _root = new FileSystemDirectory(Path.GetFileName(root.TrimEnd('/', '\\')), root);
        }

        public void CreateDirectory(string path)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                _basis.CreateDirectory(path);
                return;
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');

            if (string.IsNullOrEmpty(rel))
            {
                return;
            }

            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    dir = new FileSystemDirectory(parts[i], Path.Combine(currentDir.FullPath, parts[i]));
                    currentDir.Directories[parts[i]] = dir;
                }

                currentDir = dir;
            }
        }

        public Stream CreateFile(string path)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                return _basis.CreateFile(path);
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');
            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length - 1; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    dir = new FileSystemDirectory(parts[i], Path.Combine(currentDir.FullPath, parts[i]));
                    currentDir.Directories[parts[i]] = dir;
                }

                currentDir = dir;
            }

            FileSystemFile targetFile;
            if (!currentDir.Files.TryGetValue(parts[parts.Length - 1], out targetFile))
            {
                targetFile = new FileSystemFile(parts[parts.Length - 1], Path.Combine(currentDir.FullPath, parts[parts.Length - 1]));
                currentDir.Files[parts[parts.Length - 1]] = targetFile;
            }

            return targetFile.OpenWrite();
        }

        public void DirectoryDelete(string path, bool recursive)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                //TODO: handle cases where a portion of what would be deleted is inside our cone
                //  and parts are outside
                _basis.DirectoryDelete(path, recursive);
                return;
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');

            if (string.IsNullOrEmpty(rel))
            {
                return;
            }

            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;
            FileSystemDirectory parent = null;

            for (int i = 0; i < parts.Length; ++i)
            {
                parent = currentDir;
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    return;
                }

                currentDir = dir;
            }

            if (!recursive && (currentDir.Directories.Count > 0 || currentDir.Files.Count > 0))
            {
                throw new IOException("Directory is not empty");
            }

            parent.Directories.Remove(currentDir.Name);
        }

        public bool DirectoryExists(string directory)
        {
            if (!IsPathInCone(directory, out string processedPath))
            {
                return _basis.DirectoryExists(directory);
            }

            directory = processedPath;
            string rel = directory.Substring(_root.FullPath.Length).Trim('/', '\\');

            if (string.IsNullOrEmpty(rel))
            {
                return true;
            }

            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    return false;
                }

                currentDir = dir;
            }

            return true;
        }

        public IEnumerable<string> EnumerateDirectories(string path, string pattern, SearchOption searchOption)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                //TODO: Handle cases where part of the directory set is inside our cone and part is not
                foreach (string s in _basis.EnumerateDirectories(path, pattern, searchOption))
                {
                    yield return s;
                }

                yield break;
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');
            FileSystemDirectory currentDir = _root;

            if (!string.IsNullOrEmpty(rel))
            {
                string[] parts = rel.Split('/', '\\');
                for (int i = 0; i < parts.Length; ++i)
                {
                    FileSystemDirectory dir;
                    if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                    {
                        yield break;
                    }

                    currentDir = dir;
                }
            }

            Regex rx = new Regex(Regex.Escape(pattern).Replace("\\*", ".*").Replace("\\?", "."));

            if (searchOption == SearchOption.TopDirectoryOnly)
            {
                foreach (KeyValuePair<string, FileSystemDirectory> entry in currentDir.Directories)
                {
                    if (rx.IsMatch(entry.Key))
                    {
                        yield return entry.Value.FullPath;
                    }
                }

                yield break;
            }

            Stack<IEnumerator<KeyValuePair<string, FileSystemDirectory>>> directories = new Stack<IEnumerator<KeyValuePair<string, FileSystemDirectory>>>();
            IEnumerator<KeyValuePair<string, FileSystemDirectory>> current = currentDir.Directories.GetEnumerator();
            bool moveNext;

            while ((moveNext = current.MoveNext()) || directories.Count > 0)
            {
                while (!moveNext)
                {
                    current.Dispose();

                    if (directories.Count == 0)
                    {
                        break;
                    }

                    current = directories.Pop();
                    moveNext = current.MoveNext();
                }

                if (!moveNext)
                {
                    break;
                }

                if (rx.IsMatch(current.Current.Key))
                {
                    yield return current.Current.Value.FullPath;
                }

                directories.Push(current);
                current = current.Current.Value.Directories.GetEnumerator();
            }
        }

        public IEnumerable<string> EnumerateFiles(string path, string pattern, SearchOption searchOption)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                //TODO: Handle cases where part of the directory set is inside our cone and part is not
                foreach (string s in _basis.EnumerateFiles(path, pattern, searchOption))
                {
                    yield return s;
                }

                yield break;
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');
            FileSystemDirectory currentDir = _root;

            if (!string.IsNullOrEmpty(rel))
            {
                string[] parts = rel.Split('/', '\\');
                for (int i = 0; i < parts.Length; ++i)
                {
                    FileSystemDirectory dir;
                    if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                    {
                        yield break;
                    }

                    currentDir = dir;
                }
            }

            Regex rx = new Regex(Regex.Escape(pattern).Replace("\\*", ".*").Replace("\\?", "."));
            foreach (KeyValuePair<string, FileSystemFile> entry in currentDir.Files)
            {
                if (rx.IsMatch(entry.Key))
                {
                    yield return entry.Value.FullPath;
                }
            }

            if (searchOption == SearchOption.TopDirectoryOnly)
            {
                yield break;
            }

            Stack<IEnumerator<KeyValuePair<string, FileSystemDirectory>>> directories = new Stack<IEnumerator<KeyValuePair<string, FileSystemDirectory>>>();
            Stack<FileSystemDirectory> parentDirectories = new Stack<FileSystemDirectory>();
            IEnumerator<KeyValuePair<string, FileSystemDirectory>> current = currentDir.Directories.GetEnumerator();
            bool moveNext;

            while ((moveNext = current.MoveNext()) || directories.Count > 0)
            {
                while (!moveNext)
                {
                    current.Dispose();

                    if (directories.Count == 0)
                    {
                        break;
                    }

                    current = directories.Pop();
                    moveNext = current.MoveNext();
                }

                if (!moveNext)
                {
                    break;
                }

                foreach (KeyValuePair<string, FileSystemFile> entry in current.Current.Value.Files)
                {
                    if (rx.IsMatch(entry.Key))
                    {
                        yield return entry.Value.FullPath;
                    }
                }

                directories.Push(current);
                current = current.Current.Value.Directories.GetEnumerator();
            }
        }

        public IEnumerable<string> EnumerateFileSystemEntries(string directoryName, string pattern, SearchOption searchOption)
        {
            if (!IsPathInCone(directoryName, out string processedPath))
            {
                //TODO: Handle cases where part of the directory set is inside our cone and part is not
                foreach (string s in _basis.EnumerateFileSystemEntries(directoryName, pattern, searchOption))
                {
                    yield return s;
                }

                yield break;
            }

            directoryName = processedPath;
            string rel = directoryName.Substring(_root.FullPath.Length).Trim('/', '\\');
            FileSystemDirectory currentDir = _root;

            if (!string.IsNullOrEmpty(rel))
            {
                string[] parts = rel.Split('/', '\\');
                for (int i = 0; i < parts.Length; ++i)
                {
                    FileSystemDirectory dir;
                    if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                    {
                        yield break;
                    }

                    currentDir = dir;
                }
            }

            Regex rx = new Regex(Regex.Escape(pattern).Replace("\\*", ".*").Replace("\\?", "."));

            foreach (KeyValuePair<string, FileSystemFile> entry in currentDir.Files)
            {
                if (rx.IsMatch(entry.Key))
                {
                    yield return entry.Value.FullPath;
                }
            }

            foreach (KeyValuePair<string, FileSystemDirectory> entry in currentDir.Directories)
            {
                if (rx.IsMatch(entry.Key))
                {
                    yield return entry.Value.FullPath;
                }
            }

            if (searchOption == SearchOption.TopDirectoryOnly)
            {
                yield break;
            }

            Stack<IEnumerator<KeyValuePair<string, FileSystemDirectory>>> directories = new Stack<IEnumerator<KeyValuePair<string, FileSystemDirectory>>>();
            IEnumerator<KeyValuePair<string, FileSystemDirectory>> current = currentDir.Directories.GetEnumerator();
            bool moveNext;

            while ((moveNext = current.MoveNext()) || directories.Count > 0)
            {
                while (!moveNext)
                {
                    current.Dispose();

                    if (directories.Count == 0)
                    {
                        break;
                    }

                    current = directories.Pop();
                    moveNext = current.MoveNext();
                }

                if (!moveNext)
                {
                    break;
                }

                if (rx.IsMatch(current.Current.Key))
                {
                    yield return current.Current.Value.FullPath;
                }

                foreach (KeyValuePair<string, FileSystemFile> entry in currentDir.Files)
                {
                    if (rx.IsMatch(entry.Key))
                    {
                        yield return entry.Value.FullPath;
                    }
                }

                directories.Push(current);
                current = current.Current.Value.Directories.GetEnumerator();
            }
        }

        public void FileCopy(string sourcePath, string targetPath, bool overwrite)
        {
            if (!overwrite && FileExists(targetPath))
            {
                throw new IOException($"File already exists {targetPath}");
            }

            using (Stream s = OpenRead(sourcePath))
            using (Stream t = CreateFile(targetPath))
            {
                s.CopyTo(t);
            }
        }

        public void FileDelete(string path)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                _basis.FileDelete(path);
                return;
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');
            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length - 1; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    dir = new FileSystemDirectory(parts[i], Path.Combine(currentDir.FullPath, parts[i]));
                    currentDir.Directories[parts[i]] = dir;
                }

                currentDir = dir;
            }

            currentDir.Files.Remove(parts[parts.Length - 1]);
        }

        public bool FileExists(string file)
        {
            if (!IsPathInCone(file, out string processedPath))
            {
                return _basis.FileExists(file);
            }

            file = processedPath;
            string rel = file.Substring(_root.FullPath.Length).Trim('/', '\\');
            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length - 1; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    return false;
                }

                currentDir = dir;
            }

            return currentDir.Files.ContainsKey(parts[parts.Length - 1]);
        }

        public string GetCurrentDirectory()
        {
            return Directory.GetCurrentDirectory();
        }

        public Stream OpenRead(string path)
        {
            if (!IsPathInCone(path, out string processedPath))
            {
                return _basis.OpenRead(path);
            }

            path = processedPath;
            string rel = path.Substring(_root.FullPath.Length).Trim('/', '\\');
            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length - 1; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    dir = new FileSystemDirectory(parts[i], Path.Combine(currentDir.FullPath, parts[i]));
                    currentDir.Directories[parts[i]] = dir;
                }

                currentDir = dir;
            }

            FileSystemFile targetFile;
            if (!currentDir.Files.TryGetValue(parts[parts.Length - 1], out targetFile))
            {
                throw new FileNotFoundException("File not found", path);
            }

            return targetFile.OpenRead();
        }

        public string ReadAllText(string path)
        {
            using (Stream s = OpenRead(path))
            using (StreamReader r = new StreamReader(s, Encoding.UTF8, true, 8192, true))
            {
                return r.ReadToEnd();
            }
        }

        public void WriteAllText(string path, string value)
        {
            using (Stream s = CreateFile(path))
            using (StreamWriter r = new StreamWriter(s, Encoding.UTF8, 8192, true))
            {
                r.Write(value);
            }
        }

        private bool IsPathInCone(string path, out string processedPath)
        {
            if (!Path.IsPathRooted(path))
            {
                path = Path.Combine(GetCurrentDirectory(), path);
            }

            path = path.Replace('\\', '/');

            bool leadSlash = path[0] == '/';

            if (leadSlash)
            {
                path = path.Substring(1);
            }

            string[] parts = path.Split('/');

            List<string> realParts = new List<string>();

            for (int i = 0; i < parts.Length; ++i)
            {
                if (string.IsNullOrEmpty(parts[i]))
                {
                    continue;
                }

                switch (parts[i])
                {
                    case ".":
                        continue;
                    case "..":
                        realParts.RemoveAt(realParts.Count - 1);
                        break;
                    default:
                        realParts.Add(parts[i]);
                        break;
                }
            }

            if (leadSlash)
            {
                realParts.Insert(0, "");
            }

            processedPath = string.Join(Path.DirectorySeparatorChar + "", realParts);
            if (processedPath.Equals(_root.FullPath) || processedPath.StartsWith(_root.FullPath.TrimEnd('/', '\\') + Path.DirectorySeparatorChar))
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        public FileAttributes GetFileAttributes(string file)
        {
            if (!IsPathInCone(file, out string processedPath))
            {
                return _basis.GetFileAttributes(file);
            }

            file = processedPath;
            string rel = file.Substring(_root.FullPath.Length).Trim('/', '\\');
            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length - 1; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    dir = new FileSystemDirectory(parts[i], Path.Combine(currentDir.FullPath, parts[i]));
                    currentDir.Directories[parts[i]] = dir;
                }

                currentDir = dir;
            }

            FileSystemFile targetFile;
            if (!currentDir.Files.TryGetValue(parts[parts.Length - 1], out targetFile))
            {
                throw new FileNotFoundException("File not found", file);
            }

            return targetFile.Attributes;
        }

        public void SetFileAttributes(string file, FileAttributes attributes)
        {
            if (!IsPathInCone(file, out string processedPath))
            {
                _basis.SetFileAttributes(file, attributes);
                return;
            }

            file = processedPath;
            string rel = file.Substring(_root.FullPath.Length).Trim('/', '\\');
            string[] parts = rel.Split('/', '\\');
            FileSystemDirectory currentDir = _root;

            for (int i = 0; i < parts.Length - 1; ++i)
            {
                FileSystemDirectory dir;
                if (!currentDir.Directories.TryGetValue(parts[i], out dir))
                {
                    dir = new FileSystemDirectory(parts[i], Path.Combine(currentDir.FullPath, parts[i]));
                    currentDir.Directories[parts[i]] = dir;
                }

                currentDir = dir;
            }

            FileSystemFile targetFile;
            if (!currentDir.Files.TryGetValue(parts[parts.Length - 1], out targetFile))
            {
                throw new FileNotFoundException("File not found", file);
            }

            targetFile.Attributes = attributes;
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Small, local retail key for Vancouver's new 'indie zone'
As urban village Northeast False Creek rises on Vancouver's waterfront, a new type of commercial landscape is to emerge. Developer Concord Pacific says it's a fundamental shift in place-making
Frances Bula
Published September 25, 2017 Updated November 12, 2017
Every residential building in Northeast False Creek in Vancouver will have retail spaces at the ground level, filled with small non-chain shops – the kinds of places that can usually survive only in run-down, low-rent strips far from downtown.
Concord Pacific Developments Inc.
Vancouver's newest neighbourhood-to-be is less attractive than a car impound lot at the moment.
The land for the future Northeast False Creek urban village sits on either side of and underneath the city's worn 50-year-old viaducts that were built to whisk commuters into and out of downtown without them having to descend to the grubby industrial land then underneath.
But now that land, empty except for piles of concrete-barrier blocks, chain-link fences and parking lots, is planned to be transformed into a new development with as many as 15,000 new residents.
An even bigger change is that the city and the developers who own the land are negotiating how to integrate a new kind of retail into this area unlike anything Vancouver – or many cities – have seen.
Instead of leaving it up to the developers to lease to whomever is most likely to pay the bills on time, a practice that has resulted in a proliferation of bland chain stores, banks and restaurants in many of the new projects in the region, city planners are aiming to create three new retail zones in the area with special curation to ensure that businesses foster a special identity.
One will be a waterfront section filled with restaurants, shops and entertainment options, aimed to draw city residents and visitors down to a seawall and plaza built along False Creek. That will be a change for Vancouver, where most of the waterfront to date has been dedicated to walkways and bicycle paths with very little commercial activity.
The second major retail area, embedded on the ground floor of every residential building in this area close to one of the city's major sports arenas, is planned to be filled with small non-chain shops – the kinds of places that can usually survive only in run-down, low-rent strips far from downtown.
"We call it 'the indie zone,'" says Peter Webb, the senior vice-president for development at Concord Pacific Developments Inc., the real-estate behemoth that has built out most of the former Expo 86 lands on the southern edge of the downtown peninsula the past 30 years. "There will be these little commercial spaces in tight-oriented laneways – like European-width lanes that don't take cars."
Many storefronts will be only 25 feet wide, creating less expensive spaces for small businesses and matching the size of stores in the older districts nearby. The aim is to bring in independents and people experimenting with businesses for the first time.
It will be different and require some risk-taking, acknowledges Mr. Webb. Smaller, independent businesses can't pay the kind of rents usually charged downtown. As well, they can end up folding unexpectedly, leaving a landlord with no income for a few months (or more) as new tenants are solicited. But, said Mr. Webb, Concord Pacific is ready to make the gamble – and has the institutional heft to be able to handle the experiment. "We feel really strongly that we can make this work. Certain aspects will require support on our side but we believe it's such a fundamental thing for place-making."
And Concord's planners think this kind of retail will attract new buyers to the condos they'll be selling above. "They know there's a buzz going on below."
That's a considerable shift from Concord Pacific's attitude to retail in its early days of development on North False Creek in the 1990s. Mr. Webb says the company simply sold off some of the stratified retail spaces and wasn't willing to invest in retail when there appeared to be little demand for it. But, he said, that has changed and the company now holds onto its retail spaces wherever it is and manages it to enhance life for nearby residents.
Both Concord Pacific and city planners say that the concept is inspired, in part, by a similar district in Melbourne, Australia, where there's a thriving neighbourhood of small streets and laneways filled with local businesses.
The third retail area will be developed on city-owned land that sits under the viaducts on either side of Main Street, on the far east side of the new area.
While most of Vancouver's waterfront has been dedicated to walkways and bicycle paths, the emerging Northeast False Creek will include commercial activity to draw residents and visitors alike.
There, a working group of people who represent Vancouver's black community is looking at how to pay tribute to and provide new space for that group. Hogan's Alley, as it was known, used to be home to many black railroad workers in the first half of the 20th century, before the area was razed to build the viaducts – one phase of a freeway that was supposed to run through the city's downtown.
That group would also like to see a lot of retail in the area, but retail that encourages small and local ventures.
"It's an important opportunity to give folks a space who are not getting access. This is a tough city," says Stephanie Allen, who works in non-profit-housing development. "We've had a lot of people say this is a great idea. What we're looking at is how do you produce retail space that's acceptable to startups."
The group, which is working with a consultant from the United States who specializes in reviving historic black areas in American cities, has discussed creating a non-profit to manage the new area, with a view to choosing tenants who fit the model.
City planners, who are overseeing the buzz of excited discussion going on with both developers and community groups, are so far actively pushing for or at least backing the new concepts.
They say the new retail is needed, according to research the city commissioned from Collliers.
"We've had a study done that says there's demand for more retail here already today, even without the new development," says Holly Sovdi, one of the team working on the plan at city hall.
He acknowledges that some groups in the areas around Northeast False Creek are concerned about the potential impacts on rents and displacement if there is a flood of new kinds of businesses. "We're going to have a chapter dedicated to managing those impacts," said Mr. Sovdi.
He said the city is so interested in promoting this new vision of retail that it is discussing potential incentives for developers to ensure that they retain management of retail and that they choose small, independent businesses.
He admits the city is asking developers to do a lot down there already in terms of public benefits, but ensuring a different business mix is being added to the list. "There's a lot of competing interests, but retail is key."
Developers, on the other hand, don't want standard bonuses from the city, like permission for extra building space above the usual zoning limit. Concord would like to see the city amend its bylaws so that the restaurants and bars in the area can stay open later – a crucial move if it's going to draw the postconcert, postgame crowds from the nearby arenas.
They also want to ensure the city doesn't close off the whole waterfront to cars. Drivers need to be able to at least get a glimpse of what's along the waterfront at some point, to entice them to come and sample the new businesses, said Mr. Webb. Some businesses on other sections of the waterfront, like those around the Burrard and Granville bridges, have suffered, he observed, because no one really knows they are there except for seawall walkers.
Whatever the outcome of those particular negotiations, a local retail consultant says that the city and developers are making the right move by trying to get away from the standard retail picture.
"What's happening in retail, it's changing so dramatically. I think it's a pretty good strategy for the area," said Raymond Shoolman, who is with the company Dig360. People can get standard products anywhere, including online these days. So what they want is something unique and "experiential," he said.
Pop-up stores, which give very small operations a chance to show their stuff in public, along with interesting new restaurants and unusual businesses are what people want when they do their shopping in person, he said.
"It's very, very exciting times."
Follow Frances Bula on Twitter @fabulavancouver


text:
Gordon James Ramsay, OBE, škotski kuharski mojster in televizijski voditelj, * 8. november 1966, Johnstone, Škotska, Združeno kraljestvo.

Velja za enega najboljših kuharskih mojstrov z restavracijami po celem svetu. V letu 2008 je s skupno devetimi Michelinovimi zvezdicami  tretji na seznamu kuharjev z Michelinovimi zvezdicami, takoj za francoskima kuharjema Joëlom Robuchonom in Alainom Ducassom.
Je eden izmed samo treh kuharjev v Veliki Britaniji, ki imajo restavracijo s tremi Michelinovimi zvezdicami  . Njegova najbolj znana restavracija Gordon Ramsay pa je edina restavracija v Londonu, ki ima 3 Michelinove zvezdice.

V zadnjih nekaj letih je dejaven tudi kot voditelj zelo gledanih oddaj s področja kulinarike, kot so Ramsay: Vražja kuharija (Hell's Kitchen), The F-Word in Ramsay's Kitchen Nightmares. Znan je predvsem po temperamentu in pretiranem preklinjanju.

Življenje in delo

Začetki
Čeprav po rodu Škot, je Gordon od svojega 5. leta odraščal v kraju Stratford-Upon-Avon v Angliji. Imel je težko otroštvo, ki ga je zaznamovalo predvsem nasilno vedenje očeta, ki je bil pijanec in ženskar. Mama je bila sicer odlična kuharica, vendar Gordonova največja strast je bila takrat nogomet. Kuhar je postal po naključju, ko je moral zaradi resne poškodbe kolena pri 17 letih opustiti obetavno kariero nogometaša pri škotskem moštvu Glasgow Rangers. Ker ni imel veliko izbire, se je nazadnje vpisal na gostinski kolidž in zaključil izobraževanje iz hotelskega upravljanja.

Na začetku je delal v več hotelih in restavracijah, vendar se je njegova pot do kuharskega mojstra začela pravzaprav leta 1986 v restavraciji Harvey's pod mentorstvom angleškega kuharskega mojstra Marca Pierre Whitea.  White, ki je bil znan tako po kulinarični virtuoznosti kot tudi po vzkipljivosti, je bil sprva Gordonov velik vzornik, vendar po nekaj manj kot treh letih, se je Ramsay naveličal njegovih nenehnih izbruhov in nasilništva ter se odločil, da želi nadaljevati kariero v Franciji. White mu je to odsvetoval in mu priporočil, naj ostane v Londonu in začne delati pri Albertu Rouxu v restavraciji Le Gavroche. Tam je Ramsay ostal eno leto, nato pa le odšel v Francijo, kjer se je tri leta izpopolnjeval v veščinah francoske kuhinje pri tamkajšnjih mojstrih kot sta Guy Savoy in Joël Robuchon.

Glavni kuhar
Leta 1993 je postal glavni kuhar v novo odprti restavraciji Aubergine.  V treh letih delovanja je bila restravracija nagrajena z dvema Michelinovima zvezdicama, Ramsay pa je s 27 leti postal najmlajši kuhar, ki mu je to uspelo.

Leta 1998 je, star 31 let, v mestu Chelsea odprl svojo restavracijo, Gordon Ramsay, ki je 19. januarja 2001 dobila svojo tretjo Michelinovo zvezdico. Oktobra 2001 je odprl Gordon Ramsay at Claridge's, ki je dobila Michelinovo zvezdico leta 2003. Leto zatem je odprl Pétrus, ki ima v letu 2008 trenutno dve Michelinovi zvezdici.

Pisec kuharskih knjig
Prvo kuharsko knjigo, z naslovom Passion for Flavour, je izdal leta 1996. Kmalu je sledilo več knjig, ki so postale velike uspešnice, med njimi: Passion for Seafood (1999); A Chef for all Seasons (2000); Just Desserts (2001); Gordon Ramsay Makes it Easy (2005); Gordon Ramsay's Sunday Lunch (2006); Gordon Ramsay's Fast Food (2007); Gordon Ramsay, 3 Star Chef (2007; Gordon Ramsay's Healthy Appetite (2008); Gordon's Ramsay's Cooking for Friends (2008).

Oktobra 2006 je izdal svojo avtobiografijo, z naslovom Humble Pie, ki je kmalu po izidu postala uspešnica. V njej opisuje svoje življenje v kuhinji in izven nje.

Televizijska osebnost
Maja 2004 je za angleško televizijo Channel 4 posnel serijo kuharskih oddaj, z naslovom Ramsay's Kitchen Nightmares, ki je dobila nagrado Bafta in mednarodnega Emmya. Kmalu zatem je sledila serija Hell's Kitchen, v kateri je Gordon učil kuhati skupino zvezdnikov. Leta 2005 je prišla na spored njegova nova serija The F-Word, 2007 pa je za ameriško televizijo posnel še ameriško različico serije Hell's Kitchen, ki ji je sledila še serija Kitchen Nightmares.

Zasebno življenje
Gordon James Ramsay ima dve sestri, Yvonne in Diano, ter brata Ronalda.  V letu 2008 je devetič pretekel Londonski maraton. Njegov cilj je preteči maraton še v letu 2009.

Od leta 1996 je poročen s Cayetano Elizabeth Hutcheson. Ima pet otrok: hčerko Holly in sina Jacka, ki sta dvojčka, hčerki Megan in Matildo ter sina Oscarja.

Nagrade in dosežki
Ramsay je eden izmed samo treh kuharjev v Veliki Britaniji, ki imajo restavracijo s tremi Michelinovimi zvezdicami . Druga dva sta Heston Blumenthal in Alain Roux.

Leta 1995 je od angleške kraljice dobil priznanje Red britanskega imperija.

Julija 2006 je dobil tretjo nagrado Catey, najpomembnejšo nagrado, ki se v Veliki Britaniji podeljuje za dosežke v gostinstvu in hotelirski industriji. S tem je postal šele tretji človek, ki mu je to uspelo.

Leta 2006 je bil enajstič zapored razglašen za najboljšega kuharja v Londonu.

Vodič po restavracijah, Harden's, je njegovo, s tremi Michelinovimi zvezdicami nagrajeno restavracijo Gordon Ramsay, osem let zapored proglasil za najboljšo restavracijo v Londonu. Za leto 2009 pa bo ta naziv pripadal drugi Ramsayevi restavraciji Pétrus, ki jo vodi njegov bivši učenec in prijatelj Marcus Wareing.

Revija Forbes ga je avgusta 2008 razglasila za tretjega največjega zaslužkarja ($7.5 milijona prihodkov na leto) med t. i. "zvezdniškimi kuharji".

Po besedah Chrisa Hutchesona, ki je Ramsayev tast in direktor združbe Gordon Ramsay Holdings, ima Gordon Ramsay v letu 2008 15 milijonov funtov prihodka, kar ga uvršča na sam vrh najbolje plačanih kuharjev na svetu.

Sklici in opombe

Zunanje povezave

 Domača stran Gordona Ramsaya

Živeči ljudje
Britanski kuharski mojstri
Britanski televizijski voditelji
Nosilci reda britanskega imperija


After you have purchased the Splashtop Whiteboard application from the Apple App store and installed it on your iPad, the Splashtop icon will be displayed on your iPad's home screen with your other application icons. You must also download the free Splashtop Streamer application from http://www.splashtop.com/whiteboard/download and run it on your computer. If a User Account Control dialog box appears during the installation process, select Yes to continue. You will need to accept the Splashtop Inc. End-User License Agreement in order to continue.
The Installer will add the Splashtop Streamer application to your Startup folder in Windows, so by default it will be launched in the background whenever Microsoft Windows starts. You may disable this after installation, by un-selecting the "Start Splashtop Streamer when this computer starts up, and allow remote clients to connect" check box in the Settings tab (not recommended).
When you close the setup dialog box, a one-time message will inform you that the application is running. The Installer adds a Splashtop Remote shortcut into the Windows Start Menu. Selecting this allows you to re-open the setup dialog box at any time. You can also open it by clicking on the Splashtop icon in the Status Bar.


text:
TMC Names Alepo Service Enabler 7.0 "Product of the Year"
January 25, 2008, Austin, TX — Alepo Technologies Inc., a leading provider of OSS/BSS solutions for next generation services, today announced its Service Enabler 7.0 (SE) platform has received the 2007 Product of the Year Award from Internet Telephony and Customer Interaction Solutions magazine. SE is being recognized for the technological advancements, innovative features and business benefits it contributes to next generation telecommunications service delivery including VoIP and WiMAX.
"The Product of the Year Awards exemplify the best this industry has to offer. With nearly 500 applications this year, the judging process was difficult but the selected winners have demonstrated a commitment to quality and the continued development of the IP telephony industry. These winners deserve this distinction, and I look forward to seeing other innovative solutions from them as they continue to contribute to the future of VoIP and IP telephony," stated TMC Editorial Director, Greg Galitzine.
"For WiMAX and multi-play providers searching for a solution that grows as quickly as the market, SE offers a complete, convergent billing and customer management system ready to deploy in a matter of days for any new next generation service," said John Kim, Director of Telecommunications, Alepo Technologies, Inc. "Alepo has real-world experience and dedication in deploying SE under strict deployment timelines while continuing to offer a reliable and scalable solution."
Service Enabler is a complete convergent revenue management system for next generation services such as data (ISP and Hotspot), voice (VoIP), video (IPTV and video on demand), and now offers NWG/16e compliance for WIMAX deployments. This robust and innovative platform can be deployed either as an end-to-end real-time billing and customer care system, or as an adjunct to legacy billing systems. The capabilities delivered by Service Enabler 7.0 give next generation service providers a powerful and scalable platform to bill and manage multi-play service delivery.
Technology Marketing Corporation (TMC) publishes two magazines: Customer Inter@ction Solutions, and Internet Telephony, and the online publications, TMCnet.com, Planet PDA Magazine, Wi-Fi Revolution, Alternative Power and BiometriTech. TMC is also the first publisher to test new products in its own on-site laboratories, TMC Labs. TMC also produces The VoIP Developer Conference, Speech-World, IP Contact Center Summit and The Global Call Center Outsourcing Summit.
About Alepo SE 7.0
Alepo's Service Enabler (SE) is a complete convergent revenue management system for next generation services such as data (ISP and Hotspot), voice (VoIP), video (IPTV and video on demand), and now offers NWG/16e compliance for WIMAX deployments. It can be deployed either as an end-to-end real-time billing and customer care system, or as an adjunct to legacy billing systems. Alepo's truly convergent software solution is designed as a high-performing, highly available solution that minimizes strain on core IT systems, while enabling rapid deployment of new services.
SE 7.0 product features include: Postpaid Billing, Prepaid Billing, Carrier Billing, Vendor Costing, Intelligent Routing, AAA (RADIUS Server included), Activation, Provisioning, Workflow, Mediation, Number Management, IP Address Management, Inventory Management, Voucher Management, Accounts Receivable, Customer Service Management, Agent Web Interface, VNO Web interface, Web Self Care, Self-Activation, Basic Trouble Ticketing, and Advanced Trouble Ticketing.


How much does an investor pass cost?
Commit to meeting 5 mining companies via our Mines and Money Connect service and we'll waive all of the delegate pass fee.
How to decide whether you are in investor?
Investor Passes are allocated to institutional and professional investors whose primary job function is an investment role, investing funds directly into the mining sector. To be eligible you must not be employed or represent a mining company or employed by a company that provides products or services to the mining industry (note that advisories and corporate finance providers do not qualify for investor passes).
As its name implies, Mines and Money only allocate investor passes to investors who want to meet and invest in mining companies. If you're not interested in meeting mining companies, an investor pass is not for you.
Note, all investors wishing to participate at Mines and Money London (and enjoy the applicable discounts and benefits) need to complete our Investor application form (on the right). You will then be contacted directly to confirm your application.
Are you employed by a mining company; or a company that provides services to the mining industry; or sells or promotes products/services including consulting, marketing, investor relations or corporate finance services?
What stage mining projects do you typically invest in?
What region(s) are you looking to invest in?


text:
Congress Delay On Prashant Kishor Will Be Costly For Party In 2024 Poll
By Nitya Chakraborty
All reports from the Congress sources indicate that the party high command has not yet taken a final decision on the exact role for the ace poll strategist Prashant Kishor in the Congress Party's coming campaign for the state assembly elections in 2022 and 2023 culminating in the Lok Sabha polls in April/May 2024.PK had meetings with all three Gandhis in July this year and already two months have passed.The festival season is approaching. Right now, less than six months are left for the holding of the first phase of the assembly elections to Uttar Pradesh, Punjab, Uttar Khand, Manipur and Goa.In the next phase, assembly elections will be held in Gujarat and Himachal in October/November 2022.
Prime Minister Narendra Modi has already taken full control of the BJP election machinery for the poll bound states and for Uttar Pradesh, he is acting as the principal strategist for the BJP.The ground situation is volatile for the BJP in UP as the farmers unions have taken a position to defeat the BJP in UP in the coming assembly elections. In 2017, out of 403 seats in the state assembly in UP, BJP got 325 seats and this time, the war room of the BJP is desperately trying for a simple majority.
For the Congress which is in power only in Punjab among the five poll bound states in early 2022, the defeat of BJP in at least two out of four states ruled by the saffrons, is essential to improve the Congress image and only such a performance will enhance its stature among the opposition parties who are jointly working out a strategy to fight BJP in the coming elections.The last meeting of the 19 opposition parties held on August 20 gave the clear call that the Modi Government has to be replaced in 2024 Lok Sabha elections and for that the opposition parties have to do everything to make that possible before 2024.
But how to make it possible at ground level? Congress is the main political party fighting BJP in most of the states in the coming elections and only the strengthening of the Congress can make the task of defeating BJP easier in 2024 Lok Sabha elections. That process has to start from the coming assembly elections itself and immediate induction of PK in the campaign planning is imperative for the success of Congress and opposition strategy.
Reports say that some Congress leaders want that PK should focus only on 2024 Lok Sabha elections and should have no role in the assembly elections.If these are true, this is suicidal, Only a success in the state assembly elections by the Congress and the opposition in the assembly elections in 2022 and 2023 can build the base for opposition thrust and this is the field where PK can show his mettle and he should be allowed to play his role. If BJP retains the four states out of the five poll bound as of now, the Congress will got weakened and that will give BJP a big boost in the coming campaign for the Lok Sabha elections.PK's task in helping the Congress for Lok Sabha elections, will be extremely difficult in that post assembly elections situation.
It is in this context, the Congress leadership has to take immediate decision to finalise its deal with PK for both assembly and Lok Sabha elections.The state assembly elections are most crucial in the present state of national politics and that should be the starting point for Congress turn around. A recent poll forecast by ABP Anand and C Voter says that the BJP will retain all the four states, UP, Uttar Khand, Manipur and Goa and in Punjab, AAP will be the leading party followed by the Congress. Though this is too early and the survey might not have taken into account the full impact of farmers unions decision, but still, the Congress has reasons to be worried about Punjab. AAP has certainly emerged as a potential rival to the Congress as the Akali Dal and BJP support base has declined.Thus the task of the Congress leadership has become tougher and fresh focus has to be given on Punjab to ensure that the state is retained by the Congress.
Nearly three weeks have passed since the holding of the opposition meeting on August 20 but there is no news about the formation of the core committee which Mamata Banerjee had suggested and Sonia Gandhi agreed.The committee has to consist of powerful regional leaders and it should meet regularly to monitor the activities of the anti-BJP movement in the country.The coming agitation of the opposition from September 20 and 30 has to be made a big success and this has to be an all pervasive one in the poll bound states.The continuing agitation against the policies of the Modi Government and the BJP's divisive policies can only unify the common masses who are suffering most due to job loss, low income and acute unemployment problem.
The Opposition has to widen its support base by including the civil society bodies who have been consistently fighting against the policies of the Modi government and the BJP. There are lawyers, journalists, retired bureaucrats, medical doctors, scientists and academicians who are all worried at the erosion of the democracy under Modi regime and the dilution of scientific approach. They have to be brought into the ambit of the anti-BJP front.In Bengal, the civil society groups played an important role in mobilising opinion against the communal policies of the BJP in the recent assembly elections. The BJP could be decisively defeated because of the active support of these civic societies.
In sum, the coming battle has to be turned into BJP versus the rest led by both the Congress and the anti-BJP regional parties. Every opportunity has to be tapped and every chink in BJP armoury has to be exploited. The Congress, despite all its organisational weaknesses and factional infighting in the states, is the only national party with bases in all states to challenge the BJP. History has shown that whenever the Congress has weakened in a substantial manner, BJP has taken the advantage.2024 Lok Sabha poll has thrown up that maha challenge. A combination of charged Congress and the regional parties has to offer to the voters of India a viable alternative to the Prime Minister Narendra Modi and the BJP and earn their trust before the polling day.The anti-BJP opposition has to work on that trajectory.
(IPA Service)
TN Assembly passes resolution for CAA repeal


Growth Curve Specialists know that every business in its lifetime must successfully pass through seven different periods or stages in order to maintain their growth into the future. Each stage of growth for any business is determined by how complex the composition of the company is – the more people employed at a company, the more complex that company's path to growth will be.
Furthermore, each person employed at your company is their own unique adaptive system, which only adds to the complexity of your organization. Like a person, your company is also a complex adaptive system, struggling within a complicated industry, in an environment that it constantly changing.
If you do not know the natural progression of growth for your business, then it is very likely your business will struggle or not outlast its competitors. It is important you know what stages your business has already passed, where it has yet to go, and where it is now.
Do you know what stage of growth your company is in?
Wind Tunnel, a chaos zone that requires you to let go of methodologies that no longer work and adapt new ones that do.
These periods, while challenging, are simply signs that your business is growing. If it was all easy, it would not be worth it. Your Growth Specialist will help you to break down what is happening to your business while it grows, so that making your business the best it can be doesn't feel like an uphill battle fraught with unknowns.
Contact ACT One International today to discuss how a Growth Curve X-ray of your business can help pinpoint the challenges and appropriate strategies to get you on the right path for growth.


How do we differentiate an equity story from your competitors?
As a young company with a relatively low media profile, a key challenge was to clearly position the bank and differentiate its equity story from that of the other 'challenger banks' ahead of a planned IPO.
Several other challenger banks had pulled their IPOs a few months beforehand and one competitor re-launched its IPO at a lower valuation during the process, which compounded the need for Shawbrook to differentiate itself from the competition.
We spent considerable time understanding the business, attending drafting meetings for the analyst presentation and contributing to the development of the equity story and wider business cases both within the presentation and the prospectus.
Our Content & Creative team developed a series of films that brought 'the bank and its culture into the room' and profiled customer testimonials to highlight Shawbrook's customer-centric approach.
Further films and an investor microsite were developed to support ITF communications with employees, business partners and customers.
We provided counsel around key strategic decisions which had a major impact on the success of the IPO.
The IPO was a success, pricing near the top of its range to achieve an initial market capitalisation of £725m with very good coverage of the book.
The market has received the bank positively with shares currently trading at a premium to the IPO price.
We achieved good, supportive media coverage which highlighted many of the key messages, clearly communicating the bank's values and highlighting the quality of the loan book, whilst minimising potential negative commentary around specific issues, in line with our strategic advice.
Film and digital content was also well received by all audiences, including staff and customers who were eager to know what the IPO meant for them and the business.
Since the IPO, Instinctif has continued to advise Shawbrook, including advising the group through the appointment of a new Chairman and a new CEO, as well as a further sell-down by its private equity backers.
– Steve Pateman, Chief Executive Officer.


text:
Tác động
Trên thực tế
Hình ảnh, âm thanh
Tiếp cận và Trình duyệt
Developing a Certification Process for Sign Language Interpreters
Thứ hai, Tháng 11 27, 2017 - 18:32
Hãy giúp chúng tôi dịch trang này
In my country, Sign Language interpreters are not certified. However, we are beginning to develop a certification program. What recommendations and U.S. laws do you have for us to consider as we begin this process?
Linh, a Deaf delegate from Vietnam, speaks in sign language during a week-long training for disability rights leaders and policy makers from all six RightsNow! countries held in Washington DC in 2016
Interpreter legislation in the United States is determined mostly at the state level and can vary greatly among the country's fifty states. Perhaps the one national regulation is that court interpreters must meet standards established by the United States courts. Here are a few actions you can take to ensure that people who are Deaf will have access to quality interpretations:
Lobby officials and pursue legal action to ensure that credentialed interpreters are required by law in any place of public accommodation, such as businesses open to the public.
Search for influential advocates to promote the cause, such as judges, governing officers, and legislators.
Push for funding mandates both before and after the law is passed with clear criteria for all costs associated with interpreting, including both the funds for paying for interpreter services as well as implementing the law and staffing the programs. In the U.S., the majority of mandated payments fall into four categories: Interpreter Services, Jury Payments, Arbitrators, and ADA Compliance.
Collaborate with organizations who share similar goals to combine resources and avoid repetitive efforts. The National Center for State Courts (NCSC) model, an independent collaboration that provides research and education to state courts, is a good example of this within the U.S.
All deaf and many hard of hearing Americans are covered under the Individuals with Disabilities Education Act (IDEA), the Americans with Disabilities Act (ADA), and Section 504 of the Rehabilitation Act of 1973. Below are additional relevant U.S. federal laws for interpreting that are relevant to persons with Limited English Proficiency. These additional laws apply, not only to people who use sign language but also immigrants and other people who might not be fluent in spoken English:
Executive Order 13166: Improving Access to Services for Persons with Limited English Proficiency (LEP).
Title VI of the Civil Rights Act of 1964: Prohibits discrimination on the basis of race, color, or national origin in any program that receives federal funding.
The Omnibus Crime Control and Safe Streets Act of 1968: Obligation to ensure effective communication with LEP persons by providing competent language services at the state's expense.
Visit www.lep.gov for more information on federal laws.
See below for additional resources on interpreter certification and education in the U.S. and elsewhere.
U.S. Resources
Language Access in California - (Available in Spanish, English, and Vietnamese) Plan for language access in California state courts.
Registry of Interpreters for the Deaf (RID) - Plays a leading role in establishing qualifications for sign language interpreters in the United States
Commission on Collegiate Interpreter Education - Standards for establishing sign language interpreter education programs.
Information on the Americans with Disabilities Act
American Sign Language Teachers' Association - Promotes good quality instruction in American Sign Language (ASL) and for certification of ASL teachers.
National Consortium of Interpreter Education Centers
Discover Interpreting
Regulations Governing Interpreter Requirements
Non-U.S. Resources
Australian Sign Language Interpreters' Association (ASLIA)
Federación española de intérpretes - (In Spanish)
World Federation for the Deaf
How to Include a Sign Language Interpreter in Government Communications
National U.S. Disability Laws
Americans with Disabilities Act of 1990 (ADA)
U.S. Individuals with Disabilities Education Act (IDEA)
Section 508 of the U.S. Rehabilitation Act of 1973
Principle 6: Reasonable Accommodations
Principle 8: Specific Regulations
Legal Aid in the United States
Advocating for Laws that Reflect CRPD Principles
BẠN làm gì để cải thiện quyền của NKT?
Hãy chia sẻ cho chúng tôi biết về chiến luợc của bạn.
Chia sẻ ngay bây giờ!
Tìm theo quốc gia
Gua-tê-ma-la
Ke-ni-a
Tìm theo đối tượng tìm hiểu
Tổ chức xã hội dân sự
Tổ chức do NKT điều hành
Tổ chức Phi chính phủ
Khu vực tư nhân
Tìm theo chủ đề
Xóa bỏ hình thức tập trung riêng NKT lại tại các trung tâm/cơ sở (giáo dục, điều trị…)
Lao động/việc làm
Bạo lực trên cơ sở giới
Người dân tộc thiểu số
Lượt/chính sách
Tiếp cận các công trình cơ sở hạ tầng
Tiếng Ác-mê-ni-a
Văn bản đã được đơn giản hóa
Simplified Text
Phạm vi địa lý
Khu vực (tỉnh/thành phố và quận/huyện)
Nông thôn
MIUSA
DREDF
USICD
@MobilityINTL
@DREDF
@USICD
@IFESdisability