text:
Home > All news > 'Historic agreement' signed by Sudan govt, armed groups in Juba
'Historic agreement' signed by Sudan govt, armed groups in Juba
September 1 - 2020 JUBA
Lt Gen Mohamed Hamadan 'Hemeti', Deputy President of the Sovereign Council, and Commander-in-Chief of the paramilitary Rapid Support Forces (left) applauds as Chairman of Sudan's Sovereign Council Lt Gen Abdelfattah El Burhan, South Sudan President Salva Kiir, and Sudan's Prime Minister Abdallah Hamdok, display copies of the agreement (RD correspondent)
The Sudanese government and the Sudan Revolutionary Front rebel alliance initialled a comprehensive peace agreement in the South Sudan capital of Juba yesterday. The agreement includes eight protocols for the five tracks (Darfur, the Two Areas, central Sudan, eastern Sudan, and northern Sudan) that have been the subject of a year's intensive negotiations.
The accord heralds the start of a transitional period of three years, effective from the date of the signing of the peace agreement. Three new seats on the Sovereign Council will be filled by representatives of the peace signatories, who will also be allocated five ministerial portfolios according to the procedure stipulated in the Constitutional Document (signed in August 2019), equivalent to 25 per cent of the Council of Ministers.
The two parties agreed that the signatories of the peace agreement will be represented in the Transitional Legislative Council by 25 per cent which equates to 75 of the 300 seats.
Federal regional system of government
A federal regional system of government will be re-established in Sudan. The transitional government will take the required legal measures within a period of 60 days from the date of signing the peace agreement.
Within this period, a national conference will be held to review the administrative division of regions, the various levels of government, structures, powers and competencies of governance.
SLM-MM leader Arko Minni Minnawi
Khartoum and the Darfur rebel movements agreed to form a force to maintain security in the conflict-torn western region. The initial strength will be 12,000, which can be increased.
According to the security arrangements protocol, the Darfur force will consist of 6,000 members of the Sudan Armed Forces (SAF), the paramilitary Rapid Support Forces (RSF), police and security officers, and 6,000 former rebel combatants.
The tasks of the force is to coordinate between the leadership of the security forces in Darfur, the security committees of the Darfur states, and the cease-fire committee.
The two parties agreed that the rebel combatants to be incorporated will remain in Darfur for a period of 40 months from the date of signing the agreement, during which the then ex-rebels will join military units according to the structure of the armed forces.
The security arrangements protocol stipulates a long and short-term reform in the military and other security agencies, which supports "the establishment of a permanent and independent professional system".
The parties to the peace agreement will share power in Darfur according to quotas for each party.
SPLM-N faction leader Malik Agar
Power-sharing
Darfur will be considered one region. The members of the Darfur track will participate in the regional government to be established. The presidency of the government will be allocated to a leading member of the Darfur track.
The members of the Darfur track are entitled to 40 per cent of power in Darfur, another 10 per cent is allocated to the other movements that signed the agreement. The federal government gets 30 per cent, and the stakeholders 20 per cent of the leading positions in Darfur.
The power-sharing agreement for Darfur stipulates that the parties should select representatives among all the communities in Darfur, to reflect the geographical, social and cultural diversity of the region, to ensure social coexistence and peace.
Lt Gen Mohamed Hamadan 'Hemeti', Deputy President of the Sovereign Council,
and Commander-in-Chief of the paramilitary Rapid Support Forces
Southern Sudan
With respect to South Kordofan and Blue Nile state, Khartoum and the Sudan People's Liberation Movement-North faction headed by Malik Agar agreed on the autonomy of the Two Areas, to which West Kordofan has been added.
The two parties agreed in April this year that the Two Areas track will include West Kordofan as well. The state which was part of South Kordofan since 2005 and re-established in 2013 will remain a separate state.
The SPLM-N Agar will hold the position of governor in Blue Nile state and of deputy governor in South and West Kordofan, with a right to 30 per cent of the executive and legislative bodies in Blue Nile state, and South and West Kordofan.
Holdout rebels
The peace agreement signed yesterday in the South Sudanese capital of Juba did not include the Sudan People's Liberation Movement-North faction under the leadership of Abdelaziz El Hilu (SPLM-N El Hilu) in South Kordofan and parts of Blue Nile state, and the mainstream Sudan Liberation Movement in Darfur, led by Abdelwahid El Nur (SLM-AW).
In speeches after the signing of the peace accord, Chairman of the Sovereign Council Lt Gen Abdelfattah El Burhan, Prime Minister Abdallah Hamdok, and South Sudan President Salva Kiir, all called on El Hilu and El Nur to join the peace negotiations.
The international community has reacted positively, with the USA, the United Kingdom, and Norway (the Troika), as well as the European Union and the African Union-United Nations Mission in Darfur (UNAMID), all issuing statements welcoming the accord (see further Radio Dabanga reports today). They all echoed the appeal for the remaining armed movements to join the negotiations.
December 9 - 2020
UN Security Council briefed on Sudan
October 2 - 2020
Juba Peace Agreement to be signed despite rebel holdout
September 30 - 2020
Sudan govt plans for peace accord implementation
Police kill two protestors in Central Darfur
September 8 - 2020
Sudan govt, rebels, sign implementation matrix for Juba peace agreement


