text:
Zelda franchise strategy guide/Items/Hookshot

The HookShot is an item featured in some of the Legend of Zelda games by Nintendo. The most common form enables Link to fire the hook at an object (pots, rocks, etc) or an enemy. If fired at an enemy, it will just act as a long range attack weapon, but is not as effective as the bow and arrow in most combat situations. If it hits an object, it will pull Link towards the object, even if there is a gap in the way.

A Link to the Past
This item made its debut in The Legend of Zelda: A Link to the Past. Link finds the hookshot in the Flooded Palace. While Link shoots it, he is invincible, and cannot be harmed. It is used to stun enemies, but mainly to pull Link across gaps. It hooks on the wooden items (trees, treasure boxes, etc.)

Link's Awakening
The hookshot is found in Catfish Maw, and is used to beat the boss, Slime Eel. When you enter the room to fight the mini-boss (Master Stalfos), he flees, and you do not receive the hook shot. When you go out, you will find a note say he found the "special item" that was there. Chase him down (he travels around a few different rooms) to finally beat him to gain the hookshot. It is used the same way, and is needed in order to learn the Frog's Song of Soul.

Ocarina of Time
For the first time, the plane is 3D, so you can now shoot the hook shot up in order to get to higher grounds. It won't hook to all woods; mainly on wooden bulls-eyes. It is obtained once you beat or at least nearly match Dampe in the graveyard race. In addition to its aid in travel, the hookshot can be used as a weapon, replacing young Link's boomerang as adult Link's unlimited ammo ranged weapon that can retrieve items it hits. To enter the Forest Temple, the Hookshot must be obtained. Later, for the first time in the series, the hookshot is upgraded, becoming the longshot. The longshot is twice as long as the original hookshot. It is used to get to the boss of the Water Temple, and in order to beat its boss. When you get captured by Gerudos, the longshot is needed in order to get out of their jail.

Majora's Mask
The hookshot is located in Gerudo Lagoon. The Gerudo are talking with one another, with the hook shot in the room. Have Link shoot an arrow at the bee hive above them to scare them out. Go around and get the hookshot. It is need to get the Zora egg in the tank.

Oracle of Ages
Whilst Oracle of Ages didn't actually feature a Hookshot, it featured a very similar item, the Switch Hook (and, later, the long hook). This still gives the ability to travel across gaps, but differs in the fact that, rather than being pulled towards the object, you switch places with it. This allowed for some interesting new puzzles for the game. You also switch places with enemies, rather than attacking them.

Wind Waker
The hookshot makes another appearance in the Wind Waker. This time, it can hook to many different wooden objects. It is used to beat the boss of the Wind Temple, Molgera, and is needed to get on top of Ganon's Tower. The game also has a weaker version called the grappling hook which is found earlier in the game in Dragonroost Cavern upon finding Midli.

Twilight Princess
In Twilight Princess, an similar item called the Clawshot is used instead of the hookshot.

Super Smash Bros. Series
In Super Smash Brothers, Link uses the hookshot to grab other players, stunning them and pulling them to him so he grabs them, upon which he can throw them to the ground, or throw them over his back and give them a back kick. In Melee, Young Link has the weapon as well, presumably referring to his use of the item in Majora's Mask. In addition to its previous abilities, the hookshot can be used to grab onto the edge of the platform when thrown off to the side, like Samus Aran's Grapple beam.


text:
Zelda franchise strategy guide/Items/Bow and Arrow

Bows and Arrows have been featured in every Legend of Zelda game except Zelda II: The Adventure of Link, The Legend of Zelda: Oracle of Ages, and The Legend of Zelda: Oracle of Seasons. It is often the best weapon to be used for long range attacks.

The Legend of Zelda
The bow is located in the first dungeon, and the first arrow must be purchased. After one has the first arrow, each arrow one fires costs 1 rupee and is taken directly from one's wallet as one fires. Later on in the game, one obtains the Silver Arrows, which are the items one uses to finally kill the final boss, Ganon.

A Link to the Past
The bow and arrow is a powerful weapon. There is an even more powerful silver bow and arrow, but that is not required to defeat the final boss.

Link's Awakening
The bow can be purchased at the shop for 998 rupees. If you do not wish to pay, you can steal the arrows, but for the rest of the game you will be called THIEF. Press the bomb and arrow buttons at the same time to shoot a bomb arrow, blowing up an enemy from a distance.

Ocarina of Time
In Ocarina of Time, the bow is called the Hero Bow. It is gained in the Forest Temple, and is used to kill the Poe sisters, and the final boss, Phantom Ganon. This is the first game where fire, ice, and light arrows are introduced.

Majora's Mask
The bow is known as Fairy's Bow in this game, and is found in Woodfall Temple. The fire, ice, and light arrows have a higher importance in this game.

Oracle of Ages and Seasons
The bow and arrow are replaced with the slingshot/seed shooter (OoS and OoA respectively) and seeds.

The Wind Waker
The bow is once again called Hero's Bow. It is found in the Tower of the Gods, and is the item used (along with bombs) to defeat the boss of the level, Gohdan. The Hero's Bow is also used to defeat the wind spirit, Cyclos in his whirlwind. After you hit him with arrows three times, he teaches you Ballad of Gales. The fire, ice, and light arrows are also in this game, but the light arrows have a new ability. When they hit an enemy, they vaporize the enemy instantly in a blinding flash of light (this works with all enemies except Ganondorf and all his forms. They just hurt him or stun him.)

Four Swords Adventures
The bow is especially useful, since it's more powerful than the slingshot. A Level 2 bow can shoot three arrows at the same time, or twelve when all four Links shoot them.

The Minish Cap
The bow is found in the Fortress of Winds, and is used to beat the fortress boss, Mazaal. In addition the arrows could be upgraded to light arrows.

Twilight Princess
The bow and arrow was featured in a Twilight Princess trailer, where Link shoots some sort of flying creature. However, as soon as the bolt made contact, the arrow exploded. It was later confirmed that it was a combination of an arrow and a bomb; a move that has not been featured since Link's Awakening.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text: Wikijunior:History in pictures/Ancient Persia


text: Wikijunior:History in pictures/Renaissance


text: Wikijunior:History in pictures/Scientific Revolution


text: Wikijunior:History in pictures/WW1

title: Wikijunior:History in pictures/WW1


text:
Pokémon Crystal/Welcome to Violet City

Exploring Town
Just north of the gatehouse is a Pokémon center. Head in and heal up. Talk with some of the NPCs to learn more about the events of the previous game.

Trading for Rickey the Onix
In the bottom left of the city, there is a traditional looking house. A person inside offers to trade a Bellsprout for an Onix. Bellsprout can easily be caught on the prior route so it's a decent offer, especially if you want a rock type and didn't get one in the Dark Cave. Even though the game says to connect a game link cable, it's not needed. The Onix is named Rickey and is holding a bitter berry.

Earl's Pokémon Academy
Head north of the Pokémon Center to find Earl's Pokémon Academy. Read the notes on the notebook or on the blackboard to gain some tips about battle if desired.

At first, Earl is missing from the building. To find him, go to the gym exterior to find a spinning man in a green shirt with a strange way with words. He will ask "Battle GYM LEADER, win you did?". Say no and he will take you to the Pokémon School. If "Want to be a winner is you?" sounds good, then go inside to optionally ask him for more tips.

Sprout Tower
This swaying tower is home to a number of trainers, as well as some lore.

Pokémart
When you first arrive here, the Pokémart has the following items.

Other
In the house west of the Pokémart, you can get advice about naming Pokémon.

South of town is a berry tree with a przcureberry.

Further south is Route 32 which leads to the ruins of Alph and the next city.

title: Pokémon Crystal/Welcome to Violet City


text:
A Traveler's Guide to the World of Pokémon/Johto/Violet City

Points of Interest
 * Pokemon Center
 * Earl's Pokémon Academy
 * Gym

Sprout Tower
A swaying tower resembling a Japanese Pagoda.

An NPC in the tower base says that the center tower pillar is said to be a 100 foot tall Bellsprout.


text:
Exercise as it relates to Disease/The role of psychological predictors and physical activity apps in promoting physical activity during the Covid-19 lockdown in Australia

This is a critical appraisal from the research article "Promoting physical activity during the COVID-19 lockdown in Australia: The roles of psychological predictors and commercial physical activity apps" by Jasmine M. Peterson, Eva Kemps, Lucy K. Lewis, Ivanka Prichard.

This is an assignment for the unit; Health, Disease and Exercise at the University of Canberra, Semester 2, 2021.

What is the background to this research?
For over 18 months, Australia has experienced very unprecedented times due to the many effects that the COVID- 19 lockdown has had on our lives. Physical activity has been shown to have many physical and mental health benefits, creating great concern that the COVID 19 lockdown negatively impacts engagement in physical activity. The outbreak in not only Australia but internationally, holds public health concerns due to the stay at home orders creating adverse outcomes, increasing the populations sedentary behaviour. In April 2021, Sport Australia released National and State data about participation in sport and active recreation. In 2020, 63.9% of the population above the age of 15 participated in sport and active recreation. Due to the impacts this lockdown has on the population’s involvement in physical activity, particularly in community sport and recreation, innovative approaches need to be made to improve engagement in physical activity and keeping people connected.

Where is the research from?
Jasmine M. Peterson, Eva Kemps, Lucy K. Lewis and Ivanka Prichard conducted a nationwide survey following the initial lockdown which concluded in May 2020. Their research took place at Flinders University in Adelaide in the Caring Futures Institute (college of nursing and health sciences, SHAPE research centre and Psychology, College of education . The research was supported by a COVID-19 Agility Research Grant from the Caring Futures Institute, College of Nursing & Health Sciences, Flinders University. The authors declare that there were no conflicts of interest (financial or personal relationships) that may have influenced their research.

What kind of research was this?
The study was an observational design in which participants were selected from a pre-existing database. Participants were asked to respond in an online survey.

What did the research involve?
A final sample of 408 participants were used out of 471 initial respondents in which all participants provided informed consent electronically with ethical approval granted by the University’s social and behavioural research ethics committee. The data was collected through the Qualtrics platform from June to July in 2020 with participants assessed on physical activity, mental health and physical activity app use during lockdown.

Through the survey, various things were assessed among participants, these included:

 * 1) Physical activity- Participants self- reported the physical activity they participated in during lockdown in which they recorded what type of activity (e.g. running), frequency and duration . Total physical activity was calculated by multiplying the frequency of each activity by its duration.
 * 2) Perceived change in physical activity - there were 6 response options in which the options ranged from ‘much more active than usual to ceased physical activity altogether’, these responses were then categorised into increased, no change or decreased.
 * 3) Social support- the use of The 'Social Support for Exercise Behaviours Scale' enabled the assessment of perceived social support for physical activity from family or friends during lockdown, provided on a 5-point Likert scale from 1 (never) to 5 (very often).
 * 4) Physical activity efficacy - The 'Physical Activity Self-Efficacy Scale' was used to measure perceived self- efficacy . This scale helps determine how certain, from 1 (very uncertain) to 4 (very certain) that an individual believes they are able to participate in physical activity when faced with difficulties (e.g. depressed or lacking energy).
 * 5) Behavioural regulation motives - The '19-item Behavioural Regulation in Exercise Questionnaire' (BREQ-2) was used to assess self-determined motivation among participants during the lockdown.
 * 6) Mental Health - The 'Depression, Anxiety and Stress Scales' (DASS-21) was used to measure participants mental health during the COVID-19 lockdown . The items were rated on a 4-point Likert Scale from 0 (Did not apply to me) to 3 (Applied to me very much) . Severity ratings were then recorded according the DASS sub-scale (normal to extremely severe).
 * 7) Use of commercial physical activity apps - Participants recorded whether they had used a physical activity app that was able to track their physical activity, therefore needing to specify the app (e.g. Fitbit).
 * 8) Engagement with app - specific communities - Using a 6-point Likert scale from 0 (never) to 5 (very often), participants specified how often they engaged with members of the app community in various forms.
 * 9) Engagement with social network platforms - Participants reported their engagement in social media platforms related to physical activity using a series of Likert scales, ranging from never (0) to very often (5).

