Those tabs on the left each has coresponding menu. Here only one menu is has been added. Video is self kind of explanatory.. Basically, the problem is that not corresponding regions are messing up. We would love to have any suggestions.
Based on the video it looks like either missing invalidates of the centre region or a more low-level problem with interrupt priorities and/or frame buffer semaphore.
This will override the basic tick event function and invalidate the root container every frame.
Does this make the screen look correct?
Does this alleviate the problem? If so it points to a problem with either the DMA interrupt priority (configured in your HAL subclass) or with the OS abstraction layer - OSWrappers.cpp. Did you change anything in those files?
I have checked all places where invalidation must be and it is there. Or maybe I missunderstand where to use it? I am using invalidation for every drawable object just after changing it.
Also, I want to point aout that there is also problems with left side tab bar as can be seen in the video: while chaging selected tab from first one (which has corresponding menu) to another. This must not have any effect on it.. As well as right side button: when touching it, bitmap is redrawde, bus it messes up other contents.
By inserting suggested function problem still occurs. It now ticks and flashes a bit at every tick.
Everything work correctly when no texts (in this case) added on to center menu list items. This might be some clue..
OSWrappers.cpp was adopted to work with Keil RTX.
We found problem. As you suggested we started investigate DMA. This was our mistake in code changes. But it now works even without using NoDMA.


text:
Leave a Comment / September 25th, 2017 / Amelia Fruzzetti
Super September: Nostalgia, childhood and humanity in EarthBound
Retro, Videos
Video games are special to different people for different reasons. Sometimes it's because a game came at the right point in our lives; sometimes it's because its design, gameplay and presentation are expertly crafted; sometimes it's because something about the game as a whole resonates on a deeper level, allowing us to attach ourselves to the work in a way that other media can't accomplish. And sometimes, it's all three of those things, and more.
EarthBound is no mere video game. To me, it's the pinnacle of interactive storytelling, a mastery of form in atmosphere and tone, an artistic triumph of writing and style and the greatest video game I've ever played. And to explain why is perhaps the hardest task of all — the thousands of minute nuances that make the game what it is are almost ruined if you list them out in painstaking detail. So instead, it's better to focus on the broad strokes, and all the brilliance carried within.
Stylistically savvy
EarthBound's aesthetic was unusual and unseen at the time, and is still wholly unique even today. RPGs were the domain of fantasy and sci-fi works — the fantastical escapism of speculative fiction, where imagination triumphed over everyday mundanity. EarthBound, instead of tossing out one in favor of the other, combined the two, offering an abstract, often bizarre portraiture of suburbia still grounded in reality, despite the fact that you're fighting hippies and blue-obsessed cults with only a baseball bat and psychic powers. Despite how goofy and off-the-wall it feels, it also strikes surprisingly close to home in depicting an urban fantasy, which was — and is — exceedingly rare.
EB is notorious for selling poorly when it initially released, due to poor flatulence-based marketing by Nintendo and subpar presentation for the time. But the game's art and music is simply another layer of its wonderful atmosphere, being a retro-inspired game in an era that was still integrally retro. The bright colors and simple models of Ness and his friends are painfully charming in retrospect, and the soundtrack offers a variety of strange, warped electronica alongside more peaceful beeps and boops to complement the game's bizarre world. It even used samplings of old songs — a technique basically never used in game music at the time. Everything from the Beach Boys to the theme of Monty Python's Flying Circus is found in the groovy experimental tracks of EarthBound's score.
Goodwilled goofs
The writing of EarthBound is truly special, far more unique in style than almost any you'd come across in a game. There's a sense of whimsical sincerity to it, as the game will lightheartedly ask you to be kind and considerate in such an upfront and unabashed way that it skips being cheesy and becomes heartwarming. The NPCs, rather than regurgitate banal info about quests or the storyline, seem to have lives of their own and strange, quirky sayings that stick with you long after the game ends. From that one guy in Twoson you can talk to repeatedly until he gives you money, to the elevator lady telling you not to stare at her hips, to the variety of folk in the Stoic Club offering smug diatribes on the futility of society, there's no shortage of weirdness — and love. The one that always stuck with me most was one of the first signs of Onett: "The flowers in the garden represent those in your heart. Treat them both well."
EarthBound's surrealist humor extends to its little jabs at its very subject. But for everything it ribs — '50s America, suburban lifestyle, pop culture, B-movie aesthetics and video games themselves — it also seems to genuinely love and cherish them in turn. EarthBound was one of, if not the, first games to constantly notify the player that, yes, it was aware it was a video game, and you should be aware of that, too. From calling attention to the fact that RPGs don't have bathrooms, to a tutorial dog being possessed by the spirit of a game developer, to Tony flat out asking for the player's name once you get far enough into the game… the game's fourth wall isn't so much a facade as it is a prop, a tool for the game to offer more banter and point out some other amusing discrepancies of the medium in which it inhabits.
While EarthBound's actual gameplay was somewhat standard for RPGs of the time, it had many benefits that give it an edge over even some of the genre's more modern titles. The rolling HP system gave you the chance to survive almost any encounter, provided your reflexes were good enough. The balance between your party members, each one serving an explicit and unique role, is superb. And perhaps greatest of all, the game's auto-win calculation, allowing you to reap the benefits of battles against weak foes without wasting your time mashing A to speed through is unbelievably convenient, and I'm appalled at how few games with encounters have implemented such a genius system.
EarthBound spirits
But what ultimately makes EarthBound ascend to a level beyond any other game is its storytelling. EB doesn't have a conventional Final Fantasy-style JRPG plot — in fact, its central story of four heroes going to save the world from an alien evil doesn't seem like much to write about on the surface. Ness & co. don't really have much in the way of overt character development, and there's nothing like gray morality, complex motivation or gigantic plot twists to complicate things. So what gives?
To me, the true protagonist of EarthBound 0- the one who changes, develops, and grows as the game goes along — isn't Ness. It's the player. With each Sanctuary found, each melody collected, the player witnesses a glimpse of Ness' childhood, and is brought back to their own. The smell of your favorite food, the loyalty of a pet, the gentle love of your mother — these images and more resonate far beyond the scope of the game itself. The player is left to reflect on their nostalgia, and think back on their childhoods. How far they've come, and how much farther they have to go.
EarthBound never presents its characters as morally corrupt, but neither does it show them as paragons of humanity. Status effects like crying and sneezing uncontrollably are ailments we ourselves have had to deal with. Ness, when he needs money, has to talk to his distant father for help. When he gets homesick, he has to call his mom to hear her voice and feel better. And in the end, he has to face his own evil inside his mind — and come out a better person. The game's final boss is an indescribable evil without form, because the party lacks the wisdom that comes with age to understand all the ills of the world. We've all had times like these, and EarthBound flawlessly weaves the truth into the very game — that despite their psychic powers, genius intellect or stalwart courage, Ness, Paula, Jeff and Poo are just kids. Just like we all were at one point.
That was the lesson I took away from the game the most, that the sense of childhood wonder and fear that we all possess never really goes away in its entirety. Even though I'm grown up, I still lack so much understanding about the world, and I still have so much room to grow. I first played this game in middle school, and it reassured me that imagination, memories and nostalgia never really go away — we always carry a little bit of them inside ourselves. Humans are beings of great potential, but we all make mistakes. We all have limits. We are all flawed.
We are all earthbound.
Looking for more SNES Classic goodness while you wait for the release of Nintendo's newest mini machine? You can view more articles featuring the beloved games throughout the month in our Super September series!
Dog possessed image source
Written by Amelia Fruzzetti
A writer and Nintendo fan based in Seattle, Washington. When not working for NinWire, she can be found eating pasta, writing stories, and wondering about when Mother 3 is finally going to get an official localization.

redpajama_set_name: RedPajamaCommonCrawl


text:
Triactis is een geslacht van zeeanemonen uit de klasse van de Anthozoa (bloemdieren).

Soort
 Triactis producta Klunzinger, 1877

Zeeanemonen

redpajama_set_name: RedPajamaWikipedia


text:
Azerbaijan to promote "Made in Azerbaijan" in Switzerland
22 June 2018 18:30 (UTC+04:00)
By Sara Israfilbayova
The next export mission to promote "Made in Azerbaijan", the brand which seeks to get a worthy place in the world market, will be held in Switzerland on June 25-29.
The mission includes 12 local companies operating in the field of hazelnut production and selected on a competitive basis.
Within the framework of the mission, it is planned to organize bilateral meetings between Azerbaijani and Swiss companies, conduct discussions on expanding trade and economic relations and holding presentations of Azerbaijani products.
Azerbaijan, focusing widely on an export-led growth strategy, aims to expand the list of its foreign trade partners. This year the country plans to organize some five missions to increase awareness about the local production and promote "Made in Azerbaijan" brand.
Azerbaijan has already sent export missions to Qatar, Kazakhstan, Germany, Afghanistan, the UAE and Pakistan.
Development of the non-oil sector mainly depends on the export of non-oil products and the main goal is to expand access to new markets, besides traditional markets.
The volume of non-oil exports from Azerbaijan in the first quarter of 2018 amounted to $ 337.7 million, which is 33.2 percent more than the same period of 2017.
In total, in this period the country exported products worth $4.6 billion.
The strategic markets for Azerbaijan are also considered to be EU, the countries of the Persian Gulf, China, the CIS countries, Turkey and Russia.
Switzerland recognized Azerbaijan as an independent state on 23 December 1991. Diplomatic relations between the two states were established on 21 January 1992.
Relations between Switzerland and Azerbaijan are characterized by open dialogue and are based on several key areas including energy policy, cooperation in the international financial institutions and development cooperation.
Azerbaijan is Switzerland's main trading partner in the South Caucasus. Switzerland mainly exports jewellery products (precious stones, precious metals), machinery, watches, and pharmaceuticals to Azerbaijan.
Several Swiss companies are implementing their activities in Azerbaijan. A Swiss company is involved in the construction of the Trans Adriatic Pipeline (TAP), a project that will transport Azerbaijani natural gas to Italy via Georgia, Turkey, Greece and Albania by the end of the decade.
The Azerbaijani state-owned energy company SOCAR operates in Switzerland. On 1 July 2012, SOCAR Energy took over the ESSO Switzerland network of 160 petrol stations, which it operates under the SOCAR brand.
Sara Israfilbayova is AzerNews' staff journalist, follow her on Twitter: @Sara_999Is
Azerbaijan, WB eye employment support project
State Oil Fund's revenues hit $9.4bn in 2021
2022 can be called the year of investments in Karabakh - Country Managing Partner of PwC [PHOTO/VIDEO]
Azerbaijan develops action plan to provide liberated areas with internet
Azerbaijan's Mediation Council, MUSIAD sign cooperation protocol [PHOTO]
Azerbaijan hosts auction for commissioning mineral deposits


