STATE OF LOUISIANA
v.
JARVIS JERMAINE SHELVIN
No. 09-1283.
Court of Appeals of Louisiana, Third Circuit.
May 5, 2010.
Michael Harson, District Attorney, Keith A. Stutes, Assistant District Attorney, Lafayette, LA, Counsel for Appellee: State of Louisiana.
Edward Kelly Bauman, Louisiana Appellate Project, Lake Charles, LA, Counsel for Defendant/Appellant: Jarvis Jermaine Shelvin.
Court composed of Oswald A. Decuir, James T. Genovese, and Shannon J. Gremillion, Judges.
OSWALD A. DECUIR, Judge.
Following a jury trial, Defendant, Jarvis Jermaine Shelvin, was convicted on one count of second degree murder and sentenced to life imprisonment. Defendant lodged this appeal, alleging that the evidence was not sufficient to support his conviction and that the trial court erred in denying his request to exclude crime scene photographs.

FACTS
On the evening of April 26, 2006, Defendant shot and killed the victim during a robbery.

SUFFICIENCY OF THE EVIDENCE
By this assignment of error, Defendant argues that there was insufficient evidence for a jury to find him guilty beyond a reasonable doubt. The analysis for a claim of insufficient evidence is well-settled:
When the issue of sufficiency of evidence is raised on appeal, the critical inquiry of the reviewing court is whether, after viewing the evidence in the light most favorable to the prosecution, any rational trier of fact could have found the essential elements of the crime proven beyond a reasonable doubt. Jackson v. Virginia, 443 U.S. 307, 99 S.Ct. 2781, 61 L.Ed.2d 560, rehearing denied, 444 U.S. 890, 100 S.Ct. 195, 62 L.Ed.2d 126 (1979); State exrel. Graffagnino v. King, 436 So.2d 559 (La.1983); State v. Duncan, 420 So.2d 1105 (La.1982); State v. Moody, 393 So.2d 1212 (La.1981). It is the role of the fact finder to weigh the respective credibility of the witnesses, and therefore, the appellate court should not second guess the credibility determinations of the triers of fact beyond the sufficiency evaluations under the Jackson standard of review. See State ex rel. Graffagnino, 436 So.2d 559 (citing State v. Richardson, 425 So.2d 1228 (La.1983)). In order for this Court to affirm a conviction, however, the record must reflect that the state has satisfied its burden of proving the elements of the crime beyond a reasonable doubt.
State v. Kennerson, 96-1518, p. 5 (La.App. 3 Cir. 5/7/97), 695 So.2d 1367, 1371.
Second degree murder is defined in La.R.S. 14:30.1(A), in pertinent part, as follows:
A. Second degree murder is the killing of a human being:
(1) When the offender has a specific intent to kill or to inflict great bodily harm; or
(2) When the offender is engaged in the perpetration or attempted perpetration of aggravated rape, forcible rape, aggravated arson, aggravated burglary, aggravated kidnapping, second degree kidnapping, aggravated escape, assault by drive-by shooting, armed robbery, first degree robbery, second degree robbery, simple robbery, cruelty to juveniles, second degree cruelty to juveniles, or terrorism, even though he has no intent to kill or to inflict great bodily harm.
In the instant case, Defendant challenges only his identity as the perpetrator. Defendant complains that the jury incorrectly relied on the self-serving testimony of Jamaesha Provost, a participant in the offense, and the testimony of Shayla Prejean, a sixteen-year-old eyewitness, in finding him guilty. Defendant adds that no weapon or money was ever recovered from him.
At trial, Jamaesha Provost testified that Defendant killed the victim. She described a plot to rob the victim that did not turn out as originally planned. Jamaesha stated that she had known the victim for about a week, and he would stop to speak with her if he saw her outside her residence. The victim nicknamed her "Black." On the day of the offense, the victim stopped to speak to Jamaesha. At that time, Defendant, Norris Landor, and Georgia Norbert were also at Jamaesha's house. Norris was dating Jamaesha at the time. During the victim's conversation with Jamaesha, he pulled out a large roll of cash and gave her thirty dollars. According to Jamaesha, Defendant saw the roll of cash and subsequently devised a scheme to rob the victim.
Jamaesha was to walk to the victim's home and persuade the victim to go on a walk with her. Defendant would then knock the victim out and take his money. Jamaesha agreed with the plan. Later that evening, Jamaesha, Defendant, and Norris met back at Jamaesha's house, and the plan to rob the victim was put into action. Jamaesha walked by the victim's house where he was outside with two other people. According to Jamaesha, she asked the victim to walk with her to the store. The victim, however, asked a guy on a bike to go to the store for Jamaesha, and then he escorted Jamaesha to her home. Jamaesha testified that the victim wanted to walk to the nearby park, so they proceeded to the park and sat down on a park bench. Later, the man on the bike returned with the items he purchased at the store and then rode away.
Soon thereafter, Defendant approached Jamaesha and the victim as planned, and then began yelling "get down." Jamaesha stated that Defendant was dressed in all black, and she recognized him from his size, the way he talked, and his voice. Jamaesha saw that Defendant had a gun, and she took off running. Jamaesha maintained that the gun was not part of the plan. While fleeing from the park, Jamaesha heard a gunshot. She ran to her house and told Norris that she heard a gunshot and that Defendant had shot the victim. Jamaesha testified she knew without a doubt that Defendant shot the victim. Lastly, Jamaesha stated that she was no longer dating Norris and maintained that she was not protecting Norris by implicating Defendant.
Georgia Norbert confirmed that there was talk of robbing the victim on the day of the offense. According to Georgia, Jamaesha was talking to the victim outside. When she came back inside, Jamaesha reported that the victim had a lot of money on him. Georgia testified that she believed Norris, Jamaesha's boyfriend, said they ought to beat the victim at that time and take his money. She indicated that Defendant was also present. Georgia testified that both she and Jamaesha discouraged the suggestion to rob the victim at that time, and Georgia left Jamaesha's house and did not return that evening. The following afternoon, Georgia learned that the victim had been killed.
Phillip Gotch, a friend of the victim, confirmed that Jamaesha approached the victim's house prior to the shooting and asked for him. Phillip and another man, C.J., were at the victim's home. According to Phillip, the victim came out of his home, talked with Jamaesha for two to three minutes, and then started walking with Jamaesha. About ten to fifteen minutes later, a man called "Money" rode up on his bike and told Phillip that he had gone to the store and that the victim was by the park with Jamaesha. Soon thereafter, Phillip heard a gunshot from across the park. Phillip was not surprised by the gunshot and did not pay much attention to it at first.
Phillip then saw Money run to his bike and take off. Phillip decided to follow him along with C.J. As they headed toward the park, Phillip saw a short, chubby man wearing a gray sweatshirt and pants running from the park. Phillip could not see the man's face, but noticed that he was holding something in his back pocket. Also, the person he saw running was not Jamaesha. Later, Phillip added that the man's clothing was very dark.
Milton Marshall, a/k/a Money, testified that he was with the victim all day and that he last saw the victim at the park about five to ten minutes before he was shot. He explained that the victim was with a short, stocky female wearing a black hood. Milton spoke to the victim and then went to the victim's house where he met up with Phillip and C.J. Soon thereafter, Milton heard a gunshot and took off on his bike to see what happened. Milton saw someone running from the park but did not recognize the person. He then testified that it was the female that he had seen with the victim.
Milton's testimony regarding the identity of the person seen running from the park changed. Milton stated he did not recall giving a statement to police indicating he saw a male dressed in black running from the park. Milton maintained that this was an error in the statement. Milton then testified that he remembered telling a detective that he saw someone wearing black and a hood over his head running from the park. Milton recalled telling a detective that the person was a man, but at trial, Milton was not certain that it was a man.
Shayla Prejean, a nearby resident, was a witness to the offense. Shayla testified that she heard people arguing outside and looked out of her bedroom window to see who was making the noise. The noise was coming from the area of a tree in the park near a bench. She was able to see three people arguing, one short person and two taller people, but she could not make out what they were saying. Before she heard the gunshot, she saw one of the taller people run from the park out of an entrance located further down the street.
Shayla then heard a gunshot and saw the shooter lay the victim down on the ground and then bend over the victim. She described the shooter as short and dark, with short dark hair, and dressed in all black clothing. The shooter then ran out of the park and passed in front of Shayla's bedroom window. With the help of a street light in front of her house, Shayla was able to see the shooter's face. Also, the shooter was carrying something in his left hand that was wrapped in dark-colored material. Shayla stated that the man was not sprinting, but was jogging.
Shayla identified Defendant in the courtroom to be the man she saw run from the park and past her window. She also testified that she identified Defendant in a police photo line-up. However, on the Line-Up Identification Form given to Shayla to complete, she did not circle any numbers to indicate that she recognized Defendant in the photographic line-up. At the bottom of the form in the section for remarks, Shayla wrote, "Was unable to identify but #2 was the closest one to look like the person I saw." Despite the appearance of her uncertainty at the time of the offense, Shayla testified at trial that she told the police she was pretty sure that it was number two. Shayla also stated that she was never told to circle the number that corresponded to the person she identified. Lastly, Shayla indicated that Defendant was not wearing his hood so she was able to see his face "pretty clear." Shayla concluded at trial that there was no doubt in her mind that Defendant was the man she saw that night.
On appeal, Defendant contends that the testimony of the individuals involved is so riddled with inconsistencies that the testimony should not have been considered. While there do appear to be inconsistencies from one witness to another, the basic story amongst the individuals involved is consistent. Although Georgia testified that Norris, not Defendant, suggested the robbery earlier that day, she was not present at the time of the offense to implicate Norris as the shooter.
Additionally, Shayla, an eyewitness with no involvement in the offense or with the parties involved, identified Defendant as the shooter. Although Shayla indicated that she was "pretty sure" the man she saw was Defendant at the time she was shown the photo line-up, she testified at trial that she was certain of Defendant's identity and had no doubt in her mind that Defendant was the man she saw that night. Lastly, the fact that Shayla was only sixteen years old at the time of the offense was a fact presented to the jury and was considered in determining her credibility. The jury's role in this case, in part, was to weigh the respective credibility of the witnesses at trial. In light of the testimony in the record at hand, Defendant has not shown that the jury's credibility determinations should be second guessed. With the testimony identifying Defendant as the perpetrator, we find that the State has satisfied its burden of proving the elements of the crime beyond a reasonable doubt.