What were the basic results?
Of the 408 participants, a large percentage (53.4%) reported a decrease in physical activity, 23.8% reported an increase and the remaining 22.8% reported no change. The main forms of physical activity the participants engaged in were walking (43.5%), running (19%), home workouts (16.1%), yoga / pilates (6%), cycling (5.6%) and strength training (3.1%) .The physical activity that participants engaged in (min/ week) varied significantly according to age, BMI and location. 51.2% of participants used a commercial physical activity app, the most frequently used apps were Strava (23%), Fitbit (16.3%) and Garmin (10%). Almost all participants using these apps (82.8%), reported engagement with the app - specific community or social media platforms relating to physical activity and exercise.

What conclusions can we take from this research?
The results concluded in this study are consistent with various other studies that have been completed in both non-pandemic and pandemic times. A study completed by E.S Anderson- Bill et al. in 2011 (non-pandemic) looked at ‘Social Cognitive Determinants of Nutrition and Physical Activity Among Web-Health Users Enrolling in an Online Intervention: The Influence of Social Support, Self-Efficacy, Outcome Expectations, and Self-Regulation’. The results found in Andersons study during non-pandemic times, are consistent with the results found in this current study. Although the results indicated a negative correlation between physical activity and mental health, this suggests that mental health plays an important role in the engagement of physical activity during lockdown no matter what. To increase the efficacy of this study, rather than having participants self-record their physical activity levels, activity monitors could be used to accurately represent their engagement in exercise as self-recorded results could create error in measure as participants may under or overestimate their physical activity.

Practical advice
During a pandemic, it can be difficult to find motivation to get out of bed, let alone get outside and move your body but this has proven to greatly improve overall health and wellbeing. By targeting social support, self-efficacy and independent motivation, this will essentially help improve physical activity levels during the pandemic and overall wellbeing. In order to support this, physical activity apps should be encouraged among populations as this creates an innovative approach to improving motivation towards physical activity during these unprecedented times. Most importantly, it is hoped that by improving motivation and self- efficacy towards exercise that this will greatly benefit mental health outcomes.

Further information/resources
For further information and help regarding benefits of physical activity and recommended apps/ resources to help you stay active, follow these links:

https://www.nia.nih.gov/health/infographics/5-tips-help-you-stay-motivated-exercise

https://www.health.gov.au/news/health-alerts/novel-coronavirus-2019-ncov-health-alert/ongoing-support-during-coronavirus-covid-19/exercising-and-staying-active-during-coronavirus-covid-19-restrictions

Apps to search for in the app store (available on iOS and android):

-        Nike training club

-        Couch to 5k

-        Strava

-        FitBit coach

-        Daily Yoga

-        Headspace


text:
German/Grammar/Prefixed verbs

Prefixed verbs
German loves to cobble together words from bits and pieces lying around. When verbs are created this way, something rather unusual can happen; the part that was added to the verb is not as fully attached as one might think, so it can detach itself, free to wander around the rest of the sentence. Where does it go?

Terminology
German has quite a few prefixes that attach to verbs. They can be divided into two types, separable and inseparable. Inseparable prefixes behave as you would expect them to, once they are attached to the root verb they stay attached and the verb is conjugated mostly as you would expect. One example is bekommen ("to receive") which is formed by adding the prefix be- to the the verb kommen ("to come"). In the future tense you use the infinitive: and in the present tense you conjugate normally: Note that while bekommen looks very similar to the English "become", they are very different in meaning. Verbs which are formed from a root verb and an inseparable prefix are called, as you would expect, inseparable verbs.
 * Ich werde das Geld bekommen. – "I'll receive the money."
 * Ich bekomme das Geld. – "I'm receiving the money."

Separable prefixes however, can detach themselves from the root verb. Consider: The verb in this sentence is anfangen ("to begin"), but it has split into fange, the finite part, and an, which is at the end of the sentence. Verbs which are formed from a root verb and a separable prefix are called, of course, separable verbs.
 * Ich fange meine Reise an. – "I'm beginning my trip."

Separable verbs correspond to what are called "particle verbs" in English. An example is "look up" as in "Which word did you want to look up." In this case the "up" cannot be interpreted as a preposition, which is its usual role, and is called a particle instead. English also has prepositional verbs similar to the German prepositional verbs we covered in the earlier section on prepositions. Collectively, English particle verbs and prepositional verbs are known as "phrasal verbs"; see English phrasal verbs in Wikipedia. Presumably, particle verbs and separable verbs evolved from the same feature of the ancient common ancestor of English and German. In English, the choice was made to keep the particle close to the verb but always separated, while in German, the particle was allowed to drift to the end of the sentence, but also to recombine with the root verb when circumstances allow.

Some prefixes, which we'll call variable, can either be separable or inseparable depending on the root verb. There are even a few verbs where the prefix can be separable or inseparable depending on the meaning. Such differences are usually due to the prefix having multiple meanings. For example über- can be from the preposition über meaning over as in physically above, or it can mean "over-" meaning too much, as in "I'm overworked." It's usually best to think of these different versions as different prefixes which happen to be spelled the same way. For example, either version of über- can be combined with setzen to produce two versions of the verb übersetzen. The inseparable version means "to translate", while the seperable version means "to cross over" (usually a body of water). Similarly umgehen means "to go around" or "to avoid" an obstacle as an inseparable verb, but it means "to circulate in/around" as a separable verb.

In spoken German, you can tell the difference between separable and inseparable prefixes because separable prefixes are stressed while inseparable prefixes are unstressed. There is no such distinction in the written language though.

Prefixed verbs follow the "Right Hand Rules" law when it comes to irregular conjugation. In other words, when a prefix is attached to an irregular verb then new verb is conjugated like the root verb, irregularities and all. But there are a few cases where a verb seems to be formed using a prefix but are actually not, and in these cases the verbs may be conjugated differenty. For example befehlen and empfehlen are related to each other through an extinct parent, but this parent is not the origin of fehlen. And in fact while fehlen is regular, the first two are stem-changing verbs.

Forming sentences with separable verbs
Forming sentences with separable verbs may seem odd to English speakers, but the process isn't to hard to understand once you get used to the idea. Recall that in the future tense, the helping verb, a conjugated form of werden, goes in the V2 position, while the infinitive of the main verb goes at the end. The general principle is that the finite part goes in the V2 position while the nonfinite part goes at the end of the clause. With separable verbs, you can think of the finite part as just the root verb, and the prefix as a nonfinite part. So, following the principle just mentioned, to use the verb anfangen, the fangen part is conjugated and placed in the V2 position, and the an part is placed at the end of the sentence. This is how we arrive at the previous example.

In the future tense, the verb is in the infinitive so the whole thing is nonfinite and goes at the end. For example: In this case, since both parts of the verb are in the same location, they do not separate and the verb looks like it would in a dictionary.
 * Ich werde meine Reise anfangen. – "I will begin my trip."

Understanding sentences with separable verbs
The biggest problem with understanding a sentence with a separable verb is recognizing that you're dealing with one. Remember that, with only a few exceptions, both the root verb and the prefix will be words in their own right. Also, the root is near the beginning of the clause and the prefix is at the end, and there can be a great deal of material in between, so there can be a large distance between to two parts of the verb; sometimes they are on different pages of a book. As relatively tame example is: As a learner who will be looking up a lot of verbs, you need to make sure there aren't any pieces at the end of the sentence which need to be added to the word you'll be looking up; knowing the meaning of the root verb is often little help in finding the meaning of the prefixed version that's actually being used.
 * Ich fange morgen meine Reise in die Vereinigten Staaten an. – "I'm starting my trip to the United States tomorrow."

Which prefixes are separable?
Grammarians have classified verb prefixes as separable, inseparable, or variable. We could give lists of each, but it's rather pointless to memorize this kind of thing when a simple rule of thumb works nearly as well. The rule is that prefixes that are words by themselves, usually prepositions or similar words, are nearly always separable, and prefixes that don't form words are nearly always inseparable. Some exceptions to make note of are dar-, which is not a word but is separable, and über- and um-, which are prepositions on their own but variable as prefixes.

title: German/Grammar/Prefixed verbs


text:
Oberon/ETH Oberon/2.3.7/DisplayLinear.Mod