text:
Q: Find Items in one column that are not in another column I have two columns in Excel, and I want to find (preferably highlight) the items that are in column B but not in column A.
What's the quickest way to do this?

A: Here's a quick-and-dirty method.
Highlight Column B and open Conditional Formatting.
Pick Use a formula to determine which cells to highlight.
Enter the following formula then set your preferred format.
=countif(A:A,B1)=0

A: See my array formula answer to listing A not found in B here:

=IFERROR(INDEX($A$2:$A$1999,MATCH(0,IFERROR(MATCH($A$2:$A$1999,$B$2:$B$399,0),COUNTIF($C$1:$C1,$A$2:$A$1999)),0)),"")

Comparing two columns of names and returning missing names

A: My requirements was not to highlight but to show all values except that are duplicates amongst 2 columns. I took help of @brenton's solution and further improved to show the values so that I can use the data directly:
=IF(ISNA(MATCH(B2,$A$2:$A$2642,0)), A2, "")

Copy this in the first cell of the 3rd column and apply the formula through out the column so that it will list all items from column B there are not listed in column A.

A: Select the two columns.  Go to Conditional Formatting and select Highlight Cell Rules.  Select Duplicate values.  When you get to the next step you can change it to unique values.  I just did it and it worked for me.

A: Took me forever to figure this out but it's very simple. Assuming data begins in A2 and B2 (for headers) enter this formula in C2:
=MATCH(B2,$A$2:$A$287,0)

Then click and drag down.
A cell with #N/A means that the value directly next to it in column B does not show up anywhere in the entire column A.
Please note that you need to change $A$287 to match your entire search array in Column A. For instance if your data in column A goes down for 1000 entries it should be $A$1000.

A: *

*Select the list in column A

*Right-Click and select Name a Range...

*Enter "ColumnToSearch"

*Click cell C1

*Enter this formula: =MATCH(B1,ColumnToSearch,0)

*Drag the formula down for all items in B

If the formula fails to find a match, it will be marked #N/A, otherwise it will be a number.
If you'd like it to be TRUE for match and FALSE for no match, use this formula instead:
=ISNUMBER(MATCH(B1,ColumnToSearch,0))

If you'd like to return the unfound value and return empty string for found values
=IF(ISNUMBER(MATCH(B1,ColumnToSearch,0)),"",B1)

A: Thank you to those who have shared their answers.  Because of your solutions, I was able to make my way to my own.
In my version of this question, I had two columns to compare -- a full graduating class (Col A) and a subset of that graduating class (Col B).  I wanted to be able to highlight in the full graduating class those students who were members of the subset.
I put the following formula into a third column:
=if(A2=LOOKUP(A2,$B$2:$B$91),1100,0)

This coded most of my students, though it yielded some errors in the first few rows of data.

A: in C1 write =if(A1=B1 , 0, 1). Then in Conditional formatting, select Data bars or Color scales. It's the easiest way.

redpajama_set_name: RedPajamaStackExchange


text:
Cao Cao's invasion of Xu Province was a punitive invasion launched by the warlord Cao Cao against Tao Qian, the Governor of Xu Province, in the late Eastern Han dynasty. The casus belli for the invasion was the murder of Cao Cao's father, Cao Song, in Xu Province. Although Tao Qian's culpability was questionable, Cao Cao nonetheless held him responsible. The invasion took place in two separate waves in 193 and 194, during each of which Cao Cao captured a number of towns and engaged in collective punishment of the civilian populace.

Background

Cao Cao's father Cao Song was living in his hometown Qiao (譙; present-day Bozhou, Anhui) after retirement until it became a battlefield when the Campaign against Dong Zhuo happened. So Cao Song along with the rest of Cao's family moved to Langya (琅邪; present-day Linyi, Shandong) in Xu Province. By 193, Cao Cao had established a base in Yan Province (covering present-day southwestern Shandong and eastern Henan), and invited his father over to his territory. However, before Cao's family could reunite, they were murdered on the border of Xu Province and Yan Province. There were two accounts of how they were murdered. One was that the governor of Xu Province, Tao Qian, sent his men to kill Cao's family because he was defeated by Cao several times. The other was that Tao Qian actually sent people to protect Cao's family because he was afraid of Cao Cao. But his men killed Cao's family for the great fortune they owned. Regardless of Tao Qian's culpability, Cao Cao intended to hold him responsible for the murder of his father.

The first invasion
In the summer or autumn of 193, Cao Cao invaded Xu Province with an unspecified number of troops and easily captured over ten cities. After conquering Pengcheng (彭城; present-day Xuzhou, Jiangsu), Cao Cao killed possibly more than 10,000 defenders. Tao Qian fled to Tan (剡; present-day Tancheng County, Linyi, Shandong), which Cao Cao assaulted unsuccessfully.

Thwarted and low on rations Cao Cao turned his army around, sacking in the process the counties of Qulü (), Suiling (), and Xiaqiu (). The local population was swollen with refugees from the violence of the capital regions. Cao Cao's army killed over 100,000 civilians, including both men and women, such that the Si River was stoppered up with their corpses. His army took the chickens and dogs for food and tore down the villages into ruins.

The second invasion
In the spring of 194, Cao Cao's army returned to Xu Province, and Tao Qian begged aid from Tian Kai in the nearby Qing Province (). Tian Kai sent Tao Qian a force of some thousand men commanded by Liu Bei. Tao Qian, seeking to open a southern front against Cao Cao, appointed Liu Bei as the Inspector of Yu Province, and transferred 4,000 soldiers into his service. Along with Tao Qian's officer Cao Bao, Liu Bei encamped east of Tan ().

Cao Cao's army plundered Langya and Donghai (東海; near present-day Tancheng, Shandong), destroying all in its path. Returning west, Cao Cao engaged and defeated Tao Qian's forces led by Liu Bei. According to one source, Cao Cao conquered the nearby city of Xiangben () after this.

Xu Province was only granted reprieve when Zhang Miao betrayed Cao Cao and invited Lü Bu to take over Cao Cao's home base in Yan Province (). Cao Cao broke off his vengeance against Tao Qian and turned his army back to attack Lü Bu.

Aftermath
Liu Bei shifted his alliance from Tian Kai towards Tao Qian and he remained in Xu Province after Cao Cao left. When Tao Qian died of illness later in 194, his sons Tao Shang () and Tao Ying () were passed over for governorship by the local elite in favour of Liu Bei. Thus Liu Bei gained his first territory as a result of Cao Cao's campaign.

In popular culture
Cao Cao's invasion of Xu Province is featured as playable stages in the seventh and eighth instalments of Koei's Dynasty Warriors video game series.

Notes

  The Zizhi Tongjian (60.1945) has "autumn", while the Records of the Three Kingdoms (1.11) has "summer". History of Chinese Warfare specifies "the sixth month" (vol. 4, p 67), which would have been around August.
  This casualty statistic, which appears in Tao Qian's biography in Records of the Three Kingdoms (8.249), is attached to a phrase describing the Si River being dammed with the bodies of the dead. According to Rafe de Crespigny (To Establish Peace, volume 1, internet edition (2004), p. 68 note 24 [internet pagination]), this is unsupported by geography and probably happened during Cao Cao's massacre of civilians somewhat farther south, not during his battle at Pengcheng. Thus, the casualty figure is most probably not reliable.
  The Book of the Later Han (73.2367) also includes Pengcheng and Fuyang (傅陽; in present-day Linyi, Shandong) among Cao Cao's ravages.

References

Bibliography
Chen Shou, 三國志 (Records of the Three Kingdoms), 280s or 290s. Pei Songzhi, annotation, 429. Hong Kong: Zhonghua Publishing, 1971. 5 vols.

Fan Ye, et al., 後漢書 (Book of the Later Han), 445. Beijing: Zhonghua Publishing, 1965. 12 vols.
Sima Guang, et al., 資治通鑒 (Zizhi Tongjian), 1084. Hu Sanxing, annotation, 1286. Beijing: Zhonghua Publishing, 1956. 20 vols.

193
194
Military history of Jiangsu
190s conflicts
Rebellions during the end of the Han dynasty
Punitive expeditions
Cao Cao


text:
Global Launch of The Lancet Breastfeeding Series
The Series shows that about 820,000 child deaths could be prevented annually (about 13 percent of all under-5 child deaths) by improving breastfeeding rates, in addition to the lives already saved by current breastfeeding practices. In addition, nearly half of all diarrhoeal diseases and one-third of all respiratory infections in children in low- and middle-income countries could be prevented with increased rates of breastfeeding.
Children who are breastfeed perform better in intelligence tests, are less likely to be overweight or obese, and less prone to diabetes later in life. Mothers who breastfeed also reduce their risk of developing breast and ovarian cancers. At current breastfeeding rates, an estimated 20 000 deaths from breast cancer are prevented and an additional 20 000 could be saved if rates improved.
The Series on breastfeeding finds that despite strong health and economic benefits from breastfeeding, few children are exclusively breastfed until 6 months, as recommended by WHO. Globally, an estimated 1 in 3 infants under 6 months are exclusively breastfed – a rate that has not improved in 2 decades. Breastfeeding has substantial benefits for women and children in rich and poor countries alike, and now the evidence is stronger than ever.
"Supporting breastfeeding makes economic sense for rich and poor countries and this latest breastfeeding study proves it," said Series co-lead, Dr. Cesar Victora, emeritus professor from the International Center for Equity in Health, Post-Graduate Programme in Epidemiology, Federal University of Pelotas in Brazil. "Breastfeeding is a powerful and unique intervention that benefits mothers and children, yet breastfeeding rates are not improving as we would like them to—and in some countries, are declining. We hope the scientific evidence amassed in this Series will help revert these negative trends and create a healthier society for everyone—mother, child, poor and rich."
Breastfeeding has also been identified as a high impact intervention to achieve the Global Strategy for Women's, Children's and Adolescents' Health (2016-2030), which was launched alongside the Sustainable Development Goals as a roadmap for ending preventable deaths in a generation. The Every Newborn action plan includes actions and indicators for early initiation and exclusive breastfeeding.
Breastfeeding is important to child survival in all settings, but also to ensuring that children can thrive and reach their full cognitive and developmental potentials throughout their lives.
For links to the papers and commentaries visit The Lancet website at www.thelancet.com/series/breastfeeding
The following materials to help amplify Series findings can be found here, or on the Every Woman Every Child Resource Hub:
Key messages;
Press release;
Social media toolkit;
Infographics;
Breastfeeding brief; and
Lancet Series Papers and Commentaries.