text:
Home » News & Features » Off-Broadway News & Features » Irish Repertory Theatre presents Dublin Carol
Irish Repertory Theatre presents Dublin Carol
The Off-Broadway revival of Conor McPherson's Dublin Carol begins performances on September 20, 2019 at Irish Rep.
Tom Millward
Irish Repertory Theatre will officially kick off its upcoming 2019-2020 Off-Broadway season with a revival of Conor McPherson's Dublin Carol, directed by Ciarán O'Reilly, which is scheduled to begin previews on the Francis J. Greenburger Mainstage on September 20, 2019, ahead of an official opening on October 1 and a limited run through November 10, 2019.
Synopsis: "John Plunkett is haunted by memories of a shameful past and shattered life. On Christmas Eve, an unexpected visit from his estranged daughter, Mary, forces John to confront his demons and grapple with his chance at redemption."
The cast of Dublin Carol includes Jeffrey Bean (as John), Cillian Hegarty (as Mark), and Sarah Street (as Mary).
The creative team features scenic design by Charlie Corcoran, costume design by Leon Dobkowski, lighting design by Michael Gottlieb, sound design by M. Florian Staab & Ryan Rumery, and props by Sven Henry Nelson.
Playwright Conor McPherson will also be represented on Broadway this spring with the Broadway premiere of Girl from the North Country, featuring the songs of Bob Dylan, at the Belasco Theatre from February 7, 2020.
Irish Rep's current production of Little Gem, starring four-time Academy Award nominee and two-time Golden Globe Award winner Marsha Mason, continues its extended run on the Francis J. Greenburger Mainstage through September 8, 2019.
(Photos courtesy of Matt Ross PR)

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: IOS Monitor audio route changes in background Is it possible to monitor changes to the Audio route without playing music? I have found this question, but it seems to rely on audio being played.
My current setup looks something like this:
NotificationCenter.default.addObserver(self, selector: #selector(routeChange), name: .AVAudioSessionRouteChange, object: nil)

@objc
func routeChange(n: Notification) {
    ...
}

The background mode "Audio, AirPlay and Picture in Picture" is enabled.
My setup seems to work fine as long as the app is in foreground. As soon as it is in the background, routeChange will not be called anymore.

redpajama_set_name: RedPajamaStackExchange


If you are new, don't forget to check out our FPV Goggles buyers' guide.
The images I have are from the teaser video.
How Does it Compared to Other Modules?
I am very excited about this, and I cannot wait to test it against the True-D V3 (with latest 3.8 firmware), my current favorite Pro58, most importantly, the ImmersionRC Rapidfire!
I borrowed the Rapidfire for two days and I was well impressed by the performance. But I just couldn't pull the trigger because of the high price point.
So far we know the True-D X module uses a similar menu to the True-D 3.8, and has a single "Blackberry" style rolling button for menu navigation. The button looks kind of cool with the LED backlight glowing in the dark. Very clean design indeed.
In the teaser video they showed the module with two onmi-directional antennas, indicating that the True-D X is intended for close range flying, or maybe it's just for the clean look. But I suspect it'd be possible to use one onmi and one directional antenna for longer range too.
There is no spec leaked at this point. I will keep you all informed on this page as I hear more.
Here is the video from FuriousFPV.
And do you notice the on-screen display in the test footage? That's a pretty cool new feature coming from the True-D 3.8.
The real question is… Will it make me want to swap out my current Clearview Module..
can I update my furious 3.6 version to lastest version of firmware?
Hope there's no need for any special cables over to the head tracking bay like some other modules.
¿Mejor este o el rapidfire?
Looking good! but will the cover actually fit on the fatsharks this time?


If you live in Richland and need Social Security Disability or workers' compensation benefits, Bothwell & Hamill is ready to help.
If you live in Richland and can't work because of bad health — or you experienced an injury or illness on the job — the law firm of Bothwell & Hamill has an office nearby in Kennewick that can help you win the benefits you need.
The Kennewick office of Bothwell & Hamill is just a short drive from the Social Security Administration office, making it convenient for you to get legal representation for your disability claim.
We're located in downtown Kennewick on North Center Parkway. We're a close drive, no matter where in town you live.
When Richland residents need to see a Social Security administrative law judge about their disability benefits, they typically talk to judges based in Spokane.
When you get a local attorney, like Tim Hamill or Tom Bothwell of Bothwell & Hamill, you get someone who knows the particulars about how the Social Security Disability system or workers' comp system works locally.
They also know the community and its citizens. They value connecting with you on a personal level, understanding your unique situation and tailoring their approach to you.
If you're in Richland and dealing with serious health problems or workplace injuries that make it impossible to work, talk to Bothwell & Hamill.


Norfolk's Larry Walker won the batting crown with a .349 average, sharing honors with Fred McGriff (Mimosa, 50 HR) and Gary Sheffield (Scranton, 157 RBI).
Annandale's Greg Maddux won 24, as did Frank Viola of the Agates. A third Annandale pitcher, Melido Perez, won 23, followed by Charles Nagy (21), John Tewksbury (21), Charlie Leibrandt (20), Mike Mussina (20), and Bill Wegman (20).
The second North Adams franchise supplanted Gettysburg (the first was Frank Lentine's 1975-1989 powerhouse).
In the rookie auction, prices dropped a little, with six players going for six-figures; Listach to Annandale for $100,000, Cal Eldred to New York for $136,000, Tim Wakefield to Binghamton for $193,000 (ouch!), Kenny Lofton to Beacon for $117,000, Dave Fleming to Horseshoe Bay for $127,000, and Mike Mussina to Long Island for $196,000.
Bob Braun - The Winter Meeting in February of 1993 was marked by a huge blizzard that struck the East coast on Thursday night. By Friday morning enough snow had already fallen to waylay Mike Mancini and Mike Ameen somewhere along Interstate 84. This was to have been both Mike's first meeting; for Ameen it was his last attempt. Before the next season had barely begun, Mike Ameen announced his resignation.


Learning about the recent sexual harassment/violence case at Brock did not surprise me. Learning the name of the perpetrator shocked me. I was a Teaching Assistant for him on several occasions. He is both a scholar and gentleman who treated me, a mere Teaching Assistant then, as a peer.
While his behavior obviously cannot be condoned, the students and Brock personnel who want to fire him have over-reacted. These students and their professorial and bureaucratic supporters are rather naive about terms such as "justice", and "education". The students clearly do not have a good grasp of the controversial nature of justice and the meaning of the word "education". This is (possibly) the fault of their professors.
If they had been better educated at Brock they would have learned that the definition of "justice" has been controversial from Plato and Aristotle to John Rawls. They would have learned that moral judgements, especially those regarding justice need to combine facts, principles and elementary logic.
If the University fires him, it is shooting itself in the foot. They will lose a great teacher and scholar of Russian history. He is not at all like a previous Brock History professor in a notorious sexual harassment case in the 1980s. It would also violate the principle forbidding retroactive laws.
Prof. Schimmelpenninck apologized. If anyone wants to be cynical and claim that he did this to save his reputation: how do you know this? What would you have done? I have other questions: what are the opinions of Prof. Schimmelpenninck's students? Do they think Brock will be better without him?
What did these students and professors mean by "Justice"? Do they know the difference between distributive justice and retributive justice? The former has to do with the benefits or rewards people receive based on desert and/or fairness. The latter has to do with the punishment or penalty that the violator of justice deserves. I do not doubt that what occurred to the victim in this case was unjust since it was undeserved. But I do doubt that anyone else knows what penalty the perpetrator deserves.
Since I don't know either, I will finish with a dictum of Jesus of Nazareth (one of the first persons to treat women and children with respect) enunciated in defense of a women about to be stoned for adultery. My paraphrase for this case is: "Let her that is without sin, cast the first stone".
As for the reaction of the faculty and BUFA union, my suggestion for "action" is to look in the mirror if they want to see the source of the problem. The persons most likely to be guilty of harassment, bullying and sexual violence are tenured professors. Lest I be accused of demonizing the entire faculty I will state unequivocally that most professors do not engage in any of the three evils underlined above. But too many do. Why can't BUFA solve this problem on its own instead of passing the buck since it is their members who are the problem in all three cases? The university should even consider abolishing tenure.
*Ok, it is not a warlock hunt but the principle is the same.
Thank you for your comment. I just wanted to correct one element from your comment, based on the fact that The Brock Press is a totally independent student newspaper run by students with no ties to Brock University or the Brock University administration. Furthermore, the piece is a letter-to-the-editor, so it is not representative of thoughts and opinions of either The Brock Press as an institution, or it's staff. If you have any questions, please do not hesitate to reach out.


Insidious in its nature and development, addiction is widely recognized to be a cunning and baffling disease. It can sustain itself in the face of resistance. Despite all the negative changes it brings into a patient's and the family's lives, the addictive behaviours persist and a vicious cycle follows. With the best education and counseling provided at Sadaqat Clinic, families can play a significant role in their loved one's addiction treatment. However, without professional help, they may resort to ways that can in fact aggravate the problem at hand. Here are 8 common mistakes that families make when their loved one is suffering from the disease of addiction.
1. They get frustrated with the patient when he does not fulfill his responsibilities. However, the disease of addiction can leave an individual incapable of managing his fundamental roles. Families must understand that it is unfair of them to expect such responsibilities from an individual suffering from this complex bio-psycho-social-spiritual disease.
2. They think that addiction has "significantly improved" when there merely has been a reduction in drug use or frequency of behavioural outbursts. These reductions or pauses in usage are short-lived. This disease requires a multidisciplinary approach and life-long management for long-term recovery.
3. They make excuses for patient's inappropriate behaviours (e.g., domestic abuse with spouse, anger outbursts with siblings, etc.). The problem is that family is often in denial as well. By protecting their loved one from experiencing the negative consequences of drug and alcohol use, they are enabling his disease of addiction.
4. They engage in arguments and verbal altercations with the patient. In active addiction, patients are immune from family's reasoning and rationalizations for seeking treatment. Decreased inhibition and rebelliousness are also behavioural characteristics of addiction that further affect patient's ability to listen to his family.
5. They seek help from people who lack adequate knowledge regarding the disease concept of addiction. This includes consulting with friends and relatives. Families must understand that the patient needs help from medical personnel who are well-versed in this field. Friends are unable to provide evidence-based strategies.
6. They take patient's comments personally and begin to doubt their own sanity. This leads to cracks in their relationship with their loved one, which proceed long after the patient stops using drugs and alcohol. For this reason, families often need counseling and treatment, alongside the patient, to mend this relationship.
7. They keep the patient out of trouble e.g., get him out of legal problems. This is another example of enabling behaviours. By keeping him from seeing the link between his addictive behaviours and negative implications of them, the patient remains ignorant and continues abusing drugs and alcohol.
8. They try to find solutions on their own and do not seek professional help. Consulting friends, trying out non-scientific treatments, and interpreting the disease as a punishment from God only serves to exacerbate the disease of addiction.
Knowing these 8 mistakes that families of addicts make are very important as they occur in almost every household that gets hit with the disease of addiction. Sadaqat Clinic, the best rehabilitation centre in Karachi, Islamabad, and Murree, helps families by training them on tough love principles and appropriate methods of approaching the patient, with the overarching goal of improving the patient's and family's quality of life.


text:
A prosperous India is at pains to identify its poor for subsidies
NEW DELHI, INDIA - Ramvati Singh, 40, kneads the wheat flour to make bread. She is a manual laborer who assists in construction sites in New Delhi. Her daily wage is about 1.5 dollars. Her six children do not go to school. (Rama Lakshmi/WASHINGTON POST)
By Rama Lakshmi
Rama Lakshmi
Bio Follow
Counting India's soaring number of billionaires is fairly straightforward: 49 last year, according to Forbes. But deciding who is poor has set off a fierce debate and led some to ask: Is the government trying to lower the tally to reduce its welfare burden?
Ahead of a survey of India's poorest people this month, economists, officials and activists are embroiled in a debate over how to define poverty, which will determine how this prospering economy redistributes its newfound wealth among the poor.
Later this year, India plans to begin depositing cash into the bank accounts of poor people instead of giving them subsidized fuel and fertilizer. The government is also writing a food guarantee bill that promises cheap grains for the poor in a country where 46 percent of children are considered malnourished.
Officials say such moves make identifying the poor all the more important, but some analysts say the prevalent definition could exclude too many.
Estimates of the number of poor in India have swung wildly in the past decade, from 280 million to more than 800 million, depending on how poverty is defined.
NEW DELHI, INDIA - Sundar (one name) is 65 and lives on the street. Her family has abandoned her. She makes a living collecting garbage manually and selling it at a recycle market. She earns about 1 dollar a day. (Rama Lakshmi/WASHINGTON POST)
Advocates of economic reforms that began in 1991 say economic growth has lifted millions out of desperate poverty, but critics say the gap between rich and poor has widened.
India's Planning Commission recently declared that poverty declined from 37 percent in 2005 to 32 percent of India's 1.2 billion people last year. At current Indian prices, the commission defines the urban poor as those who spend 65 to 75 cents a day or less and rural poor as those who spend 50 to 55 cents daily or less.
But many Indians say that is too low and that millions of poor people are excluded from government benefits, including inexpensive food, cooking fuel, low-cost housing and health care. Six Indian states have disputed the central government's poverty estimates, saying millions more should be included.
The Supreme Court has asked the Planning Commission to explain the basis of its poverty number and why several state governments are disputing it.
"We used to look at intake of calories per person to define the poor. Now we look at income and consumption to set the poverty line," said Pronab Sen, a senior adviser to the Planning Commission. "But some states want a multi-dimensional approach to poverty that includes questions like, do you send your children to school, do you own land, do you belong to a lower caste, do you have access to water and toilet?"
At the center of the debate are people like Ramvati Singh, a mother of six who earns about $1.50 a day as a manual laborer on construction sites in the capital. She cannot afford to send her children to school, she said, and rising prices are making it difficult for her to buy enough food.
But according to the Indian government, Singh is not poor because she earns more than the official poverty line.
"We give our blood and sweat to feed the family every day," Singh said, sitting at her wood stove kneading dough. "Someone come and ask me what poverty is. I experience it every day."
About 100 activists recently protested outside the Planning Commission office in New Delhi, carrying boxes of groceries to demonstrate what 75 cents can buy in the capital. Each box contained a potato, an onion, a pencil, a bus ticket and the cheapest variety of rice.
"We wanted to let the officials know that this amount gets you precious little. There is rampant fraud in who gets into the official poverty list. Millions of poor do not have a voice and do not manage to get listed," said Nikhil Dey, one of the protesters and a member of a farm workers group.
But analysts say that differing political ideologies have prevented Indians from agreeing on the number of poor.
"India must be the only economy in the world where the government spends over $116 billion to alleviate poverty without clarity on the magnitude of poverty," said Shankkar Aiyar, a newspaper columnist who writes on economy and governance.
"Poverty figures in India are trapped between competing compulsions — that economic liberalization has reduced poverty, and the politicians' need to extract election benefits by exaggerating the poverty numbers and offering more subsidies."
The National Advisory Council, a government-appointed watchdog, argues that the government should extend social support to all citizens because the Indian economy can now afford it.
But the impending cash transfer system, Sen said, makes precise targeting of the poor crucial.
"We have finite public resources. We can only give cash handouts to the real, unambiguous poor. If we cast the net wider, then the whole subsidy program becomes ineffective," Sen said.
Rama Lakshmi Rama Lakshmi was a staff writer and India social media editor for Post World. She left The Washington Post in April 2017. Follow


We are a Roman Catholic parish community that is dedicated to practicing our faith by love and the worship of God. We also commit ourselves to the love and care of all God's children through charity and service. Interested in joining our parish? Please give us a call!
Rectory Office Hours: Monday - Friday, 8 a.m. - 3 p.m. The office is closed on Good Friday and Easter Monday. The office will reopen on Tuesday, April 23.


text:
Google discontinues well-regarded USB-C earbuds
Toronto's dotmobile shares plan pricing following CRTC MVNO appr...
Cogeco's Epico IPTV service offers internet, TV and cloud PVR in...
Here's what's coming to Acorn TV Canada in February 2021
Disney+ to become home of The Muppets Show on February 19
Cell phone data indicates Torontonians are finally staying home
Google Pixel 5 Hands-on: No gimmicks
What's new on Xbox Game Pass for Console, PC and Android in early De...
Sonos' new app aims to usher in the future of its smart speaker platform
Some of these features suggest Sonos is preparing to release a new speaker
Sonos is releasing a new app and smart speaker operating called S2 that it says will "power the next generation of products and experiences."
The smart speaker company says the platform will enable better personalization and higher resolution audio formats. These upgraded audio formats are possible because Sonos S2 supports improved audio bandwidths that include high-end audio technology for home theatre systems.
Sonos also says that users should expect S2 to include several new features, starting with functionality called 'Room groups' in June. This feature will allow users to group together multiple rooms in the Sonos app for better voice controls.
Most of Sonos' product line will work with S2, but the older devices that are part of the company's 'Trade Up' program won't support this update. This includes first-generation Play 5s and older Connect Amps. You can learn more about the Trade Up program and what devices fall under it in our prior reporting.
If you only own newer Sonos, you'll be able to download the new S2 app in June and instantly begin using the new features. If you own a mix of new Sonos devices and older models that don't support the new app, then you'll have a few other options.
Older products will continue to support the current Sonos app, which will be rebranded to 'S1.' These devices should continue to work as long as streaming apps don't change the way their platforms operate significantly. The main caveat is that new products Sonos ships in the future won't be able to work with the system since they'll be programmed out of the box for the new S2 platform.
If you own a mix of old and new speakers, it's possible to split your existing system into two parts; one section for the new speakers that can run S2 and the other part for old speakers that run S1. These two speaker groups won't be able to work together, but it does give Sonos owners an option. Sonos says it will release more details on this at a later date.
If any of this is confusing, Sonos has a blog post that also details how these multiple setups can work.
News of the update is starting to reveal Sonos' long-term gameplan, including why the company announced its Trade Up program and that it is no longer supporting its older speakers with software updates (they'll still receive bug fixes and security patches).
S2 and its expanded feature set not only clarifies the past, but it seems to suggest that Sonos plans to release a new smart speaker or device of some kind that takes full advantage of the new OS features. This would be the company's first hardware release since last year's Move, One SL and Port.
Sonos' new S2 app is set to launch in June, with the new software shipping on all new products it releases starting in May.
New Sonos Radio stations incoming, but not all arriving in Canada
Sonos update allows users to add a second Sub to a room
Apple finally shows off its $129 HomePod mini smart speaker
Google officially announces its new Nest Audio smart speaker


text:
Q: Using files in multiple sub folders on SharePoint I have VBA code which works on standard drive.
I need to adapt it to open 12 subfolders on SharePoint and capture the data from each file.
I see how it is possible to specify one set SharePoint folder by referencing a function (like GetLocalPath by Guido Witt-Dörring).
How can I move through multiple folders on SharePoint?
Sub AccDirFiles()

    Dim MyPath As String, FilesinPath As String
    Dim MyFiles() As String
    Dim SourceFcount As Long, Fnum As Long, fnme As Long
    Dim mybook As Workbook, varWks As Worksheet
    Dim sourcerange As Range, destrange As Range
    Dim rnum As Long, CalcMode As Long
    Dim LastRow As Long, lastcol
    fnme = 1

    With Application
        CalcMode = .Calculation
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    For fnme = 1 To 12

        MyPath = Left(ThisWorkbook.path, Len(ThisWorkbook.path) - 4) & "\" & fnme & "\"

        If MyPath = "" Then MyPath = InputBox("Enter Dir Path here")
        If Right(MyPath, 1) <> "\" Then
            MyPath = MyPath & "\"
        End If

        FilesinPath = Dir(MyPath & "*.*")
        If FilesinPath = "" Then
            MsgBox "No files for month " & fnme
            GoTo 200
        End If

        Fnum = 0
        Do While FilesinPath <> ""
            Fnum = Fnum + 1
            ReDim Preserve MyFiles(1 To Fnum)
            MyFiles(Fnum) = FilesinPath
            FilesinPath = Dir()
        Loop

        If fnme = 1 Then
            Set varWks = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
        End If
        'Sheet1.Activate
        rnum = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row + 1

        If Fnum > 0 Then
            For Fnum = LBound(MyFiles) To UBound(MyFiles)
                Set mybook = Nothing
                On Error Resume Next
                Set mybook = Workbooks.Open(MyPath & MyFiles(Fnum))
                On Error GoTo 0

                If Not mybook Is Nothing Then
                    On Error Resume Next
                    With mybook.Worksheets(1)

                        LastRow = Range("C" & Rows.Count).End(xlUp).Row
                        lastcol = Range("A1").End(xlToRight).Column
                        Set sourcerange = Range("A1").Resize(LastRow, lastcol)
                    End With

                    If Err.Number > 0 Then
                        Err.Clear
                        Set sourcerange = Nothing
                    Else
                        If sourcerange.Columns.Count >= varWks.Columns.Count Then
                            Set sourcerange = Nothing
                        End If
                    End If
                    On Error GoTo 0

                    If Not sourcerange Is Nothing Then
                        SourceFcount = sourcerange.Rows.Count

                        If rnum + SourceFcount >= varWks.Rows.Count Then
                            MsgBox "Insufficient Rows on Compiler"
                            varWks.Columns.AutoFit
                            mybook.Close savechanges:=False
                            GoTo ExittheSub
                        Else

                            With sourcerange
                                varWks.Cells(rnum, "A"). _
        Resize(.Rows.Count).Value = MyFiles(Fnum)
                            End With

                            Set destrange = varWks.Range("B" & rnum)

                            With sourcerange
                                Set destrange = destrange. _
                                                Resize(.Rows.Count, .Columns.Count)
                            End With

                            destrange.Value = sourcerange.Value
                            lnum = varWks.Cells(Rows.Count, 4).End(xlUp).Row
                            For i = rnum To lnum
                                varWks.Cells(i, (15 + fnme)) = varWks.Cells(i, 15).Value
                            Next i
                            rnum = varWks.Cells(Rows.Count, 4).End(xlUp).Row
                        End If
                    End If

                    mybook.Close savechanges:=False
                End If

            Next Fnum
            varWks.Columns.AutoFit

        End If

200:

    Next fnme

ExittheSub:
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With

End Sub


text:
70s-80s novel: war between Earth and Mars initiated by a shapeshifting race
I'm looking for the title of a novel.
It's about a soldier who returns to Earth after the lunar station he served at was surrendered to the Martians. This was after a long war between the two planets. In New York City, the soldier meets a woman with her daughter who accompany him to his house upstate New York.
Later they are forced to share the house with a Martian unit who use it as sort of a military base.
During the visit of two high ranked officers, they find out that the war was actually started by a shapeshifting race in search of a new home.
I think the author was American and it was written in the 70s or 80s.
story-identification novel mars shape-shifter
edited Apr 12 at 14:17
NicolasBNicolasB
Some portion of my brain is whispering "Harry Harrison" but I don't recall a book like this... – Zeiss Ikon Apr 12 at 14:22
My subconscious is trying to tell me I've seen (approximately) this question before, but I can't find it. – DavidW Apr 12 at 14:33
That is probably Poul Anderson's The War of Two Worlds. The third race had infiltrated the high ranks of both Humans and Martians and started the war in order to significantly weaken both - when ever one side had an advantage the undercover aliens deliberately made serious mistakes to prolong the war.
It is quite a long time I read it, so I don't remember many details, but it definitely a human mother and child.
One point that does not fit, however, is the date: The War of Two Worlds was written in 1959.
Volker LandgrafVolker Landgraf
But according to isfdb it was reprinted in 1974 as part of "The Worlds of Poul Anderson" – DavidW Apr 12 at 15:44
If you want to update your answer, this review contains "This novel begins where some would end, as a long, bloody war between the Terrans and the Martians finally grinds to a halt with the Martians emerging victorious. The narrator and hero, a spacer with the United Nations forces, returns to a defeated Earth under Martian occupation.. But all is not as it seems, and before you know it, we're off on a cross-country adventure..." – DavidW Apr 12 at 20:03
And also an e-book description includes the details "But for David Arnfeld, ex-spaceman and Earth Base Commander, there was something in the whole set-up which did not ring true. Why had both sides muffed countless chances to end that awful war in the first year or two? And why had the two planets gone to war in the first place?" – DavidW Apr 12 at 20:04
I knew I'd seen it somewhere before: scifi.stackexchange.com/a/199587/101407 – DavidW Apr 12 at 20:05
@VolkerLandgraf thanks for the answer! Thats the book I was looking for. I actually read the german translation which was released in 1977 ;-) – NicolasB Apr 13 at 22:31
Not the answer you're looking for? Browse other questions tagged story-identification novel mars shape-shifter or ask your own question.
Short Story about aliens outlawing cars
Manhattan, time traveling mist wall, a flying white horse and a bridge of light to heaven
Earth colonization by life from Mars
70s/80s SciFi novel set in California
Young adult science fiction novel set on Mars. Teenage romance between girl and guy with odd name
Identifying a book about spiderlike aliens that retreat after taking 50% casualties
Identify this SF hardcover novel circa 1972-1973 Martians, Mariner 9, Fedders, light comedy
1970's or 80's time travel movie/TV episode with aliens
70s/80s book: Cold-war Psychic superweapons
Story of a time traveller meeting himself repeatedly
Sci-fi novel about child savants trained to play real-life war games