CRIME SCENE PHOTOS
In his last assignment of error, Defendant argues that the trial court erred in denying his request to exclude prejudicial crime scene photos. In support of his argument, Defendant refers to State v. Eaton, 524 So.2d 1194, 1201 (La.1988), cert. denied, 488 U.S. 1019, 109 S.Ct. 818 (1989), wherein the supreme court summarizes the guidelines regarding the introduction of photographs as follows:
The mere fact a photograph is gruesome does not in and of itself render a photograph inadmissible. The test of admissibility is whether the probative value outweighs any prejudicial effect which may result from the display to the jury. State v. Comeaux, 514 So.2d 84 (La.1987); State v. Beach, 320 So.2d 142 (La.1975); State v. Morris, 245 La. 175, 157 So.2d 728 (1963). Generally, photographs of a victim's body which depict the fatal wounds are relevant to prove the corpus delicti, to establish the identity of the victim, the location, severity and number of wounds, and to corroborate other evidence of the manner in which the death occurred. Comeaux, 514 So.2d at 96. The trial court's admission of an allegedly gruesome photograph will be overturned on appeal only if the prejudicial effect clearly outweighs the probative value. No error will be found unless the photographs are so gruesome so as to overwhelm the jurors' reason and lead them to convict the defendant without sufficient other evidence. State v. Perry, 502 So.2d 543 (La.1986).
In the instant case, Defendant contends that the post-mortem photographs of the victim were not needed to prove the corpus delicti or to identify the victim and, thus, had no probative value regarding the issues at hand. Defendant concludes the photos served only to inflame the passions of the jury.
The State submits that the photographs are far from gruesome and did not overwhelm the reason of the jurors, thereby leading them to convict Defendant without evidence. State v. Perry, 502 So.2d 543 (La.1986), cert. denied, 484 U.S. 872, 108 S.Ct. 205 (1987). The State maintains that the photos depict the condition of the victim's body, the position and general location of his body in the park, and the location of other items of evidence found at the scene. The State adds that the photographs depict the location, number, and positioning of the victim's wounds which were relevant to prove the corpus delicti.
At the beginning of trial, Defendant objected to photographs of the victim and offered to stipulate that the victim was shot and killed. Defendant argued that the photographs were too prejudicial and had no probative value regarding the gunshot wound to the head. Later at trial, Defendant reiterated his objection and added that repeatedly publishing them to the jury, with the victim's family members present, was prejudicial. Defendant also argued that the display of the photographs was cumulative, redundant, and inflammatory.
The State responded by asserting it had the right to have each witness testify pursuant to a photograph admitted into evidence and that it was obligated to have the photographs displayed to the jury. The State maintained that it could pass the photographs around to the twelve jurors which would stretch the trial out for weeks, or it could display the photographs through the use of Power Point. The State stressed that prior to trial, the family members present in court were prepared and informed that the photographs would be displayed, and they were told that they could leave the courtroom if needed.
The trial court overruled Defendant's objection, but opted to address the family members in court, stressing that they must maintain the integrity of the trial process. To prevent the jury from being too influenced by their emotions, the trial court requested that the family members refrain from showing outward emotion and sobbing. The trial court asked them to step outside the courtroom if they felt they could not control their emotions while the photographs were being shown.
Four photographs of the victim at the crime scene were admitted into evidence. One photograph was taken of the victim from a distance and depicts the location of his body in the park. A park bench, tree, picnic table, and fence line can all be seen in the photograph. The victim is lying on the ground, but his injury is not apparent. Another photograph was taken closer to the victim from his left side. He is seen lying on his back with little to no evidence of his injury visible in the photograph. Another photograph taken at a similar distance as the second one shows the victim from his right side and again reveals very little evidence of his injury. A small amount of blood can be seen below his nose. The last photograph is a closeup of the victim's head from the left side of his face and reveals a small amount of blood under his nose and to the left of his nose. Also, a very small amount of blood can be seen at the area of the gunshot, but the wound, measuring one-eighth of an inch and located two and one-half inches from the top of his head and four inches from the front of his head, is mostly obscured by the victim's hair. As noted in the victim's autopsy report, the defect from the injury had no abrasion ring, no soot, and no stippling.
Considering the content of the photographs, along with the trial court's instructions to the family members to maintain the integrity of the proceeding, the trial court did not err in denying Defendant's motion to exclude the evidence. Although the victim died as a result of the gunshot, the photographs did not depict a bloody crime scene or an offensive component such as decomposition. Additionally, the photographs were relevant in proving the corpus delicti as well as depicting the location of the victim's body in the park, the position of his body, and the location of his wounds. Accordingly, this assignment of error is without merit.

DECREE
For the foregoing reasons, Defendant's conviction and sentence are affirmed.
AFFIRMED.


Soldier donates stem cells for child with leukemia

Spc. Amanda N. Reynolds donates stem cells as a donor for the C.W. Bill Young Department of Defense Marrow Donor Program at MedStar Georgetown University Hospital, in Washington, D.C., June 12, 2013. The C.W. Bill Young Department of Defense Marrow Donor Program is a life-sustaining program open to all healthy people between the ages of 18 and 60.

Spc. Amanda N. Reynolds donates stem cells as a donor for the C.W. Bill Young Department of Defense Marrow Donor Program at MedStar Georgetown University Hospital, in Washington, D.C., June 12, 2013. The C.W. Bill Young Department of Defense Marrow Donor Program is a life-sustaining program open to all healthy people between the ages of 18 and 60.

Related Links

FORT BRAGG, N.C. (Dec. 16, 2013) -- Volunteering to become a Soldier in the U.S. Army is a commitment requiring dedication, sacrifice and courage. Soldiers often lead a life of voluntary service to the community in other ways than honoring their countrymen through duty.

Spc. Amanda N. Reynolds of Weleetka, Okla., serves as an investigator in the 42nd Military Police Detachment, 16th MP Brigade, out of Fort Bragg, N.C. In addition to her commitment as a Soldier, Reynolds is a very dedicated and giving person. She is actively involved in the C. W. Bill Young Department of Defense Marrow Donor Program, a life-sustaining program open to all healthy people between the ages of 18 and 60.

Reynolds registered as a donor in Oklahoma and the DOD donor program. She had never really considered the option until one near-death experience made her realize the importance and fragile nature of life.

Reynolds has been a military policewoman in the U.S. Army for seven years, deploying to Baghdad, Iraq, twice for her country. Reynolds was part of the elite Military Police Soldiers who are also airborne paratroopers.

One day in October 2011, was her last scheduled jump on jump status. Soldiers on jump status receive additional pay for the hazardous task of parachuting. In turn, they are required to complete a variety of jumps regularly. She was scheduled for a night jump, and fatefully it turned out to be her last jump unexpectedly.

"I jumped out of the airplane just after 10:30 p.m., and quickly noticed something didn't feel right," said Reynolds. "My chute lost air and I was falling way too fast. It finally caught [air] about 100 feet above the ground. That jolted me, and then, I collided with another paratrooper before slamming into the ground -- feet, butt -- and then my head bounced."

During a successful parachute landing fall, a paratrooper lands with certain body parts hitting in order -- normally balls of the feet, then calf, then thigh, then buttocks, and finally "push up muscle," latissimus dorsi muscle.

The Soldier Reynolds had collided with called out in the darkness asking if she was OK. She thought she was, but quickly realized she could not lift up her head with holding it in her hands. Only then did she realize her combat helmet had gone flying on the initial impact.

"No. I'm not OK," communicated Reynolds.

Reynolds' neck was broken in the landing, and she was soon in emergency surgery. One vertebra had to be completely removed, and bone was taken from her hip to repair other damage. Although it was a series of unfortunate events, there was a silver lining. During the whole hospital process, she learned her bone marrow was unusually healthy and could be used for a bone marrow transplant.

Reynolds found a new motivation to recover from her neck surgery; she would donate her bone marrow to help save someone else's life.

"Her drive to keep going no matter what is amazing," said Spc. Nicki Kempel of Wimauma, Fla., also assigned to 42nd Military Police Company.

Upon receiving confirmation to donate her bone marrow, Reynolds was escorted by Kempel from Fort Bragg, to MedStar Georgetown University Hospital, Washington, D.C., June 21-27. At the hospital, she underwent five days of treatment to stimulate stem cell growth for donation on the fifth day.

"If I can help people out in any way, I am more than willing too, and [donating] is one way it won't hurt me, because bone marrow re-grows, and blood replenishes itself," said Reynolds.

Reynolds received two shots daily, for five day, in the back of the arms to elevate the stem cell count in her blood stream. She had a central line put in to circulate her blood to filter out the stem cells, a process that normally takes six hours. Because she responded so well to the treatments, her blood circulation only took three hours.

"The catheter was placed in my jugular vein using ultrasound, which did not hurt being placed in, but tickled when it was later removed," said Reynolds.

For a process that took only three hours, Reynolds might have made an impact that could last a lifetime. The harvested stem cells are destined for a 6-year-old donor with leukemia.

"If I can help the little boy have a chance at surviving, I will do anything necessary," Reynolds explained.


Q:

echo-ing a variable into a file

I am trying to make a simple statistic program which simply counts how many times it's been runned. The problem occurs when I am echo-ing the variable of result of times onto the tracking-file, which are greater than 1. Is it impossible to echo a variable onto a file? What am I missing? :/
if not exist statistic_files (
mkdir statistic_files
)
cd statistic_files

if exist %username%-use_tracking (
FOR /F %%G IN (%username%-use_tracking) DO set /A uses=%%G+1
:: THE PROBLEM IS BELOW
echo %uses% > %username%-use_tracking
cd ..
)

if not exist %username%-use_tracking (
echo 1 > %username%-use_tracking
cd ..
)

A:

Your code is failing when the file already exists because you are setting a variable value and later accessing the value within the same parenthesized code block; %uses% is expanded when the line is parsed, and the entire code block is parsed all at once. So the value you are echoing is the value that existed before the FOR loop is executed - not what you want.
You could solve the problem by enabling delayed expansion using setlocal enableDelayedExpansion, and then using !uses! instead of %uses%. Type help set from a command prompt for more information. Start reading with the paragraph that begins "Finally, support for delayed environment variable expansion has been added..." about halfway through the help.
But there is a simpler way that avoids the need for delayed expansion. You only need to set the value within the IF block. You can access it later outside of the IF block.
There is one other issue that you are currently avoiding, but you should be aware of: 1>filename and >filename do the same thing - they are an instruction to redirect standard output (stdout) to a file. 1 is the id of stdout, and it is the default when a number is not explicitly given. 2>filename redirects standard errror (stderr) to a file. You are avoiding interpretation of the number as the stream id because you have a space between the number and the >. But if you are not careful, you will someday not have a space and be confused as to why the number is not printing. You can avoid the problem by putting the redirection at the front instead of at the end. >filename echo %uses%
So here is a complete working solution.
@echo off
setlocal
if not exist statistic_files mkdir statistic_files
cd statistic_files
set "file=%username%-use_tracking"

set "uses=1"
if exist %file% for /f %%G IN (%file%) do set /A uses=%%G+1
>%file% echo %uses%