St. Thomas Aquinas Middle School was built in 1961 and became the Catholic high, junior high and elementary school on Red Deer's southeast side. In 1967 Maryview Elementary School was built, leaving only junior and high school students in the building. A year later in 1968, Camille J Lerouge took over as Red Deer's Catholic high school. St. Thomas was a dual track junior high school, housing both a French and English language program until 1995. The Red Deer Catholic Regional School Division changed its junior high philosophy to a middle school one in 1999, which resulted in the now St. Thomas Aquinas Middle School name. When St. Francis of Assisi School was built in 2003, 1/3 of St. Thomas' population went to this new school, reducing its population from approximately 600 to 400 students. Currently, the enrolment in the school is consistently at the 400 student mark and its catchment areas include sub-divisions north of 39th street and extending to Red Deer's north side. The core building of the school has gone through two major renovations; one in 1988 after a fire and the most recent completed in 2009. While the outward school footprint has changed minimally since 1961, the interior would be unrecognizable to many of its former graduates. As stated, in 2009 the school had a complete internal renovation; replacing walls, ceilings, communication systems and equipping classrooms with the latest teaching technology. Surfeits to say, St. Thomas Aquinas Middle School is now one of the most advanced schools in the province and able to equip students with all the 21st Century skills needed to be successful in the world today and tomorrow. St. Thomas Aquinas Middle School is named after St. Thomas Aquinas, priest and doctor of the Catholic Church, patron of all universities and of students. His feast day is January 28 and he was born toward the end of the year 1226. St. Thomas was one of the greatest and most influential theologians of all time and as a tribute to him a statue was built the middle of the school's courtyard.
To provide all individuals with the opportunity and the responsibility to develop to their fullest potential and to experience success.


**What a Bargain** Darlows are pleased to offer this unfurnished property in area of Plasmarl in Swansea. The property benefits from a large open plan living room going through to a modern kitchen and family bathroom. Call Darlows today on 01685 375333!
Darlows are pleased to present this one bedroom, three storey house close to the town centre and transport links with rear garden and parking to the rear. Currently undergoing refurbishment and will be available from the end of April.
Darlows are very pleased to have this lovely 3 bed property in a popular location of Tonypandy. 1 Reception room, 1 Kitchen, ground floor shower room. Call today to arange a viewing. Be quick don't miss out.


Hint: "thumbnailer" is what we need.
It'd be nice to have .swf icons shown by file managers as icons, whereas the icons would be generated as a snapshot of the movie/app.
I belive swfdec such a thing.
Not sure about the extent of such support (GNOME only ? Nautilus only ?).


Add or comment away; we don't need to be formally introduced! Most fannish posts here are unlocked; the personal stuff is locked so I'm not recognised by passing professional contacts (unlikely as that is), as I'm exhausted with the always-having-to-be-"on" nature of namespace internet. You're very welcome to request access and get the warts-and-all version. My posts are a mix of everyday life, health stuff, cat/garden photos and stuff I've been reading/watching lately, i.e. much the same as most 30-somethings around here.
Fandom-wise, I'm mostly into the Vampire Chronicles and I co-mod at vc_media. Other things I love and will happily discuss ad nauseum include Black Sails, Hannibal, The Police, Harry Potter, Marvel comics and movies, comics and movies in general, The Dark Tower, The Stone Dance of the Chameleon, A Song of Ice and Fire/Game of Thrones, Terminator and Battlestar Galactica. I collect old children's books, particularly 70s and 80s Puffins, and I'm especially interested in fantastical children's literature. I'm a language, folklore, mythology and history geek. I recently started playing Dungeons & Dragons and Magic: the Gathering, and I like crafts. I think that's it!


National Institute of Technology (NIT) Kurukshetra released a huge number of vacancies this year. An applicant who are interested in Latest Teaching Jobs, they have great opportunity to grab it. NIT has released notification to hire 65 non-teaching vacancies. Further, Candidates who are eligible and interested for these posts, they can apply for this recruitment through official website. Moreover, Candidate who wants to apply for National Institute of Technology Recruitment 2018 for Professor posts, they must apply before the 24th December 2018. Further details like important dates, eligibility criteria, application fee, how to apply, admit card etc is given below.
Educational Qualification: Candidate who wants to apply for these posts, they must have done following qualifications.
10 point scale) and consistently excellent academic record.
Technical Officer: B.E./B.Tech Degree in Electrical Engineering with first class or equivalent grade (6.5 in 10 point scale) and consistently excellent academic record.
Medical Council Act, 1956 (102 of 1956) and must be registered in a State Medical Register or Indian Medical Register.
Students Activity & Sports Assistant: First Class Bachelor's Degree in Physical Education from recognized University or Institution. ii) Strong record of participation in college activities including arts (paints, photographs, drama, dance, music), event management, journalism etc.
University/Institute and Bachelors Degree in Library Science.
Accountant: First Class Bachelor's Degree in Commerce with Honours in Accountancy / Finance or equivalent in grade from a recognized University or Institute.
speed of 100 w.p.m. in Stenography.
Pharmacist: 10+2 or equivalent in Science subjects from recognized Board or University. ii) 2 Years Diploma with First class and minimum 6 months internship in Pharmacy from an Institute recognized by the Pharmacy Council of India.
Stenographer: Senior Secondary (10+2) from a recognized Board with minimum speed in short hand 80 w.p.m. in Stenography.
w.p.m. and proficiency in Computer Word Processing and Spread Sheet.
Technical Assistant: First class in B.E./B.Tech. in relevant subject or equivalent grade from a recognized University / Institute. OR First Class Diploma in Engineering in relevant field with excellent academic record.
appropriate trade. Or Matric with at least 60% marks and ITI Certificate of 2 years duration in appropriate trade.
Or Diploma in Engineering of three year's duration in relevant field from a recognized Polytechnic/ Institute.
Laboratory Assistant: B.Sc Degree in relevant field from a recognized University/Institute.
How to apply for NIT Recruitment 2018 ?
You can submit online application form at www.nitkkr.ac.in from 15.11.2018 to 14.12.2018 up to 05.30 PM. You also have to send a hard copy of the online application along with the self-attested photocopies of all the documents in support of the information given by you in your online application to the Registrar, National Institute of Kurukshetra-136119 (Haryana) by post. Kindly mention the name of the post you have applied on the envelope.


text:
Invasion Berlin 2019
Berlin – Buenos Aires – Frankfurt
About the 2019 Edition
This year INVASION includes in its programme the most risky of the lately Argentine production. Filmmakers who take risks by putting themselves in middle of the frame as a way go through the crossroads of an uncertain historical moment of their lives, like Romina Paula in Again once again. They are there, with their cameras, making films of their own aspirations and miseries, as Iair Said in Flora, life is no picnic; returning to the archive, to review the mystery of the family's past, as in Silence is a falling body: going around, inquiring about the origin itself. They are intimate and courageous attempts to use the camera as an instrument of access self-knowledge. Staging as a way to exorcise tests, exams, traumatic moments, as in The Faculties. Cinema tools are used to reprocess, digest, observe. Turning observation into a movie from the filming of another movie, like in Light Years. As a method of approaching personal history, but also to a certain Argentine identity – if there was such a thing – as in Livingston: the man and the method. These filmmakers make their films as a way to organize and assemble what touches them in the world, what leaves a mark. Cinema is here also a poetic, intimate, and also political way of healing.
Buenos Aires - Sala Lugones
The film series Three Berlin Filmmakers: Heise, Schanelec, Hartmann, which takes place between 21 to 24 November in the Sala Leopoldo Lugones at the Teatro San Martín, is the result of a joint collaboration between INVASION, the Cinemateca Argentina Foundatio, the Goethe Institute Buenos Aires and the Mar del Plata International Film Festival. The series shows four current feature films, shown for the first time in Buenos Aires, by three outstanding figures of the current German cinema landscape: Angela Schanelec, Anna Sofie Hartmann and Thomas Heise. Three of the works were shown at the last edition of the Mar del Plata International Film Festival. The series is part of the programme of events of the 25 year town twinning between Berlin and Buenos Aires.
Angela Schanelec was born in southern Germany in 1962. She is an actress, screenwriter and director. Schanelec studied acting in Frankfurt am Main and directing at the German Film and Television Academy in Berlin. She is a professor for narrative film at the Hochschule für bildende Künste (HFBK) in Hamburg. In May 2016 she has already been a guest in Buenos Aires as part of the film series Encuentro con Angela Schanelec (A Meeting with Angela Schanelec), which was organised by the Sala Lugones, the Goethe-Institut and INVASION. Among her most important works are My sister's happiness (1995), My slow life (2001), Marseille (2004) and Afternoon (2007).
Thomas Heise was born in East Berlin in 1955. In 1975 he started as an assistant director at the DEFA film studios. He studied at the Film and Television Academy Potsdam-Babelsberg. Heise teaches art and film at the Academy of Fine Arts Vienna. He made his directorial debut with the documentary short film Why make a film about these people? (1980) In 2008 he presented his film work in Buenos Aires. 2010 he shot the film Solar System in the municipality of Kolla de Tinkunaku in Salta. His most famous films include the documentaries Im Glück (Negroes) (2006), Material (2009), Gegenwart (2012) and Vaterland (2002).
Anna Sofie Hartmann was born in Nakskov, Lolland, Denmark. She studied directing at the Berlin Film and Television Academy. Her final thesis, Limbo, celebrated its premiere in 2014 at the International Film Festival San Sebastián and was screened at various other festivals. Giraffe is her second feature film.
Flora's life is no picnic
Iair Said, 2019, Arg, 65 Min, OmeU
Silence is a falling body
Agustina Comedi, 2017, Arg, 75 min, OmeU
Livingston: The man and the method + Q&A with Matías Iaccario (DoP)
Sofía Mora, 2019, Arg, 76 min, OmeU
Again once again
Romina Paula, 2019, Arg, 84 min, OmeU
Blue Boy
Manuel Abramovich, 2019, Arg, 19 min, OmeU
Light Years + Q&A with Manuel Abramovich and Alan Pauls
The Faculties +Q&A with Eloísa Soláas
Eloisa Soláas, 2019, Arg, 82 min, OmeU
Parsi + Q&A + Latinale Poetry performance with Mariano Blatt
E. Williams & M. Blatt, 2018, Arg, 23 min, OmeU
+ Opening Party with Argentine Wine, Snacks & DJ Chamigo
Invasion Berlin is possible thanks to:


Distance from Shāhganj to Gomoh is 425 kilometers. This air travel distance is equal to 264 miles.
The air travel (bird fly) shortest distance between Shāhganj and Gomoh is 425 km= 264 miles.
If you travel with an airplane (which has average speed of 560 miles) from Shahganj to Gomoh, It takes 0.47 hours to arrive.


text:
Tag: jurisdictional approaches
Finding effective ways to ensure sustainable supplies of forest-risk commodities
Shea nut processing in Burkina Faso. Photo by Ollivier Girard/CIFOR
FTA communications
Cross-sectoral jurisdictional approaches offer promise
The increased consumption and production of a range of raw material and commodities, so-called "Forest-risk commodities" such as palm oil, soy, cocoa, coffee, rubber, timber and beef, contributes significantly to global tropical deforestation and forest degradation.
As both global and domestic demand grows for such commodities, they constitute one of the biggest threats to forests, leading to tree and vegetation removal – often due to burning – biodiversity loss and the release of greenhouse gases into the atmosphere. Often their cultivation through large industrial-scale estates can also pose threats to the livelihoods of Indigenous Peoples and local communities.
How to secure the sustainable production and consumption of such commodities, without impinging on forests, is therefore a key challenge for public and private actors. But acting on commodities and value chains to reduce deforestation is complex because of several factors.
First, value chains can be very long or complex, making the link between production and consumption very distant. Second, the way production chains, logistics and markets are organized make products difficult to trace, making attribution and accountability difficult. Third, how these value chains operate within landscapes is often not controlled either at the value chain or the landscape level. How public and private actors can effectively work together in landscapes and along value chains is key to solving these problems.
Cable system to transport oil palm harvest in San Martin, Peru. Photo by Juan Carlos Huayllapuma/CIFOR
Expansion of trade in forest-risk commodities led to increased pressure from civil society organizations, consumers, international banks and shareholders of consumer goods companies to develop and implement a diverse array of instruments and tools to promote sustainable or deforestation-free sourcing, and as a way to reduce their exposure to reputational, financial and regulatory risks. Multi-stakeholder platforms and commodity roundtables also emerged, in response to criticisms of government failures.
FTA's new Working Paper "Reviewing initiatives to promote sustainable supply chains" focuses on on forest-risk commodities [PDF]
Researchers at the Center for International Forestry Research (CIFOR), France's International Cooperation Center in Agricultural Research for Development (CIRAD) and the World Wildlife Fund for Nature (WWF) through the CGIAR Research Program on Forests, Trees and Agroforestry (FTA) have conducted a comprehensive review of initiatives to promote sustainability including recent "hybrid" initiatives that involve governments at the national or subnational levels to create a better enabling environment for the private sector.
The multiplication of sustainability initiatives has also been driven by the growing complexity and diversity of conditions under which agri-food and timber supply chains operate. Private sector actors increasingly define and monitor their own sustainability performance by using certification standards or by developing their own procedures and criteria.
More recently, a discernible shift from supply-chain-based or sectoral approaches toward landscape or jurisdictional approaches has been seen as a way to meet sustainability goals. However, the growing complexity of policy regimes results in ambiguities and can lead to trade-offs between gains and losses. The findings of the FTA review suggest that many aspects of complex policy regimes are not yet well understood by policymakers, scientists or the public.
Amongst the supply-chain based and sector-based approaches, Voluntary Sustainability Standards (VSS), are market-driven mechanisms introduced to ensure that social economic and environmental sustainability issues are addressed in the production, processing and trade of agricultural and forestry commodities.
"Although VSS have been widely adopted, they have come under greater scrutiny in recent years and are often associated with high transaction costs (usually transferred to the end-consumers), the need to meet increasingly complex sustainability and legality standards, the exclusion of smallholders, the frequent lack of any premium for certified products and weaknesses in compliance," said Andrew Wardell, a principal scientist with CIFOR.
The scientific evidence on the economic, environmental and social outcomes of tropical forest certification is encouraging although regional differences do occur. Take, for example, the Forest Stewardship Council (FSC), which since the early 1990s ensures that the chain of custody for production, transformation and sales of timber complies to specific voluntary, third-party audited standards, including covering sustainable forest management and avoiding deforestation.
"There is no doubt that the FSC has achieved a great deal of progress, but it's not an unqualified success," said Marie-Gabrielle Piketty, a researcher with CIRAD and a joint author on a review of FSC in Brazil. "Like most sustainability standards, it faces the classic dilemma of balancing stringency needed to ensure the sustainability of FSC-certified forest management, while becoming more inclusive."
As a result, new public and private commitments have emerged to reduce deforestation and include initiatives based on either sectoral approaches with a focus on supply-side interventions, or mixed supply-chain and territorial approaches at the jurisdictional level. Government-led regulations can guide the private sector to ensure greater third-party accountability and reduce reputational risk.
Timber processing in Yaoundé – Cameroon. Photo by Ollivier Girard/CIFOR
Similarly, environmental non-governmental organisations (NGOs) are increasingly engaged as intermediaries to help companies address social and environmental risks in the supply chain, and to support sub-national governments in meeting their sustainability commitments.
"We need greater transparency to ensure that companies aren't just paying lip service to environmental sustainability initiatives, but that they can substantiate claims that deforestation has been reduced," Wardell said.
FTA's brief on FLEGT-like approaches for West and Central Africa Cocoa's sustainability [PDF]
To this end, the Accountability Framework initiative (Afi) developed a global disclosure system which aims to stimulate ethical supply chains by tracking progress toward eliminating deforestation and other forms of ecosystem conversion from corporate supply chains. Uptake and compliance challenges remain and Afi released a baseline for 2020 in an effort to improve disclosure for deforestation-free supply chains.
Some state-led interventions can be effective. For example, the European Union Forest Law Enforcement Governance and Trade action plan (FLEGT), restricts imports of unsustainably produced and illegal timber. The European Commission is currently exploring ways to enforce a Due Diligence based regulation for other forest-risk commodities. Nevertheless, the New York Declaration on Forests (NYDF), a voluntary public-private commitment to halve deforestation by 2020 will be missed and meeting its 2030 target of ending deforestation will require an unprecedented reduction in the rate of annual forest loss, according to a recent assessment.
Seeking solutions
Jurisdictional approaches, which align governments, businesses, non-governmental organizations, social organizations and local stakeholders in specific areas around common interests in land-use governance, are now often considered to have the most potential. They can ensure and provide incentives for sustainability compliance across a whole geographic area, a key issue which value-chains or sector-based approaches fail to address, or often only partially address given the existence of spatial leakage (when some areas in a landscape are not compliant) or sectoral leakage (when some value chains in a landscape are not covered by a sustainability scheme). Some of these initiatives have been developed around the notion of enhancing regulatory frameworks and enforcement, while others constitute partnerships for improving the uptake of good practices for a specific commodity within wider land-use planning and service provisions schemes. Others involve de-risking schemes for financial actors when they invest in forest-risk landscapes or constitute wider partnerships to advance sustainability at the jurisdictional level.
Soy beans, Santa Cuz, Bolivia. Photo by Neil Palmer / CIAT
"Some corporate actors are actively developing place-based solutions not only as a risk management strategy to delink their supply chains from deforestation, but also to benefit from longer term investments in the sustainability of the landscapes or jurisdictions on which their sourcing depends," said Pablo Pacheco, global forests lead scientist at WWF.
"We shouldn't focus only on the negative consequences associated with the expansion of forest-risk commodities, but also contribute to the development of a more positive agenda, which supports livelihoods and local people's rights, protects nature and restores forests in addition to slowing deforestation," he added.
"Trying to bring together disparate people to achieve common goals isn't easy because supply chains and jurisdictional governments have different priorities," Wardell said.
"Several teams – and some through FTA – have started to better highlight some possible impact pathways and shortcomings of jurisdictional approaches, but empirical knowledge remains incomplete," Piketty said. "Lessons from existing case studies need to be systematized."
"There's a clear need to better understand how interactions between state regulations and non-state sustainability initiatives can combine supply chain management and jurisdictional approaches to stimulate wider uptake of improved practices by smallholders," Wardell said.
"As well, determining how to evaluate impact is a key challenge, due to the many variables that come into play, thus research and science will continue to have an important role to play," he added.
This article was written by Julie Mollins.
This article was produced by the CGIAR Research Program on Forests, Trees and Agroforestry (FTA). FTA is the world's largest research for development program to enhance the role of forests, trees and agroforestry in sustainable development and food security and to address climate change. CIFOR leads FTA in partnership with ICRAF, the Alliance of Bioversity International and CIAT, CATIE, CIRAD, INBAR and TBI. FTA's work is supported by the CGIAR Trust Fund.