text:
More on the Harvard Symposium on Preemptive Action
I attended the symposium at Harvard Law School I mentioned in the previous post. The panels were great, with high-powered speakers and interesting discussions. However, I was disappointed in the scenarios presented. My guess is that they were written by as legal hypotheticals by law school students, who perhaps then ran them past Richard Clarke to see if they were vaguely realistic. The scenarios were short and handed out to the audience, so I'm going to reprint most of both of them here, to illustrate.
Scenario 1: A high-profile Al Qaeda leader begins operations in Yemen in mid-2006. He is very generous and has been paying local militias to defend and work for him, so the local government is aware that he is there. In general, due largely to bin Laden's fiscal generosity, the local government has been supportive of him. The Yemeni national government, on the other hand, has no idea that he is in the country.
In January, based on reliable human intelligence, the United States uncovers this information. however, it appears as if the Yemeni government does not have a lot of control over the region in which he is located. The United States would like to intervene militarily to capture the Al Qaeda leader, but believes that if it tells the Yemeni government about the intervention, the local government will find out and tip him off so that he can escape. Moreover, the United States is not entirely sure that Yemen would be willing to cooperate and permit military action.
This scenario was followed by a brief comment about the 2002 Predator drone Hellfire missile attack on a car in Yemen carrying six Al Qaeda members (including one of the leaders of the group responsible for the bombing of the USS Cole in October 2000), which was undertaken with the approval of the Yemeni government.
Although this was labeled scenario #1, the panel started its discussion with the scenario listed below instead:
Scenario 2: On February 27, 2007, seven Americans (tourists, businessmen, etc.?) were taken hostage on the border between Colombia and Ecuador by an unknown terrorist/rebel group. Last night, on March 1, the responsible group broadcast online a beheading of one of the hostages and threatened that more beheadings would follow if the United States did not agree to stop funding coca eradication programs in the region. The group provided no other relevant information and its demands are thus far relatively vague.
Although both Ecuador and Colombia have expressed public outrage at the hostage situation and have demanded the release of the hostages, neither government is willing to take action. Ecuador is hesitant to move in because they say the group is actually in Colombia, and Colombia refuses to move in because they think the group is technically in Ecuador. In reality, neither country has total control over the jungle region. Additionally, each is probably incapable of safely rescuing the American hostages. For a variety of reasons, both countries object to allowing American troops to intervene. In each country, the domestic political situation weighs heavily against permitting American intervention. Moreover, both countries claim that allowing American troops to rescue the hostages would constitute a violation of their sovereignty.
There is no evidence that either government is actively supporting the terrorist/rebel group nor is there any evidence that either government has extensive knowledge of the group. The United States has reliable intelligence about the location of the hostages and thinks that a military intervention to rescue them would be successful.
The last paragraph of the scenario talks about the "variety of interesting questions related to preemptive action and international law" that the hypothetical situation raises. In fact, there appeared to be very few interesting questions raised for the panelists by this scenario. They basically agreed that international law did not prohibit the U.S. from using military force without the consent of the two countries (though for different reasons, the discussion of which was interesting), and the precedent of the Entebbe Raid was discussed at length.
Beyond that, the panelists all stressed that this sort of decision would not be made by international legal experts, but by policymakers concerned with much more than just what international law did or did not allow. That was a valuable point, and the panel emphasized it during their discussions of both of the scenarios. That makes sense, since the chair of the panel, Antonia Chayes, teaches a well-regarded class at the Fletcher School on just that subject (one which I wish I had found time to take during my time there).
Several panelists suggested that there would be tremendous public pressure on the administration to "do something" in the Colombia/Ecuador scenario after the kidnapping and the beheading video. What the scenario did not mention is that there are a number of American citizens currently held hostage in Colombia already. Three contractors working under the Department of Defense were taken captive by the FARC in 2003 after their plane crashed. A Colombian colleague and another American citizen were shot, execution style, and their bodies were left at the crash site. While it didn't pack quite the punch of an internet-broadcast beheading of a tourist, in the event there was little public outcry. In the last two years, about 18 American citizens have been kidnapped in Colombia, mostly by terrorist groups. While the beheading would be a new wrinkle, and might generate more attention, the idea that there would be a massive public outcry in the wake of the scenario just doesn't seem likely.
Another issue that the panel rightly addressed was the offhand way the scenario assures that "the United States has reliable intelligence about the location of the hostages and thinks that a military intervention to rescue them would be successful." The panel in general urged skepticism about any claims of this sort, given how difficult it is to make a meaningful and accurate assessment of intelligence data, and given the challenges posed by mounting an operation deep in the Amazon rainforest. The Amazon rainforest that the scenario suggests is the location of the hostages is an incredibly impenetrable area. The canopy foliage in the rainforest can be so thick that GPS will not function through it. Locating anything or anyone from the air is ridiculously difficult, and getting from the air to the ground through the dense foliage presents its own challenges. The scenario tried to wish away such concerns in the interest of focusing on the legal issues involved, but it did so in such a ham-handed way that the panel was obliged to comment on their skepticism of any such confidence. And what no one mentioned but I found very odd about the scenario was that if the U.S. had sufficient intelligence data to know where the hostages were, presumably they could generate map coordinates for the location sufficient to prove to Colombia or Ecuador on which side of the border the terrorists were holed up.
It is true that both in the case of Colombia and the case of Yemen, there are areas within the country that are not under the control of the central government. In Colombia, history and geography are the main reasons why, with a combination of a state that has historically never truly controlled its borders or territory and nearly impassible terrain that makes it extremely difficult for any central authority to assert itself in large portions of the country. I know much less about the situation in Yemen, but my understanding is that there are areas over which, for reasons largely related to tribal dynamics, the central government exerts authority in name only. It was in such an area where the Predator drone attack in 2002 took place.
A term that comes up occasionally in gaming literature is the tendency of participants to "fight the scenario" at times. This is usually held up as something to be avoided, both through careful scenario construction (with an eye towards credibility) and through explicit requests to the participants themselves to refrain from such activity and simply try to play the game as written. This is one of the reasons a debriefing session is so important after a game: participants who had objections to certain aspects of the scenario can raise them at the debrief, where they will still be considered by the group. In a short session like this panel discussion, however, it was precisely the right time to fight this sort of scenario, which the participants did to some extent. It was still a high-quality discussion, thanks to the panelists, but it could have gotten off to a better start with a better set of scenarios.
Labels: events, scenario design
Hanley: On Wargaming
Orbis Forum on Political and Military Gaming
Lempert and Schwabe - Transition to Sustainable Wa...
DeWeerd: Political-Military Scenarios
CIA "red team" exercise on Iraq
DeWeerd: A Contextual Approach to Scenario Constru...
More on the Harvard Symposium on Preemptive Action...
Harvard Symposium: Legal Perspectives on Preemptiv...