One of the surprises which met me after moving to
Kingston, was the "discovery" that there actually
exists such a phenomenon as clear nights during the spring.
Unbelievable and unheard of in Victoria, but true in Ontario. In
the last four years the only time I was able to get a peak of
galaxies in Virgo Cluster from Sooke was in pre-dawn hours of
December - the part of 24 hour cycle which not too many sane
people want to experience outside on their free will. So I hope
it is not to difficult to understand my excitement about all
those "new fuzzies" to observe. Of course I moved East
just with a suitcase however that "survival kit"
included 10x50 binoculars. Knowing my astronomical anxiety
syndrom (well developed during West Coast rainy season) my loving
wife shipped me my 6 inch Dobby a few days later by UPS.

One of my first thoughts focused on Messier Marathon.
The time of year was right, I got myself a bit further South and
Ontario is not knows for its mountains. So in the middle of March
I went to Kingston Centre meeting and checked around for
observationally inclined souls. Eventually Laura Gagne gave me
precise direction to a secluded spot at Gould Lake Conservation
Area about 25 km North of the city. A few nights later, when full
Moon was not polluting the skies anymore, I decided to check it
out. It turned out to be a large grassy and shrubby area with a
very low horizon in all directions. There were a few closer
clumps of trees but they were reasonably far away so I did not
worry about them too much (well, we will come back to that
later...). Sky was also very dark with just a bit of light dome
of Kingston visible to the South. On that first observing
session, to warm up before the real Marathon, I managed to find
60 Messier objects using binoculars and 6 inch scope. By 11 p.m.
Moon was rising so I headed back.

During the warm up session I discovered that my 6 inch
f4 Dobsonian is really inconvenient to use if set up on the
ground. Tube is too short! Unfortunately, the tripod I used to
mount it on was still in Sooke. Fortunately on the next trip to
Home Depot I have noticed the perfect substitute. For $79 you can
get there Black&Decker's Workmate 225 - a portable project
center. That "beast" folds flat for storage or
transport and can be set up in less than 5 seconds. It is very
sturdy and has some height adjustment. It will also be handy when
cutting lumber for the observatory or, let's say, building new
kitchen cabinets (well, I had to justify that additional
expenditure somehow). Anyway, the base of my Dob mounts in a
vise-like top of the Workmate - see the picture of the actual
field setup below.

The last week of March was not too
promising, with cloudy skies and some rain. However, it cleared
over Kingston on Friday (March 31) afternoon. After getting home
from work I tossed all needed stuff into trunk and drove to Gould
Lake. When almost there I had realized that my observing chair
got left behind ...

Below is a quite detailed record of my
observing/musing that followed. I used 10x50 binoculars and a
home built 6 inch f4 Dobsonian (with 25mm and 12mm Plossl
eyepieces yielding 24x and 48x, respectively). Time of each
observation is given in EST. A tabulated summary of my Messier
Marathon results is included at the very bottom of this page.
Each of the Messier objects mentioned is linked to the
corresponding image page - use the browser's "back"
button to return to this page.

Hope you find this report interesting
...

I have got to Gould Lake Conservation Area at 6:45pm
and parked outside the gate - just in case somebody showed up to
close it. It was just after sunset and sky was clear with the
exception of a few small clouds hugging horizon to N and NW. I
carried scope, Workmate and accessories on top of small hill just
inside the gate and set everything up by 7pm. It was getting
darker and soon I had first evidence how clear the sky was -
Jupiter, Saturn, Mars and Sirius were visible by 7:03 and then
stars started to pop up all over above me.

I started my Messier hunt with M74 in Pisces. aAri was not too
hard to notice with unaided eye so I could star hop past b and gAri to hPsc using 6 inch
Dob at 24x. Star hopping is a real pleasure with a rich field
scope! I had an expected location of M74 centered - unfortunately
it was just above the treetops and sky was still too bright to
notice anything there! I watched it sink behind the branches at
7:35pm without detecting the faint glow of the galaxy. Well,
there was not too much time to contemplate this first defeat. I
Had to swing my trusty Dobby to Cetus. Star hopping from aCet I located the
field of M77.
Again, just above the branches on the still bright sky. Did not
look good. By 7:51 treetops "swallowed" that spot, too.
I needed some success.

So I got the Hare. I mean a celestial one. Hopping
through that constellation below Orion I was able to notice 7.8
mag globular cluster M79
without any difficulty at 7:54pm. After all sky was completely
dark there already! Soft glow of this globular was particularly
nice at higher power (48x) but my scope was not resolving any
stars there. Ok, the first Messier object in. But in the evening
things tend to set up quickly so I had to rush to Andromeda and
found M31
by 7:57pm. At 24x Dobby showed me also M32
and a faint streak of M110
in the same field. Only M31 was visible in binoculars. Then I
pointed Dobby between bAnd
and aTri
and noticed M33
in Triangulum at 8:00pm. Both 6 inch scope at 24x and binoculars
revealed no more than a large diffuse glow of this nearby galaxy.

After catching those five objects fleeing toward
western horizon, I had some time to look casually around the sky.
Well, was I surprised? Bright, though diffuse, pyramid of light
was rising from Western horizon and reaching up to Pleiades. This
cone-shaped glow was tilted and its noticeably brighter axis run
right through Mars (getting into treetops by that time) and
Jupiter, then ending up just South of Pleiades. Saturn was
clearly off to the side of it. Its wide base spread from aAri to aCet. Yes, there it
was - Zodiacal Light in its full splendor. Last time I saw it so
clearly from Texas Star Party in May of 1996.

Then it was time to hunt "fuzzies" again. By
offsetting my Dobby at 24x from bCas
I tracked down M52
at 8:13pm and then M103
just off dCas
at 8:20pm. Both open star clusters were visible in 10x50
binoculars and 6 inch resolved them into individual "diamond
grains" at 48x. NGC654, 659 and 663clusters were standing
out of Milky Way backdrop near M103 in the 6 inch scope as well.

M76 was a
little bit more challenging. I always had some difficulty
navigating that are around the junction of Perseus, Cassiopeia
and Andromeda so it took me until 8:27pm to find the 10 mag.
planetary nebula with Dobby at 24x. At 48x it showed elongated,
two-lobed structure. After this catching M34 off Algol (bPer) was a snap at
8:32pm. Even 10x50 binoculars resolved this loose open cluster.
So far nine Messiers found and two missed.

Next destination - Puppis. M93
was found by offsetting from hCMa
at 8:36pm. Unfortunately a few streaks of thin clouds were
hanging over this area by now. That made star hopping pointless,
however, by scanning with 6 inch scope at 24x upwards from M93,
at 8:40pm I found both M46
and M47
well above that obstructing curtain. While both were visible in
binoculars, only M47 was fully resolved in 10x50 glasses. 6 inch
telescope at 48x was needed to completely resolve M46 - at that
power planetary nebula NGC2438 was detectable with averted vision
off the cluster's center.

I am up to 13th object now. Just to be on
the safe side I pointed Dobby below Sirius and grabbed M41 at 8:48pm. Even
binoculars resolved this bright, loose star cluster. Then a short
star hop North of Sirius led me to M50
at 8:50pm. At 24x it nicely stood out of Milky Way background as
a "flock" of individual stars. It was also easy to find
with binoculars, which still managed to partially resolve it. The
next object, M48,
required a bit longer star hop from M50, through M46 and M47,
then past aMon.
I located it with Dobby (24x) at 8:54pm. This large loose cluster
was also resolved by 10x50 binoculars.

Getting a bit tired, I decided to visit old friends in
Orion at 8:59pm. M42 and M43
pair (otherwise known as Great Orion Nebula), while visible in
10x50 glasses, showed its stunning beauty in 6 inch scope. At 48x
the field was filled with the "Bat's" wings. Trapezium
was also resolved at that power. Then, with 6 inch at 24x, I
wandered NE of zOri
and located M78
reflection nebula at 9:05pm. Two bright stars immersed in its
diffuse glow were clearly visible at 48x. M78 was also noticeable
in 10x50 binoculars.

Then, at 9:10pm I have revisited Pleiades (M45)
noticed earlier with the unaided eye at the apex of Zodiacal
Light. As usual that open cluster was delightful in binoculars
however 6 inch scope revealed also the faint fan of Merope
Nebula. That view contrasted with my next target - M1. I located Crab
Nebula at 9:13 just of zTauri
with the scope at 24x and later sighted it in 10x50 glasses as
well. It is hard to imaging that this soft glow was born in a
violent supernova explosion just under a thousand years ago (at
least as noticed from our place in space).

M1 (Crab Nebula) (Cookbook CCD
camera / 8 inch SCT image)

Next I entered the trail of great open star clusters.
It started above hGem
where at 9:17pm I came across M35
using 6 inch scope at 24x. It was also fully resolved in 10x50
binoculars. When inspected in the telescope at 48x power, the
cluster's stars were spilling beyond single field of view joined
by more distant cluster NGC2158. Then at 9:22pm I pointed my
scope half way between qAur
and bTau
and focused it at M37.
While an impressive object at low power or even in 10x50
binoculars, it turned into an intricately textured cloud of
stardust sparkled with brighter stars when inspected with the 6
inch scope at 48x. Next, using binoculars, I moved to the heart
of Auriga and spotted M36
and M38
at 9:26pm. Both were resolved into individual stars in the 6 inch
scope and, while populated by brighter stars, none was as rich as
M37. When viewed at 24x, M38 seemed to be embraced by two streams
of brighter stars outlining the shape of heart. They converged on
a smaller, distant open star cluster NGC1907. Then at 9:36pm I
turned back to the East and spotted M44
with unaided eyes at the center of Cancer. This loose open star
cluster was completely resolved in 10x50 glasses and overflowed
field of view afforded by my 6 inch scope at 24x. The last
treasure in this group consisted of M67
tracked down with binoculars off aCnc
at 9:38pm. Dobby resolved it at 24x and when viewed at higher
power it resembled previously mentioned M52 as well as
reminded me of still awaiting me M11.
All those three open star cluster containing single bright giant
star presiding over the tight and sparkling congregation of less
luminous members. They truly resemble intricate jewels.

After conquering 26 Messier targets, it was time to
take a break. I needed it before attempting to navigate the maze
of Virgo Cluster as well as it was getting co-o-old ! I would
really give a fortune (well, a small one) for a mug of hot
chocolate.

To get the "fuzzies" I first tracked Leo and
at 10:02pm, after offsetting my Dobby at 24x from oLeo I spotted M95, M96 and M105. All of them
were visible in 10x50 binoculars, too. M105 was accompanied by
two additional galaxies, NGC3384 and NGC3389. Higher
magnification (48x) was necessary to se the later of them in the
6 inch scope. Then I moved into neighborhood of qLeo and, with
binoculars, noticed M65
and M66
galaxies at 10:10pm. 6 inch scope revealed hints of spiral
structure in them and clearly showed NGC3628 to the
North of them. How could Messier miss that one?