(* ETH Oberon, Copyright 1990-2003 Computer Systems Institute, ETH Zurich, CH-8092 Zurich. Refer to the license.txt file provided with this distribution. *) MODULE DisplayLinear;	(* pjm *) (* Linear framebuffer display driver for Aos. Refresh rate setting taken from Peter Ryser's Native Oberon VESA driver. Config strings: 	Display="Displays."	Generic Oberon display driver 	DDriver="DisplayLinear"	This driver 	DMem=?	Display memory size in bytes (optional) 	DMode=105H	Vesa mode (only depths 8, 16 (565), 24 and 32 supported) 	DRefresh=?	Vertical refresh rate in Hz (VESA >= 3.0 only) 		or 	DWidth=1024	Display width 	DHeight=768	Display height 	DDepth=16	Display depth 	Init=?	Init program The Init program is a 8086 machine code program in hexadecimal.  It has to initialize the specified display mode, possibly by making display BIOS calls, and leave the 32-bit physical address of the frame buffer in DX:CX. *) IMPORT SYSTEM, Kernel, Files, MathL, V86, Displays, CLUTs; CONST PalFile = "Displays.Pal";	(* physical palette for 8-bit modes - if missing, use default direct mapping *) GTFLockVF = 1;		(* Lock to vertical frequency				*) GTFLockHF = 2;		(* Lock to horizontal frequency			*) GTFLockPF = 3;		(* Lock to pixel clock frequency			*) TYPE GTFConstants = RECORD margin: LONGREAL;	(* Margin size as percentage of display *) cellGran: LONGREAL;	(* Character cell granularity *) minPorch: LONGREAL;	(* Minimum front porch in lines/chars *) vSyncRqd: LONGREAL;	(* Width of V sync in lines *) hSync: LONGREAL;	(* Width of H sync as percent of total *) minVSyncBP: LONGREAL;	(* Minimum vertical sync + back porch (us) *) m: LONGREAL;	(* Blanking formula gradient *) c: LONGREAL;	(* Blanking formula offset *) k: LONGREAL;	(* Blanking formula scaling factor *) j: LONGREAL	(* Blanking formula scaling factor weight *) END; GTFHCRTC = RECORD hTotal: LONGINT;	(* Horizontal total *) hDisp: LONGINT;	(* Horizontal displayed *) hSyncStart: LONGINT;	(* Horizontal sync start *) hSyncEnd: LONGINT;	(* Horizontal sync end *) hFrontPorch: LONGINT;	(* Horizontal front porch *) hSyncWidth: LONGINT;	(* Horizontal sync width *) hBackPorch: LONGINT	(* Horizontal back porch *) END; GTFVCRTC = RECORD vTotal: LONGINT;	(* Vertical total *) vDisp: LONGINT;	(* Vertical displayed *) vSyncStart: LONGINT;	(* Vertical sync start *) vSyncEnd: LONGINT;	(* Vertical sync end *) vFrontPorch: LONGINT;	(* Vertical front porch *) vSyncWidth: LONGINT;	(* Vertical sync width *) vBackPorch: LONGINT	(* Vertical back porch *) END; GTFTimings = RECORD h: GTFHCRTC;	(* Horizontal CRTC paremeters *) v: GTFVCRTC;	(* Vertical CRTC parameters *) hSyncPol: CHAR;	(* Horizontal sync polarity *) vSyncPol: CHAR;	(* Vertical sync polarity *) interlace: CHAR;	(* 'I' for Interlace, 'N' for Non *) vFreq: LONGREAL;	(* Vertical frequency (Hz) *) hFreq: LONGREAL;	(* Horizontal frequency (KHz) *) dotClock: LONGREAL	(* Pixel clock (Mhz) *) END; VAR display: Display; TYPE Display = OBJECT (Displays.Display) VAR clut: POINTER TO CLUTs.CLUT; PROCEDURE ColorToIndex*(col: LONGINT): LONGINT; BEGIN IF (format = Displays.index8) & (clut # NIL) THEN IF 30 IN SYSTEM.VAL(SET, col) THEN	(* invert *) col := CLUTs.Match(clut^, col); IF col # 0 THEN RETURN col ELSE RETURN 15 END ELSE RETURN CLUTs.Match(clut^, col) END ELSE RETURN ColorToIndex^(col) END END ColorToIndex; PROCEDURE IndexToColor*(index: LONGINT): LONGINT; VAR col: LONGINT; BEGIN IF (format = Displays.index8) & (clut # NIL) THEN CLUTs.Get(clut^, index, col); RETURN col MOD 1000000H ELSE RETURN IndexToColor^(index) END END IndexToColor; END Display; (* StrToInt - Convert a string to an integer. *) PROCEDURE StrToInt(VAR i: LONGINT; VAR s: ARRAY OF CHAR): LONGINT; VAR vd, vh, sgn, d: LONGINT; hex: BOOLEAN; BEGIN vd := 0; vh := 0;  hex := FALSE; IF s[i] = "-" THEN sgn := -1; INC(i) ELSE sgn := 1 END; LOOP IF (s[i] >= "0") & (s[i] <= "9") THEN d := ORD(s[i])-ORD("0") ELSIF (CAP(s[i]) >= "A") & (CAP(s[i]) <= "F") THEN d := ORD(CAP(s[i]))-ORD("A")+10; hex := TRUE ELSE EXIT END; vd := 10*vd + d; vh := 16*vh + d; 		INC(i) END; IF CAP(s[i]) = "H" THEN hex := TRUE; INC(i) END;	(* optional H *) IF hex THEN vd := vh END; RETURN sgn * vd END StrToInt; PROCEDURE GetVal(name: ARRAY OF CHAR; default: LONGINT): LONGINT; VAR v: LONGINT; s: ARRAY 12 OF CHAR;  p: LONGINT; BEGIN Kernel.GetConfig(name, s); IF s[0] = 0X THEN v := default ELSE p := 0; v := StrToInt(p, s) 	END; RETURN v END GetVal; PROCEDURE Install*; BEGIN IF display # NIL THEN Displays.main := display END END Install; PROCEDURE InitPalette(d: Display); CONST N = 256; VAR i, col: LONGINT; f: Files.File; r: Files.Rider; ch: CHAR; BEGIN f := Files.Old(PalFile); IF f # NIL THEN NEW(d.clut); Files.Set(r, f, 0); CLUTs.Read(r, d.clut^, N); CLUTs.Init(d.clut^, N, 6) ELSE d.clut := NIL END; SYSTEM.PORTIN(3DAH, ch); SYSTEM.PORTOUT(3C0H, 11X); SYSTEM.PORTOUT(3C0H, 0X);	(* palette entry 0 is black *) SYSTEM.PORTOUT(3C0H, 20X); FOR i := 0 TO 255 DO 		col := d.IndexToColor(i); SYSTEM.PORTOUT(3C8H, CHR(i)); SYSTEM.PORTOUT(3C9H, CHR(ASH(col, -16) MOD 100H DIV 4)); SYSTEM.PORTOUT(3C9H, CHR(ASH(col, -8) MOD 100H DIV 4)); SYSTEM.PORTOUT(3C9H, CHR(col MOD 100H DIV 4)) END END InitPalette; PROCEDURE pow(x: LONGREAL; n: LONGINT): LONGREAL; VAR s: LONGREAL; BEGIN s := 1; WHILE n > 0 DO s := s * x; DEC(n) END; RETURN s END pow; PROCEDURE Round(v: LONGREAL): LONGREAL; BEGIN RETURN ENTIER(v + 0.5) END Round; PROCEDURE GetInternalConstants(VAR c: GTFConstants); VAR GC: GTFConstants; BEGIN GC.margin := 1.8; GC.cellGran := 8; GC.minPorch := 1; GC.vSyncRqd := 3; GC.hSync := 8; GC.minVSyncBP := 550; GC.m := 600; GC.c := 40; GC.k := 128; GC.j := 20; c.margin := GC.margin; c.cellGran := Round(GC.cellGran); c.minPorch := Round(GC.minPorch); c.vSyncRqd := Round(GC.vSyncRqd); c.hSync := GC.hSync; c.minVSyncBP := GC.minVSyncBP; IF GC.k = 0 THEN c.k := 0.001 ELSE c.k := GC.k END; c.m := (c.k / 256) * GC.m; c.c := (GC.c - GC.j) * (c.k / 256) + GC.j; 	c.j := GC.j END GetInternalConstants; (* Calculate a set of GTF timing parameters given a specified resolution and vertical frequency. The horizontal frequency and dot clock will be automatically generated by this routines. For interlaced modes the CRTC parameters are calculated for a single field, so will be half what would be used in a non-interlaced mode. hPixels - X resolution vLines - Y resolution freq - Frequency (Hz, KHz or MHz depending on type) type - 1 - vertical, 2 - horizontal, 3 - dot clock margins - True if margins should be generated interlace - True if interlaced timings to be generated t - Place to store the resulting timings *) PROCEDURE GTFCalcTimings(hPixels, vLines, freq: LONGREAL; type: LONGINT; wantMargins, wantInterlace: BOOLEAN; VAR t: GTFTimings); VAR interlace,vFieldRate,hPeriod: LONGREAL; topMarginLines,botMarginLines: LONGREAL; leftMarginPixels,rightMarginPixels: LONGREAL; hPeriodEst,vSyncBP,vBackPorch: LONGREAL; vTotalLines,vFieldRateEst: LONGREAL; hTotalPixels,hTotalActivePixels,hBlankPixels: LONGREAL; idealDutyCycle,hSyncWidth,hSyncBP,hBackPorch: LONGREAL; idealHPeriod: LONGREAL; vFreq,hFreq,dotClock: LONGREAL; c: GTFConstants; BEGIN GetInternalConstants(c); vFreq := freq; hFreq := freq; dotClock := freq; (* Round pixels to character cell granularity *) hPixels := Round(hPixels / c.cellGran) * c.cellGran; (* For interlaced mode halve the vertical parameters, and double the required field refresh rate. *) IF wantInterlace THEN vLines := Round(vLines / 2); vFieldRate := vFreq * 2; dotClock := dotClock * 2; interlace := 0.5; ELSE vFieldRate := vFreq; interlace := 0 END; (* Determine the lines for margins *) IF wantMargins THEN topMarginLines := Round(c.margin / 100 * vLines); botMarginLines := Round(c.margin / 100 * vLines) ELSE topMarginLines := 0; botMarginLines := 0 END; IF type # GTFLockPF THEN IF type = GTFLockVF THEN (* Estimate the horizontal period *) hPeriodEst := ((1/vFieldRate)-(c.minVSyncBP/1000000))/ (vLines+(2*topMarginLines)+c.minPorch+interlace)*1000000; (* Find the number of lines in vSync + back porch *) vSyncBP := Round(c.minVSyncBP / hPeriodEst); ELSIF type = GTFLockHF THEN (* Find the number of lines in vSync + back porch *) vSyncBP := Round((c.minVSyncBP * hFreq) / 1000); END; (* Find the number of lines in the V back porch alone *) vBackPorch := vSyncBP - c.vSyncRqd; (* Find the total number of lines in the vertical period *) vTotalLines := vLines + topMarginLines + botMarginLines + vSyncBP + interlace + c.minPorch; IF type = GTFLockVF THEN (* Estimate the vertical frequency *) vFieldRateEst := 1000000 / (hPeriodEst * vTotalLines); (* Find the actual horizontal period *) hPeriod := (hPeriodEst * vFieldRateEst) / vFieldRate; (* Find the actual vertical field frequency *) vFieldRate := 1000000 / (hPeriod * vTotalLines); ELSIF type = GTFLockHF THEN (* Find the actual vertical field frequency *) vFieldRate := (hFreq / vTotalLines) * 1000; END END; (* Find the number of pixels in the left and right margins *) IF wantMargins THEN leftMarginPixels := Round(hPixels * c.margin) / (100 * c.cellGran); rightMarginPixels := Round(hPixels * c.margin) / (100 * c.cellGran); ELSE leftMarginPixels := 0; rightMarginPixels := 0 END; (* Find the total number of active pixels in image + margins *) hTotalActivePixels := hPixels + leftMarginPixels + rightMarginPixels; IF type = GTFLockVF THEN (* Find the ideal blanking duty cycle *) idealDutyCycle := c.c - ((c.m * hPeriod) / 1000) ELSIF type = GTFLockHF THEN (* Find the ideal blanking duty cycle *) idealDutyCycle := c.c - (c.m / hFreq); ELSIF type = GTFLockPF THEN (* Find ideal horizontal period from blanking duty cycle formula *) idealHPeriod := (((c.c - 100) + (MathL.sqrt((pow(100-c.c,2)) + (0.4 * c.m * (hTotalActivePixels + rightMarginPixels + leftMarginPixels) / dotClock)))) / (2 * c.m)) * 1000; (* Find the ideal blanking duty cycle *) idealDutyCycle := c.c - ((c.m * idealHPeriod) / 1000); END; (* Find the number of pixels in blanking time *) hBlankPixels := Round((hTotalActivePixels * idealDutyCycle) / 		((100 - idealDutyCycle) * c.cellGran)) * c.cellGran; (* Find the total number of pixels *) hTotalPixels := hTotalActivePixels + hBlankPixels; (* Find the horizontal back porch *) hBackPorch := Round((hBlankPixels / 2) / c.cellGran) * c.cellGran; (* Find the horizontal sync width *) hSyncWidth := Round(((c.hSync/100) * hTotalPixels) / c.cellGran) * c.cellGran; (* Find the horizontal sync + back porch *) hSyncBP := hBackPorch + hSyncWidth; IF type = GTFLockPF THEN (* Find the horizontal frequency *) hFreq := (dotClock / hTotalPixels) * 1000; (* Find the number of lines in vSync + back porch *) vSyncBP := Round((c.minVSyncBP * hFreq) / 1000); (* Find the number of lines in the V back porch alone *) vBackPorch := vSyncBP - c.vSyncRqd; (* Find the total number of lines in the vertical period *) vTotalLines := vLines + topMarginLines + botMarginLines + vSyncBP + interlace + c.minPorch; (* Find the actual vertical field frequency *) vFieldRate := (hFreq / vTotalLines) * 1000; ELSE IF type = GTFLockVF THEN (* Find the horizontal frequency *) hFreq := 1000 / hPeriod; ELSIF type = GTFLockHF THEN (* Find the horizontal frequency *) hPeriod := 1000 / hFreq; END; (* Find the pixel clock frequency *) dotClock := hTotalPixels / hPeriod; END; (* Find the vertical frame frequency *) IF wantInterlace THEN vFreq := vFieldRate / 2; dotClock := dotClock / 2; ELSE vFreq := vFieldRate END; (* Return the computed frequencies *) t.vFreq := vFreq; t.hFreq := hFreq; t.dotClock := dotClock; (* Determine the vertical timing parameters *) t.h.hTotal := ENTIER(hTotalPixels); t.h.hDisp := ENTIER(hTotalActivePixels); t.h.hSyncStart := ENTIER(t.h.hTotal - hSyncBP); t.h.hSyncEnd := ENTIER(t.h.hTotal - hBackPorch); t.h.hFrontPorch := t.h.hSyncStart - t.h.hDisp; t.h.hSyncWidth := ENTIER(hSyncWidth); t.h.hBackPorch := ENTIER(hBackPorch); (* Determine the vertical timing parameters *) t.v.vTotal := ENTIER(vTotalLines); t.v.vDisp := ENTIER(vLines); t.v.vSyncStart := ENTIER(t.v.vTotal - vSyncBP); t.v.vSyncEnd := ENTIER(t.v.vTotal - vBackPorch); t.v.vFrontPorch := t.v.vSyncStart - t.v.vDisp; t.v.vSyncWidth := ENTIER(c.vSyncRqd); t.v.vBackPorch := ENTIER(vBackPorch); (* Mark as GTF timing using the sync polarities *) IF wantInterlace THEN t.interlace := 'I' ELSE t.interlace := 'N' END; t.hSyncPol := '-'; t.vSyncPol := '+' END GTFCalcTimings; PROCEDURE SetVesaMode(mode, hz: LONGINT; VAR w, h, d, adr: LONGINT); VAR width, height, ver: INTEGER; flags: SET; bpp: SHORTINT; reg: V86.Regs; t: GTFTimings; BEGIN V86.Init; ASSERT(V86.bufsize >= 512);	(* enough for VESA *) SYSTEM.MOVE(SYSTEM.ADR("VBE2"), V86.bufadr, 4); reg.EAX := 4F00H;	(* get VESA info *) reg.ES := V86.bufadr DIV 16; reg.EDI := V86.bufadr MOD 16; V86.Video(reg); ASSERT(reg.EAX MOD 10000H = 4FH, 100);	(* vesa call ok *) SYSTEM.GET(V86.bufadr+4, ver);	(* version *) SYSTEM.MOVE(SYSTEM.ADR("VBE2"), V86.bufadr, 4); reg.EAX := 4F01H;	(* get mode info *) reg.ECX := mode; reg.ES := V86.bufadr DIV 16; reg.EDI := V86.bufadr MOD 16; V86.Video(reg); ASSERT(reg.EAX MOD 10000H = 4FH, 101);	(* vesa call ok *) SYSTEM.GET(V86.bufadr+12H, width); SYSTEM.GET(V86.bufadr+14H, height); SYSTEM.GET(V86.bufadr+19H, bpp); SYSTEM.GET(V86.bufadr+28H, adr); IF bpp = 15 THEN bpp := 16 END;	(* 15bpp not really supported currently *) w := width; h := height; d := bpp; ASSERT((adr # 0) & (adr MOD 4096 = 0), 102);	(* frame buffer address ok *) IF (ver >= 300H) & (hz > 0) THEN GTFCalcTimings(w, h, hz, GTFLockVF, FALSE, FALSE, t); reg.EAX := 4F0BH; reg.EBX := 0; reg.EDX := mode; reg.ECX := hz * t.h.hTotal * t.v.vTotal; V86.Video(reg); ASSERT(reg.EAX MOD 10000H = 4FH, 104);	(* vesa call ok *) SYSTEM.PUT(V86.bufadr, SYSTEM.VAL(INTEGER, t.h.hTotal)); SYSTEM.PUT(V86.bufadr+2, SYSTEM.VAL(INTEGER, t.h.hSyncStart)); SYSTEM.PUT(V86.bufadr+4, SYSTEM.VAL(INTEGER, t.h.hSyncEnd)); SYSTEM.PUT(V86.bufadr+6, SYSTEM.VAL(INTEGER, t.v.vTotal)); SYSTEM.PUT(V86.bufadr+8, SYSTEM.VAL(INTEGER, t.v.vSyncStart)); SYSTEM.PUT(V86.bufadr+10, SYSTEM.VAL(INTEGER, t.v.vSyncEnd)); flags := {}; IF t.interlace = "I" THEN INCL(flags, 1) END; IF t.hSyncPol = "-" THEN INCL(flags, 2) END; IF t.vSyncPol = "-" THEN INCL(flags, 3) END; SYSTEM.PUT(V86.bufadr+12, SYSTEM.VAL(CHAR, flags)); SYSTEM.PUT(V86.bufadr+13, reg.ECX); SYSTEM.PUT(V86.bufadr+17, SYSTEM.VAL(INTEGER, SHORT(hz*100))); reg.EBX := 800H ELSE reg.EBX := 0 END; reg.EAX := 4F02H; 	(* set mode *) reg.EBX := reg.EBX + mode + 4000H;	(* enable linear fb *) reg.ES := V86.bufadr DIV 16; reg.EDI := V86.bufadr MOD 16; V86.Video(reg); ASSERT(reg.EAX MOD 10000H = 4FH, 103);	(* vesa call ok *) Kernel.traceConsole := FALSE; V86.Cleanup END SetVesaMode; PROCEDURE Init; VAR w, h, d, f, mem, adr, vmode: LONGINT; BEGIN vmode := GetVal("DMode", 0); IF vmode # 0 THEN	(* attempt V86 call to VESA BIOS *) SetVesaMode(vmode, GetVal("DRefresh", 0), w, h, d, adr) ELSE	(* assume mode was set with Init= *) w := GetVal("DWidth", 1024); h := GetVal("DHeight", 768); d := GetVal("DDepth", 16); Kernel.GetInit(1, adr);	(* DX:CX from Init code *) ASSERT((adr # 0) & (adr MOD 4096 = 0)) END; CASE d DIV 8 OF 		1: f := Displays.index8 |2: f := Displays.color565 |3: f := Displays.color888 |4: f := Displays.color8888 END; mem := GetVal("DMem", 0)*1024; IF mem = 0 THEN mem := w*h*f END; Kernel.MapPhysical(adr, mem + (-mem) MOD 4096, adr); NEW(display); display.width := w; display.height := h; 	display.offscreen := mem DIV (w*f) - h; 	display.format := f; display.unit := 10000; IF f = Displays.index8 THEN InitPalette(display) END; display.InitFrameBuffer(adr, mem) END Init; BEGIN Init; Install END DisplayLinear.


text:
Exercise as it relates to Disease/Does the pattern of team sport participation from adolescence to young adulthood positively impact mental health?

This wikipedia page is a University of Canberra assignment critiquing the article “Association between pattern of team sport participation from adolescence to young adulthood and mental health”.

What is the background to this research?
Mental illness is a term used to describe a health issue that notably affects a person's reasoning, thought patterns, behaviour and their interactions. In 2007, 46% of Australians between 16-85 reported previously experiencing a mental disorder.

Social isolation is a risk factor of mental illness with potential long term impacts in future stages of life. The social identity model of identity change explains that wellbeing can be enhanced through periods of adjustment, if a person is able to maintain preexisting social group memberships that they deem to be important. Physical activity has also been shown to increase positive mental health. The article being critiqued, aims to incorporate an analysis of social interactions and physical activity, by obtaining correlational data on team sport participation and mental illness in the transition between adolescence and young adulthood. The hypothesis was, initiating or sustaining team sport participation would correlate to a decrease in depression, stress, and anxiety disorder symptoms.

Data on team sport participation and mental illness was taken from a 2014 study on nicotine dependence in teens (NDIT).

Where is the research from?
The data originates from an Canadian study published in 2021 by authors Ross M. Murray et al. All authors are all PHD graduates with extensive background in the field of physical activity. Author Ross M. Murray has a strong reputation of highly credible articles throughout his career with extensive research in the area of mental behaviours and physical activity. Similar culture and statistics of mental health and physical activity levels between Australia and Canada, creates a valid comparison when addressing this study to an Australian population.

The NDIT study received a grant from the Canadian Cancer Society. This charity has no vested interests in any findings of the study. There was no outlined conflict of interest in either of the two articles.

What kind of research was this?
This article is a correlational study, used to understand complex relationships between multiple different variables. A limitation of correlational data is the inability to identify a causal result.

The data that was derived from the NDIT study was a longitudinal cohort study conducted from 1999-2012. This form of study allows the ability to assess changes over time. Multiple outcomes can be also examined in comparison to a single factor. Limitations include compliance levels, time, and expense. When commitments are longer in duration by the participant, selective attrition can occur. Prolonged studies also tend to incur higher costs.

What did the research involve?
NDIT Study

Participants were recruited from 10 different schools across Montreal. Sex ratios in the study were 54% female, 46% male. Method

Participants were placed into three categories based on the data they provided in the questionnaire that was conducted every 3 months (20 repetitions) between grade 7-11 and 2007–08 and 2011–12. This questionnaire included ten questions targeting depression levels, one question on perceived stress, two on coping, and nine questions targeting anxiety levels. Limitations

All data from this study was self-reported, potentially affecting the reliability and validity of the results. Whilst this method is a quick and effective mechanism to generate results, self-reported data may contain social desirability and recall bias. Another form of bias within the study was sampling bias. The type of sampling conducted was convenience sampling. The students were not chosen to participate in a random sample. Any student was able to hand in a consent form signed by parental guardians. All students in Canadian private schools were excluded from this research which adds an increased amount of bias to the non random sample of students.

What were the basic results?
Seven-hundred and thirty-three participants were retained for the entirety of the study from an original 1294. There was a significant correlation between the participants that were retained and having a parent who studied at a university level. This correlation had no significant relationship between mental health levels of participants. No data was analysed on participants who started team sport in early adulthood as the number was too small to effectively analyse the results.

A one way MANCOVA and ANCOVAs identified the associations between team sport participation with depression, stress, and coping. Significant data in this study was deemed to have a p value of <0.05. Bivariate logistic regression was used to predict the variation in mental illness as a result of team sport participation. Potential confounders between relationships were included as covariates across all of the testing procedures. Post-hoc comparisons were completed to identify means, standard errors, effect sizes, and confidence intervals for the data. No casual data was able to be obtained however significant relationships were outlined.

Sustainers experienced less stress compared to discontinuers, and experienced fewer panic disorder symptoms when compared to non-participants. When compared to both groups, sustainers had a significantly better coping ability. Depression symptoms, generalised anxiety, social anxiety, and agoraphobia all had no significant differences between sustainers, compared to non-participants and discontinuers.

What conclusions can we take from this research?
Based on the results, the hypothesis was partially accepted. The authors were able to effectively analyse the results using multiple high quality assessments. There was no bias in the presentation of the data and no attempt to skew the results. It was stated that further research needs to be conducted to provide causal evidence. The authors were able accept the limitations of the study, and explicitly stated them in the report.

Whilst the data showed evidence of significant relationships related to positive benefits of team sport participation, more comprehensive measures of health should be measured in further studies as the data analysed was self-reported. The reliability of self reported data cannot be depended upon. The variables being examined cannot be separated entirely from external life occurrences.

Practical advice
It would be beneficial to encourage team sport participation in adolescence, as it appears to have positive relationships with mental health. This study is able to provide health practitioners potential strategies to improve mental health in young people. As a health incentive, governments could aim to increase availability of team sports in the community. More information is needed to determine the benefits of structured team sport programs aimed to increase the mental health of a person. Further studies should look into the effect social interaction may have unrelated to physical activity also have on mental health.

Further information/resources

 * NDIT Study
 * Social Identity in Adolescence
 * Physical Activity Guidelines
 * Mental Health Australia Helpline Information


text:
Exercise as it relates to Disease/Is HIIT training an effective intervention for blood pressure and central obesity? A comparison of males and females

This is a critique of Adriyani et al's article "Sex Differences in Blood Pressure and Body Composition after Short-Term High-Intensity Interval Training at the University of Canberra for unit 8340; Health, Disease and Exercise.

What is the background to this research?
Hypertension (high blood pressure), is a disease state wherein there is an increased outward pressure on the walls of blood vessels. Hypertension is often caused by vessel narrowing resulting from abdominal obesity, glucose intolerance and metabolic diseases. The American College of Sports Medicine (ACSM) position stand defines hypertension as greater than or equal to 140 mmHg in systolic (SBP) and 90 mmHg in diastolic blood pressure (DBP) among adults and supports regular physical activity for the prevention and treatment of hypertension.

Adriyani et al's paper discusses the effects of High Intensity Interval Training (HIIT) as an intervention for hypertension and central obesity in Indonesian male and female populations. HIIT is an exercise modality characterised by short to moderate periods of vigorous anaerobic exercise with brief intermittent recovery periods. Adriyani's study aims to outline the effects of an alternative, increasingly popular exercise modality amongst clinical populations where hypertensive exercise prescription traditionally centers on aerobic endurance exercise.

Exploring interventions with optimised, engaging exercise modalities to encourage exercise adherence among both males and females is vital in approaching preventable disease such as hypertension. Hypertension has a high association with prevalent comorbidities such as cardiovascular disease and metabolic syndrome, that may lead to debilitating lifestyle ailments such as stroke, myocardial infarction and diabetes, whilst placing a large economic burden on global healthcare.

Where is the research from?
This study was conducted in Bandung among Indonesian populations, which is important when comparing males and females from Indonesian and Australian cultures. This research was published in the "Jurnal Pendidikan Jasmani dan Olahraga"

Adriyani has 3 publications in health literature with no notable landmark research, whereas her associates Dana and Iskandar have published even fewer works. Lead author Riza Adriyani works as a public health, sports doctor at a gym (BKOM) in Bandung after studying sports science at the Bandung Institute of Technology. Adriyani appears to have no commercial or personal conflict of interest in conducting this study.

What kind of research was this?
This research is a short duration experimental intervention cohort study. This is characterised by Adriyani et al's use of pre and post data collection, selection criteria, as well as the absence of a control group when comparing the effectiveness of an intervention among two different cohort with a similar disease state.

Randomised Control Trials (RCT) are considered the "gold standard" of primary intervention studies, whilst meta analysis - an aggregation of primary studies - are even higher forms of evidence. Adriyani et al's intervention ranks lower than an RCT in the evidence based practice pyramid, however, clinically relevant conclusions can still be drawn from this study.

Study Summary
Participant Pool:

22 Indonesian males (n= 6) and females (n=6) who met the inclusion and exclusion criteria.

The Exercise Program:

10 week HIIT treadmill program with 3 x 33 minute sessions a week, which included:

-
 * A 10 minute warm up at <64% Max HR (MHR)
 * 3 x 4 minute work intervals at 77-95% MHR
 * 3 minute interspersed active rest intervals at 64-76% MHR
 * A 5 minute self paced cool down.

The Data:
 * Pre-participation screening involved a health evaluation to assess inclusion criteria, exercise contraindication questionnaire and a resting ECG.
 * Reported measurements include: digitally recorded BP, Bioelectrical Impedence scanning of body composition, digital heart rate (HR) monitoring and waist circumference
 * Parametric tests or non-parametric tests were used based on the distribution of data.

Assessment of Methodology
Limitations:

 * Lack of quantitative evidence around methods: max HR calculations, contraindication assessments and adjustment time between work and rest periods.
 * Intervention Scope: No measurement of external physical activity and short program duration limits visible body composition changes.
 * Measures: Bioelectrical Impedence scanning results are heavily influenced by variable testing conditions, such as recent exercise and fluid/food consumption.
 * Hypertension criteria ranges differ from ACSM guidelines . This is likely reflective of the cultural demographic.

Advantages:
 * Participant criteria targets hypertensive populations whilst limiting comorbidity and lifestyle factors which may introduce outlying data.
 * Clinical assessments seem to have been conducted in a standardised, best practice manner.
 * Provides sparsely researched gender specific insights into training modalities for clinical populations.

What were the basic results?
Adriyani et al were modest in the appraisal of their interventions outcomes, correlating their findings with potential physiological justification. They reported:
 * A smaller reduction of BP in women than men may be attributed to greater decreases in peripheral resistance in men.
 * Greater reduction of fat and waist measures in men may be related to post exercise energy expenditure and greater use of fatty acid oxidation in HIIT caused by the large degree of muscle mass, metabolism and contractility among male populations.
 * Increased skeletal muscle mass and fat free mass among women was thought to be associated with high levels of daily activity compared to men.

What conclusions can we take from this research?
This study concludes that HIIT is a viable exercise modality for the prevention and treatment of hypertension, particularly in men. However, moderate intensity aerobic and resistance exercises can be sustained for longer volumes of time, which translates to a higher energy expenditure as well as increased mobilisation and consumption of fats in both obese males and female populations.

Adriyani et al highlights that the only other known study comparing HIIT among hypertensive males and females showed greater BP decreases in women than men, however, the referenced intervention was conducted among elderly populations over a 6 month period with near aerobic activities. A systematic review comparing HIIT and Moderate Intensity Continuous Training (MICT) interventions between 4-6 weeks long found that both yielded comparable reductions in BP measurements, while HIIT had greater improvements to cardiovascular adaptations (VO2 Max).

Practical advice
Recommendations for Exercise:

 * If SBP or DBP is greater than 200 or 115 mmHg prior to exercise, do not exercise and consult your doctor immediately
 * Measure exercise with perceived exertion scales in place of HR measures if you're on medication that influence HR such as beta-blockers
 * Start with short periods of moderate intensity continuous aerobic exercise (10-15 minutes) every second or third day, such as stationary cycling or rowing, if you were previously inactive. Add 5 minutes to each session per week to achieve 30 minutes of exercise on most days.
 * Focus on cool down and hydration, as hypertension medications may cause sudden blood pressure drops or dehydration.
 * Consider creating weekly music playlists and add HIIT, resistance or flexibility sessions over time to encourage engagement and meet the Hypertensive Physical Activity Guidelines

Further information/resources
For those who may be experiencing hypertension, seek medical advise and see below for more information:

- Hypertension Symptoms

- Heart Foundation Clinical Information and Help Lines

- Social Media Support Groups

Or see here for Academic Literature


text:
Exercise as it relates to Disease/Impact of an exercise intervention on wellbeing in older adults

This is a critique of the research article "Physical exercise impact on variables related to emotional and functional well-being in older adults", completed by Belmonte Darraz S , González-Roldán AM , de María Arrebola J and Montoro-Aguilar CI , and published in Revista Espanola de Geriatria y Gerontologia (Spanish Journal of Geriatrics and Gerontology), March 2021.

What is the background to this research?
This paper observes the impact of a European Union funded exercise intervention, the Erasmus 'Vivifrail' project on selected functional health markers of a cohort of (n)49 >60 yr old individuals from the Balearic Islands, Spain. The 'Vivifrail' project provides a framework on the promotion and prescription of strength, balance and gait exercise to older adults, to improve independence and quality of life.

There is increased global political awareness of the looming costs and strain on medical systems of an ageing population. Subsequently, there is a need to identify the efficacy of large scale interventions to inform future development and identify best practices.

Where is the research from?
The ‘Vivifrail’ program is currently being promoted in Germany, Spain, France, Italy and the United Kingdom. The research, on individuals from the Balearic Islands, Spain, was performed in partnership with the University of the Balearic Islands, University of Jaén and Majorca city council Department of health on a cohort of Balearic Island residents.

The authors have no prior experience in exercise intervention research or assessment of large scale government initiatives.

There is no presented conflict of interest or bias. But it is of note, that an employee of the city council reviewing a government-backed initiative, does open up the possibility for inherent bias.

What kind of research was this?
The study is a Cross-Sectional variation of an observational design study. With participants recruited or excluded based on selection criteria, all participants were exposed to the same fundamental exercise intervention and the researchers analysing the outcome of the intervention.

Cross-Sectional studies are considered the weakest observational design, as they only capture data on a single cohort, with no control, for a given window of time. Due to this, they cannot provide a strong causal relationship between the intervention and the outcome.

What did the research involve?
The study observed residents from the Autonomous Community of the Balearic Islands, Spain, who volunteered to participate.

A final cohort of (n)49 participants (1 male, 48 female) over 60 years old met the inclusion criteria[Table 1].

Pre-screening, baseline measures[Table 2] and an informed consent were administered to selected participants.

The cohort underwent a 12-week exercise intervention, consisting of 2x 60 min exercises sessions per week delivered by a qualified physiotherapist.

The 'Vivifrail' program consists of three phases, with each variable of the fundamental session plan tailored to the identified functional capacity and falls risk of the participant (Type A-D).
 * 1) Warm-Up phase (~20 min): Focusing on mobilisation and light cardiovascular work.
 * 2) Strengthening phase. (20 min): Initially for 20 min, increased progressively as the participant adapts.
 * 3) Relaxation phase (10 min): Focusing on addressing flexibility and balance.