text:
Movie Review - THOR: RAGNAROK
From IMDb the synopsis: Imprisoned, the almighty Thor finds himself in a lethal gladiatorial contest against the Hulk, his former ally. Thor must fight for survival and race against time to prevent the all-powerful Hela from destroying his home and the Asgardian civilization.
This is the third in the THOR movies, and while it wasn't as good as the first it was miles better than the second. It had humor, fun, interesting scenes, heartfelt moments, and a bunch of fun fighting scenes, the music wasn't bad either.
I found that I still enjoy several of the characters, like Loki and Odin, and even Hulk. There were added characters who were fun as well, like Grandmaster (who wouldn't love Jeff Goldblum) and Skurge (who isn't who you expect and Karl Urban all muscular and bald - even if it was fake - was nice to look at). However, there was one character that didn't get the attention she deserved and that was Kate Blanchett as Hela, the Goddess of Death.
While this movie was fun there was also several issues with it. One of the issues was that there was a lot of fighting and unnecessary chatter that didn't need to be used, even though some of it was fun it wasn't needed. More time should have been given to the backstory and the building of Hela as a character. It seemed like a waste to use Kate Blanchett in the role and then have her behave as a minor character, when she was integral to the story. If she hadn't been part of the story then the movie wouldn't have had much of a point.
There was plenty of great banter between the characters, and the uses of some of the best actors around was fascinating. I will never look at Matt Damon or Sam Neill the same. I also loved the return if Idris Elba, as Heimdall. The Hulk had more to say in this movie, and it was great because it gave insight into not only him but Banner. There is an interesting split between the two and it is somewhat sad because the viewer can see the psychology of the character of the Hulk and feel for him a little. What would like be like if you were seen one way, a monster? For the Hulk it is not great, until he lands in the spot of a warrior.
I would have liked to see Thor grow a little more as a character as he does a lot of talking about his hammer and being the God of Thunder, but what does the God of Thunder mean? Although I did enjoy the camaraderie between Loki and Thor as their love/hate relationship continues, and the life of siblings.... which I understand as I have several.
Was this a great movie? No. Was it worth it to see? Yes. It needed a little more added to it to make it a fulfilling movie, but it was absolutely better than the second Thor movie (by a lot), and it had so many fun moments it was worth it just for those moments.
I will add one more thing, the use of IMMIGRANT SONG by Led Zepplin was freaking fantastic!