text:
The Development Bank of Jamaica
Home / Research / Development Finance / The Development Bank of Jamaica
Access to finance plays a crucial role in business development, sustainability and growth. However, the lack of or insufficient access to credit for medium, small and micro-enterprises (MSMEs) is widespread in developing and emerging countries. The government of Jamaica recognises the MSME sector as key to developing the Jamaican economy. Attempting to boost access to finance for micro-entrepreneurs, the Jamaican government has worked through the Development Bank of Jamaica (DBJ) to provide credit for MSMEs. This study finds that the activities of the Development Bank of Jamaica (DBJ) seem to have had a positive impact on its partner microfinance institutions and on the entrepreneurs they serve, although it is challenging to conclusively demonstrate a causal link.
The DBJ received support from the European Investment Bank under a loan signed in 2016 aiming to boost access to finance for small businesses in productive sectors. The researchers used phone interviews to collect information from staff of two microfinance institutions receiving DBJ credit and from 420 of their clients. The analysis of their feedback showed a positive relationship between the amount of credit received and firms' profits. Quantitative analysis using econometric methods designed to test for a causal link supported the results of the qualitative analysis, although it was not possible to conclusively demonstrate a causal relationship. Of the final beneficiaries interviewed, most indicated that the credit received from microfinance institutions improved their business performance. This support may have been particularly helpful during the COVID-19 pandemic, reported by 86% of firms as having negatively affected their business.
The microfinance institutions also confirmed that the DBJ's credit line helped them to expand their portfolios and sustain their operations during a highly challenging period. However, the research indicated that microcredit had less impact on profits of female entrepreneurs, younger businesses and newer clients. The DBJ may need to do more to ensure these groups derive the maximum benefit from its support.
Name of the Asset | The impact of private sector projects in Africa Studies from the EIB-GDN Program (Study from Cycle III: The Development Bank of Jamaica)
Type of Asset | Paper in the Volume: The impact of private sector projects in Africa: Studies from the EIB-GDN Program (Cycle III).
Dates | 2021
Author | Jacob Novignon
Download the Full Reports | Cycle III


text:
Unimania: I Need Your Facebook Data, Location, And Your Browsing History
Privacy protection is basically what we do, so I never get tired of stories about how unpredictable the ways of getting Facebook user data are. Cambridge Analytica might be dead, but the business of stealing users' data lives on, and this article demonstrates one more example of that.
The story begins with the recent research I conducted about fake ad blockers in the Chrome Web Store. The outcome of that research was that I received dozens of questions about whether this or that extension is safe to use. This made me take a deeper look into the most popular Chrome extensions, but even so, I had no idea at that time where this investigation was going to lead me. In fact, it exposed to me a huge spyware campaign that utilizes popular Android apps and Chrome extensions to steal Facebook data and the browsing histories of millions of users.
Suspicious Chrome extensions
I conducted an automated scan of all publicly available Chrome extensions. This scan flagged quite a few different privacy issues, which I will address in more specific detail in a forthcoming post.
One of the issues that immediately caught my attention, as I noticed suspicious requests made to various Facebook domains.
Meet these nasty Chrome extensions, currently in use by an estimated 420,000 users:
Video Downloader For Facebook (170K+ users, archived copy)
Album & Photo Manager For Facebook (92K+ users, archived copy)
PDF Merge - PDF Files Merger (125K+ users, archived copy)
Pixcam - Webcam Effects (31K+ users, archived copy)
So, what is wrong with them? Let's dive into the details.
The inscrutable ways of your Facebook data
If you are logged into Facebook, these spyware extensions will scrape all your data immediately after the browser startup:
They even try to parse your purchase history! This alone is enough for these extensions to be booted from the Chrome Web Store.
All this data is then collected and sent to the um-public-panel-prod.s3.amazonaws.com domain, which is a named Amazon S3 instance rented by the spyware authors.
An alarming amount of data was being sent over to that server including all the Facebook "interests". In order to test this, I had to use my own account, so you can observe a piece of my own data, which I don't mind sharing with you.
As you can see on the screenshot, they do not send a plain FB identifier; instead, they send it in a hashed form. I imagine that they think that this practice allow the spyware group to say that this data has been made "anonymous."
"Dear spyware developers, come on! Do you really believe that hashing a numeric value with a static salt cannot be decoded?"
SHA1("sME9Azj8G28Y" + userId) = e5b1149132aab56eba55168d0b0c7a095ab066f2
By the way, dear reader, here is a contest for you: the first one to crack the hash and discover my FB ID gets a free AdGuard license. Write your answer in the comments. No cheating, please :)
But hey, what is the good of having this data without the spyware company also knowing what exactly you do on the Internet? Wouldn't it be so much better if they knew what exact posts you read or what exact ads you see? Well, no worries, that's exactly what they do: they siphon information about all of the posts, sponsored posts, tweets, the YouTube videos and ads you see or interact with, along with a poorly hashed user ID and totally UN-hashed location data.
Meet Unimania Inc.
Who is behind this activity? The only thing I knew about the authors was the link to their extensions' privacy policy: http://privacy.unimania.xyz/privacy_policy.pdf (here's a copy, just in case). As usual, there's a lot of confusing legalese about how you provide them with consent without doing anything, how seriously they care about your privacy, how strongly your data is made (or kept) anonymous and how it can in no way can be traced back to you as it is protected by a powerful mathematical "hash function."
Fortunately, it is also pretty transparent about what exact information about you is collected:
What Information We Collect and How We Collect It. In general, the Information we collect includes nonpersonally identifiable demographic and psychographic data as well as sponsored campaigns, advertisements or posts that target you directly or that have been shared with you.
Also, I found their EULA (copy) from which I learned that the company name is "Unimania, Inc." and they claim to be located in Tel-Aviv, Israel. However, I could not find any information on this company in the Israeli company register.
My story might have ended here, but there was a sentence in the privacy policy that caught my attention:
Background. You have been directed to this Privacy Policy from a separate and independent third party Google Chrome Extension or Mobile Software Application ("Third Party Software").
Mobile Software Application
"Mobile Software Application!" I said to myself.
So this was not just a matter limited to Chrome extensions, and I realized that I needed to continue my investigation. To this end, some good news was that we already had some data collected while preparing a study on mobile apps tracking and I could make use of it and query it right away.
That's how I found one particular app that was connecting to the Unimania servers. This was an alternative Facebook client called "Fast - Social App" with a record of more than 10,000,000 installs according to Google Play. The app developer does not bother to hide that fact and mentions Unimania in the privacy policy:
Scanning this developer apps' traffic confirmed that "Fast-Social App" transfers pretty much the same data as the Chrome extensions do, and to the same Unimania servers. I also found out that "Fast Lite - Social App + Twitter" (1,000,000+ installs) also does the same thing.
Besides that, I found a couple more apps that mention Unimania in their privacy policies. I cannot confirm that they are still leaking user data, but I can assume they were doing so in the past; otherwise, why would they mention it?
PhotoMania - Photo Effects (1,000,000+ installs, policy).
All In One Social Media "Fast" (100,000+ installs, policy)
Finally, it seems that Unimania is about to launch their own "products":
OmniSocial - a mobile app
Who's following me? - a browser extension
Obviously, none of these apps describe this behavior in the app description; neither do they have an "in-app disclosure" as required by Google. I must admit that the Google Play Developer Policies look solid, and so they are likely not the reason of why the privacy of Android apps is in such a sad state. The problem is that these policies are not enforced, hence most of the app developers simply ignore them.
Congratulations for reading through such a long article (or for skipping all the boring technical details and jumping straight to the summary)!
Let's summarize what we discovered.
A huge spyware campaign engaging some Mobile Apps and Chrome extensions in stealing users' Facebook data and spying on their social network browsing history. The list of the information collected by these apps and extensions includes the user's Facebook profile data including demographics and the list of user interests. Also, they were collecting the users' browsing history including all the Facebook regular and sponsored posts, tweets, YouTube videos and ads.
Four spyware Chrome extensions with aggegrated users count of more than 400,000 users.
Two Android apps with total installs count of more than 11,000,000 selling out their users data.
The campaign is run by a supposed Israeli company named "Unimania, Inc." Unfortunately, I was not able to trace this further back to Unimania's owners or affiliates and I can't say who is profiting from the data.
I've reported all the discovered apps and extensions to Google and I hope they take corrective measures soon.
The answer to this question is both very simple and very difficult.
When installing anything on your device or browser, follow these rules:
Read the privacy policy. It is not useless - everything discovered in this case was mentioned in the privacy policies.
Never ever install anything made by a developer you don't trust. Do your homework, find out who the developer is and decide for yourself if they are trustworthy.
Also, all Unimania domains have now been added to the "AdGuard Spyware filter" and will be blocked automatically if you have it enabled in any of our AdGuard products, or if you use AdGuard DNS. Unfortunately, there is a browser limitation that prevents an extension from controlling requests made by other extensions so using the AdGuard Chrome extension or uBlock Origin may not be enough, even if you have the "AdGuard Spyware filter" enabled.
Alternatively, you can block these three domains by adding them to the "hosts" file:
um-public-panel-prod.s3.amazonaws.com
collection-endpoint-prod.herokuapp.com
collection-endpoint-staging.herokuapp.com
UPD (Jun 3): The Android apps mentioned in the article are no more available on Google Play.
UPD (Jun 5): The Chrome extensions are finally taken down from the Chrome Web Store.
Andrey Meshkov on AdGuard Research Industry News
Andrey Meshkov on AdGuard for Android The More You Know
In-Depth Features Overview: AdGuard for Android
November 2018 update: another, updated version of AdGuard for Android features review has been published in our Blog, we recommend checking it out!
Andrey Meshkov on AdGuard News AdGuard for Android
Goodbye, Amazon
A few days ago Amazon informed us that AdGuard for Android was suspended on the Amazon AppStore due to their content policy violation. The said policy repeats Google Play store policies practically word to word:


text:
Does Mars have a SUPERVOLCANO? Researchers spot giant crater they say could be 'Red Planet's Yellowstone'
Vast crater called Siloe Patera in the north of Mars measures 40x30km, and dips as low as 1750m
Experts believe it was caused by massive volcanic explosions more than three billion years ago
The discovery could be the red planet's equivalent of the giant Yellowstone volcano on Earth
By Mark Prigg For Dailymail.com
Scientists have spotted what they believe could be the remains of a vast supervolcano on the Martian surface.
The vast crater measures around 40x30km, and at its deepest point, the crater dips as low as 1750m below the surrounding plains.
Experts say the discovery could be the red planet's equivalent of the giant Yellowstone volcano on Earth.
The vast crater measures around 40x30km, and at its deepest point, the crater dips as low as 1750m below the surrounding plains. In this 3D view, numerous small channels and gullies are seen, cut into the walls and partly flowing into the depression.
WHAT MAKES A SUPERVOLCANO?
On Earth, a supervolcano is defined as a volcano that can produce at least 1000 cubic kilometres of volcanic materials in an eruption – thousands of times larger than 'normal' volcanic eruptions and powerful enough to alter global climate.
An example is the Yellowstone caldera in the United States.
Supervolcanoes occur when magma is trapped below the surface, leading to a huge built up in pressure.
They erupt suddenly in violent explosions and thus do not 'grow' sloping mountains like Olympus Mons.
The images were taken by the high-resolution stereo camera on ESA's Mars Express on 26 November 2014, and focus on the Siloe Patera feature in the Arabia Terra region in the north of Mars.
Crater-like features which could be the footprints of the cataclysmic events have been discovered at several sites in the Martian northern highlands.
Scientists believe they were left behind by massive volcanic explosions that blasted ash and lava out of the planet's surface more than three billion years ago.
The new area, called Siloe Patera, comprises two large nested craters, close to the centre of the main colour image.
The outer rim measures about 40 x 30 km and, at its deepest point, the crater dips as low as 1750m below the surrounding plains.
'Scientists believe that Siloe Patera and a number of similar features in Arabia Terra are calderas, the collapsed centres of volcanoes,' said the European Space Agency.
'But not just any volcanoes: these are thought to be martian supervolcanoes.'
Is the thunder god vine the key to beating obesity? Ancient... Bionic lens could give you SUPER SIGHT: Implant promises... Nasa spots most luminous galaxy in the universe - shining... Is the world heading towards a post-human future? Sir Martin... Air Force bosses reveal they want hypersonic missiles within... Pimp my off-road ride: £200,000 stretch Land Rover Defender...
That makes them hard to identify, especially millions or billions of years later.
Impact craters are common in the area, and examples can be found in the two side-by-side craters just above Siloe Patera, and in the large crater at the far right of the scene
'A number of irregularly shaped craters have been detected in the Arabia Terra region that could represent a family of ancient supervolcano calderas,' says ESA.
'Siloe Patera is one such example. It is characterised by two depressions with steep-sided walls, collapse features and low topographic relief. '
The two depressions could even represent two different eruptive episodes due to collapse as the underlying magma pressure was released, or as the magma chamber migrated below the surface, experts say.
By comparison, impact craters include features such as a central peak, uplifted crater rims and ejecta blankets surrounding them.
Deep learning algorithm cam solve Rubik's cube in just 20 moves
International Space Station is spotted from Edmonds Beach
Skoda show new app that lets you charge your kids fares for journeys
Fascinating video shows last minutes of moon landing trajectory
Meet the robo-bike messenger: Startup unveils autonomous delivery bot
70-year-old retired BA pilot flies 'world's smallest plane'
Chip allowing brain-computer communication to come by 2020
Mic drop: Temporary chairman slams gravel and 'abandons' post
Man is sent flying after being sandwiched by two bulls at festival
Terrifying moment rafters dumped overboard by massive waterfall
Christopher Eccleston rants about littering in Heaton Park
Impact craters are common in the area, and examples can be found in the two side-by-side craters just above Siloe Patera, and in the large crater at the far right of the scene.
These craters each exhibit a central peak, terraced crater walls and a surrounding ejecta blanket.
An impact crater with depth to diameter ratio comparable to Siloe Patera would be expected to show these features – unless perhaps the crater had undergone extensive erosion or modification – but it does not.
Looking in more detail at Siloe Patera, as shown in the perspective view, numerous small channels and gullies are seen, cut into the walls and partly flowing into the depression.
A prominent valley-like feature is present in the foreground, which cuts into the depression on one side.
The valley, along with numerous other small channels in the immediate vicinity, appears to cut through material to the lower left of the craters that could be either ejecta from an impact or volcanic flow.
If it is impact ejecta, then its asymmetric distribution could be explained either by an oblique meteoroid impact or by selective erosion of the blanket.
Alternatively, it could be the product of lava flow from this part of the caldera.
Arabia Terra is already known to comprise plains of fine-grained, layered sulphate- and clay-bearing materials.
The source of the material has been much debated, but lava and dust from eruptions could be the explanation.
Without any doubt, more data and high-resolution coverage – and even in situ sampling – would be necessary to resolve this mystery.
And since the gases released in supervolcano eruptions could have had significant effects on the martian climate, this is a topic of great interest.
Mars SUPERVOLCANO spotted that could be Red Planet's Yellowstone


A friend introduced me to an HR manager with Hoechst Celanese. I convinced him to give me an interview. That first job as a lab technician in the Bishop West Lab was tough; shift work, long commute, surely I would not last long.
A year passed, I began looking for other opportunities both within and outside of the company. I found my next job as a purchasing agent still with Hoechst Celanese. I watched as Hoechst divested. We were now Celanese! What does this mean? How did it impact me? I kept thinking "Don't worry; this is only a short term gig" I absorbed as much knowledge as possible, convinced I would need it when I left.
Wow, 10 years goes by fast. I am convinced and had been for several years that Celanese was the place for me to grow professionally. This was no short term gig, but rather a nice career.
I then move to IT for the opportunity to lead the implementation of an SAP module. SAP's footprint continued to grow and before long I was in Dallas working to consolidate the entire company onto a single SAP instance. I learned the basics of how Celanese is structured and helped to simplify processes.
My role transformed from technical into a project management role and business relationship management. I now had the chance to help direct and manage the role of IT within Celanese. I was able see our facilities and functions across the world. I begin to appreciate how BIG the company was and how it operated on a much larger scale.
January will be 25 years, and I am still here. My wife says I bleed Orange. Celanese has provided me with an amazing career and friendships around the world. Much has changed since I first started, and I am grateful for all the opportunities. I am excited to be in my current role and wonder where it might lead next. Stay tuned!
Thanks for sharing this, Adolph. Great article!
I continue to be amazed at the length of careers that so many have here at Celanese. What a great place for opportunity and growth! And a terrific place to exchange ideas, learn from others, support the community and even have some fun from time to time. Wonderful article, Adolph!!! Thanks for sharing!
Wow – what a great testimony! Congratulations on the upcoming milestone.
You have definitely made a career at Celanese and have done a great job for the company. I have seen you put in many extra hours and it has paid off. Congratulations on your 25 years with the company.
Wa,25 years! Adolph, good job! thanks for sharing!
Wow, that"s a very encouraging note!
Adolph, great and interesting story 😉 Thank you!
I love it…congratulations. Now for the unfolding of the next 25 years.
Celanese is lucky to have you!
Congrats Adolph! You do bleed orange. Looking forward to your next post.
Really cool story! Loved hearing about your journey here at Celanese. Looking forward to more blogs from you on where you will land next.
Time certainly flies, just a few weeks, err, months, I mean years ago I was working for you.
Great recap of your career! I still remember the day I started in Bishop and met you. That was almost 16 years ago. I was in Vernon Pratt"s office and you poked your head in to say hello. That means I"ve worked with you longer than i have with anyone else.
John, those were great time back in Bishop. have enjoyed knowing you & Jeanette all theses years.


Leo Vegas have launched a bunch of enhancements to their mobile casino, many of them focused on their mobile live games.
The new features are exclusive to LeoVegas. They are not provider developments available across a number of casinos. Indeed, Leo Vegas have applied the new features across the full (and large) range of tables and platforms that they offer in their mobile casino, all of them aimed at making it easier for players to select and play their favourite live tables on their phones or tablets.
The folk at Leo Vegas are pretty excited with what they've managed to achieve here, and understandably so. Certainly won't do their claims to being the King of Mobile any harm.
Here are some of the key enhancements.
For mobile live blackjack players….
Hands per player allowed ( VIP aimed feature) .
Roulette fans get table limits and real time data also in the form of latest roulette numbers. Tables opening later are also presented.
Then there's a long list of enhancements across all game categories. While playing any of the Evolution Gaming tables, you can now make a deposit without leaving your seat. Favourite and latest played tables are quickly accessible via My Games and Quick Launch features.
And maintaining ease of navigation around what is now a very large list of available tables has obviously been front of mind with thumb-optimised access to a slick bottom nav provided.
Here's a summary of the major enhancements.
The guys at Leo Vegas have put together a nice video demo of their live for mobile enhancements.


text:
package jme3tools.optimize;