After completion of 12 weeks (24 sessions), the baseline tests[Table 2] were repeated and statistical analysis performed.

What were the basic results?
The study reported significant (p <0.05) differences in:

 * Diastolic blood pressure.
 * Frail test.
 * Gait speed.
 * PPT.
 * BI.
 * 6 of 8 GENCAT elements.
 * OQSQ hypersomnia and quality of sleep.

No significant differences were reported in:

 * Systolic blood pressure.
 * Blood glucose level.
 * Abdominal circumference.
 * 2 of 8 GENCAT elements.
 * No differences were reported in insomnia.

The researchers interpret the results as "a significant improvement after the intervention ... in emotional well-being, personal development, physical well-being, self-determination, rights and social inclusion. No differences were observed regarding the interpersonal relationships and material well-being."

Given the Cross-Sectional design of the study, and lack of a control group, additional research is warranted before stating outright that the exercise intervention is the sole cause for the outcome.

What conclusions can we take from this research?
The methodology selected is relatively an inexpensive and efficient method of assessing the selected cohort, but relies heavily on self-assessment tools, which impacts the validity of the results due to the known limitations of self-reported data. But with the lack of a control group, the potential for pre-existing bias and the potential for unrecorded variables influencing the final result, there's an inability to derive a causal relationship between the intervention and the outcome.