text:
Home / Products / Amazing Victorian Memorial Ring Sardonyx Hair 15k Gold
Amazing Victorian Memorial Ring Sardonyx Hair 15k Gold
Watching Victoria, Poldark or Downton Abbey might make you think that living in the Victorian era would be glamorous. It may make you want to wander the streets of London in corsets and layered dresses amidst horse drawn carriages, to attend soirees and full out balls. However, quite apart from the crime and deprivation of the time, the diseases of this period would often wipe out whole families and even villages. I have little doubt that it was something like Typhoid or Cholera which took out the two ladies listed on this sweet and touching memorial ring.
Hand crafted in about 1868, this fantastic memorial ring is set with an oval of smooth cut Sardonyx and is wrapped in finely woven hair around the band. This wide band is fully engraved on the outside and on the inside is engraved with the inscription "Hannah Crichton died 9th Novr 1868" and "Agnes Nichol Crichton died 16th Novr 1868". This ring is a size 8.25 US and cannot be resized. This wonderful, wide band ring measures 14.2 mm north to south at the face and 12.9 mm across, it is 9.8 mm at the back of the band. This ring is not hallmarked but does bear a makers mark of 'HC & Co', it has been carefully acid tested to verify the gold content of 15 karat gold. This ring weighs 6.7 grams.
Item ID: RGA23566VA
3rd Century Roman Intaglio Carnelian Gold Ring 18k $ 4,100.00
3rd Century Roman Intaglio Carnelian Gold Ring 18k
As an antiques dealer, I always get a little thrill when I come across something very, very old. So, when one of the most knowledgeable dealers in antique jewelry that I know in London placed this beautiful ring in my hand and told me that it was a Victorian made ring set with a 3rd century Roman intaglio, I just felt like it had to be mine, even if only for a brief period in its incredibly long history.
This gorgeous slice of rich orange carnelian is carved with a bird and greek letters, it is set into a chunky ring that was likely made in Victorian England. Often times people traveling on their Grand Tour around Europe would pick up souvenirs like this old intaglio and then take them home to England to be set into jewelry, as was almost certainly the case here. The stone measures 14.2 mm north to south and 16 mm across and the ring face is 16.8 mm north to south and 27 mm across, it sits 5.5 mm off the finger and narrows to 2.9 mm at the back fo the band. This large ring is a size 11.25 and weighs 16.7 grams. It's a manly ring, but certainly intriguing enough for a woman. The ring is unmarked but has been carefully acid tested as 18 karat gold.
Amazing Antique Victorian 18k Gold Pink Pearl Bangle Bracelet in Original Fitted Box Sold Out - $ 2,850.00
Amazing Antique Victorian 18k Gold Pink Pearl Bangle Bracelet in Original Fitted Box
Sold Out - $ 2,850.00
For me it began with the box. I spotted it closed inside a dealers case one Sunday morning at the Horticultural Hall show in London. At first, because it was closed, I thought she was just selling the box, but upon inquiry she smiled and pulled it out of the case. She handed it to me and explained that she had just purchased it and hadn't had time to get it out. When I opened the box I was immediately smitten. Inside was this stunning bangle, perfect and original.
The style and workmanship of this bangle and it's box are simply top-notch. The bangle features an array of 17 perfectly color matched rosy pink pearls set in a very Classical design with 2 side pearls set into eight pointed stars. The balance and feel of this bangle are just perfection. The box is just the icing on this cake, done in rich royal blue velvet and silk and marked with the name of the retailer 'Goldsmith's Alliance Limited. Cornhill, London. It is completely hand made in leather with gold embossing and was clearly made to fit this bangle, which has benefited by being kept in excellent condition.
It is Mid-Victorian and was made around 1870. It is most certainly English although it bears no marks. It tests as 18 karat gold and weighs 26.5 grams out of the box. It is on the smaller side and would fit a wrist up to 7 inches around, but no more. Is a fantastic bangle which shows the highest quality of workmanship. A truly important piece of jewelry worthy of the most discerning collector!
I offer layaway on most items purchased for full retail price. In general my layaway terms are 1/3 down and 1/3 in 30 days and the last 1/3 in 60 days. I am flexible so if you are interested please ask me and we can work out a payment plan that suits you. Items ship when payment is complete and items purchased or payments made on layaway are eligible for store credit only.
I always want you to be happy with every aspect of your purchase on my lane. If you are not completely satisfied for any reason simply let me know and we'll work together to get the item returned for a full refund. I guarantee that my pictures and descriptions are as accurate as possible. My goal is to exceed your best expectations!
Item ID:BE0909146V
Angry Bobby English Policeman Charm Silver Pendant $ 220.00
Angry Bobby English Policeman Charm Silver Pendant
Before 1829 there was no police force in London, or really anywhere for that matter. When the then British home minister, Sir Robert Peel, organized the London Metropolitan Police (headquartered on a street named… you guessed it, Scotland Yard) he dressed them in black coats and tall black wool hats with shiny badges. These hats became iconic and the London police force was so closely associated with Robert Peel that those who wore these hats got the nickname of 'Bobbies'.
I found this particular little Bobby to be utterly irresistible. He looks a bit grumpy, really, under his iconic hat, but this just makes him all the more appealing. The wonderful Victorian charm is done in silver, it's a small thing, just 21.2 mm from top to bottom including the bale and 16.1 mm across at the widest point. This pendant is unmarked but has been carefully acid tested. It weighs 1.6 grams. Made in England around 1880.
ITEM ID: CMA24145VA
Antique 15k Victorian Diamond and Pearl Ring, Hallmarked Birmingham c. 1900 $ 880.00
Antique 15k Victorian Diamond and Pearl Ring, Hallmarked Birmingham c. 1900
This lovely Victorian six stone pearl and rose-cut diamond ring was hand crafted in what was undoubtably the jewelry center of England, if not all of Europe: Birmingham. Known throughout the world as the 'City of a Thousand Trades', Birmingham's history dates back half a million years, as signs of human settlement date back to the Stone Age. But Birmingham's true growth and prosperity are owed to its metalworking industries of all kinds. Birmingham's prominence as a city bloomed under Queen Victoria, with the introduction of the railway, it became linked to Manchester and Liverpool and soon London. It was known for its small workshops and high level of skill and craftsmanship, and jewelry flowed out of Victorian Birmingham to the rest of the world. A world which, at that time, was dominated by the full power of the British empire, the largest empire in history.
This ring was made in Birmingham in the year 1900, at the height of Britain's glory. The stones are set into an 15 karat yellow gold mounting. The largest pearl is 3.3 mm across, graduating to the smallest which is 2.8 mm across. There are 4 diamonds between the pearls to give added sparkle. It has a full set of hallmarks as well as the maker's mark is 'TBR'.
The ring is currently a size 7.5, but could be resized by an experienced jeweler, it weighs 3.3 grams.
I always want you to be happy with every aspect of your purchase in my shop. If you are not completely satisfied for any reason simply let me know and we'll work together to get the item returned for a full refund. I guarantee that my pictures and descriptions are as accurate as possible. My goal is to exceed your best expectations!
SKU: RG0412079G1


Hard time deciding between 2 countries (Denmark and Lithuania).!!!
Hi boys and girls, so next year I will be a 3rd year student of Mechanical Engineering and given the circumstances I have only two options left for my decision on which university I can attend: Either VGTU (In Lithuania) or University of Southern Denmark (In Odensk campus).
I will get a bit more ECTS on Lithuania but the difference is marginal, what can you tell me about those countries and which do you think I should choose? Thank you very much!
Hi boys and girls, so next year I will be a 3rd year student of Mechanical Engineering and given the circumstances I have only two options left for my decision on which university I can attend: Either VGTU (In Lithuania) or University of Southern Denmark (In Odensk campus). I will get a bit more ECTS on Lithuania but the difference is marginal, what can you tell me about those countries and which do you think I should choose? Thank you very much!
Thanks for your thoughts Savio.
They certainly share a few things in common. One is that they are both extremely cold in the Winter!!! Better get into your Winter sports.
Denmark in general is a lot, lot more expensive when it comes to cost of living. However, you may find that it's more central to visiting middle parts of Europe and Scandinavia when doing travel. Lithuania is quite isolated to the East.
You may also find that Danish people are more commonly speaking english, so you may face a lower language barrier.
Good luck - be great to here others thoughts aswell.
Thanks for your thoughts Savio. They certainly share a few things in common. One is that they are both extremely cold in the Winter!!! Better get into your Winter sports. Denmark in general is a lot, lot more expensive when it comes to cost of living. However, you may find that it's more central to visiting middle parts of Europe and Scandinavia when doing travel. Lithuania is quite isolated to the East. You may also find that Danish people are more commonly speaking english, so you may face a lower language barrier. Both beautiful Countries though - Lithuania would provide a very unique Erasmus Experience and some great cruises around the Baltic Sea (especially the famous party cruise!) Good luck - be great to here others thoughts aswell.


text:
package org.apache.accumulo.gc;

import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.DIR;
import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.FILES;
import static org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType.SCANS;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.SortedMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;

import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloClient;
import org.apache.accumulo.core.client.IsolatedScanner;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.manager.state.tables.TableState;
import org.apache.accumulo.core.metadata.Reference;
import org.apache.accumulo.core.metadata.RelativeTabletDirectory;
import org.apache.accumulo.core.metadata.RootTable;
import org.apache.accumulo.core.metadata.TabletFileUtil;
import org.apache.accumulo.core.metadata.schema.Ample;
import org.apache.accumulo.core.metadata.schema.MetadataSchema;
import org.apache.accumulo.core.metadata.schema.TabletMetadata;
import org.apache.accumulo.core.metadata.schema.TabletsMetadata;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.util.Pair;
import org.apache.accumulo.core.util.threads.ThreadPools;
import org.apache.accumulo.core.volume.Volume;
import org.apache.accumulo.server.ServerContext;
import org.apache.accumulo.server.fs.VolumeManager;
import org.apache.accumulo.server.fs.VolumeUtil;
import org.apache.accumulo.server.gc.GcVolumeUtil;
import org.apache.accumulo.server.replication.proto.Replication;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Iterators;
import com.google.common.collect.Maps;
import com.google.protobuf.InvalidProtocolBufferException;

/**
 * A single garbage collection performed on a table (Root, MD) or all User tables.
 */
public class GCRun implements GarbageCollectionEnvironment {
  private final Logger log;
  private final Ample.DataLevel level;
  private final ServerContext context;
  private final AccumuloConfiguration config;
  private long candidates = 0;
  private long inUse = 0;
  private long deleted = 0;
  private long errors = 0;

  GCRun(Ample.DataLevel level, ServerContext context) {
    this.log = LoggerFactory.getLogger(level.name() + GCRun.class);
    this.level = level;
    this.context = context;
    this.config = context.getConfiguration();
  }

  @Override
  public Iterator<String> getCandidates() {
    return context.getAmple().getGcCandidates(level);
  }

  @Override
  public List<String> readCandidatesThatFitInMemory(Iterator<String> candidates) {
    long candidateLength = 0;
    // Converting the bytes to approximate number of characters for batch size.
    long candidateBatchSize = getCandidateBatchSize() / 2;

    List<String> candidatesBatch = new ArrayList<>();

    while (candidates.hasNext()) {
      String candidate = candidates.next();
      candidateLength += candidate.length();
      candidatesBatch.add(candidate);
      if (candidateLength > candidateBatchSize) {
        log.info("Candidate batch of size {} has exceeded the threshold. Attempting to delete "
            + "what has been gathered so far.", candidateLength);
        return candidatesBatch;
      }
    }
    return candidatesBatch;
  }