M66 (Cookbook CCD camera / 8 inch
SCT image)

Now it was time to hunt in Virgo Cluster
of galaxies. To avoid confusion I decided to use Dobby alone in
that area - it is really easy to get lost in the maze of softly
glowing fuzzies there, as Messier objects are outnumbered by NGC
galaxies well within the reach of the 6 inch scope. Galaxies were
located at 24x and further inspected at 48x.

At 10:21pm, by star hopping from eVir and rVir I found M59 and M60. The later looked
a lot brighter and at higher magnification its satellite,
NGC4647, became apparent. The faint glow of M58 was also visible
in the same low power field. M89
and M90
were just a short hop away and I found them at 10:30pm. Higher
magnification revealed the large extend of elongated M90 and
showed some hints of structure, while M89 was a lot fainter with
the bright nucleus standing out of its diffuse glow.

Then at 10:37 I turned toward nearby M87. This bright
giant elliptical galaxy did not offer any detail at 48x other
than broad central core. M91
and M88
joined the list of my "trophies" at 10:43pm. M91 was
fainter of the pair and had really diffuse appearance. M88 on the
other hand was bright, elongated and very well defined,
displaying hints of spiral structure at 48x. At that
magnification it nucleus was well visible and Western edge of
galaxy seemed a lot sharper the opposite side.

After tracking my "steps" back to M87, I
moved West of it at 10:50pm toward M84
and M86.
Those bright elliptical galaxies reside on the Western end of the
so-called Markarian Chain - the arrangement of bright galaxies
crossing the "heart" of Virgo Cluster. The remaining
"links" were revealed at higher magnification,
including NGC4435, NGC4438, NGC4461, NGC4473 and NGC4477. Then I
pointed the scope toward 6Com and located M98 and M99 in its vicinity
at 10:57pm. When inspected at higher magnification, round and
diffuse M99 nicely contrasted with very elongated M98. My next
target, M100,
was located to the NE of 6Com at 11:01pm. Its large diffuse glow
was pierced with the bright point-like nucleus noticeable at 48x.
A giant elliptical galaxy M85
was a bit further North. I found it at 11:06pm. A star was
visible close to its edge and higher magnification revealed
NGC4394 nearby.

The I had to move to the Southern outskirts of Virgo
Cluster. At 11:17pm I located M61
galaxy in the field of 16Vir. Inspection of this heavyweight
spiral at 48x showed point-like nucleus (with averted vision
only) as well as hints of arms. Then a short "starry
trail" to the North led me to the large glow of M49 at 11:21pm.
Bright star was visible at 48x East of its bright and broad
nucleus. Finally, at 11:26pm, I reached the last Messier member
of Virgo "family" by following "pointers"
above Corvus. The bright spindle of M104
as well as its dark dust lane were clearly visible at 48x.

M104(Cookbook CCD camera / 8 inch
SCT image)

For a change of view, I moved the scope
below bCrv
and spied out M68
at 11:31pm. That globular cluster looked like a large hazy and
unresolved spot even at 48x. Then, following the tail of Hydra, I
pointed Dobby to gHyd
and star hopped to M83
at 11:40pm. The fuzzy outline of this barred spiral galaxy was
clearly visible at 48x despite some haze present over this area
of the sky. Later, once that haze dispersed around 1:00am, I was
able to see M83 in 10x50 binoculars as well!

Next, I moved overhead to Ursa Major. I pointed my
scope above its head and at 11:49 I spotted M81 and M82 galactic pair.
While both are clearly visible in binoculars, the 6 inch scope
reveals the striking contrast between the large fuzzy oval of M81
and cigar-shaped silhouette of M82. Then, a short jump past bUMa I caught
another pair of "fuzzies" at 11:55pm. The round outline
of M97
planetary nebula was quite easy to notice while narrow spindle of
M108 was
harder to spot. However, at higher magnification, that galaxy
showed some mottling.