import com.jme3.material.Material;
import com.jme3.math.Matrix4f;
import com.jme3.math.Transform;
import com.jme3.math.Vector3f;
import com.jme3.scene.Geometry;
import com.jme3.scene.Mesh;
import com.jme3.scene.Mesh.Mode;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;
import com.jme3.scene.VertexBuffer;
import com.jme3.scene.VertexBuffer.Format;
import com.jme3.scene.VertexBuffer.Type;
import com.jme3.scene.VertexBuffer.Usage;
import com.jme3.scene.mesh.IndexBuffer;
import com.jme3.scene.mesh.VirtualIndexBuffer;
import com.jme3.scene.mesh.WrappedIndexBuffer;
import com.jme3.util.BufferUtils;
import com.jme3.util.IntMap.Entry;
import java.nio.Buffer;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class GeometryBatchFactory {

    private static void doTransformVerts(FloatBuffer inBuf, int offset, FloatBuffer outBuf, Matrix4f transform) {
        Vector3f pos = new Vector3f();

        // offset is given in element units
        // convert to be in component units
        offset *= 3;

        for (int i = 0; i < inBuf.capacity() / 3; i++) {
            pos.x = inBuf.get(i * 3 + 0);
            pos.y = inBuf.get(i * 3 + 1);
            pos.z = inBuf.get(i * 3 + 2);

            transform.mult(pos, pos);

            outBuf.put(offset + i * 3 + 0, pos.x);
            outBuf.put(offset + i * 3 + 1, pos.y);
            outBuf.put(offset + i * 3 + 2, pos.z);
        }
    }

    private static void doTransformNorms(FloatBuffer inBuf, int offset, FloatBuffer outBuf, Matrix4f transform) {
        Vector3f norm = new Vector3f();

        // offset is given in element units
        // convert to be in component units
        offset *= 3;

        for (int i = 0; i < inBuf.capacity() / 3; i++) {
            norm.x = inBuf.get(i * 3 + 0);
            norm.y = inBuf.get(i * 3 + 1);
            norm.z = inBuf.get(i * 3 + 2);

            transform.multNormal(norm, norm);

            outBuf.put(offset + i * 3 + 0, norm.x);
            outBuf.put(offset + i * 3 + 1, norm.y);
            outBuf.put(offset + i * 3 + 2, norm.z);
        }
    }

    /**
     * Merges all geometries in the collection into
     * the output mesh. Does not take into account materials.
     *
     * @param geometries
     * @param outMesh
     */
    public static void mergeGeometries(Collection<Geometry> geometries, Mesh outMesh) {
        int[] compsForBuf = new int[VertexBuffer.Type.values().length];
        Format[] formatForBuf = new Format[compsForBuf.length];

        int totalVerts = 0;
        int totalTris = 0;
        int totalLodLevels = 0;

        Mode mode = null;
        for (Geometry geom : geometries) {
            totalVerts += geom.getVertexCount();
            totalTris += geom.getTriangleCount();
            totalLodLevels = Math.min(totalLodLevels, geom.getMesh().getNumLodLevels());

            Mode listMode;
            int components;
            switch (geom.getMesh().getMode()) {
                case Points:
                    listMode = Mode.Points;
                    components = 1;
                    break;
                case LineLoop:
                case LineStrip:
                case Lines:
                    listMode = Mode.Lines;
                    components = 2;
                    break;
                case TriangleFan:
                case TriangleStrip:
                case Triangles:
                    listMode = Mode.Triangles;
                    components = 3;
                    break;
                default:
                    throw new UnsupportedOperationException();
            }

            for (Entry<VertexBuffer> entry : geom.getMesh().getBuffers()) {
                compsForBuf[entry.getKey()] = entry.getValue().getNumComponents();
                formatForBuf[entry.getKey()] = entry.getValue().getFormat();
            }

            if (mode != null && mode != listMode) {
                throw new UnsupportedOperationException("Cannot combine different"
                        + " primitive types: " + mode + " != " + listMode);
            }
            mode = listMode;
            compsForBuf[Type.Index.ordinal()] = components;
        }

        outMesh.setMode(mode);
        if (totalVerts >= 65536) {
            // make sure we create an UnsignedInt buffer so
            // we can fit all of the meshes
            formatForBuf[Type.Index.ordinal()] = Format.UnsignedInt;
        } else {
            formatForBuf[Type.Index.ordinal()] = Format.UnsignedShort;
        }

        // generate output buffers based on retrieved info
        for (int i = 0; i < compsForBuf.length; i++) {
            if (compsForBuf[i] == 0) {
                continue;
            }

            Buffer data;
            if (i == Type.Index.ordinal()) {
                data = VertexBuffer.createBuffer(formatForBuf[i], compsForBuf[i], totalTris);
            } else {
                data = VertexBuffer.createBuffer(formatForBuf[i], compsForBuf[i], totalVerts);
            }

            VertexBuffer vb = new VertexBuffer(Type.values()[i]);
            vb.setupData(Usage.Static, compsForBuf[i], formatForBuf[i], data);
            outMesh.setBuffer(vb);
        }

        int globalVertIndex = 0;
        int globalTriIndex = 0;

        for (Geometry geom : geometries) {
            Mesh inMesh = geom.getMesh();
            geom.computeWorldMatrix();
            Matrix4f worldMatrix = geom.getWorldMatrix();

            int geomVertCount = inMesh.getVertexCount();
            int geomTriCount = inMesh.getTriangleCount();

            for (int bufType = 0; bufType < compsForBuf.length; bufType++) {
                VertexBuffer inBuf = inMesh.getBuffer(Type.values()[bufType]);
                VertexBuffer outBuf = outMesh.getBuffer(Type.values()[bufType]);

                if (outBuf == null) {
                    continue;
                }

                if (Type.Index.ordinal() == bufType) {
                    int components = compsForBuf[bufType];

                    IndexBuffer inIdx = inMesh.getIndicesAsList();
                    IndexBuffer outIdx = outMesh.getIndexBuffer();

                    for (int tri = 0; tri < geomTriCount; tri++) {
                        for (int comp = 0; comp < components; comp++) {
                            int idx = inIdx.get(tri * components + comp) + globalVertIndex;
                            outIdx.put((globalTriIndex + tri) * components + comp, idx);
                        }
                    }
                } else if (Type.Position.ordinal() == bufType) {
                    FloatBuffer inPos = (FloatBuffer) inBuf.getData();
                    FloatBuffer outPos = (FloatBuffer) outBuf.getData();
                    doTransformVerts(inPos, globalVertIndex, outPos, worldMatrix);
                } else if (Type.Normal.ordinal() == bufType || Type.Tangent.ordinal() == bufType) {
                    FloatBuffer inPos = (FloatBuffer) inBuf.getData();
                    FloatBuffer outPos = (FloatBuffer) outBuf.getData();
                    doTransformNorms(inPos, globalVertIndex, outPos, worldMatrix);
                } else {
                    for (int vert = 0; vert < geomVertCount; vert++) {
                        int curGlobalVertIndex = globalVertIndex + vert;
                        inBuf.copyElement(vert, outBuf, curGlobalVertIndex);
                    }
                }
            }

            globalVertIndex += geomVertCount;
            globalTriIndex += geomTriCount;
        }
    }

    public static void makeLods(Collection<Geometry> geometries, Mesh outMesh) {
        int lodLevels = 0;
        int[] lodSize = null;
        int index = 0;
        for (Geometry g : geometries) {
            if (lodLevels == 0) {
                lodLevels = g.getMesh().getNumLodLevels();
            }
            if (lodSize == null) {
                lodSize = new int[lodLevels];
            }
            for (int i = 0; i < lodLevels; i++) {
                lodSize[i] += g.getMesh().getLodLevel(i).getData().capacity();
                //if( i == 0) System.out.println(index + " " +lodSize[i]);
            }
            index++;
        }
        int[][] lodData = new int[lodLevels][];
        for (int i = 0; i < lodLevels; i++) {
            lodData[i] = new int[lodSize[i]];
        }
        VertexBuffer[] lods = new VertexBuffer[lodLevels];
        int bufferPos[] = new int[lodLevels];
        //int index = 0;
        int numOfVertices = 0;
        int curGeom = 0;
        for (Geometry g : geometries) {
            if (numOfVertices == 0) {
                numOfVertices = g.getVertexCount();
            }
            for (int i = 0; i < lodLevels; i++) {
                ShortBuffer buffer = (ShortBuffer) g.getMesh().getLodLevel(i).getData();
                buffer.rewind();
                //System.out.println("buffer: " + buffer.capacity() + " limit: " + lodSize[i] + " " + index);
                for (int j = 0; j < buffer.capacity(); j++) {
                    lodData[i][bufferPos[i] + j] = buffer.get() + numOfVertices * curGeom;
                    //bufferPos[i]++;
                }
                bufferPos[i] += buffer.capacity();
            }
            curGeom++;
        }
        for (int i = 0; i < lodLevels; i++) {
            lods[i] = new VertexBuffer(Type.Index);
            lods[i].setupData(Usage.Dynamic, 1, Format.UnsignedInt, BufferUtils.createIntBuffer(lodData[i]));
        }
        System.out.println(lods.length);
        outMesh.setLodLevels(lods);
    }

    public static List<Geometry> makeBatches(Collection<Geometry> geometries) {
        return makeBatches(geometries, false);
    }

    /**
     * Batches a collection of Geometries so that all with the same material get combined.
     * @param geometries The Geometries to combine
     * @return A List of newly created Geometries, each with a  distinct material
     */
    public static List<Geometry> makeBatches(Collection<Geometry> geometries, boolean useLods) {
        ArrayList<Geometry> retVal = new ArrayList<Geometry>();
        HashMap<Material, List<Geometry>> matToGeom = new HashMap<Material, List<Geometry>>();

        for (Geometry geom : geometries) {
            List<Geometry> outList = matToGeom.get(geom.getMaterial());
            if (outList == null) {
                outList = new ArrayList<Geometry>();
                matToGeom.put(geom.getMaterial(), outList);
            }
            outList.add(geom);
        }

        int batchNum = 0;
        for (Map.Entry<Material, List<Geometry>> entry : matToGeom.entrySet()) {
            Material mat = entry.getKey();
            List<Geometry> geomsForMat = entry.getValue();
            Mesh mesh = new Mesh();
            mergeGeometries(geomsForMat, mesh);
            // lods
            if (useLods) {
                makeLods(geomsForMat, mesh);
            }
            mesh.updateCounts();
            mesh.updateBound();

            Geometry out = new Geometry("batch[" + (batchNum++) + "]", mesh);
            out.setMaterial(mat);
            retVal.add(out);
        }

        return retVal;
    }

    private static void gatherGeoms(Spatial scene, List<Geometry> geoms) {
        if (scene instanceof Node) {
            Node node = (Node) scene;
            for (Spatial child : node.getChildren()) {
                gatherGeoms(child, geoms);
            }
        } else if (scene instanceof Geometry) {
            geoms.add((Geometry) scene);
        }
    }

    /**
     * Optimizes a scene by combining Geometry with the same material.
     * All Geometries found in the scene are detached from their parent and
     * a new Node containing the optimized Geometries is attached.
     * @param scene The scene to optimize
     * @return The newly created optimized geometries attached to a node
     */
    public static Spatial optimize(Node scene) {
        return optimize(scene, false);
    }

    /**
     * Optimizes a scene by combining Geometry with the same material.
     * All Geometries found in the scene are detached from their parent and
     * a new Node containing the optimized Geometries is attached.
     * @param scene The scene to optimize
     * @param useLods true if you want the resulting geometry to keep lod information
     * @return The newly created optimized geometries attached to a node
     */
    public static Node optimize(Node scene, boolean useLods) {
        ArrayList<Geometry> geoms = new ArrayList<Geometry>();

        gatherGeoms(scene, geoms);

        List<Geometry> batchedGeoms = makeBatches(geoms, useLods);
        for (Geometry geom : batchedGeoms) {
            scene.attachChild(geom);
        }

        for (Iterator<Geometry> it = geoms.iterator(); it.hasNext();) {
            Geometry geometry = it.next();
            geometry.removeFromParent();
        }

        // Since the scene is returned unaltered the transform must be reset
        scene.setLocalTransform(Transform.IDENTITY);

        return scene;
    }

    public static void printMesh(Mesh mesh) {
        for (int bufType = 0; bufType < Type.values().length; bufType++) {
            VertexBuffer outBuf = mesh.getBuffer(Type.values()[bufType]);
            if (outBuf == null) {
                continue;
            }

            System.out.println(outBuf.getBufferType() + ": ");
            for (int vert = 0; vert < outBuf.getNumElements(); vert++) {
                String str = "[";
                for (int comp = 0; comp < outBuf.getNumComponents(); comp++) {
                    Object val = outBuf.getElementComponent(vert, comp);
                    outBuf.setElementComponent(vert, comp, val);
                    val = outBuf.getElementComponent(vert, comp);
                    str += val;
                    if (comp != outBuf.getNumComponents() - 1) {
                        str += ", ";
                    }
                }
                str += "]";
                System.out.println(str);
            }
            System.out.println("------");
        }
    }

    public static void main(String[] args) {
        Mesh mesh = new Mesh();
        mesh.setBuffer(Type.Position, 3, new float[]{
                    0, 0, 0,
                    1, 0, 0,
                    1, 1, 0,
                    0, 1, 0
                });
        mesh.setBuffer(Type.Index, 2, new short[]{
                    0, 1,
                    1, 2,
                    2, 3,
                    3, 0
                });

        Geometry g1 = new Geometry("g1", mesh);

        ArrayList<Geometry> geoms = new ArrayList<Geometry>();
        geoms.add(g1);

        Mesh outMesh = new Mesh();
        mergeGeometries(geoms, outMesh);
        printMesh(outMesh);
    }
}