  @Override
  public Stream<String> getBlipPaths() throws TableNotFoundException {

    if (level == Ample.DataLevel.ROOT) {
      return Stream.empty();
    }

    int blipPrefixLen = MetadataSchema.BlipSection.getRowPrefix().length();
    var scanner =
        new IsolatedScanner(context.createScanner(level.metaTable(), Authorizations.EMPTY));
    scanner.setRange(MetadataSchema.BlipSection.getRange());
    return scanner.stream()
        .map(entry -> entry.getKey().getRow().toString().substring(blipPrefixLen))
        .onClose(scanner::close);
  }

  @Override
  public Stream<Reference> getReferences() {
    Stream<TabletMetadata> tabletStream;

    if (level == Ample.DataLevel.ROOT) {
      tabletStream = Stream.of(context.getAmple().readTablet(RootTable.EXTENT, DIR, FILES, SCANS));
    } else {
      tabletStream = TabletsMetadata.builder(context).scanTable(level.metaTable())
          .checkConsistency().fetch(DIR, FILES, SCANS).build().stream();
    }

    return tabletStream.flatMap(tm -> {
      Stream<Reference> refs = Stream.concat(tm.getFiles().stream(), tm.getScans().stream())
          .map(f -> new Reference(tm.getTableId(), f.getMetaUpdateDelete()));
      if (tm.getDirName() != null) {
        refs = Stream.concat(refs,
            Stream.of(new RelativeTabletDirectory(tm.getTableId(), tm.getDirName())));
      }
      return refs;
    });
  }

  @Override
  public Set<TableId> getTableIDs() {
    return context.getTableIdToNameMap().keySet();
  }

  @Override
  public void deleteConfirmedCandidates(SortedMap<String,String> confirmedDeletes)
      throws TableNotFoundException {
    final VolumeManager fs = context.getVolumeManager();
    var metadataLocation = level == Ample.DataLevel.ROOT
        ? context.getZooKeeperRoot() + " for " + RootTable.NAME : level.metaTable();

    if (inSafeMode()) {
      System.out.println("SAFEMODE: There are " + confirmedDeletes.size()
          + " data file candidates marked for deletion in " + metadataLocation + ".\n"
          + "          Examine the log files to identify them.\n");
      log.info("SAFEMODE: Listing all data file candidates for deletion");
      for (String s : confirmedDeletes.values()) {
        log.info("SAFEMODE: {}", s);
      }
      log.info("SAFEMODE: End candidates for deletion");
      return;
    }

    List<String> processedDeletes = Collections.synchronizedList(new ArrayList<>());

    minimizeDeletes(confirmedDeletes, processedDeletes, fs, log);

    ExecutorService deleteThreadPool = ThreadPools.getServerThreadPools()
        .createExecutorService(config, Property.GC_DELETE_THREADS, false);

    final List<Pair<Path,Path>> replacements = context.getVolumeReplacements();

    for (final String delete : confirmedDeletes.values()) {

      Runnable deleteTask = () -> {
        boolean removeFlag = false;

        try {
          Path fullPath;
          Path switchedDelete =
              VolumeUtil.switchVolume(delete, VolumeManager.FileType.TABLE, replacements);
          if (switchedDelete != null) {
            // actually replacing the volumes in the metadata table would be tricky because the
            // entries would be different rows. So it could not be
            // atomically in one mutation and extreme care would need to be taken that delete
            // entry was not lost. Instead of doing that, just deal with
            // volume switching when something needs to be deleted. Since the rest of the code
            // uses suffixes to compare delete entries, there is no danger
            // of deleting something that should not be deleted. Must not change value of delete
            // variable because that's what's stored in metadata table.
            log.debug("Volume replaced {} -> {}", delete, switchedDelete);
            fullPath = TabletFileUtil.validate(switchedDelete);
          } else {
            fullPath = new Path(TabletFileUtil.validate(delete));
          }

          for (Path pathToDel : GcVolumeUtil.expandAllVolumesUri(fs, fullPath)) {
            log.debug("Deleting {}", pathToDel);

            if (moveToTrash(pathToDel) || fs.deleteRecursively(pathToDel)) {
              // delete succeeded, still want to delete
              removeFlag = true;
              deleted++;
            } else if (fs.exists(pathToDel)) {
              // leave the entry in the metadata; we'll try again later
              removeFlag = false;
              errors++;
              log.warn("File exists, but was not deleted for an unknown reason: {}", pathToDel);
              break;
            } else {
              // this failure, we still want to remove the metadata entry
              removeFlag = true;
              errors++;
              String[] parts = pathToDel.toString().split(Constants.ZTABLES)[1].split("/");
              if (parts.length > 2) {
                TableId tableId = TableId.of(parts[1]);
                String tabletDir = parts[2];
                context.getTableManager().updateTableStateCache(tableId);
                TableState tableState = context.getTableManager().getTableState(tableId);
                if (tableState != null && tableState != TableState.DELETING) {
                  // clone directories don't always exist
                  if (!tabletDir.startsWith(Constants.CLONE_PREFIX)) {
                    log.debug("File doesn't exist: {}", pathToDel);
                  }
                }
              } else {
                log.warn("Very strange path name: {}", delete);
              }
            }
          }

          // proceed to clearing out the flags for successful deletes and
          // non-existent files
          if (removeFlag) {
            processedDeletes.add(delete);
          }
        } catch (Exception e) {
          log.error("{}", e.getMessage(), e);
        }

      };

      deleteThreadPool.execute(deleteTask);
    }

    deleteThreadPool.shutdown();

    try {
      while (!deleteThreadPool.awaitTermination(1000, TimeUnit.MILLISECONDS)) { // empty
      }
    } catch (InterruptedException e1) {
      log.error("{}", e1.getMessage(), e1);
    }

    context.getAmple().deleteGcCandidates(level, processedDeletes);
  }

  @Override
  public void deleteTableDirIfEmpty(TableId tableID) throws IOException {
    final VolumeManager fs = context.getVolumeManager();
    // if dir exist and is empty, then empty list is returned...
    // hadoop 2.0 will throw an exception if the file does not exist
    for (String dir : context.getTablesDirs()) {
      FileStatus[] tabletDirs;
      try {
        tabletDirs = fs.listStatus(new Path(dir + "/" + tableID));
      } catch (FileNotFoundException ex) {
        continue;
      }

      if (tabletDirs.length == 0) {
        Path p = new Path(dir + "/" + tableID);
        log.debug("Removing table dir {}", p);
        if (!moveToTrash(p)) {
          fs.delete(p);
        }
      }
    }
  }

  @Override
  public void incrementCandidatesStat(long i) {
    candidates += i;
  }

  @Override
  public void incrementInUseStat(long i) {
    inUse += i;
  }

  @Override
  @Deprecated
  public Iterator<Map.Entry<String,Replication.Status>> getReplicationNeededIterator() {
    AccumuloClient client = context;
    try {
      Scanner s = org.apache.accumulo.core.replication.ReplicationTable.getScanner(client);
      org.apache.accumulo.core.replication.ReplicationSchema.StatusSection.limit(s);
      return Iterators.transform(s.iterator(), input -> {
        String file = input.getKey().getRow().toString();
        Replication.Status stat;
        try {
          stat = Replication.Status.parseFrom(input.getValue().get());
        } catch (InvalidProtocolBufferException e) {
          log.warn("Could not deserialize protobuf for: {}", input.getKey());
          stat = null;
        }
        return Maps.immutableEntry(file, stat);
      });
    } catch (org.apache.accumulo.core.replication.ReplicationTableOfflineException e) {
      // No elements that we need to preclude
      return Collections.emptyIterator();
    }
  }

  @VisibleForTesting
  static void minimizeDeletes(SortedMap<String,String> confirmedDeletes,
      List<String> processedDeletes, VolumeManager fs, Logger logger) {
    Set<Path> seenVolumes = new HashSet<>();

    // when deleting a dir and all files in that dir, only need to delete the dir.
    // The dir will sort right before the files... so remove the files in this case
    // to minimize namenode ops
    Iterator<Map.Entry<String,String>> cdIter = confirmedDeletes.entrySet().iterator();

    String lastDirRel = null;
    Path lastDirAbs = null;
    while (cdIter.hasNext()) {
      Map.Entry<String,String> entry = cdIter.next();
      String relPath = entry.getKey();
      Path absPath = new Path(entry.getValue());

      if (SimpleGarbageCollector.isDir(relPath)) {
        lastDirRel = relPath;
        lastDirAbs = absPath;
      } else if (lastDirRel != null) {
        if (relPath.startsWith(lastDirRel)) {
          Path vol = VolumeManager.FileType.TABLE.getVolume(absPath);

          boolean sameVol = false;

          if (GcVolumeUtil.isAllVolumesUri(lastDirAbs)) {
            if (seenVolumes.contains(vol)) {
              sameVol = true;
            } else {
              for (Volume cvol : fs.getVolumes()) {
                if (cvol.containsPath(vol)) {
                  seenVolumes.add(vol);
                  sameVol = true;
                }
              }
            }
          } else {
            sameVol = Objects.equals(VolumeManager.FileType.TABLE.getVolume(lastDirAbs), vol);
          }

          if (sameVol) {
            logger.info("Ignoring {} because {} exist", entry.getValue(), lastDirAbs);
            processedDeletes.add(entry.getValue());
            cdIter.remove();
          }
        } else {
          lastDirRel = null;
          lastDirAbs = null;
        }
      }
    }
  }

  /**
   * Checks if safemode is set - files will not be deleted.
   *
   * @return number of delete threads
   */
  boolean inSafeMode() {
    return context.getConfiguration().getBoolean(Property.GC_SAFEMODE);
  }

  /**
   * Moves a file to trash. If this garbage collector is not using trash, this method returns false
   * and leaves the file alone. If the file is missing, this method returns false as opposed to
   * throwing an exception.
   *
   * @return true if the file was moved to trash
   * @throws IOException
   *           if the volume manager encountered a problem
   */
  boolean moveToTrash(Path path) throws IOException {
    final VolumeManager fs = context.getVolumeManager();
    if (!isUsingTrash()) {
      return false;
    }
    try {
      return fs.moveToTrash(path);
    } catch (FileNotFoundException ex) {
      return false;
    }
  }