There is recent research on higher-risk segments of the older population such as post-14-week COVID-19 lockdown, and post hospitalisation  , that all cite the VIvifrail program as safe and produces some positive outcomes.

Practical advice
The 'Vivifrail' program provides a simple, low barrier to entry system for safely implementing functional exercise to an older population of varied risk (Type A-D), once approved by their doctor. The program combines strengthen exercises, balance and gait training effectively to improve markers of independence and reduce the risk of falls. It also provides a framework for the delivery of exercise, monitoring and progression within this population.

It's worthwhile to consider, that consultation with a doctor before commencing the 'Vivifrail' program is essential to minimise risks.

Further information/resources
Link: Sample Vivifrail exercise program

Provided resources based on identified functional level and falls risk:

 * Link: Type A "People with disabilities".
 * Link: Type B "People with fragility".
 * LInk: Type B + "People with fragility and risk of falls".
 * Link: Type C "People with pre-frailty".
 * Link: Type C + "People with pre-fragility and risk of falls".
 * Link: Type D "Robust people".

Link: Erasmus Vivifrail project.

Link: World report on ageing and health (Summary), (Full Text)


text:
Oberon/ETH Oberon/2.3.7/Displays.Display.Mod

(* ETH Oberon, Copyright 1990-2003 Computer Systems Institute, ETH Zurich, CH-8092 Zurich. Refer to the license.txt file provided with this distribution. *) MODULE Display;	(* pjm *) (* Native Oberon display module based on Displays. *) (** Module Display provides the display drawing primitives and the base type of the visual objects, called Frames. *) IMPORT SYSTEM, AosDisplays := Displays, Kernel, Modules, Objects; CONST BG* = 0; FG* = 15; (** Background, foreground colors. *) (** Drawing operation modes. *) replace* = 0;	(** replace destination. *) paint* = 1;	(** paint over destination. *) invert* = 2;	(** invert destination. *) (** Message ids. *) remove* = 0; suspend* = 1; restore* = 2; newprinter* = 3; (** ControlMsg id. *) reduce* = 0; extend* = 1; move* = 2; (** ModifyMsg id. *) display* = 0; state* = 1; (** ModifyMsg mode. *) screen* = 0; printer* = 1; (** DisplayMsg device *) full* = 0; area* = 1; contents* = 2; (** DisplayMsg id. *) get* = 0; set* = 1; reset* = 2; (** SelectMsg id. *) drop* = 0; integrate* = 1; (** ConsumeMsg id. *) (** TransferFormat types. *) unknown* = 0; index8* = 8; color555* = 16; color565* = 17; color664* = 18; color888* = 24; color8888* = 32; TYPE Color* = LONGINT; Pattern* = LONGINT; PatternPtr = POINTER TO RECORD buf: ARRAY 8192 OF CHAR	(* w = buf[0], h = buf[1], pixmap = buf[2..] *) END; List = POINTER TO ListDesc; ListDesc = RECORD next: List; pat: PatternPtr END; Frame* = POINTER TO FrameDesc;	(** Base type of all displayable objects. *) FrameDesc* = RECORD (Objects.ObjDesc) next*, dsc*: Frame;	(** Sibling, child pointers. *) X*, Y*, W*, H*: INTEGER	(** Coordinates. *) END; FrameMsg* = RECORD (Objects.ObjMsg)	(** Base type of messages sent to frames. *) F*: Frame; (*target*)	(** Message target, NIL for broadcast. *) x*, y*: INTEGER;	(** Message origin. *) res*: INTEGER	(** Result code: <0 = error or no response, >=0 response. *) END; ControlMsg* = RECORD (FrameMsg) id*: INTEGER	(** remove, suspend, restore. *) END; ModifyMsg* = RECORD (FrameMsg)	(** Change coordinates in container frame. *) id*: INTEGER;	(** reduce, extend, move. *) mode*: INTEGER;	(** Modes display, state. *) dX*, dY*, dW*, dH*: INTEGER;	(** Change from old coordinates (delta). *) X*, Y*, W*, H*: INTEGER	(** New coordinates. *) END; DisplayMsg* = RECORD (FrameMsg)	(** Display a frame, a part of it or its contents. *) device*: INTEGER;	(** screen, printer *) id*: INTEGER;	(** full, area, contents. *) u*, v*, w*, h*: INTEGER	(** Area to be restored. *) END; LocateMsg* = RECORD (FrameMsg)	(** Locate frame in display space. *) loc*: Frame;	(** Result. *) X*, Y*: INTEGER;	(** Absolute location. *) u*, v*: INTEGER	(** Relative coordinates in loc. *) END; SelectMsg* = RECORD (FrameMsg)	(** Selection control. *) id*: INTEGER;	(** get, set, reset. *) time*: LONGINT;	(** Time of selection. *) sel*: Frame;	(** Parent of selection. *) obj*: Objects.Object	(** List of objects involved, linked with slink. *) END; ConsumeMsg* = RECORD (FrameMsg)	(** Drop, integrate frames. *) id*: INTEGER;	(** drop, integrate. *) u*, v*: INTEGER;	(** Relative coordinates in destination when drop. *) obj*: Objects.Object	(** List of objects to be consumed, linked with slink. *) END; MsgProc* = PROCEDURE (VAR M: FrameMsg); VAR Unit*: LONGINT; (** RasterUnit = Unit/36000 mm *) Left*, (** Left margin of black-and-white screen. *) ColLeft*, (** Left margin of secondary display, often same as Left. *) Bottom*, (** Bottom of primary map. *) UBottom*, (** Bottom of offscreen area (negative), 0 if not supported. *) Width*, (** Display width. *) Height*: INTEGER; (** Display height. *) arrow*, 	(** Oberon cursor. *) star*, 	(** Star marker to mark documents and viewers. *) cross*, 	(** Insertion marker. *) downArrow*, 	(** Marker to indicate disk operation. *) hook*,	(** Text caret pattern. *) grey0*, grey1*, grey2*, ticks*, solid*: Pattern;	(** Simulated grey levels. *) Broadcast*: MsgProc;	(** Message broadcast to all frames in the display space. *) palette: ARRAY 256 OF LONGINT; clipX1, clipY1, clipX2, clipY2: LONGINT;	(* bottom left corner & top right corner, in Oberon coordinates *) pattern: List; buf: POINTER TO ARRAY OF CHAR;	(* for DisplayBlock *) disp: AosDisplays.Display; height: LONGINT; (** Change color palette entry. 0 <= col, red, green, blue < 256. *) PROCEDURE SetColor*(col: Color; red, green, blue: LONGINT); BEGIN palette[col MOD 256] := ASH(ASH(red, 8) + green, 8) + blue END SetColor; (** Retrieve color palette entry or color components. 0 <= red, green, blue < 256. *) PROCEDURE GetColor*(col: Color; VAR red, green, blue: INTEGER); BEGIN IF col >= 0 THEN col := palette[col MOD 256] END; red := SHORT(ASH(col, -16) MOD 256); green := SHORT(ASH(col, -8) MOD 256); blue := SHORT(col MOD 256) END GetColor; (** Return color with specified components. 0 <= red, green, blue < 256. *) PROCEDURE RGB*(red, green, blue: LONGINT): Color; BEGIN RETURN MIN(LONGINT) + ASH(red, 16) + ASH(green, 8) + blue END RGB; (** Returns the number of bits per pixel for the given x coordinate. Typical values are 1, 4, 8 (maximum 8). *) PROCEDURE Depth*(x: LONGINT): INTEGER; BEGIN RETURN 8 END Depth; (** Returns if truecolor values are supported in the interface. *) PROCEDURE TrueColor*(x: LONGINT): BOOLEAN; BEGIN RETURN TRUE END TrueColor; (** Get the current clip rectangle. *) PROCEDURE GetClip*(VAR x, y, w, h: INTEGER); BEGIN x := SHORT(clipX1); y := SHORT(clipY1); w := SHORT(clipX2-clipX1+1); h := SHORT(clipY2-clipY1+1) END GetClip; (** Set the new clipping rectangle. *) PROCEDURE SetClip*(x, y, w, h: LONGINT); BEGIN clipX1 := x; clipY1 := y; clipX2 := clipX1+w-1; clipY2 := clipY1+h-1 END SetClip; (** Intersect with current clip rectangle resulting in a new clip rectangle. *) PROCEDURE AdjustClip*(x, y, w, h: LONGINT); VAR x2, y2: LONGINT; BEGIN x2 := x + w - 1; y2 := y + h - 1; IF x > clipX1 THEN clipX1 := x END; IF y > clipY1 THEN clipY1 := y END; IF x2 < clipX2 THEN clipX2 := x2 END; IF y2 < clipY2 THEN clipY2 := y2 END END AdjustClip; (** Reset the current clipping rectangle to the whole display, including offscreen area. *) PROCEDURE ResetClip*; BEGIN clipX1 := 0; clipY1 := UBottom; clipX2 := disp.width-1; clipY2 := height-1 END ResetClip; (** Copy source block SX, SY, W, H to destination DX, DY using operation mode. A block is given by its lower left corner X, Y and its dimension W, H. *) PROCEDURE CopyBlock*(sx, sy, w, h, dx, dy, mode: LONGINT); BEGIN disp.Copy(sx, height-sy-h, w, h, dx, height-dy-h) END CopyBlock; (* Place a dot of color col in operation mode at x, y. Effect equivalent to ReplConst with a block of size 1, 1. *) PROCEDURE CopyPattern*(col: Color; pat: Pattern;  x, y, mode: LONGINT); VAR pw, ph, stride: LONGINT; p: PatternPtr; BEGIN p := SYSTEM.VAL(PatternPtr, pat); pw := ORD(p.buf[0]); ph := ORD(p.buf[1]); IF (x >= clipX1) & (y >= clipY1) & (x+pw-1 <= clipX2) & (y+ph-1 <= clipY2) THEN	(* completely visible *) IF col >= 0 THEN col := palette[col MOD 256] END; stride := (pw+7) DIV 8; CASE mode OF 			replace: disp.Mask(p.buf, 16 + (ph-1)*stride*8, -stride, col MOD 1000000H, 					palette[BG], x, height-y-ph, pw, ph) |invert: disp.Mask(p.buf, 16 + (ph-1)*stride*8, -stride, col MOD 1000000H + AosDisplays.invert, 					AosDisplays.trans, x, height-y-ph, pw, ph) ELSE	(* paint *) disp.Mask(p.buf, 16 + (ph-1)*stride*8, -stride, col MOD 1000000H, 					AosDisplays.trans, x, height-y-ph, pw, ph) END ELSIF (x+pw-1 >= clipX1) & (y+ph-1 >= clipY1) & (x <= clipX2) & (y <= clipY2) THEN	(* partially visible *) FillPattern(col, pat, x, y, x, y, pw, ph, mode) ELSE	(* not visible *) (* skip *) END END CopyPattern; (** Replicate pattern pat in color col into block x, y, w, h using operation mode, proceeding from left to right and from bottom to top, starting at lower left corner. The pattern origin is placed at px, py. *) PROCEDURE FillPattern*(col: Color; pat: Pattern; px, py, x, y, w, h, mode: LONGINT); VAR pw, ph, rdx, lpx, ldw, lsx, rdw, tdy, bpy, cdy, csy, cdh, cdx, csx, stride, fg, bg: LONGINT; p: PatternPtr; (* See Displays.Display.Text for documentation *) BEGIN rdx := x+w-1; tdy := y+h-1;	(* (x,y) bottom left & (rdx,tdy) top right *) IF (x <= clipX2) & (y <= clipY2) & (rdx >= clipX1) & (tdy >= clipY1) THEN IF x < clipX1 THEN DEC(w, clipX1-x); x := clipX1 END; IF y < clipY1 THEN DEC(h, clipY1-y); y := clipY1 END; IF rdx > clipX2 THEN DEC(w, rdx-clipX2) END; IF tdy > clipY2 THEN DEC(h, tdy-clipY2) END; IF (w > 0) & (h > 0) THEN IF col >= 0 THEN col := palette[col MOD 256] END; CASE mode OF 				replace: fg := col MOD 1000000H; bg := palette[BG] |invert: fg := col MOD 1000000H + AosDisplays.invert; bg := AosDisplays.trans ELSE fg := col MOD 1000000H; bg := AosDisplays.trans END; p := SYSTEM.VAL(PatternPtr, pat); pw := ORD(p.buf[0]); ph := ORD(p.buf[1]); IF (pw > 0) & (ph > 0) THEN	(* rest of code copied from eos' TileBuffer *) stride := (pw+7) DIV 8; INC(px, (x - px) DIV pw * pw); INC(py, (y - py) DIV ph * ph); rdx := x + w; lpx := px + pw; ldw := lpx - x; lsx := pw - ldw; IF ldw > w THEN ldw := w END; rdw := (rdx - px) MOD pw; tdy := y + h; bpy := py + ph; cdy := y; csy := y - py; IF (py < y) & (bpy < tdy) THEN cdh := bpy - cdy; cdx := x; csx := lsx; IF px < x THEN disp.Mask(p.buf, 16 + (csy+cdh-1)*stride*8+lsx, -stride, fg, bg, cdx, height-cdh-cdy, ldw, cdh); csx := 0; cdx := lpx END; WHILE cdx + pw <= rdx DO 						disp.Mask(p.buf, 16 + (csy+cdh-1)*stride*8, -stride, fg, bg, cdx, height-cdh-cdy, pw, cdh); INC(cdx, pw) END; IF cdx < rdx THEN disp.Mask(p.buf, 16 + (csy+cdh-1)*stride*8+csx, -stride, fg, bg, cdx, height-cdh-cdy, rdw, cdh); END; csy := 0; cdy := bpy END; WHILE cdy + ph <= tdy DO 					cdx := x; csx := lsx; IF px < x THEN	(* draw left border *) disp.Mask(p.buf, 16 + (ph-1)*stride*8+lsx, -stride, fg, bg, cdx, height-ph-cdy, ldw, ph); csx := 0; cdx := lpx END; WHILE cdx + pw <= rdx DO 						disp.Mask(p.buf, 16 + (ph-1)*stride*8, -stride, fg, bg, cdx, height-ph-cdy, pw, ph); INC(cdx, pw) END; IF cdx < rdx THEN	(* draw right border *) disp.Mask(p.buf, 16 + (ph-1)*stride*8+csx, -stride, fg, bg, cdx, height-ph-cdy, rdw, ph); END; INC(cdy, ph) END; IF cdy < tdy THEN	(* draw top border *) cdh := tdy - cdy; cdx := x; csx := lsx; IF px < x THEN	(* draw top left corner *) disp.Mask(p.buf, 16 + (csy+cdh-1)*stride*8+lsx, -stride, fg, bg, cdx, height-cdh-cdy, ldw, cdh); csx := 0; cdx := lpx END; WHILE cdx + pw <= rdx DO 						disp.Mask(p.buf, 16 + (csy+cdh-1)*stride*8, -stride, fg, bg, cdx, height-cdh-cdy, pw, cdh); INC(cdx, pw) END; IF cdx < rdx THEN	(* draw top right corner *) disp.Mask(p.buf, 16 + (csy+cdh-1)*stride*8+csx, -stride, fg, bg, cdx, height-cdh-cdy, rdw, cdh); END END END END END END FillPattern; (** Like FillPattern, but the pattern origin is placed at 0, 0. *) PROCEDURE ReplPattern*(col: Color; pat: Pattern; x, y, w, h, mode: LONGINT); BEGIN FillPattern(col, pat, 0, 0, x, y, w, h, mode) END ReplPattern; (** Block fill in color col and operation mode. **) PROCEDURE ReplConst*(col: Color; x, y, w, h, mode: LONGINT); VAR rx, ty: LONGINT; BEGIN rx := x+w-1; ty := y+h-1;	(* (x,y) bottom left & (rx,ty) top right *) IF (x <= clipX2) & (y <= clipY2) & (rx >= clipX1) & (ty >= clipY1) THEN IF x < clipX1 THEN DEC(w, clipX1-x); x := clipX1 END; IF y < clipY1 THEN DEC(h, clipY1-y); y := clipY1 END; IF rx > clipX2 THEN DEC(w, rx-clipX2) END; IF ty > clipY2 THEN DEC(h, ty-clipY2) END; IF (w > 0) & (h > 0) THEN IF col >= 0 THEN col := palette[col MOD 256] END; IF mode = invert THEN disp.Fill(col MOD 1000000H + AosDisplays.invert, x, height-y-h, w, h) 			ELSE disp.Fill(col MOD 1000000H, x, height-y-h, w, h) 			END END END END ReplConst; (** Place a dot of color col in operation mode at x, y. Effect equivalent to ReplConst with a block of size 1, 1. *) PROCEDURE Dot*(col: Color; x, y, mode: LONGINT); BEGIN IF (x <= clipX2) & (y <= clipY2) & (x >= clipX1) & (y >= clipY1) THEN IF col >= 0 THEN col := palette[col MOD 256] END; IF mode = invert THEN disp.Dot(col MOD 1000000H + AosDisplays.invert, x, height-y-1) ELSE disp.Dot(col MOD 1000000H, x, height-y-1) END END END Dot; (** Returns the dimensions of a pattern. *) PROCEDURE GetDim*(pat: Pattern; VAR w, h: INTEGER); VAR ch: CHAR; BEGIN SYSTEM.GET(pat, ch); w := ORD(ch); SYSTEM.GET(pat+1, ch); h := ORD(ch) END GetDim; (** Define a new pattern. *) PROCEDURE NewPattern*(w, h: LONGINT; VAR image: ARRAY OF SET): Pattern; VAR len, src, dest, i: LONGINT; p: PatternPtr;  pl: List; BEGIN len := (w+7) DIV 8; SYSTEM.NEW(p, 4+len*h); p.buf[0] := CHR(w); p.buf[1] := CHR(h); src := SYSTEM.ADR(image[0]); dest := SYSTEM.ADR(p.buf[2]); i := 0; WHILE i < h DO SYSTEM.MOVE(src, dest, len); INC(src, 4); INC(dest, len); INC(i) END; NEW(pl); pl.pat := p; pl.next := pattern; pattern := pl;	(* put in list to avoid GC *) ASSERT(SYSTEM.ADR(p.buf[0]) = SYSTEM.VAL(LONGINT, p)); RETURN SYSTEM.ADR(p.buf[0]) END NewPattern; (* Define standard patterns. *) PROCEDURE CreatePatterns; VAR image: ARRAY 16 OF SET; BEGIN image[0] := {13}; image[1] := {12..14}; image[2] := {11..13}; image[3] := {10..12}; image[4] := {9..11}; image[5] := {8..10}; image[6] := {7..9}; image[7] := {0, 6..8}; image[8] := {0, 1, 5..7}; image[9] := {0..2, 4..6}; image[10] := {0..5}; image[11] := {0..4}; image[12] := {0..5}; image[13] := {0..6}; image[14] := {0..7}; arrow := NewPattern(15, 15, image); image[0] := {0, 10}; image[1] := {1, 9}; image[2] := {2, 8}; image[3] := {3, 7}; image[4] := {4, 6}; image[5] := {}; image[6] := {4, 6}; image[7] := {3, 7}; image[8] := {2, 8}; image[9] := {1, 9}; image[10] := {0, 10}; cross := NewPattern(11, 11, image); image[0] := {6}; image[1] := {5..7}; image[2] := {4..8}; image[3] := {3..9}; image[4] := {2..10}; image[5] := {5..7}; image[6] := {5..7}; image[7] := {5..7}; image[8] := {5..7}; image[9] := {5..7}; image[10] := {5..7}; image[11] := {5..7}; image[12] := {5..7}; image[13] := {5..7}; image[14] := {}; downArrow := NewPattern(11, 15, image); image[0] := {0, 4, 8, 12}; image[1] := {}; image[2] := {2, 6, 10, 14}; image[3] := {}; image[4] := {0, 4, 8, 12}; image[5] := {}; image[6] := {2, 6, 10, 14}; image[7] := {}; image[8] := {0, 4, 8, 12}; image[9] := {}; image[10] := {2, 6, 10, 14}; image[11] := {}; image[12] := {0, 4, 8, 12}; image[13] := {}; image[14] := {2, 6, 10, 14}; image[15] := {}; grey0 := NewPattern(16, 16, image); image[0] := {0, 2, 4, 6, 8, 10, 12, 14}; image[1] := {1, 3, 5, 7, 9, 11, 13, 15}; image[2] := {0, 2, 4, 6, 8, 10, 12, 14}; image[3] := {1, 3, 5, 7, 9, 11, 13, 15}; image[4] := {0, 2, 4, 6, 8, 10, 12, 14}; image[5] := {1, 3, 5, 7, 9, 11, 13, 15}; image[6] := {0, 2, 4, 6, 8, 10, 12, 14}; image[7] := {1, 3, 5, 7, 9, 11, 13, 15}; image[8] := {0, 2, 4, 6, 8, 10, 12, 14}; image[9] := {1, 3, 5, 7, 9, 11, 13, 15}; image[10] := {0, 2, 4, 6, 8, 10, 12, 14}; image[11] := {1, 3, 5, 7, 9, 11, 13, 15}; image[12] := {0, 2, 4, 6, 8, 10, 12, 14}; image[13] := {1, 3, 5, 7, 9, 11, 13, 15}; image[14] := {0, 2, 4, 6, 8, 10, 12, 14}; image[15] := {1, 3, 5, 7, 9, 11, 13, 15}; grey1 := NewPattern(16, 16, image); image[0] := {0, 1, 4, 5, 8, 9, 12, 13}; image[1] := {0, 1, 4, 5, 8, 9, 12, 13}; image[2] := {2, 3, 6, 7, 10, 11, 14, 15}; image[3] := {2, 3, 6, 7, 10, 11, 14, 15}; image[4] := {0, 1, 4, 5, 8, 9, 12, 13}; image[5] := {0, 1, 4, 5, 8, 9, 12, 13}; image[6] := {2, 3, 6, 7, 10, 11, 14, 15}; image[7] := {2, 3, 6, 7, 10, 11, 14, 15}; image[8] := {0, 1, 4, 5, 8, 9, 12, 13}; image[9] := {0, 1, 4, 5, 8, 9, 12, 13}; image[10] := {2, 3, 6, 7, 10, 11, 14, 15}; image[11] := {2, 3, 6, 7, 10, 11, 14, 15}; image[12] := {0, 1, 4, 5, 8, 9, 12, 13}; image[13] := {0, 1, 4, 5, 8, 9, 12, 13}; image[14] := {2, 3, 6, 7, 10, 11, 14, 15}; image[15] := {2, 3, 6, 7, 10, 11, 14, 15}; grey2 := NewPattern(16, 16, image); image[0] := {0..2, 8..11}; image[1] := {0..2, 7..10}; image[2] := {0..2, 6..9}; image[3] := {0..2, 5..8}; image[4] := {0..2, 4..7}; image[5] := {0..6}; image[6] := {0..5}; image[7] := {0..4}; image[8] := {0..3}; image[9] := {0..2}; image[10] := {0, 1}; image[11] := {0}; hook := NewPattern(12, 12, image); image[0] := {7}; image[1] := {7}; image[2] := {2, 7, 12}; image[3] := {3, 7, 11}; image[4] := {4, 7, 10}; image[5] := {5, 7, 9}; image[6] := {6..8}; image[7] := {0..6, 8..14}; image[8] := {6..8}; image[9] := {5, 7, 9}; image[10] := {4, 7, 10}; image[11] := {3, 7, 11}; image[12] := {2, 7, 12}; image[13] := {7}; image[14] := {7}; star := NewPattern(15, 15, image); image[0] := {}; image[1] := {}; image[2] := {0}; image[3] := {}; image[4] := {}; image[5] := {}; image[6] := {}; image[7] := {}; image[8] := {}; image[9] := {}; image[10] := {}; image[11] := {}; image[12] := {}; image[13] := {}; image[14] := {}; image[15] := {}; ticks := NewPattern(16, 16, image); image[0] := -{}; image[1] := -{}; image[2] := -{}; image[3] := -{}; image[4] := -{}; image[5] := -{}; image[6] := -{}; image[7] := -{}; solid := NewPattern(16, 8, image) END CreatePatterns; (** Return the format of a display region, for TransferBlock. *) PROCEDURE TransferFormat*(x: LONGINT): LONGINT; BEGIN CASE disp.format OF 		AosDisplays.index8: RETURN index8 |AosDisplays.color565: RETURN color565 |AosDisplays.color888: RETURN color888 |AosDisplays.color8888: RETURN color8888 ELSE RETURN unknown END END TransferFormat; (** Transfer a block of pixels in display format to (mode = set) or from (mode = get) the display.  Pixels in the rectangular area are transferred from bottom to top and left to right.  The pixels are transferred to or from buf, starting at ofs, and with line increment stride, which may be < 0. *) PROCEDURE TransferBlock*(VAR buf: ARRAY OF CHAR; ofs, stride, x, y, w, h, mode: LONGINT); VAR rdx, tdy: LONGINT; BEGIN rdx := x+w-1; tdy := y+h-1;	(* (x,y) bottom left & (rdx,tdy) top right *) IF (x <= clipX2) & (y <= clipY2) & (rdx >= clipX1) & (tdy >= clipY1) THEN IF x < clipX1 THEN DEC(w, clipX1-x); INC(ofs, (clipX1-x)*disp.format); x := clipX1 END; IF y < clipY1 THEN DEC(h, clipY1-y); INC(ofs, (clipY1-y)*stride); y := clipY1 END; IF rdx > clipX2 THEN DEC(w, rdx-clipX2) END; IF tdy > clipY2 THEN DEC(h, tdy-clipY2) END; IF (w > 0) & (h > 0) THEN disp.Transfer(buf, ofs + (h-1)*stride, -stride, x, height-h-y, w, h, mode) END END END TransferBlock; (** Change screen mode. *) PROCEDURE SetMode*(x: LONGINT; s: SET); BEGIN disp := AosDisplays.main; height := disp.height; Left := 0; ColLeft := 0; Bottom := 0; Unit := disp.unit; UBottom := SHORT(-disp.offscreen); Width := SHORT(disp.width); Height := SHORT(height); ResetClip END SetMode; (** Display a picture. Used internally by Pictures module only. *) PROCEDURE DisplayBlock*(adr, dx, dy, w, h, sx, sy, mode: LONGINT); VAR pw, pd, src, dst, rdx, tdy, col: LONGINT; ch, prev, prevmap: CHAR; BEGIN rdx := sx+w-1; tdy := sy+h-1;	(* (sx,sy) bottom left & (rdx,tdy) top right *) IF (sx <= clipX2) & (sy <= clipY2) & (rdx >= clipX1) & (tdy >= clipY1) THEN IF sx < clipX1 THEN DEC(w, clipX1-sx); INC(dx, clipX1-sx); sx := clipX1 END; IF sy < clipY1 THEN DEC(h, clipY1-sy); INC(dy, clipY1-sy); sy := clipY1 END; IF rdx > clipX2 THEN DEC(w, rdx-clipX2) END; IF tdy > clipY2 THEN DEC(h, tdy-clipY2) END; IF (w > 0) & (h > 0) THEN pd := 0; SYSTEM.GET(adr+4, SYSTEM.VAL(INTEGER, pd)); IF pd = 8 THEN SYSTEM.GET(adr+8, pw); SYSTEM.GET(adr+12, src); INC(src, (dy+h-1)*pw + dx);	(* top left corner *) IF w*h*disp.format+1 > LEN(buf^) THEN NEW(buf, w*h*disp.format+1) END;	(* +1 for *** below *) dst := SYSTEM.ADR(buf[0]); CASE disp.format OF 					AosDisplays.index8: prev := CHR(BG); prevmap := CHR(disp.ColorToIndex(palette[ORD(prev)])); FOR tdy := 0 TO h-1 DO 							FOR rdx := 0 TO w-1 DO 								SYSTEM.GET(src, ch); INC(src); IF ch # prev THEN prev := ch; prevmap := CHR(disp.ColorToIndex(palette[ORD(prev)])) END; SYSTEM.PUT(dst, prevmap); INC(dst) END; INC(src, -w-pw) END |AosDisplays.color565: FOR tdy := 0 TO h-1 DO 							FOR rdx := 0 TO w-1 DO 								SYSTEM.GET(src, ch); INC(src); col := palette[ORD(ch)]; SYSTEM.PUT(dst, SYSTEM.VAL(INTEGER, SYSTEM.VAL(SET, ASH(col, 15-23)) * {11..15} + SYSTEM.VAL(SET, ASH(col, 10-15)) * {5..10} + SYSTEM.VAL(SET, ASH(col, 4-7)) * {0..4})); INC(dst, 2) END; INC(src, -w-pw) END |AosDisplays.color888, AosDisplays.color8888: col := disp.format;	(* size *) FOR tdy := 0 TO h-1 DO 							FOR rdx := 0 TO w-1 DO 								SYSTEM.GET(src, ch); INC(src); SYSTEM.PUT(dst, palette[ORD(ch)]);	(* *** possible 32-bit write to 24-bit value *) INC(dst, col) END; INC(src, -w-pw) END END; disp.Transfer(buf^, 0, w*disp.format, sx, height-h-sy, w, h, set) ELSE	(* depth not supported *) (* skip *) END END END END DisplayBlock; (** Return address of display located at x, or 0 if not supported. *) PROCEDURE Map*(x: LONGINT): LONGINT; BEGIN RETURN 0 END Map; PROCEDURE LoadDriver; VAR m: Modules.Module; c: Modules.Command; name: ARRAY 32 OF CHAR; BEGIN Kernel.GetConfig("DDriver", name); IF name = "" THEN name := "DisplayPermedia2" END; m := Modules.ThisMod(name); IF m # NIL THEN c := Modules.ThisCommand(m, "Install"); IF c # NIL THEN c END ELSE c := NIL END; IF c = NIL THEN Kernel.WriteString("Display: "); Kernel.WriteString(Modules.resMsg); Kernel.WriteLn END END LoadDriver; BEGIN ASSERT((get = AosDisplays.get) & (set = AosDisplays.set)); LoadDriver; NEW(buf, 8192); pattern := NIL; CreatePatterns; SetMode(0, {}) END Display. Compiler.Compile Displays.Display.Mod\X ~ TestDisplay.Text TestTransferBlock.Mod TestSVGA.Mod


text:
Exercise as it relates to Disease/Does being physically active lower the risk of diabetes in adolescents?

This work is a critic of the journal article "Physical Activity May Facilitate Diabetes Prevention in Adolescents" by Thomas et al. (2009).

What is the background to this research?[edit | edit source]
The authors of this research were concerned with the sudden increment of cases of type 2 diabetes among adolescent populations, an "epidemic" growing at the same rate of an outburst of child obesity. According to the first extensive population-based investigation of incidents of diabetes in American youth, SEARCH for Diabetes in Youth Study (SEARCH)   in 2001, 3.5% of the 10 -19-years-old participants had type 2 diabetes. In addition, the American Diabetes Association disclosed that one in six overweight adolescents has pre-diabetes. However, by far the type I diabetes continues to be the most common amongst adolescents.

Supported by high-quality evidence in adult prevention trials, the benefits of increasing Physical Activity (PA) to avert and slow down the development of type 2 diabetes. For example, in the Diabetes Prevention Program and the Finnish Diabetes Prevention Group, rigorous lifestyle modifications, inclusive of exercise, were 58% more successful in slowing down advancement to diabetes from an impaired glucose tolerance. In another study conducted in China, the Da Qing IGT and Diabetes study demonstrated that exercise decreased diabetes incidence by 46% amongst those with IGT. However, it is unclear if the same result would be achieved in an adolescent population.

This study set out to examine the relationship of PA with glucose tolerance (Kg) and Resting Energy Expenditure (REE) in an adolescent population and hypothesised a positive association between time and intensity of PA and glucose tolerance and REE. These are important because of the lack of prevention trials in pediatric populations and the impending "epidemic" of type 2 diabetes and obesity in children and adolescents.

Where is the research from?[edit | edit source]
A multidisciplinary team of professionals from the University of Alabama at Birmingham, United States of America (USA) conducted this study. The team comprised professionals from the Department of Nutrition Science, Department of Medicine, and General Clinical Research Center (GCRC).

This manuscript was published by https://care.diabetesjournals.org/ in 2008 and by the American Diabetes Association in 2009. The authors appeared to be experienced researchers with a minimum of three research works under their belt.

This work has a significant role to play not only in the discovery of new knowledge but also as an educational and propagation tool of the SEARCH for Diabetes in Youth Study that was launched in 2000 to tackle vital "knowledge gaps in the understanding of childhood diabetes".

The study population consisted of 32 males and females, African American and Caucasian adolescents, aged 12 to 18 years. The study was approved by the Institutional Review Board for Human Use at the University of Alabama at Birmingham. Participants and guardians signed a consent form before registration.

This research was funded by the General Clinical Research Center (GCRC) and the Clinical Nutrition Research Unit, University of Alabama, Birmingham, and no likely conflicts of interest pertinent to this work were reported.

What kind of research was this?[edit | edit source]
The research was part of an original longitudinal study: "Intra-abdominal fat and risk of disease in adolescent". A cross-sectional study (a variety of observational study design) that measure the association between Physical Activity with Kg and REE in an adolescent population at a specific point in time.

It has been said that cross-sectional study design has its merits for being comparatively quick and inexpensive. It can be carried out prior to designing a cohort study or a baseline in a cohort study. Furthermore, these research designs can serve as a framework to plan, monitor and evaluate public health. Nevertheles, these studies have their limitations (see what did the research involve?).

According to the Level of Evidence ranking, Cross-sectional study designs are level IV and categorised as the most biased across the clinical domains.

What did the research involve?[edit | edit source]
The participants were 32 male and female adolescents aged 12-18 years admitted overnight to the GCRC and instructed to fast for 12 hours. Upon admission, body composition was assessed. The morning after the admission, their REE was measure via indirect calorimetry and Kg by an Intravenous glucose tolerance test. In addition, daily PA was assessed with fitted accelerometers that measure vertical acceleration and deceleration. The subjects wore the accelerometer 24 hours a day for 8.5 days, except when swimming and bathing.

As the authors stated, one of the strengths of this study was the estimation of Intravenous glucose tolerance and time involved in moderate to vigorous PA. Nonetheless, one major limitation of this study is the size and diversity of the population; the sample was very small and may not represent the characteristics of the targeted population. For example, there are no representations of various ethnic and races, that is, Asian-non Hispanic, Hispanic and American Indian participants. This is important because it has been reported that type 2 diabetes is inequitably impacting the minority races and ethnic groups and from low socio-economic backgrounds.

Furthermore, it may be difficult for the layman to interpret the data if one does not have normal values or ranges to compare the data. For instance, in the current paper, on the design and methods section, under the subheading -Intravenous glucose tolerance test,  the authors wrote the following about the values for Kg: " a higher number implies higher (better) glucose tolerance", but does not provide a classification table to compare these values with. In contrast, in a study by Nathan and colleagues, "Impaired fasting glucose and impaired glucose tolerance, implications for care, the authors had included a table with the classification of glucose tolerance states.

Finally, a limitation of using a cross-sectional study design to measure PA and the association with glucose tolerance and REE is that it would be difficult to discriminate cause and effect from simple association. Thus, further work needs to be done to establish if a PA intervention is associated with changes in REE and Kg.

What were the basic results?[edit | edit source]
The main findings of this study were:

 * Female subjects had considerably higher fat mass, a higher percentage of fat, lower Free Fat Mass( FFM), lower REE and higher intravenous glucose tolerance (Kg).
 * Males were more physically active in terms of Total PA (TPA), Moderate PA (MPA), and Hard PA (HPA)than females participants. African American youth engaged in substantially higher TPA.
 * Minutes spent in TPA, MPA, HPA and Very Hard PA (VHPA) was not determined by race.

 * PA was positively associated with normal glucose metabolism and REE. However, HPA and VHPA did not significantly contribute to glucose tolerance, nor did VHPA have an independent relationship with REE.

The researchers emphasised that this work revealed new knowledge about Glucose metabolism in adolescents, suggesting that the information was relevant when diseases related to obesity, namely diabetes, are significantly increasing in this population. It also suggested that adolescents benefit by participating in exercise training programs and boosting leisure-time participation.

What conclusions and practical advice can we take from this research?[edit | edit source]
This manuscript was written in 2009; Thomas and her team pioneered the assessment of glucose uptake in an adolescent population related to PA. Many other researchers follow suit from testing the effectiveness of a Healthy Lifestyle Program to testing different intensities of exercise and the effect in insulin sensitivity and glucose uptake, such as Savoye et al. 2014, Rohling et al. 2015 ,  and Bird et al. 2016. Interestingly, from all the literature reviewed, I found The Consensus Report from Diabetes Care 2016, the most thorough and informative manifest in children and adolescents onset type 2 diabetes.

Some of the organisations in the U.S and Australia currently working and supporting research in prevention, cure and treatment of diabetes are:

 * The SEARCH for Diabetes in Youth

 * Diabetes Australia

 * Juvenile Diabetes Research Foundation
 * Australasian Paediatric Endocrine Group
 * State and Territory Diabetes Organisations
 * National Diabetes Service Scheme

 * American Diabetes Association (ADA)
 * National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK)
 * National Institutes of Health (NIH)
 * National Diabetes Education Program (NDEP)

Policymakers, academia and the world of science and research have become aware of the growing trends in chronic diseases across populations and the burden they constitute for any country's health system and economy. For example, in Australia, the Institute of Health and Welfare generated the number 15 Australian Burden of Disease Study Series, including the Impact of physical inactivity as a risk factor for chronic conditions report.