redpajama_set_name: RedPajamaGithub


The official count day for students enrolled in school was last Friday. Our student enrollment is higher than we projected. Because of these increased numbers, on Sept. 17th, we will be leveling classes. Many students will have a new schedule. We have added additional classes to reduce class sizes. Efforts were made to allow students to keep their same teachers, but this isn't always possible. Schedule changes will not be changed back to the old schedule.
Thank you for understanding and helping your child understand why this is necessary. We want to provide the best learning environment possible for your child.


The name Volunteers of America was selected when the organization was founded 122 years ago. It signified that the organization was comprised of people voluntarily choosing to help others. In those days, a volunteer was anyone who was committed to a mission or cause. Since its earliest days, when Volunteers of America brought food, medicine and comfort to people not served by other charities, volunteering has been instrumental in every aspect of the organization's ministry of service.
Today, our services are delivered through a partnership of professional staff, volunteers and other community supporters.


Mecklenburg Audubon is dedicated to environmental education. Through its monthly meetings and special classes it a wide variety of learning activities for nature lovers of all ages. MAS is especially proud of its activities with K-12 children through, especially its sponsorship of 35 Audubon Adventure Classes.
MAS also helped start a nature reading program at Winterfield Elementary School by purchasing books for the classrooms. Several members volunteer to read the storie to the children and then take them out into Evergreen Nature Preserve for a follow-up nature walk.
Below Mecklenburg Audubon board members Larry and Louise Barden help students from Eastway Middle School explore near by Evergreen Nature Preserve during the Great Backyard Bird Count.


We are looking to hire Certified Nursing Assistants who are well rounded and willing to work in Skilled Nursing Facilities and In Home Care. New Grads are invited to apply as well. Job duties require the knowledge of personal care, assisted daily living skills, grooming, etc.


text:
10.02.2006 Football News
Stand up and be counted Disciplinary Committee!
(A GNA Feature by Veronica Commey)
Accra, Feb 10, GNA - "Let the cowards disperse and the bold stand up to be counted for the battle is not for the weak nor the faint in heart" - VC.
I read the findings of the Disciplinary Committee of the Ghana Football Association (GFA) on the match-fixing allegation levelled against Hearts of Oak and Heart of Lions by Kumasi Asante Kotoko with great dismay.
It is as though I read it every minute, because my heart wrecks for the passion of the nation. To say I was let down by the findings, is stating the obvious.
One could easily feel tempted to conclude that some people might remain untouchable forever whilst the fact remains that "the first class citizens" and the rest still exist.
Its hard to comprehend what must have informed the Committee's decision to exonerate the accused with the excuse of its inability to find the persons behind the said recordings Kotoko presented and yet failed to reprimand the bearer(s) who refused to produce the witness who prior to the hearing made all to believe he/she was ready to stand by the tape.
Excuses such as Kotoko's failure to identify the faces behind the recordings and produce the "witness because he/she feared for his/her life" is the lousiest ever heard.
The Committee's unbelievable boldness to suggest it was irrelevant to hunt for the supposed witness who claimed to have recorded the meeting between Hearts' Thomas Okine and Lions' Victor Ahiakpor at all cost, if indeed they plan to rid soccer of corruption, as often purported generates more questions than answers. For the Committee to have relied only on officials of Kotoko to produce the faces behind those voices or otherwise is the biggest joke of the century!
Where was the mechanism desired to follow the issue with a forensic eye as promised?
How could the Committee fall for a lame excuse like the "witness feared for his/her life' hence the refusal to testify, leaving the informant and the supposed witness off the hook? For wasting the time of the Committee alone, the informant should have been punished without relegating his refusal and to relegate the witness to the background!
The findings lack the substance - which explains how the Committee could have convinced itself that wrong informants are left unpunished when it is evident they have lots to hide.
Those Kotoko officials who out of cowardice turned around to claim they did not tag the duo as the faces behind the voices though an earlier circular from their outfit to the media suggested so, obviously didn't make those allegations in a vacuum.
And to have wasted everybody's time by staying economical with the truth when it mattered most must not escape the people's wrath in the name of those pale excuses.
Was it not the same inconsistency that cost Real Tamale United's Nurudeen Wemah?, that ensured the player received a half season ban because the same Committee concluded he lied by claiming he was under duress to make those serious match-fixing allegations against the Premiership Lords?
Was the poor boy sacrificed because he does not belong to the self-styled bigger clubs?
The Committee's verdict has unnecessarily deepened the mistrust surrounding its ability to prosecute the bigger clubs without fear or favour.
Their actions visibly depict the assumption that it lacks the balls to punish the "big boys" when the need be and only bully the weak as though to suggest that they have the teeth to bite when provoked. The clarion cry must no longer centre on an improved game, but also underscore the relevance in strengthening administrational structures, ridding off of the cowards and admitting the courageous for the good of the game.
Charity, they say begins at home and the Committee's conclusion must undisputedly present the Kwasi Nyantakyie's Federation loads to worry about with the season in sight as we pray for proper planning and development of the passion of the nation in a non-partisan and positive way. GNA


How can we help you? Pat is ready to assist you with all your design and drafting necessities.
Check out the galleries below for a few samples of the different types of services that we provide!
See your commercial and residential projects coming alive with professional renderings, allowing you to see how your final project looks before it's built!
You can also use these renderings in your advertisements, brochures, websites, etc.
Or continue below for more!
Preview, document and follow the different stages of the construction using the multiple views and tools (elevations, cross sections, top views, etc).
You'll be able to try different materials, styles and options on your project, allowing you to visualize and customize your design as well as save money by detecting the project's issues before the real construction begins.
Bring your ideas to life and analyze the design and layout of your apartment, house, or even individual rooms.
We provide 3D images and virtual tours of your project, enabling you to customize your project, materials, colors, or constructive elements, as well as detect design interferences.
We will draft the plans and documents for construction, design projects as well as permits.
We offer 2D and 3D drafting services for homeowners and professionals: floor plans, elevations, cross sections, as well as framing and constructive details. All our services are professionally developed and include Pat's personal assistance to install the files and/or to start the file operation.
Visualize and compare how your house will look before starting the project! With one picture of an existing property, we can build on it using Punch.
Drag the slider to see how the house looked originally, and after, with the renovations!
Add landscaping to an existing house using a picture. Visualize how landscaping and additions to your home will look like.
It is not uncommon that you finish your design, but the roof doesn't fit, the topography doesn't look accurate, or the levels look wrong. Or perhaps, something is not looking as you imagined, but you don't know how to fix these issues. Don't worry, we can fix your file using the same program and version that you use.
Training Services: we offer one-on-one training services independently of your location, using Skype. The sessions can be for learning the entire program, by subject, by project, or let us know your design necessities.
No job is too big or too small for us! No matter where you are located, let us know what you need help with, and we'll assist you right away!
About Our Fees: our services are usually inexpensive. As each project is different from the other, we calculate our fees on a case-by-case basis. Contact Pat using the button below to send your files, sketches, pictures, or design necessities. Patricia will answer on the same day sending you a proposal, with several alternatives to choose, so you can select among the different options and fees.


Recon Jet Pro product spot created for Intel.
Digital Cave collaborated with Brain Xchange and Recon Instruments.
Recon Instruments, an Intel company, was founded in 2008 and is the world leader in smart eyewear technology for sports and high-intensity environments. Recon's award-winning technology is backed by an extensive patent portfolio and integrates high-contrast displays with state-of-the-art computing platforms and sensor suites.