  /**
   * Checks if the volume manager should move files to the trash rather than delete them.
   *
   * @return true if trash is used
   */
  boolean isUsingTrash() {
    return !config.getBoolean(Property.GC_TRASH_IGNORE);
  }

  /**
   * Gets the batch size for garbage collecting.
   *
   * @return candidate batch size.
   */
  long getCandidateBatchSize() {
    return config.getAsBytes(Property.GC_CANDIDATE_BATCH_SIZE);
  }

  public long getInUseStat() {
    return inUse;
  }

  public long getDeletedStat() {
    return deleted;
  }

  public long getErrorsStat() {
    return errors;
  }

  public long getCandidatesStat() {
    return candidates;
  }
}

redpajama_set_name: RedPajamaGithub


text:
Hong, Lee, and Lee: Greater occipital nerve blockade using ultrasound guidance for the headache of spontaneous intracranial hypotension - A case report -
Anesthesia and Pain Medicine 2022;17(1):62-66.
Greater occipital nerve blockade using ultrasound guidance for the headache of spontaneous intracranial hypotension - A case report -
Ji Hee Hong , Ho Woo Lee , Yong Ho Lee
Department of Anesthesiology and Pain Medicine, Keimyung University Dong San Hospital, Daegu, Korea
Corresponding Author: Ji Hee Hong, M.D., Ph.D. Department of Anesthesiology and Pain Medicine, Keimyung University Dong San Hospital, 1035 Dalgubeol-daero, Dalseo-gu, Daegu 42601, Korea
Tel: 82-53-258-7767 Fax: 82-53-258-6288 E-mail: swon13@daum.net
Received July 22, 2021 Revised August 17, 2021 Accepted August 25, 2021
Spontaneous intracranial hypotension occurs due to cerebrospinal fluid leakage from the spinal column, and orthostatic headache is the most common clinical presentation. Recent studies showed that bilateral greater occipital nerve blockade demonstrated clinical efficacy in relieving post-dural puncture headache after caesarean section.
A 40-year-old male who presented severe orthostatic headache was consulted to our pain clinic from neurology department. He initially felt a dull nature pain over the whole occipital area which then spread over the frontal and parietal areas. His headache was combined with nausea and vomiting. An epidural blood patch was delayed until final cisternography, and bilateral greater occipital nerve blockade using ultrasound guidance was performed instead. After the blockade, the previously existing headache around the occipital and parietal areas disappeared completely, but mild headache persisted around the frontal area.
Greater occipital nerve blockade could be a good therapeutic alternative to improve headache resulting from spontaneous intracranial hypotension.
Keywords: Greater occipital nerve; Orthostatic headache; Spontaneous intracranial hypotension; Ultrasound
Spontaneous intracranial hypotension (SIH) occurs due to cerebrospinal fluid (CSF) leakage from the spinal column. Underlying dural sac weakness associated with meningeal diverticula, dural weakness caused by minor trauma, ventral dural tears of intervertebral disc material, and CSF-venous fistulas are common causes of SIH. However, in some cases, the exact cause of SIH is completely unknown [1,2]. Orthostatic headache is the most common and important manifestation of SIH patients. Various clinical presentations such as nausea, vomiting, photophobia, hearing impairment and dizziness can be observed with orthostatic headache [1]. Diagnostic measures for suspected SIH are radioisotope (RI) cisternography, computed tomography myelography, and magnetic resonance imaging (MRI) myelography [1,2].
Conservative treatment for headache due to SIH includes bed rest, theophylline, intravenous fluid infusion, caffeine, and an epidural blood patch (EBP). Among such treatment, an EBP is considered the treatment of choice for those patients whose headache did not improve with initial conservative treatment.
Greater occipital nerve (GON) blockade has been performed widely to relieve symptoms of migraine, tension-type headache, and cluster headache [3]. Recent studies showed that bilateral GON blockade demonstrated clinical efficacy in relieving post-dural puncture headache after caesarean sections [4].
We encountered a patient with severe orthostatic headache who was diagnosed as SIH after admission to the neurology department. Herein, we report this case as GON blockade using ultrasound guidance was performed successfully, and it demonstrated a dramatic improvement of the headache. Before the preparation of this case report, written informed consent for publication was obtained from the patient.
A 40-year-old male with a height of 173 cm and a weight of 68 kg, who presented severe orthostatic headache, was consulted to our pain clinic from neurology department. The headache started three weeks prior to the admission with a characteristic orthostatic nature. The patient had no history of headache prior to this ongoing orthostatic headache. He initially felt a pain over the whole occipital area which then spread over the frontal and parietal areas. He described his headache as dull nature pain accompanied by pressure sensation, and it was associated with nausea and vomiting. He graded his headache as 9/10 on a numerical rating scale (NRS) before admission to the neurology department. After strict bed rest and intravenous hydration therapy, his NRS decreased to 7/10. The headache persisted for whole day during his admission. Physical examination did not reveal any specific neurologic abnormality or symptoms. He did not have any special history of trauma or accidental dural puncture prior to the onset of this headache. He showed slightly decreased kidney function due to IgA nephropathy which was diagnosed three years ago. He could not maintain his daily activity due to headache. Contrast enhanced MRI revealed bilateral symmetric curvilinear dural enhancement along both cerebral high convexities. Both internal carotid artery angiography and vertebral artery angiography were performed, but they did not demonstrate any suspicious lesion of cerebral venous thrombosis. To identify the leakage level of CSF, cisternography was planned. However, cisternography was only possible at least three weeks later due to an overloaded schedule.
Before the planned cisternography, this patient was consulted to our pain clinic for an EBP. Since we thought that targeted EBP after confirmation of leakage level of CSF is more appropriate for headache improvement, an EBP was delayed until the cisternography was performed. Instead of an EBP, we suggested a bilateral GON blockade using ultrasound guidance for symptom improvement.
The GON blockade was performed by a pain physician who had more than five years of experience in ultrasound guided procedures. The patient was asked to lie with his face down and his head was flexed slightly. Afterward, the spinous process of C2 was palpated and marked. Sterile draping was done using a povidone swab. A linear probe with a frequency of 4-15 MHz was used (Logiq S8, GE Healthcare, USA). After identifying the spinous process of C2, we placed the probe in a parallel direction to the laminae of C2 and then rotated it along the long axis of the obliquus capitis inferior (OCI) (Fig 1A). Since the GON always passes by the OCI, the OCI muscle was first identified [5]. After this identification, our final target site was the intermuscular fatty layer between the OCI and semispinalis capitis (SSC) muscle (Fig. 1B). Local infiltration using 1% lidocaine was done before needle insertion. A 23 G needle was inserted slowly toward the intermuscular fatty layer between the OCI and SSC using an in-plane method. When the needle tip was confirmed to have reached the final target site, 0.1% ropivacaine 3 ml was injected. We could check the accumulation of the local anesthetics at the intermuscular fatty layer (Fig. 1C). Both sides of the GON blockade were performed using the same local anesthetics and technique.
After completing the bilateral GON blockade, the patient was lay down in bed for 20 min and was monitored for the appearance of any possible side effect. He was asked to sit up for a while in order to confirm the improvement of the orthostatic headache. He reported that the previous headache which existed around the occipital and parietal areas had disappeared completely, but that mild headache persisted at the frontal area. On the next day after the GON blockade, the significant improvement of headache was still maintained and NRS of the headache was approximately 1-2/10. Two days after GON blockade, he was discharged with mild headache at the frontal area. He was fully educated about the importance of absolute bed rest at home to prevent the aggravation of the intracranial hypotension and headache.
Three weeks after his discharge, he was readmitted for the cisternography. The test demonstrated multiple CSF leakages at the upper thoracic spine, and lumbar puncture opening pressure was as low as 5 cmH2O. Although the headache was mild with NRS of 1-2/10, an EBP was performed to prevent any unwanted complication due to low intracranial pressure. The EBP was performed using the C-arm guided technique. For epidural entry at the specific spinal level, the midline approach via loss-of-air resistance was used. Autologous blood of 10 ml was injected using a 22-G Tuohy epidural needle. The blood was injected very slowly to minimize any discomfort during the injection. Before the blood injection, 3 ml of contrast medium was injected to confirm the epidural space.
One month after the GON blockade and EBP were performed, the orthostatic headache had almost completely disappeared but mild tinnitus remained.
This case of orthostatic headache due to SIH demonstrated a dramatic improvement after bilateral GON blockade using ultrasound guidance. Peripheral nerve blockade including GON has been performed widely to relieve cervicogenic headache, cluster headache, tension-type headache, occipital neuralgia and migraine [3]. The clinical features and mechanism of the headache which occurs due to SIH are distinct compared to common primary headache. Headache of SIH is a clinical result of CSF leakage, leading to a decreased CSF pressure, which eventually triggers a movement of intracranial structures and traction of pain-sensitive structures in the upright position [1,2]. Although such a distinctive nature of the headache is present in SIH, GON blockade resulted in good therapeutic efficacy. There is only one case report which demonstrated an efficacy of GON blockade for the headache due to SIH. GON blockade resulted in short-term benefit lasting four month, and subsequent pulsed radiofrequency of GON showed significant pain relief lasting 10 months [6].
GON originates from the medial branch of the C2 dorsal ramus with variable contributions from the C3 dorsal ramus, and ascends superior to the posterior scalp. GON is always situated between the OCI and SSC muscle and then pierces to the SSC muscle [7]. The trigeminal and upper cervical nerve provide sensory innervation to the face and scalp. The trigeminal nucleus caudalis is located near the upper cervical spinal neuron. The convergence of sensory input from the upper cervical and trigeminal nerves to the trigeminal nucleus caudalis is present. However, in cases of SIH, the activity in the trigeminal and greater occipital nerves can be increased due to a dural stretch caused by a low intracranial pressure [6]. GON blockade can result in the inhibition of sensory input to the trigeminal nucleus caudalis from upper cervical nerves [8]. A "winding down" of the central sensitization caused by the reduction in afferent input to the trigeminal nucleus caudalis can provide a neuromodulatory effect of the headache [6,8].
Many pain physicians still perform a GON blockade using the conventional approach which depends on the palpation of external anatomic landmarks at the level of the superior nuchal line. However, we should keep in mind that the course of GON presents diverse variations at the level of the superior nuchal line [7,9]. We used a proximal approach at the C2 level suggested by Greher et al. [7] targeting GON superficial to the OCI muscle. Their study revealed that the proximal-level GON blockade showed a higher success rate and was more accurate than the conventional blockade at the level of the superior nuchal line [7]. Moreover, proximal-level GON blockade provided more sustained analgesic benefit compared with the distal-level GON blockade [10]. Considering a constant relationship between the GON and OCI muscle [7,8], GON blockade at the C2 level provides many advantages compared to the conventional method at the level of the superior nuchal line.
In this case, we delayed the EBP to perform leakage level targeting EBP afterward. In a retrospective study of EBP, site-directed EBP correlated well with a greater likelihood of first EBP efficacy [11]. SIH and post-dural puncture headache have similar pathophysiologic mechanism and clinical manifestation. However, computed tomography-myelography or radionuclide cisternography often revealed multiple levels of CSF leakage throughout the spine in SIH, and the efficacy of EBP was lower in SIH than in post-dural puncture headache [1,2,11].
An EBP has been the treatment of choice for intractable orthostatic headache due to SIH or post-dural puncture headache. However, there is no consensus about the actual blood volume needed for an EBP. A previous study which was performed in SIH patients demonstrated that an epidural blood volume greater than 22.5 ml resulted in a higher success rate compared to a volume less than 22.5 ml (67.9% vs. 47.0%) [12]. However, if a higher volume of epidural blood is used, we should consider the possibility of rebound intracranial hypertension. The main clinical manifestation of rebound intracranial hypertension is headache, nausea, vomiting, and blurred vision [13], which makes it difficult to distinguish from the clinical manifestation of SIH. Recently reported fatal complications such as acute vision loss [14] and arachnoiditis [15] secondary to an EBP, raise the necessity for the further alternative treatment options.
If an EBP shows minimal efficacy in headache improvement or an unwanted complication is expected, combining a bilateral GON blockade with an EBP can be a good alternative. However, further studies with a larger patient group are required to confirm the clinical efficacy.
All data generated or analyzed during this study are included in this published article.
Writing - original draft: Ji Hee Hong. Writing - review & editing: Ji Hee Hong. Investigation: Ji Hee Hong. Software: Yong Ho Lee, Ho Woo Lee. Supervision: Ji Hee Hong.
Photography showing the proper position of the linear probe for greater occipital nerve blockade (A). Ultrasound image showing the obliquus capitis inferior (OCI), and the semispinalis capitis (SSC) muscle. Asterisk (*) indicates intermuscular fatty layer between the OCI and the SSC muscle, which is the final target site (B). Red arrow indicates an accumulation of local anesthetics in the intermuscular fatty layer between the OCI and the SSC muscle (C).
1. Schievink WI. Spontaneous spinal cerebrospinal fluid leaks and intracranial hypotension. JAMA 2006; 295: 2286-96.
2. Upadhyaya P, Ailani J. A review of spontaneous intracranial hypotension. Curr Neurol Neurosci Rep 2019; 19: 22.
3. Bovim G, Sand T. Cervicogenic headache, migraine without aura and tension-type headache. Diagnostic blockade of greater occipital and supra-orbital nerves. Pain 1992; 51: 43-8.
4. Uyar Türkyilmaz E, Camgöz Eryilmaz N, Aydin Güzey N, Moraloğlu Ö. Bilateral greater occipital nerve block for treatment of post-dural puncture headache after caesarean operations. Braz J Anesthesiol 2016; 66: 445-50.
5. Pingree MJ, Sole JS, O' Brien TG, Eldrige JS, Moeschler SM. Clinical efficacy of an ultrasound-guided greater occipital nerve block at the level of C2. Reg Anesth Pain Med 2017; 42: 99-104.
6. Niraj G, Critchley P, Kodivalasa M, Dorgham M. Greater occipital nerve treatment in the management of spontaneous intracranial hypotension headache: a case report. Headache 2017; 57: 952-5.
7. Greher M, Moriggl B, Curatolo M, Kirchmair L, Eichenberger U. Sonographic visualization and ultrasound-guided blockade of the greater occipital nerve: a comparison of two selective techniques confirmed by anatomical dissection. Br J Anaesth 2010; 104: 637-42.
8. Ryu JH, Shim JH, Yeom JH, Shin WJ, Cho SY, Jeon WJ. Ultrasound-guided greater occipital nerve block with botulinum toxin for patients with chronic headache in the occipital area: a randomized controlled trial. Korean J Anesthesiol 2019; 72: 479-85.
9. Natsis K, Baraliakos X, Appell HJ, Tsikaras P, Gigis I, Koebke J. The course of the greater occipital nerve in the suboccipital region: a proposal for setting landmarks for local anesthesia in patients with occipital neuralgia. Clin Anat 2006; 19: 332-6.
10. Flamer D, Alakkad H, Soneji N, Tumber P, Peng P, Kara J, et al. Comparison of two ultrasound-guided techniques for greater occipital nerve injections in chronic migraine: a double-blind, randomized, controlled trial. Reg Anesth Pain Med 2019; 44: 595-603.
11. So Y, Park JM, Lee PM, Kim CL, Lee C, Kim JH. Epidural blood patch for the treatment of spontaneous and iatrogenic orthostatic headache. Pain Physician 2016; 19: E1115-22.
12. Wu JW, Hseu SS, Fuh JL, Lirng JF, Wang YF, Chen WT, et al. Factors predicting response to the first epidural blood patch in spontaneous intracranial hypotension. Brain 2017; 140: 344-52.
13. Kranz PG, Amrhein TJ, Gray L. Rebound intracranial hypertension: a complication of epidural blood patching for intracranial hypotension. AJNR Am J Neuroradiol 2014; 35: 1237-40.
14. Pagani-Estévez GL, Chen JJ, Watson JC, Leavitt JA. Acute vision loss secondary to epidural blood patch: Terson syndrome. Reg Anesth Pain Med 2016; 41: 164-8.
15. Villani LA, Digre KB, Cortez MM, Bokat C, Rassner UA, Ozudogru SN. Arachnoiditis, a complication of epidural blood patch for the treatment of low-pressure headache: a case report and systematic review. Headache 2021; 61: 244-52.
Stellate ganglion block for the treatment of intractable hiccups: A case report2018 April;13(2)
Multiple epidural fibrin glue patches in a patient with spontaneous intracranial hypotension:A case report2019 July;14(3)