At 11:58pm I have got to the toughest of targets in
Ursa Major. While M109
is conveniently located close to gUMa,
that "blinding" neighbor makes spotting the faint
galaxy impossible at low powers. While noticeable in my 6 inch
scope at 24x, only at 48x, once gUMa
was out of the field of view, its soft oval glow stood nicely
against the black sky background. From there I moved to the most
unlikely member of Messier's "family" - double star Winnecke 4.
I spotted M40
at 0:02am (Fool's Day, April 1 - what a coincidence?) just off 70
UMa and was able to see both components even at 24x. Then I
offset the scope to Mizar (zUMa)
and, by following the chain of pointer stars 81, 83, 84 and 86
UMa, came across M101
at 0:07am. Diffuse glow of this spiral galaxy did not yield any
detail through the scope, however, it was detectable in 10x50
binoculars as well.

After spending so much time with the Bear it was time
to get acquainted with the Dogs pursuing her. By hopping of the
tip of her tail (hUMa)
I spotted both galactic components of M51
at 0:10am at 24x in a 6 inch scope. Spiral structure of the
larger galaxy was clearly noticable at 48x. M51 was also plainly
visible in 10x50 glasses.

I got up to 58 observed M objects already so it was
time for a short break. I was glad to discover that a drink left
in a car did not freeze quite yet... When I resumed observing
there was no trace of the haze left anywhere on the sky!

At 0:28am I found M63
in Canes Venatici. While visible at 24x, at higher power this
bright galaxy was clearly elongated. Even binoculars revealed
that "fuzzy" without difficulty. Then, at 0:43am, I
located the bright patch of M94
between a
and bCVn
with 6 inch scope at 24x and in binoculars as well. When
inspected at 48x, M94 displayed point-like nucleus surrounded by
bright and sharp-edged core as well as faint and diffuse outside
halo. M106
fell into the field of view of my scope at 0:48am. I found it by
star-hopping from bCVn
at 24x. At 48x it showed some structure reminiscent of a tilted
spiral. This large and bright galaxy was also easy to locate in
10x50 binoculars.

I spotted my next trophy at 0:54am next to aCom. M53 globular cluster,
while visible as a hazy spot in binoculars and at 24x in a 6 inch
scope, started to resolve into a fuzzy ball with a few sparkling
diamonds at 48x. Nearby poor and dim globular NGC5053 was only
detectable at 48x. Then, at 0:58am, I star-hopped to M64. It was visible
as a bright oval at 24x and 48x - no trace of black eye, though.
Binoculars also revealed that galaxy.

M64 (Cookbook CCD camera / 8 inch
SCT image)

My next target, M3
in Canes Venatici, was found at 1:00am by offset from bCom with a 6 inch
scope at 24x. This great globular cluster was partially resolved
into a densely packed ball of stars at 48x. M3 was easy to spot
in binoculars as well. My trail led me then to the mystery M
object - M102.
NGC5866 was hard to find because of a long range star-hop from hUMa. 48x
magnification was required to see its bright but small spindle.

Next I pointed Dobby below hHer and located M13, the Great
Globular Cluster in Hercules, at 1:15am. While a view at 24x
resembled one afforded by binoculars, 48x resolved many of
cluster's bright stars and transformed it into a real showpiece.
I could not admire it for to long, as there were still 42 objects
waiting for me. I moved on to another globular in Hercules - M92. It was found at
24x between i
and pHer
at 1:16am. Higher magnification resolved that globular into swarm
of stars, not so impressive as M13, though. Both Hercules
clusters were easy to spot in 10x50 binoculars, too. To follow up
on impressive globulars, I tracked down M5
in Serpens Caput at 1:20am. While just a fuzzy patch in
binoculars or 6 inch scope at 24x, it presented an impressive
view when partially resolved at 48x.

Now it was time to step into dense "fog" of
Milky Way, already high in the eastern sky. For Messier hunters
that is a "land of plenty". I started on its edge with M57 in Lyra. This
bright planetary nebula was easy to spot at 1:22am between b and gLyr using Dobby at
24x and displayed annular structure at 48x. Once I memorize its
location in the crowded star field, it was easy to find in
binoculars as well - however in 10x50 glasses if looked just like
a star. The second M object in Lyra, M56
globular, was a bit more challenging. Hidden amongst Milky Way's
star, it required a careful star-hop from Albireo (bCyg) - a beautiful
blue/yellow double star. Found at 1:26am, it looked like an
unresolved hazy spot even at 48x. In binoculars, however, it had
a star-like appearance.

For the contrast effect, I zoomed my binoculars North
of Deneb to find M39
in Cygnus at 1:28am. This loose open cluster sits at the center
of octopus-like pattern of dark dust bands superimposed on the
bright glow of the Milky Way. Resolved stars of this cluster
nicely fit into the field of view of my Dobby at 24x. Then, at
24x, I located M29
close to gCyg
at 1:31am. This small open cluster is hidden among bright field
stars, however its Pleiades-like
pattern is hard to miss at higher magnification. I had to
memorize its location before being able to find it with
binoculars again.

At 1:35am I spotted M71
in Sagitta using the 6 inch scope at 24x. Even at 48x it still
showed as just a hazy spot. This faint globular cluster was
visible in binoculars as well. Nearby M27
in Vulpecula was easy to locate with binoculars at 1:39am. In the
6 inch scope at 48x the central, hourglass-shaped region was
clearly visible against more diffuse lobes of this great
planetary nebula.

M27 (Cookbook CCD camera / 8 inch
SCT image)

Next, I moved to Ophiuchus to track its family of
globular clusters. I located M14
at 1:47am with my 6 inch scope at 24x. While visible in
binoculars as well, its large haze was still unresolved even at
48x. Then, using binoculars, I found M12
and M10
at 1:56am. My 6 inch scope started to resolve M12 at 24x and at
48x it resembled a sparkling ball of stardust. M10 proved to be a
little bit more difficult, with higher magnification only
starting to resolve its hazy appearence. Nearby M107, while visible
in binoculars, was first found at 2:03am with my Dobby at 24x by
offsetting from zOph.
It appeared small and faint even at 48x, though some of its
brighter stars were noticable at that power. Then, moving south,
I star-hopped from hOph
to M9 at
2:08am using the 6 inch scope again. That hazy patch showed some
resolution into brighter stars only at 48x. While located quite
low over the horizon, it was still visible in 10x50 glasses.

The great globular M4
in Scorpius was my next target at 2:11am. It was clearly visible
near Antares in binoculars. Dobby resolved it quite well at 48x,
nicely showing its equatorial band of bright stars. Then I moved
to nearby M80
at 2:15am. This compact and quite bright globular was visible as
a small fuzzy spot in binoculars. The 6 inch scope did not
resolve it even at 48x. Next I moved my scope to nOph and
star-hopped to the large diffuse glow of M19 by 2:18am. Again,
even higher magnification did not show any individual stars in
this cluster. M19 was detectable in binoculars, too. Then, at
2:25am, I came across M62.
While this globular was already visible in 10x50 binoculars,
Dobby did not bring any resolution out of this compact fuzzy
ball.

After this rich crop of globulars, I shifted my
attention to the Scutum Star Cloud. By pointing my scope to lAql I noticed Wild
Duck Cluster (M11)
at 2:31am. While it is a nice object even in binoculars, at 48x
my Dobby transformed it into an impressive cloud of sparkling
diamonds dominated by the single bright giant star.

M11 (Cookbook CCD camera / 8 inch
SCT image)

Then at 2:35am I tracked down M26. This
inconspicuous open cluster, while visible in binoculars, required
48x power to be completely resolved. Next, on my way South toward
Sagittarius, I noticed M16
at 2:38 am. My 6 inch scope nicely showed not only the hazy Eagle
Nebula but also completely resolved the associated open cluster.
The nebulosity with entangled stars was well visible in 10x50
glasses, as well.

The nearby Swan Nebula (M17) - an easy trophy
for binoculars - was found at 2:41 am. Dobby revealed intricate
wisps of nebulosity in this celestial showpiece. I located my
next target, M18,
with binoculars just South on M17 at 2:43am. This loose open
cluster was fully resolved in 6 inch scope at 24x. Then I used
binoculars to spot and admire M24
Star Cloud at 2:45am. This "oversized" object cannot
fit in the field of view of my scope even at the lowest power but
many knots of stardust and patches of dust were visible when it
was scanned at 24x.

Then I shifted my scope to M25 at 2:46am. This
large open cluster was resolved into individual star not only at
24x but in binoculars as well. Next, a little bit further South,
I came across M22
at 2:48 am. This globular cluster was well visible both in
binoculars and in a 6 inch scope as a large and bright hazy
patch. Then, by offseting my scope at 24x, I located a much
smaller and fainter glow of M28
at 2:50am. This globular was nonetheless visible in binoculars as
well. From there I used my Dobby at 24x to scan the Sagittarius
Star Cloud until I happened across M8
at 2:53am. The bright cloud of Lagoon Nebula glowed brightly
against the Milky Way background and was well defined even in
10x50 field glasses. Then at 2:54am, just North of M8, I spotted
both M20
(Trifid Nebula) and M21
open cluster in a single field of view with a 6 inch scope at
24x. Sky background was getting significantly brighter over the
horizon already, so those fainter objects were not obvious in
binoculars. However, M23
was still an easy binocular target when found a little bit higher
at the same time. Dobby fully resolved this loose open cluster at
24x.

M20 (Trifid Nebula) (Cookbook CCD
camera / 8 inch SCT image)

There was still quite a number of objects left in
Southern Sagittarius - unfortunately they were raising behind a
patch of trees mentioned in the beginning ... Other then
converting them into firewood (which would keep me warm but was
not an option, as I did not have my trusty axe with me) I had to
wait until the celestial spheres turn just a bit more.

So in a meantime I decided to fish out a few more
Messier objects still scattered here and there. Scanning the
horizon below Cygnus I noticed that ePeg
was quite high already. Then finding M15
globular cluster was a snap at 2:57am. Both binoculars and Dobby
at 24x showed its round glow. Next I zoomed my 10x50 field
glasses back to Scorpio and caught M6
and M7
open clusters high above Southern horizon at 3:00am. Even at that
power they were fully resolved.

After scanning the SE horizon again, I knew that there
was time for a break. There was no more objects to see at the
moment (other than behind those trees...). Coyotes were restless,
too - I could hear their howling all over nearby woods.

After about 30 minutes it was time to resume the hunt.
I started with star-hopping from ePeg
and at 3:35am succeeded in finding M2
globular in Aquarius with my 6 inch scope at 24x. Next I scanned
Sagittarius for anything lurking from behind those trees and
noticed tiny haze of M69
at 3:52am followed by nearby M70
at 3:56am. As the sky was getting awfully bright, their
identities were confirmed at 48x power as well. Then I waited for
M54 to
roll from amongst the branches at 4:01am. While barely noticable
at 24x, increasing the magnification to 48x darkened the sky
around it and allowed its positive visual confirmation.

Then I "jump" over to the other side of the
tree patch and, starting from aCap,
successfully located tiny "disk" of M75 globular at
4:07am. Next I star-hopped from aCap
into Aquarius again and faint glow of M72
globular cluster at 4:14am. Its neighbour, M73, took another
five minutes. Even as it was located in the same low power field
of view, the sky got so bright already, that only a very careful
inspection at 48x revealed tiny but completely resolved Y-shaped
asterism at 4:20am.

Then I went back to M54 and carefully tracked down the
apparent location of my second last target, the great globular
cluster M55.
The field stars around it proved that it just cleared the tops of
infamous trees, however, after a lot of hesitation I had to
surrender. There was no chance of seeing even this brights
Messier object against the glowing pre-dawn sky. A quick scan of
the horizon revealed that dCap
was well above it, however the last Messier object, M30, did not even
rise yet.

With this double defeat I had to conclude my Messier
Marathon 2000. It was time to go home, thaw half-frozen
extremities and get some sleep ...

Summary of my March 31, 2000 Messier
Marathon results:

category:

number
of objects:

remarks:

objects seen with the 6 inch
Dobsonian:

106

objects lost to twilights:

3

M74, M77,
M30

objects hidden by trees:

1

M55

objects seen
in 10x50 binoculars

71

binoculars
were not used in the Virgo Cluster and in the early
morning sky


/*
 * Copyright (c) 2020 Proton Technologies AG
 *
 * This file is part of ProtonVPN.
 *
 * ProtonVPN is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ProtonVPN is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with ProtonVPN.  If not, see <https://www.gnu.org/licenses/>.
 */

using ProtonVPN.Resources;

namespace ProtonVPN.Servers
{
    public class Countries
    {
        public static string GetName(string code)
        {
            return code != null
                ? StringResources.Get($"Country_val_{code.ToUpper()}")
                : "";
        }
    }
}


Hoosier Litigation Blog

Yesterday the Indiana Supreme Court handed down a concise but extremely informative decision in the realm of medical malpractice law. In keeping with what has become a very distinct pattern in cases involving statutory interpretation, the opinion was authored by Justice Mark S. Massa. In the decision –– Miller v. Dobbs –– the state’s highest court determined that the filing of a medical malpractice claim was not untimely despite the fact that the $7 filing fee was not paid in full until after the statute of limitations had expired.

For those new to the Hoosier Litigation Blog, this is not our first look at the Miller v. Dobbs case. Just under a year ago, we discussed the Court of Appeals decision in a post entitled New Decision Provides No Clear Answer to Complex Medical Malpractice Issue. The Court of Appeals decision was as split as can occur. Two judges agreed that the case should go back to the trial court and the injured patient could proceed with her malpractice case. A third judge disagreed with the result entirely. Even the two judges agreeing in the result disagreed over the reasoning for reinstating the case. As this post is dedicated to the Supreme Court’s decision, we shall not dwell any longer on the Court of Appeals decision as we have already discussed it in great detail in the prior post.

As I had predicted in the prior post, the case ended up before the Indiana Supreme Court. The unanimous decision was authored by Justice Massa. I have written extensively on this blog about Justice Massa and his decisions. With this opinion now the fifth that we have discussed here on the Hoosier Litigation Blog, I think it is safe to say that much of my previous opinions and prognostications are panning out. Before I get caught up in discussing how this case provides further insight into the current iteration of the Indiana Supreme Court, we must discuss the decision.

As brief background, in Indiana, medical malpractice cases are a unique creature that comes with a host of additional procedural hoops that must be passed through prior to proceeding as a normal case. The most notable is that in order to bring a medical malpractice case the plaintiff must file the case with the Indiana Department of Insurance (DOI). Though the medical malpractice act does not include a statute of limitations, since filing with the DOI is a prerequisite to filing the case in a court of law – meaning it must be filed in the same period as the claims general statute of limitations.

We previously summarized the specific facts of the case. As I am not of mind to reinvent my own wheel, the previous summation was:

In this case, the plaintiffs delivered a copy of their proposed complaint with the [DOI] in a timely manner. However, the plaintiffs’ counsel made a slight error and forgot to deliver the check for $7 as a filing and processing fee. The Department promptly notified plaintiffs’ counsel of the oversight who then proceeded to mail the check out. The problem arises because the day that plaintiffs’ counsel was informed of the error was the same day that the statute of limitations was set to expire. Moreover, the check did not arrive until three days later. Thus, we have a situation in which the paperwork was properly filed in time but the check had not been paid in time. The resulting issue for the court to decide was whether the delay in receiving the check meant that the proposed complaint was not “filed” in time.

It only took one lengthy paragraph for the Court to resolve the key issue of the case. First looking to the overall structure of the Medical Malpractice Act, the Court recognized that the filing and processing fee portion is located in a different section of the Act than the filing of the complaint. Further, the language of the fees section notes that it is to “accompany each proposed complaint filed[.]” The Court interpreted this language to suggest that the “filed” complaint is separate and distinct from the filing and processing fee. Second, the Court looked to the long-standing public policy in Indiana that cases be decided on the “merits rather than disposing of them via procedural technicalities.” Accordingly, the Indiana Supreme Court has previously found that procedural rules such as appellate filing fees “exist to facilitate the orderly presentation and disposition of [cases.]” Though this discussion was couched in a history of dealing with appellate rules, the Court saw fit to implicitly expand that concept into the trial realm.

It stands as an important note that in contrast to the filing of the medical malpractice complaint with the DOI, the filing of any complaint with an Indiana court of law – including the medical malpractice complaint – must be accompanied by the filing fee to be deemed filed. This is governed by Indiana Trial Rule 3, entitled Commencement of an action, which states:

A civil action is commenced by filing with the court a complaint or such equivalent pleading or document as may be specified by statute, by payment of the prescribed filing fee or filing an order waiving the filing fee, and, where service of process is required, by furnishing to the clerk as many copies of the complaint and summons as are necessary.

Importantly, the rule very specifically identifies that payment of the fees is a mandatory requirement to commencement of the action. The Court’s interpretation of the Medical Malpractice Act recognized that the separation between the section governing fees and the section entitled, similarly to Trial Rule 3, Commencement of action; complaint.

Consequently, the Court held that Mrs. Miller could have her day in court.

Let us now return to what insight we can gain about the Indiana Supreme Court after this decision. This is now the fifth unanimous opinion penned by Justice Massa that has made its way onto our little blog. This is also the fifth that deals specifically with a matter of statutory interpretation. Indeed, it is the second interpreting the Medical Malpractice Act. Of those five decisions, four have ultimately gone in favor of the plaintiff(s). Only one went the way of the other party. I say the other party not out of some Michigan-Ohio State sense of saying “the team up north,” but because the other party was a third-party – the State of Indiana – that was permitted to intervene in the case after a jury verdict so as to protect its interest in a portion of a punitive damages award.

Like the three textualist decisions, the specific text of the statute was enough for the Court to decide the case. Despite that reality, the Court still introduced the concept of public policy. Make no mistake about it; there is nothing more intrinsically antithetical to textualism than resorting to public policy. Nevertheless, the opinion is dedicated in equal parts to the text as well as the public policy.

I think what can be taken from this case is the following: (1) despite Chief Justice Dickson’s recent authorship of Johnson v. Wysocki, the go-to justice for statutory interpretation cases is still Justice Massa; (2) this iteration of the Court is intrinsically deferential to the specific language of statutes; and (3) the Court is a pragmatic one not blinded by rigid formalities that directly contradict common sense. To this third point, Justice Massa has twice now expressed an almost folksy common sense in footnotes to cases. In Walczak v. Labor Works, he utilized the “Duck Test.” He stated:

James Whitcomb Riley (1849–1916), our celebrated “Hoosier Poet,” is widely credited with the origination of the Duck Test; as he expressed it, “[w]hen I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.”[1]

[Footnote 1] Michael Heim, EXPLORING INDIANA HIGHWAYS: TRIP TRIVIA 68 (2007). Others attribute the Duck Test to labor leader and noted anti-Communist James B. Carey. See THE YALE BOOK OF QUOTATIONS 131 (Fred R. Shapiro, ed., 2006) (quoting Carey as saying, in the September 3, 1948 New York Times, “A door-opener for the Communist party is worse than a member of the Communist party. When someone walks like a duck, swims like a duck, and quacks like a duck, he’s a duck.”).

All questions of origination aside, the Duck Test is a classic example of Hoosier pragmatism, and it enjoys wide judicial acceptance. See, e.g., Lake v. Neal, 585 F.3d 1059, 1059 (7th Cir. 2009) (“Joseph Lake, the plaintiff in this suit, flunks the Duck Test. He says, in effect, that if it walks like a duck, swims like a duck, and quacks like a duck, it sure as heck isn’t a duck.” (emphasis in original)).

Quite notably, he referred to the Duck Test as “a classic example of Hoosier pragmatism[.]” That pragmatism was on display in Miller v. Dobbs. In a footnote, Justice Massa noted:

This case brings to mind Poor Richard’s well-known admonition: “For want of a Nail the Shoe was lost; for want of a Shoe the Horse was lost; and for want of a Horse the Rider was lost, being overtaken and slain by the Enemy, all for want of Care about a Horse-shoe Nail.” Benjamin Franklin, Poor Richard’s Almanac (U.S. Gov’t Printing Office, facsimile ed. 2006) (1758).

Aside from revealing that Justice Massa is seemingly well read, it shows a reverence for not losing sight of the forest through the trees.

An interesting result of the Miller v. Dobbs case is that it now calls for me to reevaluate the future of another case that we have previously discussed –– Moryl v. Ransone. In that case the Court of Appeals upheld the dismissal of a case as untimely where the filings were sent via a third-party carrier. In trial courts and appellate courts, using a third-party carrier can make it so that a filing, though actually delivered later, is calculated to have been made at an earlier date. However, the Medical Malpractice Act, though listing the use of filing by registered or certified mail, is silent on third-party carriers. Consequently, due to this silence, the Court of Appeals and trial court held that the case was untimely filed. The case is awaiting a determination on petition for rehearing as I write this piece.

I am all but certain that rehearing will be denied and that transfer to the Supreme Court will be sought. What I have been uncertain about is whether the Court would grant transfer and even then how the Court would rule. The textualist approach would affirm the Court of Appeals’ decision and bar the claim. However, as I noted, there are more broad interpretation approaches that can be utilized by the Supreme Court to exercise public policy in favor of letting the case proceed. Prior to Miller v. Dobbs, I was very dubious about whether the Court would even grant transfer. Now I would say that the odds of granting transfer is around 55-60% and the odds of finding for the plaintiff to be an even 50-50 split.

My change in opinion stems from two portions of the Miller v. Dobbs opinion. The most obvious is the discussion of public policy in relation to a statute of limitations issue in the Medical Malpractice Act. For that reason alone I sincerely hope that Mrs. Moryl’s counsel opts to follow the advice of United States Supreme Court Justice Antonin Scalia and noted author Brian Garner from their book Making Your Case: The Art of Persuading Judges, and send a letter of significant authority to the Court of Appeals apprising the court of the Miller v. Dobbs decision pursuant to Indiana Appellate Rule 48.

The less obvious point is from the fourth and final footnote of the case. In it, the Court states:

We note that prudent counsel will avoid this issue entirely by complying scrupulously with all procedural rules and requirements. As Poor Richard put it, “he adviseth to Circumspection and Care, even in the smallest Matters, because sometimes a little Neglect may breed Great Mischief.” Franklin, supra note 1.

This note inspires confidence due to the discretionary nature of most cases that are decided by Indiana’s Supreme Court. The Court, in cases such as this, must grant the right to even argue the case to them. Thus, it is a rarity that cases with very limited application are heard by the Court. There can be no question that the Moryl v. Ransone decision is not one to be widely applicable. Nevertheless, the dictates of justice encourage the Court to review the matter even if Mrs. Moryl is the only person to benefit. The fact that the Court seemed to recognize that Miller v. Dobbs was as well a matter of limited application and yet granted review is an encouraging sign that Mrs. Moryl’s case has not yet hit the end of the line.

Join us again next time for further discussion of developments in the law.

*Disclaimer: The author is licensed to practice in the state of Indiana. The information contained above is provided for informational purposes only and should not be construed as legal advice on any subject matter. Laws vary by state and region. Furthermore, the law is constantly changing. Thus, the information above may no longer be accurate at this time. No reader of this content, clients or otherwise, should act or refrain from acting on the basis of any content included herein without seeking the appropriate legal or other professional advice on the particular facts and circumstances at issue.


“I spent a week in a VR headset, here's what happened” - llbowers
https://www.youtube.com/watch?v=BGRY14znFxY
======
buboard
Cant watch the vid. It s been 2 hours. Can anyone tell me what happened?

~~~
llbowers
He basically spends a week in VR, though allowing himself a passthrough -
which is, from what I gather, a video stream from a camera within(?) the
headset that allows him to "see" his room.

He does various games and activities and interacts with people through various
chats. He has his peaceful moments and energetic ones, such as working out,
but grows bored and lonely by the end of it.

Interesting to think if there were more immersive/interesting things to do
within VR would he have felt the same way? Or at least not as quickly?


RENNSH: a novel α-helix identification approach for intermediate resolution electron density maps.
Accurate identification of protein secondary structures is beneficial to understand three-dimensional structures of biological macromolecules. In this paper, a novel refined classification framework is proposed, which treats alpha-helix identification as a machine learning problem by representing each voxel in the density map with its Spherical Harmonic Descriptors (SHD). An energy function is defined to provide statistical analysis of its identification performance, which can be applied to all the α-helix identification approaches. Comparing with other existing α-helix identification methods for intermediate resolution electron density maps, the experimental results demonstrate that our approach gives the best identification accuracy and is more robust to the noise.


Mexican Fresh

The story of Taco Fiesta began in College Park MD in 1990, in a tiny 16 seat restaurant. It was there that we started serving fresh, delicious Mexican food made from scratch. We have never owned a freezer. We buy fresh, authentic Mexican ingredients, prep them, cook ’em and serve ’em. Then, we do it all over again the next day. Freshness and authenticity are the cornerstones of Taco Fiesta. Of course, our story would be nothing without YOU. Over the years, you have been there for us. The friendships we have made, have been very rewarding and special to us. We can’t wait to see you again or meet you for the first time. Stop by, introduce yourself to Jerry (he’s almost always here} and have a sauteed Shrimp Taco, some fresh made Guacamole, and one of our signature Fiesta-Rita’s. You are not part of our story, you ARE our story…….

Upcoming Events

Check back soon for future events!

The Taco Fiesta Difference

Fast!

You better believe we’re fast. In fact, you’ll have a hard time finding anywhere faster. But, we’re not a fast food joint, we care. Everything from our sauteed Shrimp Tacos to our grilled Skirt Steak Burritos are made to order. And fast too!

Fresh!

We start our vegetarian Black Beans in the early morning hours and our 7 fresh salsas are made right here every day. Everything we serve is done in-house using fresh products that are delivered daily. To tell you the truth, preparing your food fresh from scratch is the only way we know how to do it.

Fun!

The fun starts as soon as you walk through the doors of Taco Fiesta. The classic rock tunes, the bright colorful decor and our amazing & friendly staff put you in the mood for your Fiesta experience. Of course, our delicious Mexican food is a lot of fun too. We’re not a coat-n-tie type of joint (heck, we barely require pants).


Solar powered chargers conveniently provide power in any location. Locations where solar powered chargers are particularly useful include rural and mountainous locations distant from existing power distribution points. Persons wishing power for lighting, communication, or portable electronic equipment while hiking, camping or traveling to remote destinations will find solar powered chargers useful. However, solar powered chargers are often not suited to the conditions of travel or transportation. Even within an urban area, there it may be difficult to use or protect a solar powered charger during travel or transport, as the charger may not be able to be exposed to the sun during those periods. Accordingly, there is need in the art for solar powered chargers suitable for use while hiking, camping, traveling, or even walking about town.


Blinding Dark Free Download

Blinding Dark Free Download PC Game setup single direct link for windows. It is a Fantastic action and adventure game with horror elements.

Blinding Dark PC Game 2014 Overview

Blinding Dark is a first person action game with horror elements in it. Blinding Dark game has been developed by Games Hut and is published under the banner of Plug In Digital and BulkyPix. Blinding Dark was released on 12th August 2014. You can also download killing floor 2. In this version of Blinding Dark game you have to find out about yourself as you do not remember anything about yourself after waking up in a mansion. There is dark everywhere. and you need to advance in the dark to find out about yourself step by step by solving numerous puzzles. You have to analyze the surroundings and then make a decision to advance as there is danger everywhere. During your adventure you need to pick up different items and weapons each of which has its specific usage. You will face numerous mysterious creatures, demons, monsters and evil spirits. Every one of them has his own strengths and weaknesses. Blinding Dark game has been depicted in first person perspective with amazing hand drawn graphics. The voice acting is also satisfactory. I Am Alive is another game that you can download.

Features of Blinding Dark PC Game

Following are the main features of Blinding Dark that you will be able to experience after the first install on your Operating System.

Set in first person perspective.

Numerous puzzles included.

Need to analyze the surroundings.

A wide range of enemies included like demons, evil spirits and monsters etc.


Bilirubin-binding protein in the serum of spawning-migrating chum salmon,Oncorhynchus keta: Its identity with carotenoid-carrying lipoprotein.
The serum carotenoid level gradually increased during the spawning migration of chum salmon (Oncorhynchus keta). Zeaxanthin, a yellowish carotenoid, was detected in the serum of spent males, while astaxanthin was a main carotenoid in the serum of males and females at other developmental stages. A high bilirubin level was found in the serum of spent males; the serum of spent male was yellow in colour due to the presence of zeaxanthin and bilirubin, although the serum of the other fish was bright orange.Three types of carotenoid-carrying lipoprotein such as low density lipoprotein, high density lipoprotein (HDL) and very high density lipoprotein fractions were present in the serum. Carotenoid-carrying lipoprotein from the HDL fraction became a main component during spawning migration. The serum bilirubin from the spent male salmon was distributed in the HDL fraction. Because bilirubin, as well as carotenoids, were present in the HDL fraction, the carotenoid-carrying lipoprotein from the HDL fraction was identical with bilirubin-binding protein in the serum of spent males. This carrier lipoprotein had two subunits (molecular weight 24,000 and 12,000); no disulfide bond was detected between the two subunits.


#include <gtest/gtest.h>
#include <platform.h>

#include <ponyc.h>
#include <ast/ast.h>
#include <ast/lexer.h>
#include <ast/source.h>
#include <ast/stringtab.h>
#include <pass/pass.h>
#include <pkg/package.h>
#include <codegen/genjit.h>
#include <../libponyrt/pony.h>
#include <../libponyrt/mem/pool.h>
#include <ponyassert.h>

#include "util.h"
#include <string.h>
#include <string>

using std::string;

static const char* const _builtin =
  "primitive U8 is Real[U8]\n"
  "  new create(a: U8 = 0) => a\n"
  "  fun mul(a: U8): U8 => this * a\n"
  "primitive I8 is Real[I8]"
  "  new create(a: I8 = 0) => a\n"
  "  fun neg(): I8 => -this\n"
  "primitive U16 is Real[U16]"
  "  new create(a: U16 = 0) => a\n"
  "primitive I16 is Real[I16]"
  "  new create(a: I16 = 0) => a\n"
  "  fun neg(): I16 => -this\n"
  "  fun mul(a: I16): I16 => this * a\n"
  "primitive U32 is Real[U32]"
  "  new create(a: U32 = 0) => a\n"
  "primitive I32 is Real[I32]"
  "  new create(a: I32 = 0) => a\n"
  "  fun neg(): I32 => -this\n"
  "  fun mul(a: I32): I32 => this * a\n"
  "primitive U64 is Real[U64]"
  "  new create(a: U64 = 0) => a\n"
  "  fun op_xor(a: U64): U64 => this xor a\n"
  "  fun add(a: U64): U64 => this + a\n"
  "  fun lt(a: U64): Bool => this < a\n"
  "primitive I64 is Real[I64]"
  "  new create(a: I64 = 0) => a\n"
  "  fun neg():I64 => -this\n"
  "  fun mul(a: I64): I64 => this * a\n"
  "  fun op_or(a: I64): I64 => this or a\n"
  "  fun op_and(a: I64): I64 => this and a\n"
  "  fun op_xor(a: I64): I64 => this xor a\n"
  "primitive U128 is Real[U128]"
  "  new create(a: U128 = 0) => a\n"
  "  fun mul(a: U128): U128 => this * a\n"
  "  fun div(a: U128): U128 => this / a\n"
  "primitive I128 is Real[I128]"
  "  new create(a: I128 = 0) => a\n"
  "  fun neg(): I128 => -this\n"
  "primitive ULong is Real[ULong]"
  "  new create(a: ULong = 0) => a\n"
  "primitive ILong is Real[ILong]"
  "  new create(a: ILong = 0) => a\n"
  "  fun neg(): ILong => -this\n"
  "primitive USize is Real[USize]"
  "  new create(a: USize = 0) => a\n"
  "  fun u64(): U64 => compile_intrinsic\n"
  "  fun op_xor(a: USize): USize => this xor a\n"
  "primitive ISize is Real[ISize]"
  "  new create(a: ISize = 0) => a\n"
  "  fun neg(): ISize => -this\n"
  "primitive F32 is Real[F32]"
  "  new create(a: F32 = 0) => a\n"
  "primitive F64 is Real[F64]"
  "  new create(a: F64 = 0) => a\n"
  "type Number is (Signed | Unsigned | Float)\n"
  "type Signed is (I8 | I16 | I32 | I64 | I128 | ILong | ISize)\n"
  "type Unsigned is (U8 | U16 | U32 | U64 | U128 | ULong | USize)\n"
  "type Float is (F32 | F64)\n"
  "trait val Real[A: Real[A] val]\n"
  "class val Env\n"
  "  new _create(argc: U32, argv: Pointer[Pointer[U8]] val,\n"
  "    envp: Pointer[Pointer[U8]] val)\n"
  "  => None\n"
  "primitive None\n"
  "interface tag Any\n"
  "primitive Bool\n"
  "  new create(a: Bool) => a\n"
  "  fun op_and(a: Bool): Bool => this and a\n"
  "  fun op_not(): Bool => not this\n"
  "class val String\n"
  "struct Pointer[A]\n"
  "  new create() => compile_intrinsic\n"
  "  fun tag is_null(): Bool => compile_intrinsic\n"
  "interface Seq[A]\n"
  "  fun apply(index: USize): this->A ?\n"
  // Fake up arrays (and iterators) enough to allow tests to
  // - create array literals
  // - call .values() iterator in a for loop
  // - be a subtype of Seq
  // - call genprim_array_serialise_trace (which expects the three fields)
  "class Array[A] is Seq[A]\n"
  "  var _size: USize = 0\n"
  "  var _alloc: USize = 0\n"
  "  var _ptr: Pointer[A] = Pointer[A]\n"
  "  new create(len: USize = 0) => true\n"
  "  fun ref push(value: A) => true\n"
  "  fun apply(index: USize): this->A ? => error\n"
  "  fun values(): Iterator[A] => object ref\n"
  "    fun ref has_next(): Bool => false\n"
  "    fun ref next(): A ? => error\n"
  "  end\n"
  "interface Iterator[A]\n"
  "  fun ref has_next(): Bool\n"
  "  fun ref next(): A ?\n"
  "primitive DoNotOptimise\n"
  "  fun apply[A](obj: A) => compile_intrinsic\n"
  "struct NullablePointer[A]\n"
  "  new create(that: A) => compile_intrinsic\n"
  "struct RuntimeOptions\n";

void Main_runtime_override_defaults_oo(void* opt)
{
  (void)opt;
  return;
}

// Check whether the 2 given ASTs are identical
static bool compare_asts(ast_t* expected, ast_t* actual, errors_t *errors)
{
  pony_assert(expected != NULL);
  pony_assert(actual != NULL);

  token_id expected_id = ast_id(expected);
  token_id actual_id = ast_id(actual);

  if(expected_id != actual_id)
  {
    ast_error(errors, expected,
      "AST ID mismatch, got %d (%s), expected %d (%s)",
      ast_id(actual), ast_get_print(actual),
      ast_id(expected), ast_get_print(expected));
    return false;
  }

  // Even in 2 ASTS that we consider to be the same, hygenic ids might not
  // match each other.
  // To catch all possible error cases we should keep a mapping of the hygenic
  // ids in the 2 trees and check for a 1 to 1 correlation.
  // For now just let all hygenic ids match each other. This will allow some
  // errors through, but it's much easier for now.
  if(ast_id(expected) == TK_ID && ast_name(actual)[0] == '$' &&
    ast_name(expected)[0] == '$')
  {
    // Allow expected and actual hygenic names to match.
  }
  else if(strcmp(ast_get_print(expected), ast_get_print(actual)) != 0)
  {
    ast_error(errors, expected, "AST text mismatch, got %s, expected %s",
      ast_get_print(actual), ast_get_print(expected));
    return false;
  }

  if(ast_has_scope(expected) && !ast_has_scope(actual))
  {
    ast_error(errors, expected, "AST missing scope");
    return false;
  }

  if(!ast_has_scope(expected) && ast_has_scope(actual))
  {
    ast_error(errors, actual, "Unexpected AST scope");
    return false;
  }

  // Check types
  ast_t* expected_type = ast_type(expected);
  ast_t* actual_type = ast_type(actual);

  if(expected_type != NULL || actual_type != NULL)
  {
    if(expected_type == NULL)
    {
      ast_error(errors, actual, "Unexpected type found, %s",
        ast_get_print(actual_type));
      return false;
    }

    if(actual_type == NULL)
    {
      ast_error(errors, actual, "Expected type not found, %s",
        ast_get_print(expected_type));
      return false;
    }

    if(!compare_asts(expected_type, actual_type, errors))
      return false;
  }

  // Check children
  ast_t* expected_child = ast_child(expected);
  ast_t* actual_child = ast_child(actual);

  while(expected_child != NULL && actual_child != NULL)
  {
    if(!compare_asts(expected_child, actual_child, errors))
      return false;

    expected_child = ast_sibling(expected_child);
    actual_child = ast_sibling(actual_child);
  }

  if(expected_child != NULL)
  {
    ast_error(errors, expected, "Expected child %s not found",
      ast_get_print(expected));
    return false;
  }

  if(actual_child != NULL)
  {
    ast_error(errors, actual, "Unexpected child node found, %s",
      ast_get_print(actual));
    return false;
  }

  return true;
}

// class PassTest

void PassTest::SetUp()
{
  pass_opt_init(&opt);
  codegen_pass_init(&opt);
  package_init(&opt);
  program = NULL;
  package = NULL;
  module = NULL;
  compile = NULL;
  _builtin_src = _builtin;
  _first_pkg_path = "prog";
  package_clear_magic(&opt);
  opt.verbosity = VERBOSITY_QUIET;
  opt.check_tree = true;
  opt.verify = true;
  opt.allow_test_symbols = true;
#if defined(PONY_DEFAULT_PIC)
#  if (PONY_DEFAULT_PIC == true) || (PONY_DEFAULT_PIC == false)
    opt.pic = PONY_DEFAULT_PIC;
#  else
#    error "PONY_DEFAULT_PIC must be true or false"
#  endif
#elif defined(__pic__) || defined(__PIC__) || defined(__pie__) || defined(__PIE__)
  // The PIC-ness of the JIT-compiled code must match the PIC-ness of the
  // executable's code.
  opt.pic = true;
#endif
  last_pass = PASS_PARSE;
}

void PassTest::TearDown()
{
  if(compile != NULL)
  {
    codegen_cleanup(compile);
    POOL_FREE(compile_t, compile);
    compile = NULL;
  }
  ast_free(program);
  program = NULL;
  package = NULL;
  module = NULL;
  last_pass = PASS_PARSE;
  package_done(&opt);
  codegen_pass_cleanup(&opt);
  pass_opt_done(&opt);
}

void PassTest::set_builtin(const char* src)
{
  _builtin_src = src;
}

void PassTest::add_package(const char* path, const char* src)
{
  package_add_magic_src(path, src, &opt);
}

void PassTest::default_package_name(const char* path)
{
  _first_pkg_path = path;
}

size_t PassTest::ref_count(ast_t* ast, const char* name)
{
  if(ast == NULL)
    return 0;

  size_t count = 0;
  symtab_t* symtab = ast_get_symtab(ast);

  if(symtab != NULL && symtab_find(symtab, stringtab(name), NULL) != NULL)
    count = 1;

  for(ast_t* p = ast_child(ast); p != NULL; p = ast_sibling(p))
    count += ref_count(p, name);

  return count;
}

void PassTest::check_ast_same(ast_t* expect, ast_t* actual)
{
  ASSERT_NE((void*)NULL, expect);
  ASSERT_NE((void*)NULL, actual);

  errors_t *errors = errors_alloc();

  if(!compare_asts(expect, actual, errors))
  {
    printf("Expected:\n");
    ast_print(expect, 80);
    printf("Got:\n");
    ast_print(actual, 80);
    errors_print(errors);
    ASSERT_TRUE(false);
  }

  errors_free(errors);
}

void PassTest::test_compile(const char* src, const char* pass)
{
  DO(build_package(pass, src, _first_pkg_path, true, NULL, false));

  package = ast_child(program);
  module = ast_child(package);
}

void PassTest::test_compile_resume(const char* pass)
{
  DO(build_package(pass, NULL, NULL, true, NULL, true));
}

void PassTest::test_error(const char* src, const char* pass)
{
  DO(build_package(pass, src, _first_pkg_path, false, NULL, false));

  package = NULL;
  module = NULL;
  ASSERT_EQ((void*)NULL, program);
}

void PassTest::test_expected_errors(const char* src, const char* pass,
  const char** errors)
{
  DO(build_package(pass, src, _first_pkg_path, false, errors, false));

  package = NULL;
  module = NULL;
  ASSERT_EQ((void*)NULL, program);
}

void PassTest::test_expected_error_frames(const char* src, const char* pass,
  const char** errors, const char*** frames)
{
  PassTest::test_expected_errors(src, pass, errors);

  size_t expected_count = 0;
  while(frames[expected_count] != NULL)
  {
    expected_count++;
  }

  ASSERT_EQ(expected_count, errors_get_count(opt.check.errors));

  size_t frame = 0;
  errormsg_t* e = errors_get_first(opt.check.errors);
  while(e != NULL) {
    const char** expected_errors = frames[frame];

    {
      size_t expected_count = 0;
      while(expected_errors[expected_count] != NULL)
      {
        expected_count++;
      }

      size_t error_count = 0;
      errormsg_t* ef = e->frame;
      while(ef != NULL)
      {
        error_count++;
        ef = ef->frame;
      }

      ASSERT_EQ(expected_count, error_count);
    }

    for(errormsg_t* ef = e->frame; ef != NULL; ef = ef->frame)
    {
      const char* expected_error = *expected_errors;
      EXPECT_FALSE(strstr(ef->msg, expected_error) == NULL)
        << "Actual error: " << ef->msg
        << "\nExpected error: " << expected_error;
      expected_errors++;
    }

    e = e->next;
    frame++;
  }
}

void PassTest::test_equiv(const char* actual_src, const char* actual_pass,
  const char* expect_src, const char* expect_pass)
{
  DO(build_package(expect_pass, expect_src, "expect", true, NULL, false));
  ast_t* expect_ast = program;
  ast_t* expect_package = ast_child(expect_ast);
  program = NULL;

  DO(test_compile(actual_src, actual_pass));

  DO(check_ast_same(expect_package, package));
  ast_free(expect_ast);
}

ast_t* PassTest::type_of(const char* name)
{
  pony_assert(name != NULL);
  pony_assert(program != NULL);
  return type_of_within(program, name);
}

ast_t* PassTest::numeric_literal(uint64_t num)
{
  pony_assert(program != NULL);
  return numeric_literal_within(program, num);
}

ast_t* PassTest::lookup_in(ast_t* ast, const char* name)
{
  pony_assert(ast != NULL);
  pony_assert(name != NULL);

  symtab_t* symtab = ast_get_symtab(ast);
  pony_assert(symtab != NULL);

  return symtab_find(symtab, stringtab(name), NULL);
}

ast_t* PassTest::lookup_type(const char* name)
{
  pony_assert(package != NULL);
  return lookup_in(package, name);
}

ast_t* PassTest::lookup_member(const char* type_name, const char* member_name)
{
  pony_assert(type_name != NULL);
  pony_assert(member_name != NULL);

  ast_t* type = lookup_type(type_name);
  pony_assert(type != NULL);

  return lookup_in(type, member_name);
}

bool PassTest::run_program(int* exit_code)
{
  pony_assert(compile != NULL);

  pony_exitcode(0);
  return gen_jit_and_run(compile, exit_code, NULL, 0);
}

// Private methods

void PassTest::build_package(const char* pass, const char* src,
  const char* package_name, bool check_good, const char** expected_errors,
  bool resume)
{
  ASSERT_NE((void*)NULL, pass);

  if(!resume)
  {
    ASSERT_NE((void*)NULL, src);
    ASSERT_NE((void*)NULL, package_name);

    if(compile != NULL)
    {
      codegen_cleanup(compile);
      POOL_FREE(compile_t, compile);
      compile = NULL;
    }
    ast_free(program);
    program = NULL;
    package = NULL;
    module = NULL;
    last_pass = PASS_PARSE;

#ifndef PONY_PACKAGES_DIR
#  error Packages directory undefined
#else
    if(_builtin_src != NULL)
    {
      package_add_magic_src("builtin", _builtin_src, &opt);
    } else {
      char path[FILENAME_MAX];
      path_cat(PONY_PACKAGES_DIR, "builtin", path);
      package_add_magic_path("builtin", path, &opt);
    }
#endif

    package_add_magic_src(package_name, src, &opt);

    limit_passes(&opt, pass);
    program = program_load(stringtab(package_name), &opt);

    if((program != NULL) && (opt.limit >= PASS_REACH))
    {
      compile = POOL_ALLOC(compile_t);

      if(!codegen_gen_test(compile, program, &opt, PASS_PARSE))
      {
        codegen_cleanup(compile);
        POOL_FREE(compile_t, compile);
        ast_free(program);
        compile = NULL;
        program = NULL;
      }
    }
  } else {
    ASSERT_NE((void*)NULL, program);

    limit_passes(&opt, pass);

    if(ast_passes_program(program, &opt))
    {
      if(opt.limit >= PASS_REACH)
      {
        if(compile == NULL)
          compile = POOL_ALLOC(compile_t);

        if(!codegen_gen_test(compile, program, &opt, last_pass))
        {
          codegen_cleanup(compile);
          POOL_FREE(compile_t, compile);
          ast_free(program);
          compile = NULL;
          program = NULL;
        }
      }
    } else {
      ast_free(program);
      program = NULL;
    }
  }

  last_pass = opt.limit;

  if(expected_errors != NULL)
  {
    const char* expected_error = *expected_errors;
    size_t expected_count = 0;
    while(expected_error != NULL)
    {
      expected_count++;
      expected_error = expected_errors[expected_count];
    }

    ASSERT_EQ(expected_count, errors_get_count(opt.check.errors));

    errormsg_t* e = errors_get_first(opt.check.errors);
    for(size_t i = 0; i < expected_count; i++)
    {
      expected_error = expected_errors[i];

      if((e == NULL) || (expected_error == NULL))
        break;

      EXPECT_TRUE(strstr(e->msg, expected_error) != NULL)
        << "Actual error: " << e->msg
        << "\nExpected error: " << expected_error;
      e = e->next;
    }
  }

  if(check_good)
  {
    errors_print(opt.check.errors);

    ASSERT_NE((void*)NULL, program);
  }
}

ast_t* PassTest::type_of_within(ast_t* ast, const char* name)
{
  pony_assert(ast != NULL);
  pony_assert(name != NULL);

  // Is this node the definition we're looking for?
  switch(ast_id(ast))
  {
    case TK_PARAM:
    case TK_LET:
    case TK_VAR:
    case TK_FLET:
    case TK_FVAR:
      if(strcmp(name, ast_name(ast_child(ast))) == 0)
      {
        // Match found
        return ast_childidx(ast, 1);
      }

      break;

    default:
      break;
  }

  // Check children.
  for(ast_t* p = ast_child(ast); p != NULL; p = ast_sibling(p))
  {
    ast_t* r = type_of_within(p, name);

    if(r != NULL)
      return r;
  }

  // Not found.
  return NULL;
}

ast_t* PassTest::numeric_literal_within(ast_t* ast, uint64_t num)
{
  pony_assert(ast != NULL);

  // Is this node the definition we're looking for?
  if (ast_id(ast) == TK_INT && lexint_cmp64(ast_int(ast), num) == 0)
  {
    return ast;
  }

  // Check children.
  for(ast_t* p = ast_child(ast); p != NULL; p = ast_sibling(p))
  {
    ast_t* r = numeric_literal_within(p, num);

    if(r != NULL)
      return r;
  }

  // Not found.
  return NULL;
}

// Environment methods

void Environment::SetUp()
{
  codegen_llvm_init();
}

void Environment::TearDown()
{
  codegen_llvm_shutdown();
}

int main(int argc, char** argv)
{
  testing::InitGoogleTest(&argc, argv);
  testing::AddGlobalTestEnvironment(new Environment());
  return RUN_ALL_TESTS();
}


Abusive stimulation of excitatory amino acid receptors: a strategy to limit neurotoxicity.
Glutamate is an important excitatory amino acid at many central nervous system synapses. After its release from presynaptic nerve terminals, glutamate transiently binds to specific neuronal membrane receptors, which transduce its signal by the generation of intracellular second messengers before being rapidly cleared from the synapse. However, during ischemia, the glutamate concentration at synapses surrounding the focal lesion can be increased for sustained periods of time, resulting in abusive stimulation of glutamate receptors that can eventually be neurotoxic. To develop drugs capable of selectively blocking the pathological effects of glutamate in neurons surrounding ischemic lesions while leaving the physiological actions of glutamate in nonlesioned areas of the brain unaffected, it is essential to delineate glutamate-induced intracellular events that are specific to receptor abuse. This article describes the intracellular sequelae of physiological and pathological glutamate receptor activation and suggests potential targets for such receptor abuse-dependent antagonists (RADAs).