text:
{% load staticfiles %}
<!DOCTYPE html>

        <title>django-summernote frame</title>
        {% for url in css %}
        <link href="{{ url }}" rel="stylesheet">{% endfor %}
        {% for url in js %}
        {% endfor %}

    {% include "django_summernote/widget_common.html" with iframe=True %}


text:
FHFA Increases Conforming Loan Limits for Second Straight Year.
Wallick & Volk Mortgage BankersMortgage LoansHome LoansMortgage FinancingHome LenderMortgage Lender
Last year, the Federal Housing Finance Agency increased the maximum conforming loan limits for mortgages to be acquired by Fannie Mae and Freddie Mac for the first time since the housing crisis.
And now, the FHFA is doing it again.
For the second year in a row, and the second time since 2006, the FHFA is increasing the conforming loan limits for Fannie and Freddie in 2018.
The FHFA announced that it is increasing the conforming loan limits from $424,100 to $453,100 for 2018.
The conforming loan limits for Fannie and Freddie are determined by the Housing and Economic Recovery Act of 2008, which established the baseline loan limit at $417,000 and mandated that, after a period of price declines, the baseline loan limit cannot rise again until home prices return to pre-decline levels.
Fannie and Freddie's conforming loan limits stayed at $417,000 until last year, when the FHFA finally increased the loan limit to $424,100.
But, as the FHFA noted home prices are on the rise, which necessitates a second straight yearly increase in the conforming loan limit.
The FHFA's third quarter 2017 House Price Index report, which includes estimates for the increase in the average U.S. home value over the last four quarters, showed that house prices increased 6.8%, on average, between the third quarters of 2016 and 2017.
Therefore, the FHFA said that the baseline maximum conforming loan limit in 2018 will increase by the same percentage – from $424,100 to $453,100.
Loan limits will also be increasing in what the FHFA calls "high-cost areas," where 115% of the local median home value exceeds the baseline loan limit.
Under HERA, the maximum loan limit in those "high-cost areas" is calculated as a multiple of the area median home value, while setting a "ceiling" on that limit of 150% of the baseline loan limit.
According to the FHFA, median home values "generally increased" in high-cost areas in 2017, which drove up the maximum loan limits in many of those areas.
Therefore, the new ceiling loan limit for one-unit properties in most high-cost areas will be $679,650 (which is 150% of $453,100) for one-unit properties in the contiguous U.S.
In 2017, the high-cost loan limit was $636,150.
According to the FHFA, special statutory provisions establish different loan limit calculations for Alaska, Hawaii, Guam, and the U.S. Virgin Islands.
In these areas, the baseline loan limit will be $679,650 for one-unit properties, but the FHFA notes that loan limits may be higher in some specific locations.
For a full look at the conforming loan limits, by county, click here.
The FHFA notes that as a result of "generally rising home values, the increase in the baseline loan limit, and the increase in the ceiling loan limit," the 2018 maximum conforming loan limit will be higher in all but 71 counties or county equivalents in the U.S. than it was in 2017.
Wallick & Volk Mortgage Advisors are here to help with you new home financing. www.wvmb.com.
Seefried Team
21040 North Pima Road
Our offices in Texas are licensed and examined by the Office of Consumer Credit Commissioners of the State of Texas.
Privacy Policy | NMLS Consumer Acces | Disclosures and Licenses | Unsubscribe


Niamh is a partner in the Commercial Real Estate Department at Matheson. Niamh has over 10 years' experience working with highest calibre clients on sophisticated commercial transactions. Niamh has significant experience leading and co-ordinating a varied range of complex transactions across all commercial real estate sectors and in all stages of acquisition, financing, development, leasing, management and sale.
Niamh has particular experience in advising Irish and international companies in the acquisition, leasing and development of office, mixed use and industrial developments. Niamh advises a wide range of high profile multinational companies in the technology and pharmaceutical sectors as well as financial institutions on all of their real estate needs setting up and expanding their presence in Ireland.
Niamh has significant experience in real estate aspects of corporate mergers and acquisitions.