Monday, August 24, 2020

Importanceof Knowledge Based Reporting Free Essays

With the end goal for columnist to successfully incorporate the previously mentioned strategies and think of meaningful articles while covering a report, they must be very much educated and proficient. Recorded as a hard copy news stories that worry different parts of the economy or the business segment, columnist ought to in any event have some foundation data on how the economy functions. This will empower the writer to think of exact and educated clarifications and examination regarding the subject being secured. We will compose a custom paper test on Importanceof Knowledge Based Reporting or on the other hand any comparable subject just for you Request Now Furthermore, being educated will empower the columnist draw an association on the economy and how it influences or identifies with the crowd. Another model where writer are required to be educated is recorded as a hard copy business related articles. For this situation, writer might be required to meet an expert in the field of business. The writer needs to have some information in this recorded so as to realize the inquiries to pose (Sack, 2012). Recorded as a hard copy highlights, columnist who are not learned and knowledgeable with the subject they re tending to are defenseless against control by the sources they use. For example, specialists and experts that writer meeting may not be enthusiastic about the quest for information or they may have their own plan they are attempting to progress. Having some information in the essential ideas relating the issue being tended to could be useful in addressing and raising incredulity on the appropriate responses gave by the respondent (Sack, 2012). Works Cited Sack, J. (2012). News coverage. New York: Metropolitan Books/Henry Holt and co. Step by step instructions to refer to Importanceof Knowledge Based Reporting, Papers

Saturday, August 22, 2020

Aircraft Propeller Essay Example For Students

Airplane Propeller Essay Theaircraft propeller resembles a straightforward component to the uneducated person. To the informed, an airplane propeller speaks to the most elevated modernity inaerodynamics, mechanical building and auxiliary structure. This report willtouch on the historical backdrop of the propeller, from early pioneers/experiments,advancement during/after the war, as far as possible up to current uses of thepropeller. The formation of the propeller can be followed back to Leonardo daVinci. Da Vincis helical screw helicopter is accepted to be theancestor of the air propeller and the helicopter rotor. The main thought of apropulsive airscrew, in any case, has a place with J.P. Paucton, a French mathematician. Paucton imagined a flying machine that had two airscrews, one for propulsionand the other for continuing flight. Using an airscrew forpropulsion was used during the late 1700s to mid 1800s. Just afterexperimentation did the creators infer that progressively propulsive force could beobtained by only fixing the outside of the airscrew edges. Endeavors to use the straight cutting edge propeller were made by balloonists. These contraptions were very bizarre and barely satisfied their motivation ofactually driving the inflatable. The fundamental propeller had advanced from the simpleconcepts of da Vinci, and was gradually turning into a powerful methods for aerialpropulsion. To arrive at the following level of flight an expanded information on thepropeller would be required, and the puzzles of the propeller and mechanicalpower would should be understood. These considerable errands stayed for aviationspioneers to handle during the nineteenth century. All through the nineteenth century,aviation pioneers investigated and tinkered with the ideas of trip to plan aviable carrier. A few pioneers attempted to change the inflatables into navigablecigar formed carriers by trying different things with sails, propellers, and paddlewheelsbut all delivered restricted outcomes. Different experimenters, who were persuaded thatman flight ought to have wings, attempted to set up essential standards inaerodynamics, flig ht security and control, just as drive. Controlledmechanical flight went ahead August 9, 1884. Charles Renard and A.C. Krebs flew theairship La France on a shut circuit from Chalais-Meudon to Villacoublayand in a short time. The carrier La France was controlled by a 9horsepower electric engine that drove a 23ft breadth propeller and came to aspeed of 14.5 mph. This flight was the introduction of the zeppelin, a steerable,lighter-than-carrier with sufficient impetus. Another significant achievement inaviation, was the comprehension of optimal design. Sir George Cayley, a Britishtheorist, was acclaimed as the dad of optimal design. He built up a solidfoundation of streamlined rules that were fundamental to the achievement of otherpioneers. In 1875, Thomas Moy made an enormous model that had twin 12ftpropellers with 6 edges each! Curiously enough these edges could beadjusted to create most extreme push under specific conditions, an earlyrecognition of the requirement for changing edge pitch. In actuality, the mostexpensive and staggering task of its time was that done by Sir HiramMaxim. His various tests with propellers, finished in the constructionof an immense, four-ton biplane in 1890. This contraption was controlled by two 180hpsteam motors that each drove propellers 17ft, 10inches in breadth and weighing135lbs. The two-edge propellers, conversely tightened and squared at the tips 5 ?ft wide, were made of American Pine, planed smooth, secured with stuck canvasand remained to the propeller shafts with steel wire to deal with the high thrustloads. These gigantic propellers delivered 1,100lbs of push each during fullpower while turning at 425rpm. Sayings gigantic creation didnt last longhowever, it bounced the test track and endured broad harm. Pass on, themost compelling avionics pioneers were the Wright siblings. They had concludedthat a propeller was just a spinning wing, however didnt have the appropriateinformation to counsel while appreciating the essentia l standards of bladeshape and movement. This difficulty made planning the propeller one of the Wrightbrothers most testing issues. Notwithstanding the absence of past data toconsult, the siblings had the option to learn, through examination and preliminary/error,that huge propeller breadths would create high push for a given powerinput. The siblings likewise established that high torque created by huge, slowturning edges antagonistically influenced the flying characteristics (p-factor). On theirfirst airplane, they used 8 ? ft propellers introduced behind the breeze tominimize wind stream unsettling influence, joined counter-pivoting propellers toeliminate the issues related with torque, and picked up push effectiveness byreducing the sharp edges rotational speed utilizing a chain and sprocket transmission. .u76518150446036e9df8a4460d2e59268 , .u76518150446036e9df8a4460d2e59268 .postImageUrl , .u76518150446036e9df8a4460d2e59268 .focused content territory { min-tallness: 80px; position: relative; } .u76518150446036e9df8a4460d2e59268 , .u76518150446036e9df8a4460d2e59268:hover , .u76518150446036e9df8a4460d2e59268:visited , .u76518150446036e9df8a4460d2e59268:active { border:0!important; } .u76518150446036e9df8a4460d2e59268 .clearfix:after { content: ; show: table; clear: both; } .u76518150446036e9df8a4460d2e59268 { show: square; change: foundation shading 250ms; webkit-progress: foundation shading 250ms; width: 100%; murkiness: 1; change: haziness 250ms; webkit-progress: obscurity 250ms; foundation shading: #95A5A6; } .u76518150446036e9df8a4460d2e59268:active , .u76518150446036e9df8a4460d2e59268:hover { darkness: 1; change: mistiness 250ms; webkit-change: haziness 250ms; foundation shading: #2C3E50; } .u76518150446036e9df8a4460d2e59268 .focused content zone { width: 100%; position: relative ; } .u76518150446036e9df8a4460d2e59268 .ctaText { outskirt base: 0 strong #fff; shading: #2980B9; text dimension: 16px; textual style weight: striking; edge: 0; cushioning: 0; content design: underline; } .u76518150446036e9df8a4460d2e59268 .postTitle { shading: #FFFFFF; text dimension: 16px; text style weight: 600; edge: 0; cushioning: 0; width: 100%; } .u76518150446036e9df8a4460d2e59268 .ctaButton { foundation shading: #7F8C8D!important; shading: #2980B9; fringe: none; outskirt sweep: 3px; box-shadow: none; text dimension: 14px; text style weight: intense; line-stature: 26px; moz-outskirt range: 3px; content adjust: focus; content adornment: none; content shadow: none; width: 80px; min-stature: 80px; foundation: url(https://artscolumbia.org/wp-content/modules/intelly-related-posts/resources/pictures/basic arrow.png)no-rehash; position: total; right: 0; top: 0; } .u76518150446036e9df8a4460d2e59268:hover .ctaButton { foundation shading: #34495E!important; } .u76518150446036e9df8a4460 d2e59268 .focused content { show: table; stature: 80px; cushioning left: 18px; top: 0; } .u76518150446036e9df8a4460d2e59268-content { show: table-cell; edge: 0; cushioning: 0; cushioning right: 108px; position: relative; vertical-adjust: center; width: 100%; } .u76518150446036e9df8a4460d2e59268:after { content: ; show: square; clear: both; } READ: Argumentative Essay About TechnologyThe Wright siblings propeller was 66% effective which was a lot higher thatany other propeller of the time. The establishments of a trained methodology topropeller configuration advanced before long. With the progressions and refinementsmade by early innovators, architects could utilize those test results to designpropellers with better execution and auxiliary unwavering quality. Theseadvancements prompted the improvement of the original of well-designedpropellers. One of the primary plans was the Integrale, created byLucien Chauviere, the universes first industry standard propeller maker. By 1910, the quantity of propeller makers increased, and various advancementswere made. While the vast majority of the producers were concentrating on wooden propellers, afew visionaries were trying different things with metal propellers and variable pitchblades. Geoffrey deHavilland, an English specialist, tried propellers whosealuminum sharp edges could be acclimated to change their edge. At the equivalent time,German pioneers Hugo Junkers and Hans Reissner explored different avenues regarding lightweightmetal propellers. The first U.S. propeller creation office was the RequaGibson Company established in 1909, which was going by Canadian specialist Wallace R. Turnbull. Turnbull tried and affirmed that the enormous, slow-speed propellersproduced higher push efficiencies than those contrasted and littler, high-speedpropellers. All the more critically, Turnbull affirmed the general law ofaerodynamics: the proficiency of any streamlined gadget ascends as the sum ofair it follows up on increments and the speed of that air diminishes. Thesetheories were extended during WWI. The war carried a lot of progression to thepropeller. More grounded materials were made through holding which madepropellers perfect with the bigger, all the more impressive motors. Propellerbalancing methods were created, which significantly streamlined the ride. Analyses with variable pitch sharp edges were presented too. Two majorbreakthroughs happened after the war: the once piece metal propeller, and theground movable pitch propeller. The metal propeller permitted activities in allclimates, though the wooden prop would bomb in extraordinary conditions. The metalpropeller could be made more slender than a similar wooden propeller, whichallowed for quicker cruising speeds because of less drag from compressibility. More slender cutting edges likewise improved proficiency at higher paces. The main downsides tothe early metal propeller were their weight and fixed pitch cutting edge edges. Thedevelopment of the ground movable propeller was a significant improvement. The bestpropeller of this sort at the time was the dural-sharp edge ground adjustablepropeller. With this flexible propeller, the pilot could pick whether or notthey needed to have extraordinary departure execution or

Sunday, July 19, 2020

Top 10 Education Apps for the Classroom (Grades K-12)

Top 10 Education Apps for the Classroom (ou to input the number of questions on the quiz or test, then calculating the students' percentage score based on the number of correct answers.Price: $0.99; available for the Android OS at Android Market. Merck Periodic Table of Elements (By Merck KGaA) Merck Periodic Table of Elements (By Merck KGaA) Merck's Periodic Table of Elements app displays the periodic table in an engaging way, and includes relative atomic mass, melting point and boiling point, density, appearance, and additional properties for each individual element. Teachers can also connect their device to the TV, making it easy to share the elements with the whole classroom. A must-have for any chemistry teacher!Price: free; available at the iTunes App Store for iPhone, iPod touch, and iPad. NASA App NASA App Let kids get lost in space! The official NASA app for Android features beautiful images, videos, mission up dates, news on the space program, and more.Price: free; available at the Android Market for Android OS phones. Math Tutor (By Blu Studios) Math Tutor (By Blu Studios) This math app is great for elementary students. The randomized operations get progressively more difficult as kids answer correctly. Categories include: Subtraction, Addition, Multiplication and Division; Integer, Decimal and Fraction operations are tested.Price: $0.99; available for the iPad, iPod Touch, and iPhone at the iTunes App Store. Word of the Day: All-in-One (By Code Driven) Word of the Day: All-in-One (By Code Driven) Why get just one word of the day when you can have nine? The Word of the Day (All-in-One) app aggregates words of the day for several of the best-known reference websites, allowing you to pick and choose the word and definition you want to share with your students. Or use it to refresh your own vocabulary!Price: $0.99; available for the iPad, iPod touch, and iPhone at the iTunes App Store. Next: Top 10 Educational Technology Resources Next: Top 10 Educational Technology Resources Need more ideas for incorporating technology into your curriculum? Engage students in your classroom with our Top 10 (plus one more!) Favorite Interactive Educational Technology Resources. These websites will help you create new and captivating lesson plans for your curriculum.

Thursday, May 21, 2020

E - French Pronunciation of E

The French letter E can be pronounced several different ways — such as the schwa sound, a long A sound, and short E sounds. Below are examples of the different sounds and sound files to hear the way theyre spoken. Examples of the Various E Sounds Like the E in angel (like a schwa) — listen. This sound is often heard in single syllable words like le, me, etc.Like the vowel sound in weigh except without the y sound at the end — listen. This sound occurs in the following:E with an acute accent: à ©tà ©E in an open syllable (i.e., a syllable that ends in a vowel sound): trajetthe verb endings -er and -ez: manger, veuillez.Like the E in bed — listen. This sound is found in the following:E with a grave accent: exprà ¨sE with a circumflex: tà ªteE followed by a double consonant: belleE in a closed syllable (a syllable that ends in a consonant sound): septAn unaccented E at the end of a word is called an E muet and may or may not be pronounced. French Words With E Click on the links below to hear the words pronounced in French: le  (the)à ©tà ©Ã‚  (summer)manger  (to eat)veuillez  (please)exprà ¨s  (on purpose)tà ªte  (head)belle  (beautiful)sept  (seven)

Wednesday, May 6, 2020

The And Other Peoples Of Mexico And Their Home Countries...

Unfortunately for the Zapotecs and other indigenous peoples, migration to the US does not bring an end to the structural and symbolic violence they must face. Unlike the systemic pressure present in Mexico and their home countries, Indigenous groups face societal pressures not only from migrant mestizos but from the dominant Anglo population of the United States. From their mestizo countrymen, they generally experience a less intense form of the violence from the home country. Generally, these include shame of public displays of their languages and racial insults. From the Anglo population, Indigenous groups are often misidentified and grouped within the broader Hispanic identity, not understanding that they are a different cultural group. To fit a mold that has been pushed upon them, Indigenous peoples are pressured to adopt multiple identities. In accordance to the US system of ethnic classification, Zapotecs identify as ethnically Mexican, followed by their regional identity as Oa xaquenos (Oaxaca region of Mexico), and as lastly as Yalalag Zapotecs (Cruz-Manjarrez pg.126). But by juggling multiple identities, Zapotecs and other indigenous groups have both gained both negative and positive aspects of themselves. By being labeled as Mexicans, Zapotecs and other Mexican indigenous groups can take pride in a nationality they have been denied for so long. As Oaxaquenos, there is a recognition of a broader pan-indigenous identity in Latin America. For Yalalag Zapotecs, theShow MoreRelatedA Research Study On Mexico857 Words   |  4 PagesFor my research paper I choose Mexico because it sounds like a fascinating country.Mexico is one of the most interesting countries in the world. It has many different facts about it that makes it a unique country. Mexico is the home of many commodities that people from other countries have used such as foods, language, and even animals that originate from Mexico. While I was looking for more information about Mexico I found ou t more facts about the country that i did not know. There are some interestingRead MoreInformative Speech : Mexico : The World Below Us1512 Words   |  7 PagesBianco___ Title: Mexico: The World Below Us Specific Purpose: The specific purpose identifies information you want to communicate and a goal for the audience – â€Å"After listening to my speech, the audience will†¦Ã¢â‚¬  (Not in spoken text) After listening to my speech the audience will have a better understanding of the culture of Mexico and their traditions, as well as a look into some of their problems. Introduction: I. Attention Getter: (Spoken text starts here) Mexico is a very diverse country, and is extremelyRead MoreLooking For Sanctuary : Mexico s Image Essay1544 Words   |  7 Pagessouth of the U.S.-Mexico border to collect data for his next novel about how African Americans viewed Mexico. The profile on Motley was printed before he could recount his experience in the country, which he once stated gave him a new sense of belonging, a new way of living. Nearly a decade after his profile in Jet Magazine, Motley had made Mexico his new home. He mailed an announcement to his friends and acquaintances that informed them that after years of renting in Mexico, he had recentlyRead MoreThe Devil s Highway By Luis Alberto Urrea1741 Words   |  7 Pagesreasons for taking part in this dangerous journey. This book opens up people’s eyes to what people will do for even just a little glimpse of something better, something that they can be happy with. Urrea’s telling of these men’s story relates to many things and teaches us how things are in places a lot of people in America don’t pay attention to. First and foremost, there are so many reasons the people of Mexico and Central America choose to go on this journey. The most important reason is that theyRead MoreA Mission Trip : Puerto Nuevo Essay1575 Words   |  7 PagesFor this mission trip I will be traveling to Puerto Nuevo, Mexico with nine other people to help fill a small orphanage with the necessary supplies they will need. While doing this we want to spread the Word of God to the children and workers of the orphanage. We will be focusing on those are eighteen and younger, and will be making sure we give them an abundance of supplies, so the orphanage can use the supplies we give them for years. Once we fully supply the orphanage, we will be there for theRead MoreThe War On Drugs Has Been All Over The World1726 Words   |  7 Pagesthe world for the past several decades, country to country and region to region. When you really think about it each and every place at one point in time has had the trouble of facing the m any negatives that come along with drugs such as people becoming addicts, violence, and crime in general, drug lords, and a plethora of other problems. Handling these problems before they get out of hand are relatively important, because if not handled right the country, region, state, or local municipality couldRead MoreMexico Is A Country Full Of Rich Traditions And Cultures1033 Words   |  5 PagesMexico is located in North America. It is a country full of rich traditions and cultures. The people are friendly and laid back. They are very professional but are more relaxed when it comes to certain things. They do not live to work but work to live. Businesses run the normal hours that one associates businesses with, with the exception that they are generally closed an hour for lunch. Body language is also somewhat different than what Americans are used to. The normal personal space thatRead MoreCultural And Institutional Factors Of Mexico973 Words   |  4 Pagesinstituti onal factors of Mexico and how they can impact global HR management and practices. Specifically, by analyzing Mexican culture based on Hofstede’s dimensions, economy, labor legislation, union and employment tradition we reached the conclusion that the features of Mexican culture (high power distance, strong collectivism, high level of masculinity and uncertainty avoidance) and institutional factors have a strong impact on management styles and HR practices of business in Mexico and may arouse someRead MoreHealthcare And The United States Vs. Healthcare Essay1262 Words   |  6 PagesHealthcare in Mexico The healthcare policies in Mexico and the United States are similar in that both healthcare systems utilize a combination of public and private insurance (freecontentweb.com). Healthcare has rapidly become an important topic in many countries. This comparison will focus on similarities in healthcare reform, healthcare insurance availability, healthcare access, and healthcare cost of both countries. Prior to healthcare reform in the US and Mexico, millions of people did not haveRead MoreThe Destruction And Devastation Of Earthquakes1739 Words   |  7 Pagestectonic plates. They occur when the tectonic plates slide past each other, or are pushed into each other. They usually occur near fault lines, which are boundaries where two separate plates meet. Even though there are thousands of earthquakes each year, only some of them cause tremendous damage and devastation. An earthquake has the ability to wipe out an entire community, damage strong structures and buildings, kill countless p eople, and cause much more damage. However, the more prepared you are for

Deception Point Page 13 Free Essays

The President didn’t blame them. His staff had worked grueling hours to support him in the upcoming election, and now, all of a sudden, it seemed the President was fumbling the ball. Soon they will understand, Herney told himself. We will write a custom essay sample on Deception Point Page 13 or any similar topic only for you Order Now Soon I’ll be the hero again. He regretted having to keep his staff in the dark for so long, but secrecy was absolutely critical. And when it came to keeping secrets, the White House was known as the leakiest ship in Washington. Herney arrived in the waiting room outside the Oval Office and gave his secretary a cheery wave. â€Å"You look nice this morning, Dolores.† â€Å"You too, sir,† she said, eyeing his casual attire with unveiled disapproval. Herney lowered his voice. â€Å"I’d like you to organize a meeting for me.† â€Å"With whom, sir?† â€Å"The entire White House staff.† His secretary glanced up. â€Å"Your entire staff, sir? All 145 of them?† â€Å"Exactly.† She looked uneasy. â€Å"Okay. Shall I set it up in†¦ the Briefing Room?† Herney shook his head. â€Å"No. Let’s set it up in my office.† Now she stared. â€Å"You want to see your entire staff inside the Oval Office?† â€Å"Exactly.† â€Å"All at once, sir?† â€Å"Why not? Set it up for four P.M.† The secretary nodded as though humoring a mental patient. â€Å"Very well, sir. And the meeting is regarding†¦?† â€Å"I have an important announcement to make to the American people tonight. I want my staff to hear it first.† A sudden dejected look swept across his secretary’s face, almost as if she had secretly been dreading this moment. She lowered her voice. â€Å"Sir, are you pulling out of the race?† Herney burst out laughing. â€Å"Hell no, Dolores! I’m gearing up to fight!† She looked doubtful. The media reports had all been saying President Herney was throwing the election. He gave her a reassuring wink. â€Å"Dolores, you’ve done a terrific job for me these past few years, and you’ll do a terrific job for me for another four. We’re keeping the White House. I swear it.† His secretary looked like she wanted to believe it. â€Å"Very well, sir. I’ll alert the staff. Four P.M.† As Zach Herney entered the Oval Office, he couldn’t help but smile at the image of his entire staff crammed into the deceptively small chamber. Although this great office had enjoyed many nicknames over the years – the Loo, Dick’s Den, the Clinton Bedroom-Herney’s favorite was â€Å"the Lobster Trap.† It seemed most fitting. Each time a newcomer entered the Oval Office, disorientation set in immediately. The symmetry of the room, the gently curving walls, the discreetly disguised doorways in and out, all gave visitors the dizzying sense they’d been blindfolded and spun around. Often, after a meeting in the Oval Office, a visiting dignitary would stand up, shake hands with the President, and march straight into a storage closet. Depending on how the meeting had gone, Herney would either stop the guest in time or watch in amusement as the visitor embarrassed himself. Herney had always believed the most dominating aspect of the Oval Office was the colorful American eagle emblazoned on the room’s oval carpet. The eagle’s left talon clutched an olive branch and his right a bundle of arrows. Few outsiders knew that during times of peace, the eagle faced left-toward the olive branch. But in times of war, the eagle mysteriously faced right-toward the arrows. The mechanism behind this little parlor trick was the source of quiet speculation among White House staff because it was traditionally known only by the President and the head of housekeeping. The truth behind the enigmatic eagle, Herney had found to be disappointingly mundane. A storage room in the basement contained the second oval carpet, and housekeeping simply swapped the carpets in the dead of night. Now, as Herney gazed down at the peaceful, left-gazing eagle, he smiled to think that perhaps he should swap carpets in honor of the little war he was about to launch against Senator Sedgewick Sexton. 15 The U.S. Delta Force is the sole fighting squad whose actions are granted complete presidential immunity from the law. Presidential Decision Directive 25 (PDD 25) grants Delta Force soldiers â€Å"freedom from all legal accountability,† including exception from the 1876 Posse Comitatus Act, a statute imposing criminal penalties for anyone using the military for personal gain, domestic law enforcement, or unsanctioned covert operations. Delta Force members are handpicked from the Combat Applications Group (CAG), a classified organization within the Special Operations Command in Fort Bragg, North Carolina. Delta Force soldiers are trained killers-experts in SWAT operations, rescuing hostages, surprise raids, and elimination of covert enemy forces. Because Delta Force missions usually involve high levels of secrecy, the traditional multitiered chain of command is often circumvented in favor of â€Å"monocaput† management-a single controller who holds authority to control the unit as he or she sees fit. The controller tends to be a military or government powerbroker with sufficient rank or influence to run the mission. Regardless of the identity of their controller, Delta Force missions are classified at the highest level, and once a mission is completed, Delta Force soldiers never speak of it again-not to one another, and not to their commanding officers within Special Ops. Fly. Fight. Forget. The Delta team currently stationed above the Eighty-second Parallel was doing no flying or fighting. They were simply watching. Delta-One had to admit that this had been a most unusual mission so far, but he had learned long ago never to be surprised by what he was asked to do. In the past five years he had been involved in Middle East hostage rescues, tracking and exterminating terrorist cells working inside the United States, and even the discreet elimination of several dangerous men and women around the globe. Just last month his Delta team had used a flying microbot to induce a lethal heart attack in a particularly malicious South American drug lord. Using a microbot equipped with a hairline titanium needle containing a potent vasoconstrictor, Delta-Two had flown the device into the man’s house through an open second-story window, found the man’s bedroom, and then pricked him on the shoulder while he was sleeping. The microbot was back out the window and â€Å"feet dry† before the man woke up with chest pain. The Delta team was already flying home by the time its victim’s wife was calling the paramedics. No breaking and entering. Death by natural causes. It had been a thing of beauty. More recently, another microbot stationed inside a prominent senator’s office to monitor his personal meetings had captured images of a lurid sexual encounter. The Delta team jokingly referred to that mission as â€Å"insertion behind enemy lines.† Now, after being trapped on surveillance duty inside this tent for the last ten days, Delta-One was ready for this mission to be over. Remain in hiding. Monitor the structure-inside and out. Report to your controller any unexpected developments. Delta-One had been trained never to feel any emotion regarding his assignments. This mission, however, had certainly raised his heart rate when he and his team were first briefed. The briefing had been â€Å"faceless†-every phase explained via secure electronic channels. Delta-One had never met the controller responsible for this mission. Delta-One was preparing a dehydrated protein meal when his watch beeped in unison with the others. Within seconds the CrypTalk communications device beside him blinked on alert. He stopped what he was doing and picked up the handheld communicator. The other two men watched in silence. How to cite Deception Point Page 13, Essay examples

Deception Point Page 13 Free Essays

The President didn’t blame them. His staff had worked grueling hours to support him in the upcoming election, and now, all of a sudden, it seemed the President was fumbling the ball. Soon they will understand, Herney told himself. We will write a custom essay sample on Deception Point Page 13 or any similar topic only for you Order Now Soon I’ll be the hero again. He regretted having to keep his staff in the dark for so long, but secrecy was absolutely critical. And when it came to keeping secrets, the White House was known as the leakiest ship in Washington. Herney arrived in the waiting room outside the Oval Office and gave his secretary a cheery wave. â€Å"You look nice this morning, Dolores.† â€Å"You too, sir,† she said, eyeing his casual attire with unveiled disapproval. Herney lowered his voice. â€Å"I’d like you to organize a meeting for me.† â€Å"With whom, sir?† â€Å"The entire White House staff.† His secretary glanced up. â€Å"Your entire staff, sir? All 145 of them?† â€Å"Exactly.† She looked uneasy. â€Å"Okay. Shall I set it up in†¦ the Briefing Room?† Herney shook his head. â€Å"No. Let’s set it up in my office.† Now she stared. â€Å"You want to see your entire staff inside the Oval Office?† â€Å"Exactly.† â€Å"All at once, sir?† â€Å"Why not? Set it up for four P.M.† The secretary nodded as though humoring a mental patient. â€Å"Very well, sir. And the meeting is regarding†¦?† â€Å"I have an important announcement to make to the American people tonight. I want my staff to hear it first.† A sudden dejected look swept across his secretary’s face, almost as if she had secretly been dreading this moment. She lowered her voice. â€Å"Sir, are you pulling out of the race?† Herney burst out laughing. â€Å"Hell no, Dolores! I’m gearing up to fight!† She looked doubtful. The media reports had all been saying President Herney was throwing the election. He gave her a reassuring wink. â€Å"Dolores, you’ve done a terrific job for me these past few years, and you’ll do a terrific job for me for another four. We’re keeping the White House. I swear it.† His secretary looked like she wanted to believe it. â€Å"Very well, sir. I’ll alert the staff. Four P.M.† As Zach Herney entered the Oval Office, he couldn’t help but smile at the image of his entire staff crammed into the deceptively small chamber. Although this great office had enjoyed many nicknames over the years – the Loo, Dick’s Den, the Clinton Bedroom-Herney’s favorite was â€Å"the Lobster Trap.† It seemed most fitting. Each time a newcomer entered the Oval Office, disorientation set in immediately. The symmetry of the room, the gently curving walls, the discreetly disguised doorways in and out, all gave visitors the dizzying sense they’d been blindfolded and spun around. Often, after a meeting in the Oval Office, a visiting dignitary would stand up, shake hands with the President, and march straight into a storage closet. Depending on how the meeting had gone, Herney would either stop the guest in time or watch in amusement as the visitor embarrassed himself. Herney had always believed the most dominating aspect of the Oval Office was the colorful American eagle emblazoned on the room’s oval carpet. The eagle’s left talon clutched an olive branch and his right a bundle of arrows. Few outsiders knew that during times of peace, the eagle faced left-toward the olive branch. But in times of war, the eagle mysteriously faced right-toward the arrows. The mechanism behind this little parlor trick was the source of quiet speculation among White House staff because it was traditionally known only by the President and the head of housekeeping. The truth behind the enigmatic eagle, Herney had found to be disappointingly mundane. A storage room in the basement contained the second oval carpet, and housekeeping simply swapped the carpets in the dead of night. Now, as Herney gazed down at the peaceful, left-gazing eagle, he smiled to think that perhaps he should swap carpets in honor of the little war he was about to launch against Senator Sedgewick Sexton. 15 The U.S. Delta Force is the sole fighting squad whose actions are granted complete presidential immunity from the law. Presidential Decision Directive 25 (PDD 25) grants Delta Force soldiers â€Å"freedom from all legal accountability,† including exception from the 1876 Posse Comitatus Act, a statute imposing criminal penalties for anyone using the military for personal gain, domestic law enforcement, or unsanctioned covert operations. Delta Force members are handpicked from the Combat Applications Group (CAG), a classified organization within the Special Operations Command in Fort Bragg, North Carolina. Delta Force soldiers are trained killers-experts in SWAT operations, rescuing hostages, surprise raids, and elimination of covert enemy forces. Because Delta Force missions usually involve high levels of secrecy, the traditional multitiered chain of command is often circumvented in favor of â€Å"monocaput† management-a single controller who holds authority to control the unit as he or she sees fit. The controller tends to be a military or government powerbroker with sufficient rank or influence to run the mission. Regardless of the identity of their controller, Delta Force missions are classified at the highest level, and once a mission is completed, Delta Force soldiers never speak of it again-not to one another, and not to their commanding officers within Special Ops. Fly. Fight. Forget. The Delta team currently stationed above the Eighty-second Parallel was doing no flying or fighting. They were simply watching. Delta-One had to admit that this had been a most unusual mission so far, but he had learned long ago never to be surprised by what he was asked to do. In the past five years he had been involved in Middle East hostage rescues, tracking and exterminating terrorist cells working inside the United States, and even the discreet elimination of several dangerous men and women around the globe. Just last month his Delta team had used a flying microbot to induce a lethal heart attack in a particularly malicious South American drug lord. Using a microbot equipped with a hairline titanium needle containing a potent vasoconstrictor, Delta-Two had flown the device into the man’s house through an open second-story window, found the man’s bedroom, and then pricked him on the shoulder while he was sleeping. The microbot was back out the window and â€Å"feet dry† before the man woke up with chest pain. The Delta team was already flying home by the time its victim’s wife was calling the paramedics. No breaking and entering. Death by natural causes. It had been a thing of beauty. More recently, another microbot stationed inside a prominent senator’s office to monitor his personal meetings had captured images of a lurid sexual encounter. The Delta team jokingly referred to that mission as â€Å"insertion behind enemy lines.† Now, after being trapped on surveillance duty inside this tent for the last ten days, Delta-One was ready for this mission to be over. Remain in hiding. Monitor the structure-inside and out. Report to your controller any unexpected developments. Delta-One had been trained never to feel any emotion regarding his assignments. This mission, however, had certainly raised his heart rate when he and his team were first briefed. The briefing had been â€Å"faceless†-every phase explained via secure electronic channels. Delta-One had never met the controller responsible for this mission. Delta-One was preparing a dehydrated protein meal when his watch beeped in unison with the others. Within seconds the CrypTalk communications device beside him blinked on alert. He stopped what he was doing and picked up the handheld communicator. The other two men watched in silence. How to cite Deception Point Page 13, Essay examples

Sunday, April 26, 2020

Leadership in organizations

Leadership is the ability of a person in charge to influence the mannerisms of his/her juniors in ranking, in a positive manner to compel them to follow his/her directions. Effective leadership is essential in any organization for success to be a habit. Good leadership is like a black smith’s fire.Advertising We will write a custom essay sample on Leadership in organizations specifically for you for only $16.05 $11/page Learn More It transforms potential into reality with little compromise, and this is a necessity in any organization that is to survive for the foreseeable future. Leadership relies on evolution, to bring new strategies suitable to the ever changing organization environment. The environment has a push effect if the response to the stimuli is inadequate. Organizations tend to stumble if not fail as a whole (Northouse, 4). A good leader is charismatic. In all situations, good leaders make others feel good about them by bringing out th e best. Commitment is also an indispensable trait. This is because excellence is not in a performance but the building of a habit of pure success. Communication is vital to a leader because it allows all organs of an organization to perform at optimal levels and troubleshoot quickly in case of underachievement. All levels in an organization need to interact effectively to achieve success. Information flow should not be hampered by rank imposed barriers for this tends to break water down the improvements communication brings. Competence is also vital. An efficient leader achieves this by planning, following through to the latter, and achieving without compromise his set of goals. A good leader is a good listener. The ability to set good goals comes from the ability to receive input whether good or bad from the effectors. Positive response is essential to this stimulus for a leader to be excellent (Bose, 164). Management techniques have helped develop leadership theories for organizat ions. Several theories are benefactors to this fact. Trait theory is one of the leadership theories that were commonly in use, in the past. This theory has a superman trait describing the leader. The leader has traits comparable to none within the organization. The flaw of this theory is in stating that leaders are a product of inheritance but not of the environment. The second common theory is the behavioral theory. This states that leaders are a product of the environment and not product of inheritance. This acknowledges the environment as a shaping factor of an individual’s traits. It also accepts that good leaders learn and perfect what they learn.Advertising Looking for essay on business economics? Let's see if we can help you! Get your first paper with 15% OFF Learn More Participative theory is the third common theory. This theory involves everybody in the organization. Decisions are a product of consensus of all people within the organization. Its pillar is that active participation increases output levels above board. This theory also tames competition as it fosters group work within the elements of the organization. Several refinements of this theory are available, but the greatest drawback is that decision making is extremely slow. The fourth common theory is situational leadership. This states that the best decisions are factors of current conditions. It defines an effective leader as one un-bound by common procedure, but one able to toggle between many decisions dependent on the unique situation. Situational leadership is sensitive to the leader and organizational members (Winkler, 75). All these are constituents of an effective and responsive leader in an organization. Thus, they underpin good leadership and achievement of organizational goals. Works Cited Bose, D C. Principles of Management and Administration. New Delhi: Prentice-Hall of India, 2002. Print. Northouse, Peter G. Leadership: Theory and Practice. Thousand Oaks: Sage Publications, 2010. Print. Winkler, Ingo. Contemporary Leadership Theories: Enhancing the Understanding of the  Complexity, Subjectivity and Dynamic of Leadership. Berlin: Physica-Verlag, 2010. Print.Advertising We will write a custom essay sample on Leadership in organizations specifically for you for only $16.05 $11/page Learn More This essay on Leadership in organizations was written and submitted by user Zeke Beasley to help you with your own studies. You are free to use it for research and reference purposes in order to write your own paper; however, you must cite it accordingly. You can donate your paper here. Leadership in organizations

Wednesday, March 18, 2020

An Overview of Venus Essays

An Overview of Venus Essays An Overview of Venus Essay An Overview of Venus Essay Venus Venus is merely the 2nd planet from the Sun. It’s besides the closest planet to Earth. It’s besides the closest planet to Earth. It’s nicked Earths Twin as it’s the most similar to Earth in size, mass, volume, and denseness. Scientists believe these belongingss and characteristics suggest the 2 planets had a similar history. It is named after ancient Roman goddess of love and beauty. It likely got its name because it was the brightest thing to ancient civilisations after the Sun. Venus has been known since pre-historic times. But, like Mercury it was believed to be 2 separate organic structures, the eventide star and the forenoon star. The Grecian uranologists knew better in this 1 every bit good, they realized this is besides 1 organic structure. Equally beautiful as it to us we wouldn’t see any of that in Venus as it’s invariably obscured with a thick bed of clouds. This bed of clouds makes it hard for worlds to detect and analyze the plane t. Venus besides has a massive ambiance which is largely made of C dioxide. This atmosphere traps heat which is the ground Venus is the hottest planet in the Solar System. Most information about Earths twin comes from Mariner 2’s visit in 1962. Venus lies between Mercury and Earth’s orbit. It is the 2nd of the four members of the interior planets. It’s about every bit big as Earth, but clearly is smaller in a spot. Venus is.72 AU off from the Sun. Venus’ surface is cratered like Mercury but Venus has immense sums of volcanic activity something Mercury deficiencies, which is good. Venus, like Mercury, has no Moons nor does it hold rings. Venus is the 6th planet in Sun, merely losing out on Earth but is much larger than Red planets and Mercury. As I said, it is nicked Earth’s Twin for their similar size, denseness, mass, and volume. It has a mass of 4,867, 300,000,000, 000,000,000,000 kilogram. It has a diameter of 12,104 KM compared to Earth’s which is about 12,756 KM. Its mass is about 80 % of Earth’s and its volume is some 95 % of Earth’s. Venus’ volume is 928,415,345,893 Km^3. As we all know every individual planet in the solar system revolves around the Sun in an ellipse shaped egg-shaped orbit. However, from the full planet’s Venus is likely the most round. It orbits the Sun at around 108 million kilometer, in distance, on norm. That’s about.72 AU. It completes one orbit around the Sun in 225 Earth yearss, intending a individual twelvemonth on Venus is 225 Earth yearss. However, like Mercury, Venus spins on its axis with a sulky rate. It completes one orbit on its axis every 243 Earth yearss. These 2 gestures of travel combine to do a twenty-four hours Venus some 117 Earth yearss. Therefore, Venus is more spherical than any of the other planets. Venus besides rotates on the opposite way as the other planets do, Uranus is the lone exclusion. Venus and Uranus are the lone planets in the Solar System to revolve utilizing antagonistic clockwise. Therefore, the Sun would lift on the West instead than the E. But that that doesn’t matter mu ch because you won’t see the Sun anyhow from the bed of clouds. Venus is tilted some 30 grades on its axis comparative to its plane orbit so the opportunities of a season are merely a bantam fraction. Venus lacks a magnetic field, a planetary 1 at least ; this could be a ground for its slow rotary motion. Venus’ atmosphere is composed of chiefly C dioxide ( 96 % ) with the staying most likely being Nitrogen. The ambiance would look clear until the bed of clouds with float above the surface in some 50 kilometers. These clouds are most likely made of sulphuric acid and some other compounds and elements. Venus has little or no H2O ; the possibilities of H2O in the ambiance are really little. The force per unit area on the surface on the planet is 90 times that of Earth’s surface. The surface temperature can make up to 500 grades, that’s manner more than Mercury. Scientists believe if the temperature is this high there must be something that traps heat. This is called the nursery consequence. Despite Venus’ slow rotary motion on its axis its ambiance seems to go around the planet with high gait. At cloud degree, the ambiance circulates the planet every 4 yearss. Besides at cloud degree the air currents blows at 360 KM/H. As you get closer to the surface the vel ocity decreases. Venus is the 2nd planet from the Sun but still absorbs less heat and visible radiation than Earth ; this is because of the bed of clouds. About 85 % of the light received by Venus is reflected back. As I said, the midst ambiance on Venus traps the heat which means the surface temperatures are really hot. The light can’t escape a C dioxide atmosphere every bit easy as seeable visible radiation can. This called the green house consequence is the chief beginning for Venus’ high temperature. The mean surface temperature is 465-500 grades C. Scientists observe and survey this nursery consequence really carefully because they are afraid it might go on to planet Earth because of planetary heating. Venus has a dry, bouldery, and smooth surface. The lone information we know about Venus’ surface comes from the Soviet Union’s Venera Spacecraft Series. The surface was found to be smooth, but non every bit smooth as first theorized. Since even lead can run on Venus from the nursery consequence, the surface is nil but lava on fields. But still Venus has some land characteristics like canons, lava flows, mountains, rift vales, fields and craters merely like Earth’s. Venus besides has vents which could be still active boulder clay today. We don’t cognize when but they do erupt. Venus, like Mercury and the Moon, have craters. These craters form when organic structures like comets or asteroids strike the surface and cicatrix it. Planetal scientists have ever theorized that the Earth’s inside is larger than that of Venus. Like Earth, Venus besides has a nucleus, a crust, and a bouldery mantle. Venus’ nucleus likely is some 3000 kilometer from the centre and likely has Iron and Nickel in its nucleus merely like Earth does. But it likely besides has other elements in it that are less heavy like Sulfur. Unlike most other planets Venus lacks a planetary magnetic field significance that there is no grounds for a metallic nucleus. The mantle makes up most of the planet with gravitative informations proposing the mantle to be 20-50 kilometer midst. It’s besides theorized that it includes basalt every bit good. Like Mercury, Venus likely doesn’t have home base tectonics. Let’s go back to Venus’ find. In the 15Thursdaycentury Galileo made his first observations of the planet. By 1610 he had already discovered its stages. If Earth was really the centre of the Solar System like they believed Venus wouldn’t show phases. This find was the first of all time observation to back up Copernicus and his heliocentric theory. Subsequently on in the 18Thursdayand 19Thursdaycentury of import finds were made when Venus’ transits occurred. Venus is called the forenoon and eventide star because when it transits it looks really bright, something like a close star. The last clip Venus’ transited was in 2012, before that 1892 and 2004. The following clip it will go on is 2117. The first ballistic capsule to get at Venus was Mariner 2 which came along its orbit in 1962. It was followed by a ballistic capsule from the Soviet Union and others that subsequently landed on Venus for a few hours. NASA’s Magellan ballistic capsule was prepared with devices that could pierce through to atmosphere of Venus and uncover the surface below it. It grounds of volcanic activity and impact craters but nil about home base tectonics. The latest ballistic capsule sent to Venus is the European Space Agency Express which arrived in 2006 and is doing observations of all time since that. The Earth The Earth every bit good all know is planet figure 3 from the Sun and is the topographic point where everything known to hold life exists in. Earth is the 4th smallest planet. Not until the 16Thursdaycentury did we recognize Earth is nil but a planet. Besides non until the 20Thursdaycentury did we hold a full map of Earth. Earth was personified a batch in the ancient times. For illustration, the Ancient Egyptians believed Earth is level land with the sky dividing it from heaven. By 2500 BC people started to believe Earth was really a sphere. Pythagoras is credited for making this decision. Approximately 200 old ages subsequently Greek philosopher Aristotle proposed thoughts for believing Earth is really a sphere. Aristotle was right with the thoughts and since so some people believed Earth is a sphere. Aristotle is regarded as one of the most superb heads in ancient history. Yet, many people didn’t cognize about his instructions so the thought wasn’t classified as official until subsequently on. Grecian and Indian uranologists accepted the theoretical account and in the 9Thursdaycentury Islamic bookmans besides begun to utilize it. Christian Europe accepted it by the 13Thursdaycentury. It is known that the perimeter at the equator is 40,075 KM and the diameter at the equator is 12,756 KM. But in world Earth’s non an existent domain because it is flattened at the poles. The poles’ diameters are some 12,719 KM. Earth has a radius of 6,371 kilometers, a volume of 1,083,206,916,846 Km^3. It besides has a mass of a astonishing 5,973,140,000,000,000,000,000,000. Ever since Nicholas Copernicus explained that Earth revolved around the Sun mathematicians worked hard to analyze the orbit utilizing math. The rate at which Earth moves around the Sun is 108,000 Km/h. This means Earth go some 940 million kilometer during a individual orbit. The Earth completes one orbit around the Sun every 365.242199 yearss precisely. This explains why we need another calendar twenty-four hours every 4 old ages, a leap twelvemonth. The clip it takes Earth to go around around the Sun once is called a twelvemonth. Like all planet’s Earth’s orbit is besides egg-shaped. But like Venus, it’s a small handbill, non every bit much as Venus though. This means the difference between its farthest point and its closest point is rather a little sum. Earth takes 24 hours to revolve on its axis, therefore a twenty-four hours on Earth is 24 hours. Earth is tilted 23.5-24 grades to its plane of orbit which is why we experience seasons. The ambiance that surrounds Earth is chiefly Nitrogen ( 78 % ) with Oxygen ( 21 % ) the remainder being other gases. Earth’s atmosphere is divided into 5 beds, most conditions and clouds are found in the first. The beds: 1 ) Troposphere: The first bed contains half the ambiance and conditions occurs here. 2 ) Stratosphere: The 2nd bed is stable and includes the ozone bed which protects us from harmful beams of the Sun 3 ) Mesosphere: The 3rdbed to the ambiance where meteors are burned. 4 ) Thermosphere: The 4Thursdaybed where Auroras occur, besides where infinite shuttles orbit. 5 ) Exosphere: Upper bound, atmosphere here subsequently merges with outer infinite as it is truly thin. The ambiance is indispensable for us as without there would be no life. It blocks harmful sunbeams from making us, the ozone. It besides traps adequate heat doing Earth hold a comfy temperature and the O within the ambiance is an of import ingredient to life. Over the past century, nursery gases and air pollutants have been released into the ambiance. These have been doing large alterations to the ambiance such as ozone holes, planetary heating and acerb rain. Earth’s surface as I’m certain you’ve heard of is 70 % H2O while the staying is the continents. Underneath the H2O that packs the oceans and the dirt that clutches the continents is a thin bed of bouldery atoms. This bed formed a bouldery and difficult crust where lava really cooled down the surface 4-5 billion old ages ago. The crust is broken up to many big home bases that easy pull each other. Mountain ranges signifier when 2 home bases collide and their borders are forced upon each other. Many other surface characteristics such as canons and vales are formed from traveling home bases. These home bases move about 1 inch a twelvemonth. This means 1000000s of old ages ago the continents were in complete different places. Some 25 million old ages ago the continents were one immense piece that easy divided into the 7 continents. There are tonss of periods in Earth’s history such as the Pre-Cambrian and Welsh clip periods. The inside of the Earth is made up of metal and stones and is made up of 4 chief beds which are: The interior nucleus: solid metal nucleus that is made of Ni and Fe, is 7440 kilometer in diameter The outer nucleus: a liquid centre of liquefied liquid lava The mantle: dense, largely silicate stone, includes the upper mantle and lower mantle The crust: thin silicate stone stuff The Earth’s beds in deepness: 0-40 Crust ( Quartz ) 40-400 Upper mantle ( Iron, Nickel, Magnesium, Silicate, Calcium, Aluminum ) 400-650 Transition parts 650-2700 Lower mantle ( Silicon, Magnesium, Oxygen ) 2700-280- P Layer 2890-5150 Outer nucleus 5150-6372 Inner nucleuss Mass of Earth: Atmosphere: 0.0000051 Oceans: 0.0014 Crust: 0.026 Mantles: 4.043 Outer nucleus: 1.835 Inner nucleus: 0.09675 The temperature in the nucleus is really hotter than the Sun’s surface. The heat from the inner nucleus causes the outer nucleus and the mantle to travel. The home base tectonics easy move other from the cause of other motions. It could besides be that the heat motion generates out magnetosphere. Earth is the closest planet to the Sun that has a natural orbiter, the Moon. It’s more than one-fourth the size of Earth itself. The Moon is 3,474 Km in diameter. The moon’s gravitation is 1/6 of Earth’s gravitation. There are merely 2 basic types of parts on the moon’s surface. But, there are many surface characteristics in the Moon. Such as craters, mountains, vales, and lava fields, which are tough to analyze. The moon’s top beds are besides solid like Earth ( 800 kilometer ) . The Moon might even hold a little Fe nucleus say some lunar scientists but it’s non confirmed yet. But an Fe nucleus would be unlikely because the Moon has no magnetic field. There is no air current on the Moon ; besides the Moon doesn’t possess its weak atmosphere so there is no conditions. Besides, there is no ambiance to pin down heat do so at midday it could 100 grades C and at dark it could be -173 grades C. It doesn’t bring forth energy but it do es reflect off light, similar Mercury. The lunar stages of the Moon alteration as the Moon orbits the Earth ; I will take a deeper expression at the stages of the Moon subsequently on

Monday, March 2, 2020

Difference Between Form1.Hide and Unload Me in VB 6

Difference Between Form1.Hide and Unload Me in VB 6 Hide and Unload are techniques in Visual  Basic 6- VB.NET does things differently. In VB6, you can see the difference clearly by creating a form with a CommandButton component and a test statement in the Click event. Note that these two statements are mutually exclusive, so only one can be tested at a time. Visual Basic 6 Unload Statement The Unload statement removes the form from memory. In most simple VB6 projects, Form1 is the startup object so the program stops running too. To prove this, code the first program with Unload. Private Sub Command1_Click()  Ã‚  Ã‚  Unload MeEnd Sub When the button is clicked in this project, the program stops. Visual Basic 6Hide Statement To demonstrate  Hide, run this code in VB6 so the Hide method of Form1 is executed. Private Sub Command1_Click()  Ã‚  Ã‚  Form1.HideEnd Sub Notice that Form1 disappears from the screen, but the square End icon on the Debug toolbar shows  the project is still active. If youre in doubt, the Windows Task Manager that is displayed with CtrlAltDel shows the project is still in Run mode. Communicating With a Hidden Form The Hide method only removes the form from the screen. Nothing else changes. For example, another process can still communicate with objects on the form after the Hide method is called. Heres a program that demonstrates that. Add another form to the VB6 project and then add a Timer component  and this code to Form1: Private Sub Command1_Click()  Ã‚  Ã‚  Form1.Hide  Ã‚  Ã‚  Form2.ShowEnd Sub Private Sub Timer1_Timer()  Ã‚  Ã‚  Form2.Hide  Ã‚  Ã‚  Form1.ShowEnd Sub In Form2, add a Command button control and this code: Private Sub Command1_Click()  Ã‚  Ã‚  Form1.Timer1.Interval 10000 10 seconds  Ã‚  Ã‚  Form1.Timer1.Enabled TrueEnd Sub When you run the project, clicking the button on Form1 makes Form1 disappear and Form2 appear. However, clicking the button on Form2 uses the Timer component on Form1 to wait 10 seconds before making Form2 disappear and Form1 appear again even though Form1 isnt visible. Since the project is still running, Form1 keeps appearing every 10 seconds- a technique you might use to drive a coworker batty one day.

Saturday, February 15, 2020

Annotated bibliography Essay Example | Topics and Well Written Essays - 750 words - 1

Annotated bibliography - Essay Example A good example of such support is a publication called the Arab Human Development Report 2002, released by the United Nations Development Program (UNDP). This report was signed by numerous intellectuals from the Arab world, signifying that there was a deficit in women’s empowerment in the region. It painted a miserable picture of the Arab world, depicting it as a region that lagged behind the rest of the world as a result of lack of women’s education, empowerment and freedom. According to the report, the deficit in empowering women in the Arab world was to blame for the backwardness of the region (Ottaway 3). The report also notes that the economic and political capabilities of women in the Arab world are the least utilized in the whole world. This is evidenced by the low number of women parliamentarians, low number of women in cabinet, and the low number of women in the work force. The article notes that society suffers a great deal when a large section of its producti ve members are stifled and denied the opportunity to exercise their potential. These sentiments have further been echoed by President Bush and his administration officials. President Bush was quoted in May 2003 saying that, â€Å"no society can succeed and prosper while denying basic rights to the women of their country.† His secretary of state at that time, Colin Powell, echoed his comments by saying that, â€Å"until the countries of the Middle East unleash the abilities and potential of their women, they will not build a future of hope† (Ottaway 3). The article further notes that it is easy for the US to announce its goal of promoting the rights of women in the Arab world. This has not been a very easy task to accomplish. However, many Arab nations are taking small concrete steps to show their commitment to the promotion of women’s rights. Many Arab nations are accepting to empower women in small projects that do not threaten the rulers of their regimes. They are doing this to demonstrate their willingness to modernize and democratize. They seem to think that promoting the rights of women to some extent cannot be seen as a threat to the authoritarian governments that rule the region. Therefore, many governments have been seen to take small and concrete steps such as occasionally appointing a woman to a high and noticeable position, and introducing major amendments to family and divorce laws. This has made it relatively easier and cheaper for the US and other countries keen on promoting democracy to promote the rights of women in the Arab world. This has been achieved through encouraging education for girls, providing training for women seeking elective and public offices, and funding NGOs that support the empowerment of women (Ottaway 3). Unfortunately, despite all the efforts being made to promote the rights of women in the Arab world, there are many facile assumptions that have been generated by the process. The assumptions have broug ht about a lot of confusion about the real conditions of women in the Middle East, the true nature of the problems that they face, and the relationship between democracy and women’s rights. The main aim of the author of the article, Marina Ottaway, was to clarify these issues. Some of the assumptions that

Sunday, February 2, 2020

Hayek's Conception of the Market Essay Example | Topics and Well Written Essays - 1000 words

Hayek's Conception of the Market - Essay Example In Hayek’s book Road to Serfdom, he articulated his rejection on the centralized planning of economies. He argued that public ownership of industries that is a characteristic of centralized economies would make the production of goods and services inefficient because of the absence of market dynamics such as competition that would â€Å"perfect† the production of goods and services that would eliminate waste. Hayek also cautioned that centralized planning of an economy is destructive to liberty because the planner would inadvertently tend to extend his or her control to other aspects in society thus becoming more comprehensive to the detriment of liberty.Keynes on the other hand favored government intervention through its fiscal and monetary policy to assuage the impact of recession and depression or financial crisis like the one the United States recently had in 2009. Keynes believe that it is not only the market that can make an economy work at a maximum efficiency bu t such can also be raised to that level by the intervention of the government. Keynes advocated collectivism through international coordination of fiscal and monetary stimulus to deflect and mitigate any downturn in economic cycle. He is also the sponsor of deficit spending to lift an economy from depression in contrast to Hayek’s proposal that it solely the market (free) that can achieve utmost efficiency in an economy. The classic example of this is Obama’s stimulus spending to bail the US economy out of the financial crisis.... nt because of the absence of market dynamics such as competition that would â€Å"perfect† the production of goods and services that would eliminate waste. Hayek also cautioned that centralized planning of an economy is destructive to liberty because the planner would inadvertently tend to extend his or her control to other aspects in society thus becoming more comprehensive to the detriment of liberty (Hayek 1944). Keynes on the other hand favored government intervention through its fiscal and monetary policy to assuage the impact of recession and depression or financial crisis like the one the United States recently had in 2009. Keynes believe that it is not only the market that can make an economy work at a maximum efficiency but such can also be raised to that level by the intervention of the government. In contrast to Hayek, Keynes advocated collectivism through international coordination of fiscal and monetary stimulus to deflect and mitigate any downturn in economic cyc le. He is also the sponsor of deficit spending to lift an economy from depression in contrast to Hayek’s proposal that it solely the market (free) that can achieve utmost efficiency in an economy. The classic example of this is Obama’s stimulus spending to bail the US economy out of the financial crisis (Censky and Riley 2011). Unlike Hayek who asserted that the market dynamics or its â€Å"invisible hand† will make the necessary corrections in the market to make it more efficient, Keynes believed otherwise. Keynes articulated his disagreement with Hayek in his book The General Theory of Employment, Interest and Money that market dynamics do not always correct itself. Hayek posited that market oriented economies are not always good in achieving efficiency that would lead to full employment

Saturday, January 25, 2020

Athens And Sparta: Similarities And Differences :: essays research papers

Athens and Sparta: Similarities and Differences   Ã‚  Ã‚  Ã‚  Ã‚  One of the greatest city states of all time was the city state of Athens from which we take many of our modern ways. Their government was a full democracy in which they had an assembly was all male citizens over 25 years old, they had the council of five hundred which was chosen by lot of people over 30 and they proposed laws to the assembly. Then there was the court where there were no judges and the juries were very large, the archons which were the nine people with the most power before the assembly took it away from them.   Ã‚  Ã‚  Ã‚  Ã‚  The Athenians descended from the Ionians in the attica region. Their city was mainly located on acropolis'. They had all around education which meant everyone was entitled to education not just the rich. They were also concerned with money and they also had unproductive soil which meant they would have to find other ways to make money, so they became sea traders.   Ã‚  Ã‚  Ã‚  Ã‚  Unlike Sparta their slaves had legal rights which meant they could be freed if the owners of them thought to do so. They also had Draconian laws which were pretty tough laws and sometimes unfair. Since they had slaves they had a lot of time to pursue cultural interests and led their society forward intellectually, so they got into making dramatic plays for their enjoyment.   Ã‚  Ã‚  Ã‚  Ã‚  There were three classes of people in Athens the first class were Citizens which were above age 19, then there were Metics which were considered the middle class. Then there were slaves which was about as low as you could go.   Ã‚  Ã‚  Ã‚  Ã‚  So all in all you will see Athens is a lot different then Sparta which I will tell you about now.   Ã‚  Ã‚  Ã‚  Ã‚  Sparta government was a lot different then Athen's they had the five ephors who were overseers and were the real rulers of Sparta. Then came the council of Elders which was made up of 28 men over 60 and they proposed laws to the assembly. Then there were kings who were elected by the assembly and served as high priests, judges, and army commanders. Then came the Assembly which were all citizens over 30 who elected officials and voted on major policies. Their government was Totalitarian.   Ã‚  Ã‚  Ã‚  Ã‚  The Spartans descended from the Dorians and were located in the Laconia region. Their city was built in a valley and had no walls because they said they could defend from an invaders. Unlike the Athenians their soil supported farming but they were culturally backward, which means we never got anything out

Thursday, January 16, 2020

Adlerian Theory Essay

Introduction and Rationale School counselors work with students in academic development, social and emotional skill development, and college/career development. Their work supports student success through education in these domains, improvement of skills, reduction of stress, and improvement in mental health functioning. As I read the article, School Counseling Outcome: A Meta-Analytic Examination of Interventions, I couldn’t help but realize the importance of continued research on the effectiveness of school counseling interventions. This article focuses on the effectiveness of an array of school counseling interventions and not solely on individual and group counseling. The primary aim of this research was to review various literature pieces that relate to school counseling and identify their outcome and implications to the practice of school counseling. In this study, Meta-analysis 1 involved treatment control comparisons and Meta-analysis 2 involved pretest-posttest differences. The overall average weighted effect size for school counseling interventions was .30. The study examined whether relevant moderator variables influenced effect sizes. See more:  Social Satire in The Adventures of Huckleberry Finn Essay The pretest-posttest size was not significant, so moderator analyses were conducted on treatment control comparisons. Analyses of moderator variables indicated school counseling program activities or interventions varied in effectiveness Strengths and Weaknesses A meta-analysis of school counseling outcome research found an overall effect size of .30. Students who participated in the interventions improved almost a third of the standard deviation more than their peers who did not receive the interventions. In other words, school counseling interventions have a larger effect size than aspirin for preventing heart attacks (ES of .06) and an equivalent effect size to sertoline (Zoloft) compared to placebo, for  treating major depressive disorder (ES of .31). (Whiston & Quimby, 2009). The use of meta-analysis offers some weakness on the research which is actually a common thing for meta-analytic researches. This results from the fact that the effect size’s quality is dependant on the quality of research and accuracy. Sampling inaccurate of ineffective research cases may also render the meta-analytic research weak due to the weakness of the researches sampled. The meta-analytic research may also be stronger due to the fact that it samples a mean of similar variables under various researches and thus providing an average that is a true representative of all researches. In order to improve the meta-analytic exercise it is good to first make an analysis of the article and ensure that they are classified appropriately and their content has high validity so that they may not negatively affect the analysis (Sexton, L.T., & Whiston, S., 1998). Summary of Research Outcome A meta-analysis of school counseling research (117 studies, 153 school counseling interventions, and 16, 296 students) found an overall effect size of .30. The authors found that students who participated in school counseling interventions tended to score on various outcome measures about a third of a standard deviation above those who did not receive the interventions. School counseling interventions produced quite large effect sizes in the areas of discipline, problem-solving, and increasing career knowledge. The effect sizes were smaller, but significant, related to school counseling interventions’ impact on academic achievement. Surprisingly little school counseling research was found related to individual counseling. Concerning guidance curriculum, small groups were more effective than interventions that involved entire classrooms. Outcome research reflects that group counseling can be effective with students who are experiencing problems and difficulties. Applying this Research to Practice School counselors can improve the climate in their schools. They can also draw from a vast array of interventions that will help students increase  their academic achievement (Brown, 1999). One intervention that has been used for more than a quarter of a century is behavioral contracts. Behavioral contracts must have specific objectives, set attainable short-term goals, be monitored regularly, allow for immediate reinforcement, and be adjusted when they are not promoting the desired change. Other direct interventions frequently employed by school counselors include study skills groups, time management training, classroom guidance units aimed at improving test taking skills, and achievement motivation groups. Achievement motivation groups are led by the counselor, but involve input from the teachers and support for increased achievement from the students in the group. When students have educational and career goals, they do better in school. Counselors can facilitate the development of educational and personal goals by engaging students in individual and group activities that focus on goal setting. Some school counselors routinely ask students about interests, educational plans, and occupational goals and record these in their portfolios as one way of emphasizing the importance of goal setting. Research supports what educators have long understood: parent involvement is an important factor in student achievement (Brown, 1999). Parents who have a high level of commitment to their children, set high standards, maintain a stable home environment, and support achievement, have children who do better in school. Counselors can involve parents through parent consultation, parent education classes that teach parents how to support their children in schools as well as parenting skills, and by advocating for parents and students when students are not treated fairly by the educational establishment. They can also help keep the parents of children who are having difficulty in school apprised of their children’s progress by encouraging teachers to communicate more frequently with parents than once per grading period. Conclusion School counselors are under pressure to assist in the effort to increase student achievement. They can respond to this challenge by working to improve the school climate, using direct interventions such as teaching study skills and involving students in achievement motivation groups, and by increasing the involvement of parents in the educational process. As our culture and educational institutions change, school counseling practices are emerging to better meet the needs of today’s students. Resources Brown, D (1999). Proven strategies for improving learning and academic achievement. Greensboro, NC: CAPS Publications Sexton, L.T., and Whiston, S.C. (1998). A review of school counseling outcome research: Implications for practice. Journal of Counseling and Development volume 76, issue number pp 412-426. Whiston & Quinby (2009). Review of school counseling research. Psychology in the Schools 46(3), 267-272. Schatzberg & Nemeroff (2009). Textbook of Pyschopharmacology. Arlington, VA: The American Psychiatric Publisher. Whiston, Susan C; Wendi, Lee Tai; Rahardja, Daryn; Eder, Kelly. Journal of Counseling and Development. Winter 2011. Vol. 89. Issue 1, p. 37-55.

Wednesday, January 8, 2020

Architecture of .Net Framework - Free Essay Example

Sample details Pages: 33 Words: 10043 Downloads: 7 Date added: 2017/09/14 Category Advertising Essay Did you like this example? Architecture of the . NET Framework Chapter 1 Architecture of the . NET Framework The . Don’t waste time! Our writers will create an original "Architecture of .Net Framework" essay for you Create order NET Framework development platform introduces many new concepts, technologies, and terms. The goal of this chapter is to give an overview of the . NET Framework: to show how it is architected, to introduce some of the new technologies, and to define many of the new terms. I’ll also take you through the process of building your source code into an application or a set of redistributable components (types), and then explain how these components execute. Compiling Source Code into Managed Modules OK, so you’ve decided to use the . NET Framework as your development platform. Great! Your first step is to determine what type of application or component you intend to build. Let’s just assume that you’ve handled this minor detail, everything is designed, the specifications are written, and you’re ready to start development. Next, you must decide what programming language to use. This is usually a difficult task because different languages offer different capabilities. For example, in unmanaged C/C++, you have pretty low-level control of the system. You can manage memory exactly the way you want to, create threads easily if you need to, and so on. Visual Basic 6, on the other hand, allows you to build UI applications very rapidly and allows the easy control of COM objects and databases. If you use the . NET Framework, your code targets the common language runtime (CLR), which affects your decision about a programming language. The common language runtime is just what its name says it is: A runtime that is usable by different and varied programming languages. The features of the CLR are available to any and all programming languages that target it-period. If the runtime uses exceptions to report errors, then all languages get errors reported via exceptions. If the runtime allows you to create a thread, then any language can create a thread. In fact, at runtime, the CLR has no idea which programming language the developer used for the source code. This means that you should choose whatever programming language allows you to express your intentions most easily. You may develop your code in any programming language you desire as long as the compiler you use to compile your code targets the CLR. So if what I say is true, then what is the advantage of using one programming language over another? Well, I think of compilers as syntax checkers and correct code analyzers. They examine your source code, ensure that whatever you’ve written makes some sense, and then output code that describes your intention. Simply put, different programming languages allow you to develop using different syntax. Don’t underestimate the value of this. For mathematical or financial applications, expressing your intentions using APL syntax can save many days of development time when compared to expressing the same intention using Perl syntax, for example. Microsoft is creating several language compilers that target the runtime: C++ with managed extensions, C# (pronounced â€Å"C sharp†), Visual Basic. NET, JScript, Java, and an intermediate language (IL) Assembler. In addition to Microsoft, there are several other companies creating compilers that produce code that targets the CLR. At this writing, I am aware of compilers for Alice, APL, COBOL, Component Pascal, Eiffel, Fortran, Haskell, Mercury, ML, Mondrian, Oberon, Perl, Python, RPG, Scheme, and Smalltalk. The figure on the next page shows the process of compiling source code files: 1 Applied . NET Framework Programming As the figure shows, you can create source code files using any programming language that supports the CLR. Then, you use the corresponding compiler to check syntax and analyze the source code. Regardless of which compiler you use, the result is a managed module. A managed module is a standard Windows portable executable (PE) file that requires the CLR to execute. In the future, other operating systems may use the PE file format as well. A Managed Module is composed of the following parts: Part PE header Description This is the standard Windows PE file header, which is similar to the Common Object File Format (COFF) header. The PE header indicates the type of fileGUI, CUI, or DLL—and also has a timestamp indicating when the ile was built. For modules that contain only IL code (see below, Intermediate Language Code), the bulk of the information in the PE header is ignored. For modules that contain native CPU code, this header contains information about the native CPU code. This header contains the information (interpreted by the CLR and utilities) that makes this a managed module. It includes the version of the CLR required, some flags, the MethodDef metadata token of the managed module’s entry point method (Main method), and the location/size of the module’s metadata, resources, strong name, some flags, and other less interesting stuff. Every managed module contains metadata tables, of which there are 2 main types: those that describe the types and members defined in your source code, and those that describe the types and members referenced by your source code. CLR header Metadata 2 Architecture of the . NET Framework Part Intermediate Language (IL) Code Description This is the code that was produced by the compiler as it compiled the source code. IL is later compiled by the CLR into native CPU instructions. Most compilers of the past produced code targeted to a specific CPU architecture, such as x86, IA64, Alpha, or PowerPC. All CLR-compliant compilers produce intermediate language (IL) code instead. IL code is sometimes referred to as managed code, because its lifetime and execution are managed by the CLR. IL code is discussed later in this chapter. In addition to emitting IL, every compiler targeting the CLR is required to emit full metadata into every managed module. In brief, metadata is simply a set of data tables that describe what is defined in the module, such as types and their members. In addition, metadata also has tables indicating what the managed module references, such as imported types and their members. Metadata is a superset of older technologies such as type libraries and IDL files. The important thing to note is that CLR metadata is far more complete than its predecessors. And, unlike type libraries and IDL, metadata is always associated with the file that contains the IL code. In fact, the metadata is always embedded in the same EXE/DLL as the code, making it impossible to separate the two. Since the metadata and code are produced by the compiler at the same time and are bound into the resulting managed module, the metadata and the IL code it describes are never out of sync with one another. Metadata has many uses. Here are some of them: †¢ Metadata removes the need for header and library files when compiling, because all the information about the referenced types/members is contained in one file along with the IL that implements those type/members. Compilers can read metadata directly from managed modules. Visual Studio uses metadata to help you write code. Its IntelliSense feature parses metadata to tell you what methods a type offers and what parameters that method expects. The CLR code verification process uses metadata to ensure that your code performs only â€Å"safe† operations. Verification is discussed shortly. Metadata allows an object’s fields to be serialized into a memory block, remoted to another machine, and then deserialized, recreating the object and its state on the remote machine. Metadata allows the garbage collector to track the lifetime of objects. For any object, the garbage collector can determine the type of the object, and from the metadata it knows which fields within that object refer to other objects. †¢ †¢ †¢ †¢ The next chapter, â€Å"Building, Packaging, Deploying, and Administering Applications and Types,† will describe metadata in much more detail. And a little later in this chapter, we’ll explore intermediate language in more detail. Four of the compilers that Microsoft offersC#, Visual Basic, JScript, and the IL Assembleralways produce managed modules, which require the CLR to execute. That is, end users must have the CLR installed on their machines in order to execute any managed modules. This situation is similar to the one that end users face with MFC or VB 6 applications: they must have the MFC or VB DLLs installed in order to run them. The Microsoft C++ compiler, by default, builds unmanaged modules: the EXE or DLL files with which we are all familiar. These modules do not require the CLR in order to execute. However, by specifying a new command-line switch, the C++ compiler can produce managed modules that do require the CLR to execute. Of all the Microsoft compilers mentioned, C++ is unique in that it is the only language that allows the developer to write both managed and 3 Applied . NET Framework Programming unmanaged code and have it emitted into a single managed module. This can be a great feature because it allows developers to write the bulk of their applications in managed code (for type-safety and component interoperability) but continue to access their existing unmanaged C++ code. Combining Managed Modules into Assemblies The CLR doesn’t actually work with modules; it works with assemblies. An assembly is an abstract concept, which can be difficult to grasp at first. First, an assembly is a logical grouping of one or more managed modules or resource files. Second, an assembly is the smallest unit of reuse, security, and versioning. Depending on the choices you make with your compilers or tools, you can produce a single-file assembly or you can produce a multi-file assembly. Chapter 2, â€Å"Building, Packaging, Deploying, and Administering Applications and Types,† discusses assemblies in great detail, so I don’t want to spend a lot of time on it here. All I want to do now is make you aware that there is this extra conceptual notion that offers a way to treat a group of files as a single entity. The figure below should help explain what assemblies are about: In this figure, we are passing the file names of some managed modules and resource (or data) files to a tool. This tool produces a single PE file that represents the logical grouping of files. This PE file contains a block of data called the manifest, which is simply another set of metadata tables. These tables describe the assembly: the files that make it up, the publicly exported types implemented by the files in the assembly, and the resource or data files that are associated with it. By default, compilers actually do the work of turning the emitted managed module into an assembly. That is, the C# compiler emits a managed module that contains a manifest. The manifest indicates that the assembly consists of just the 4 Architecture of the . NET Framework one file. So for projects that have just one managed module and no resource files, the assembly will be the managed module, and you don’t have any additional steps to perform during your build process. If you wish to group a set of files into an assembly, then you will have to be aware of more tools (such as the assembly linker, AL. exe) and their command-line options. These tools and options are explained in the next chapter. An assembly allows you to decouple the logical and physical notions of a reusable, deployable, versionable component. The way in which you partition your code and resources into different files is completely up to you. For example, you could put rarely used types or resources in separate files that are part of an assembly. The separate files could be downloaded from the web as needed. If the files are never needed, theyre never downloaded, saving disk space and reducing installation time. An assembly lets you break up the physical deployment of the files but still treat them as a single collection. The modules in an assembly also include information, including version numbers, about referenced assemblies. This information makes an assembly self-describing. In other words, the CLR knows everything that an assembly needs in order to execute. No additional information is required in the registry or in the Active Directory, so deploying assemblies is much easier than deploying unmanaged components. Loading the Common Language Runtime Each assembly that you build can either be an executable application or a DLL containing a set of types (components) for use by an executable application. Of course, the CLR is responsible for managing the execution of code contained within these assemblies. This means that the . NET Framework must be installed on the host machine. Microsoft has created a redistribution package that you can freely ship to install the . NET Framework on your customers machines. Future versions of Windows will include the . NET Framework, at which point you will no longer need to ship it with your assemblies. You can tell whether the . NET Framework has been installed by looking for the MSCorEE. dll file in the %windir%system32 directory. The existence of this file tells you that the . NET Framework is installed. However, several versions of the . NET Framework may be installed on a single machine simultaneously. If you want to determine exactly which versions of the . NET Framework are installed, examine the subkeys under the following registry key: HKEY_LOCAL_MACHINESOFTWAREMicrosoft. NETFrameworkpolicy. When you build an EXE assembly, the compiler/linker emits some special information into the resulting assemblys PE File header and the files . text section. When the EXE file is invoked, this special information causes the CLR to load and initialize. Then the CLR locates the entry point method for the application and lets the application start executing. Similarly, if an unmanaged application calls LoadLibrary to load a managed assembly, the entry point function for the DLL knows to load the CLR in order to process the code contained within the assembly. For the most part, you do not need to know about or understand how the CLR actually gets loaded. For the curious, however, I will explain how a managed EXE or DLL starts the CLR. If you’re not interested in this, feel free to skip to the next section. The figure on the next page summarizes how a managed EXE loads and initializes the CLR. 5 Applied . NET Framework Programming When the compiler/linker creates an executable assembly, the following 6-byte x86 stub function is emitted into the . text section of the PE file: JMP _CorExeMain The _CorExeMain function is imported from the Microsoft MSCorEE. dll dynamic-link library, and therefore MSCorEE. dll is referenced in the import (. idata) section of the assembly file. (MSCorEE. ll stands for Microsoft Component Object Runtime Execution Engine. ) When the managed EXE file is invoked, Windows treats it just like any normal (unmanaged) EXE file: the Windows loader loads the file and examines the . idata section to see that MSCorEE. dll should be loaded into the process’s address space. Then, the loader obtains the address of the _CorExeMain function inside MSCorEE. dll and fixes up the stub function ’s JMP instruction in the managed EXE file. The primary thread for the process begins executing this x86 stub function, which immediately jumps to _CorExeMain in MSCorEE. ll. _CorExeMain initializes the CLR and then looks at the CLR header for the executable assembly to determine what managed entry point method should execute. The IL code for the method is then compiled into native CPU instructions, after which the CLR jumps to the native code (using the process’s primary thread). At this point, the managed application code is running. The situation is similar for a managed DLL. When building a managed DLL, the compiler/linker emits a similar 6-byte x86 stub function for a DLL assembly in the . text section of the PE file: JMP _CorDllMain Architecture of the . NET Framework The _CorDllMain function is also imported from the MSCorEE. dll, causing the . idata section for the DLL to reference MSCorEE. dll. When Windows loads the DLL, it automatically loads MSCorEE. dll (i f it isn’t already loaded), obtains the address of the _CorDllMain function, and fixes up the 6 byte x86 JMP stub in the managed DLL. The thread that called LoadLibrary to load the managed DLL then jumps to the x86 stub in the managed DLL assembly, which immediately jumps to the _CorDllMain in MSCorEE. dll. CorDllMain initializes the CLR (if it hasn’t already been initialized for the process) and then returns so that the application can continue executing as normal. These 6-byte x86 stub functions are required to run managed assemblies on Windows 98, Windows 98SE, Windows ME, Windows NT 4, and Windows 2000 because all these operating systems shipped long before the CLR became available. Note that the 6-byte stub function is specifically for x86 machines. This stub does not work properly if the CLR is ported to run on other CPU architectures. Because Windows XP and the Windows . NET Servers support both the x86 and the IA64 CPU architectures, the loader for Windows XP and the Windows . NET Servers was modified to look specifically for managed assemblies. On Windows XP and the Windows . NET Servers, when a managed assembly is invoked (typically via CreateProcess or LoadLibrary), the OS loader detects that the file contains managed code. It does this by examining directory entry 14 in the PE file header (see IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR in WinNT. h). If this directory entry exists and is not 0, then the loader ignores the file’s import (. data) section entirely and knows to automatically load MSCorEE. dll into the address space for the process. Once loaded, the OS loader makes the process thread jump directly to the correct function in MSCorEE. dll. The 6-byte x86 stub functions are ignored on machines running Windows XP and the Windows . NET Servers. One last note about managed PE files: Managed PE files always use the 32-bit PE file format; th ey do not use the newer 64-bit PE file format. On 64-bit Windows systems, the OS loader detects the managed 32-bit PE file and automatically knows to create a 64-bit address space. Executing the Code in Your Assembly As mentioned earlier, managed modules contain both metadata and intermediate language (IL) code. IL is a CPUindependent machine language created by Microsoft after consultation with several external commercial and academic language/compiler writers. IL is much higher-level than most CPU machine languages. IL understands object types and has instructions that create and initialize objects, call virtual methods on objects, and manipulate array elements directly. It even has instructions that throw and catch exceptions for error handling. You can think of IL as an objectoriented machine language. Usually, developers prefer to program in a high-level language, such as C# or Visual Basic. NET. The compilers for all these high-level languages produce IL. However, like any other machine language, IL can be written in assembly language and Microsoft does provide an IL assembler, ILAsm. exe. Microsoft also provides an IL disassembler, ILDasm. exe. Some people are concerned that IL does not offer enough intellectual property protection for their algorithms. In other words, you could build a managed odule and someone else could use a tool, like an IL disassembler, to reverse engineer exactly what your application code does. Yes, it’s true that IL code is higher-level than most other assembly languages and, in general, reverse engineering IL code is relatively simple. However, when you implement a web service or web form 7 Applied . NET Framework Programming application, your managed module resides on your server, inacc essible to anyone outside your company. Outsiders cannot use any tool to see the IL code, so your intellectual property is completely safe. If you are concerned about any of your managed modules that you do distribute, then you can use the Microsoft obfuscator utility (OB. exe), which is downloadable from https://www. GotDotNet. com. This utility â€Å"scrambles† the names of all the private symbols in your managed module metadata. It will be difficult for someone to â€Å"unscramble† the names and understand the purpose of each method. Note that the Microsoft obfuscator scrambles metadata names only and does not scramble the IL code in anyway since the CLR must be able to process unscrambled IL. If you don’t feel that the obfuscator offers the kind of intellectual property protection that you desire, then you can consider implementing your more-sensitive algorithms in some unmanaged module, which will contain native CPU instructions instead of IL and metadata. Then, you can use the CLR’s interoperability features to communicate between the managed and unmanaged portions of your application. Of course, this assumes that you’re not worried about people reverse engineering the native CPU instructions in your unmanaged code. Any high-level language will most likely expose only a subset of the facilities offered by the CLR. IL assembly language, however, gives a developer access to all the facilities of the CLR. So if your programming language of choice hides a CLR feature that you really wish to take advantage of, you can write that portion of your code in IL assembly or in another programming language that exposes the CLR feature you seek. The only way for you to know what facilities are offered by the runtime is to read documentation specific to the CLR itself. In this book, I try to concentrate on CLR features and how they are exposed or not exposed by the C# language. I suspect that most other books and articles will present the CLR via a particular language and that most developers will come to believe that the CLR offers only those features that the developers chosen language exposes. As long as your language allows you to accomplish what youre trying to do, this blurred perspective is not a bad thing. Personally, I feel that an ability to switch programming languages easily with rich integration between languages is an awesome feature of the CLR. I also believe that this is a feature that will, unfortunately, often be overlooked by developers. Programming languages like C# and Visual Basic. NET are excellent languages for doing I/O operations. APL is an awesome language for doing advanced engineering or financial calculations. Through the CLR, you can write the I/O portions of your application using C# and then write the engineering calculations using APL. The CLR offers a level of integration between these languages that is unprecedented, and really makes mixed-language programming worthy of consideration for many development projects. An important thing to note about IL is that it is not tied to any specific CPU platform. This means that a managed module containing IL can run on any CPU platform as long as the operating system running on that CPU platform hosts a version of the CLR. Although the initial release of the CLR will run only on 32-bit Windows platforms, developing an application using managed IL sets up a developer to be more independent of the underlying CPU architecture. In October 2000, Microsoft (along with Intel and Hewlett-Packard as co-sponsors) proposed a large subset of the . NET Frameworks to the ECMA (the European Computer Manufacturer’s Association) for the purpose of standardization. The ECMA accepted this proposal and created a technical committee (TC39) to oversee the standardization process. The technical committee is charged with the following duties: 8 Architecture of the . NET Framework †¢ †¢ †¢ Technical Group 1: Develop a dynamic scripting language standard (ECMAScript). Microsoft’s implementation of ECMAScript is JScript. Technical Group 2: Develop a standardized version of the C# programming language. Technical Group 3: Develop a common language infrastructure (CLI) based on a subset of the functionality offered by the . NET Framework’s CLR and class library. Specifically, the CLI defines a file format, a common type system, an extensible metadata system, an intermediate language (IL), and access to the underlying platform (P/Invoke). In addition, the CLI also defines a factorable (to allow for small hardware devices) base class library designed for use by multiple programming languages. Once the standardization is completed, these standards will be contributed to ISO/IEC JTC 1 (Information Technology). At this time, the technical committee will investigate further directions for CLI, C#, and ECMAScript, as well as entertain proposals for any complementary or additional technology. For more information about ECMA, please see https://www. ECMA. ch and https://MSDN. Microsoft. com/Net/ECMA. With the standardization of the CLI, C#, and ECMAScript, Microsoft won’t â€Å"own† any of these technologies. Microsoft will simply be one company of many (hopefully) that are producing implementations of these technologies. Certainly Microsoft hopes that their implementation will be the best in terms of performance and customer-demand-driven features. This is what will help sales of Windows, since the Microsoft â€Å"best of breed† implementation will only run on Windows. However, other companies are free to implement these standards and compete against Microsoft. Of course, IL instructions cannot be executed directly by today’s CPUs (although this may change someday). In order to execute a method, its IL code must first be converted to native CPU instructions. To make this conversion, the CLR provides a JIT (just-in-time) compiler. The figure below shows what happens the first time a method is called. 9 Applied . NET Framework Programming Just before the Main method executes, the CLR detects all the types that are referenced by the code in Main. This causes the CLR to allocate an internal data structure that is used to manage access to each referenced type. In the figure above, the Main method refers to a single type, Console, causing the CLR to allocate a single internal structure. This internal data structure contains an entry for each method defined by the type. Each entry holds the address where the method implementation can be found. When initializing this structure, the CLR sets each entry to a function contained inside the CLR itself. I call this function JITCompiler. When Main makes its first call to WriteLine, the JITCompiler function is called. The JITCompiler function is responsible for compiling a method’s IL code into native CPU instructions. Since the IL is being compiled â€Å"just in time†, this component of the CLR is frequently referred to as a JITter or JIT Compiler. When called, the JITCompiler function knows what method is being called and what type defines this method. The JITCompiler function then searches the defining assembly’s metadata for the called method’s IL. JITCompiler verifies and compiles the IL code into native CPU instructions, which are then saved in a dynamically allocated block of memory. JITCompiler goes back to the type’s internal data structure and replaces the address of the called method with the address of the block of memory containing the native CPU instructions. Finally, JITCompiler jumps to the code in the memory block. This code is the implementation of the WriteLine method (the version that takes a String parameter). When this code returns, execution resumes in Main, as normal. Suppose now that Main calls WriteLine a second time. This time, because the code for WriteLine has already been verified and compiled, the call goes directly to the native code in the memory block, skipping the JITCompiler function entirely. After the WriteLine method executes it returns to Main. The figure below shows what the situation looks like when WriteLine is called the second time: 10 Architecture of the . NET Framework The important thing to note is that the process incurs a performance hit only the first time a method is called. All subsequent calls to the method execute at the full speed of the native code: Verification and compilation to native code is not performed again. Note that the JIT compiler stores the native CPU instructions in dynamic memory: The compiled code is discarded when the application terminates. So if you run the application in the future or if you run two instances of the application simultaneously (in two different operating system processes), then the JIT compiler will have to compile the IL to native instructions again. For most applications, the performance hit incurred by JIT compilation is not significant. Most applications tend to call the same methods over and over again, so these methods will take the performance hit only once while the application executes. Also, a process normally spends more time inside the method than it spends calling the method. Be aware that the JIT compiler optimizes the native code just like the back end of an unmanaged C++ compiler. Again, the optimization may take time, but the code will execute with much better performance than unoptimized code. Developers coming from an unmanaged C or C++ background are probably thinking about the performance ramifications of all this. After all, unmanaged code is compiled for a specific CPU platform, and when invoked, the code can simply execute. In this managed environment, compiling the code is accomplished in two phases. First, the compiler passes over our source code, doing as much work as possible in producing IL. But then, in order to actually execute the code, the IL itself must be compiled into native CPU instructions at run time, requiring that more memory be allocated, and requiring addition CPU time to do the work. Believe me, I approached the CLR from a C/C++ background myself, so I was quite skeptical and concerned about this additional overhead. The truth is that this second compilation stage that occurs at runtime does hurt performance and it does allocate dynamic memory. However, Microsoft has done a lot of performance work to keep this additional overhead to a minimum. 11 Applied . NET Framework Programming If you too are skeptical, then you should certainly build some applications to test the performance for yourself. In addition, you should run some non-trivial managed applications produced by Microsoft or others and measure their performance. I think youll be surprised at how good the performance actually is. In fact, hard as this might be to believe, many people (including me) think that managed applications could actually out-perform unmanaged applications. For example, when the JIT compiler compiles the IL code into native code at runtime, the compiler knows more about the execution environment than an unmanaged compiler would know. Here are some ways that managed code could out-perform unmanaged code: †¢ A JIT compiler could detect that the application is running on a Pentium 4 and produce native code that takes advantage of any special instructions offered by the Pentium 4. Usually, unmanaged applications are compiled for the lowest common denominator CPU and avoid using special instructions that would give the application a performance boost on newer CPUs. A JIT compiler could detect that a certain test is always false on the current host machine. For example, a method with code like this: if (numberOfCPUs ; 1) { } †¢ could cause the JIT compiler to not generate any CPU instructions for the above code if the host machine has only 1 CPU. In this case, the native code has been fine-tuned for the host machine: the code is smaller and executes faster. †¢ The CLR could profile the code execution and recompile the IL into native code while the application runs. The recompiled code could be reorganized to reduce incorrect branch predictions depending on the observed execution patterns. For these and many other reasons, you should expect future accomplishments with managed code to execute better than todays unmanaged code. As I said, the performance today is quite good for most applications, and it promises to improve as time goes on. If your experiments show that the CLRs JIT compiler does not offer your application the kind of performance it requires, then you might want to take advantage of the NGen. exe tool that ships with the . NET Framework SDK. This tool compiles all the IL code for an assembly into native code and saves the resulting native code to a file on disk. At runtime, when an assembly is loaded, the CLR automatically checks to see whether a precompiled version of the assembly also exists, and if it does, the CLR loads the precompiled code so that no compilation at runtime is required. IL and Verification IL is stack-based, which means that all its instructions push operands onto an execution stack and pop results off the stack. Accordingly, IL offers no instructions to manipulate registers. Compiler developers can easily produce IL code: They dont have to think about managing registers, and there are fewer IL instructions (since none exist for manipulating registers). And here’s another simplification: IL instructions are typeless. For example, IL offers an add instruction that adds the last two operands pushed on the stack. IL does not offer a 32-bit add instruction and a 64-bit add instruction. When the add instruction executes, it determines the types of the operands on the stack and performs the appropriate operation. 12 Architecture of the . NET Framework In my opinion, the biggest benefit of IL is not that it abstracts away the underlying CPU. The biggest benefit is application robustness. While compiling IL into native CPU instructions, the CLR performs a process called verification. Verification examines the high-level IL code and ensures that everything it does is â€Å"safe. † For example, verification checks that no memory is read from without having previously been written to, that every method is called with the correct number of parameters, that each parameter is of the correct type, that every method’s return value is used properly, that every method has a return statement, and so on. The metadata for each managed module includes all the method and type information used by the verification process. If the IL code is determined to be â€Å"unsafe,† then a System. Security. VerifierException exception is thrown, preventing the method from executing. By default, Microsoft’s C# and Visual Basic. NET compilers produce â€Å"safe† code. Safe code is code that is verifiably safe. However, using C#’s unsafe keyword or using other languages (such as C++ with Managed Extensions or IL Assembly language), you can produce code that cannot be verifiably safe. That is, the code might, in fact, be safe, but the verification is unable to prove it. To ensure that all methods in your managed module contain verifiably safe IL, you can use the PEVerify. exe utility that ships with the . NET Framework SDK. When Microsoft developers test their C# and Visual Basic. NET compilers, they run the resulting module through PEVerify to ensure that the compiler always produces verifiably safe code. If PEVerify detects unsafe code, then Microsoft fixes the compiler. You may want to consider running PEVerify on your own modules before you package and ship them. If PEVerify detects a problem, then there is a bug in the compiler and you should report this to Microsoft (or whatever company produces the compiler youre using). If PEVerify doesnt detect any unverifiable code, then you know that your code will run without throwing a users machine. Note that an administrator can elect to turn verification off (using the . NET Management Microsoft Management Console Snap-In). With verification off, the JIT compiler will compile unverifiable IL into native CPU instructions; however, the administrator is taking full responsibility for the codes behavior. VerifierException on the end- In Windows, each process has its own virtual address space. Separate address spaces are necessary because Windows can’t trust the application code. It is entirely possible (and unfortunately, all too common) that an application will read from or write to an invalid memory address. Placing each Windows process in a separate address space enhances robustness: One process cannot adversely affect another process. However, by verifying the managed code, we know that the code does not improperly access memory and cannot adversely affect another application’s code. This means that we can run multiple managed applications in a single Windows virtual address space. Because Windows processes require a lot of operating system resources, launching many processes can hurt performance and limit available OS resources. Running multiple applications in a single OS process reduces the number of processes, which can improve performance, require fewer resources, and offer equivalent robustness. This is another benefit of managed code as compared to unmanaged code. The CLR does, in fact, offer the ability to execute multiple managed applications in a single OS process. Each managed application is called an AppDomain. By default, every managed EXE will run in its own separate address space that has 13 Applied . NET Framework Programming just the one AppDomain. However, a process hosting the CLR (such as IIS or a future version of SQL Server) can decide to run AppDomains in a single OS process. The . NET Framework Class Library Included with the . NET Framework is a set of Framework Class Library (FCL) assemblies that contains several thousand type definitions, where each type exposes some functionality. All in all, the CLR and the FCL allow developers to build the following kinds of applications: †¢ †¢ †¢ Web Services. Components that can be accessed over the Internet very easily. Web services are, of course, the main thrust of Microsofts . NET initiative. Web Forms. HTML-based applications (web sites). Typically, web form applications make database queries and web service calls, combine and filter the returned information, and then present that information in a browser using a rich HTML-based UI. Web forms provide a Visual Basic 6- and InterDevlike development environment for web applications written in any CLR language. Windows Forms. Rich Windows GUI applications. Instead of using a web form to create your applications UI, you can use the more powerful, higher-performance functionality offered by the Windows desktop. Windows form applications can take advantage of controls, menus, mouse and keyboard events, and can talk directly to the underlying operating system. Like web form applications, Windows form applications make database queries and call web services. Windows Forms provides a Visual Basic 6-like development environment for GUI applications written in any CLR language. Windows Console Applications. For applications with very simple UI demands, a console application provides a quick and easy solution. Compilers, utilities, and tools are typically implemented as console applications. Windows Services. Yes, it is possible to build service applications controllable via the Windows Service Control Manager (SCM) using the . NET Framework. Component Library. Of course, the . NET Framework allows you to build stand-alone components (types) that may be easily incorporated into any of the above mentioned application types. †¢ †¢ †¢ Since the FCL contains literally thousands of types, a set of related types is presented to the developer within a single namespace. For example, the System namespace (which you should become most familiar with) contains the Object base type, from which all other types ultimately derive. In addition, the System namespace contains types for integers, characters, strings, exception handling, and console I/O, as well as a bunch of utility types that convert safely between data types, format data types, generate random numbers, and perform various math functions. All applications use types from the System namespace. To access any platform feature, you need to know which namespace contains the types that expose the facility youre after. If you want to customize the behavior of any type, you can simply derive your own type from the desired FCL type. The . NET Framework relies on the object-oriented nature of the platform to present a consistent programming paradigm to software developers. It also enables developers to create their own namespaces containing their own types, which merge seamlessly into the programming paradigm. Compared to Win32 programming paradigms, this greatly simplifies software development. Most of the namespaces in the FCL present types that you can use for any kind of application. The table below lists some of the more general namespaces, with a brief description of what the types in that namespace are used for: 14 Architecture of the . NET Framework Namespace System System. Collections Purpose of Types All the basic types used by every application. Managing collections of objects. Includes the popular collection types such as Stacks, Queues, Hashtables, and so on. System. Diagnostics Instrumenting and debugging your application. System. Drawing Manipulating 2D graphics. Typically used for Windows Forms applications and for creating images that are to appear in a web form. System. EnterpriseServices Managing transactions, queued components, object pooling, just-in-time activation, security, and other features to make the use of managed code more efficient on the server. System. Globalization National Language Support (NLS), such as string compares, formatting, and calendars. System. IO Doing stream I/O, walking directories and files. System. Management Managing other computers in the enterprise via WMI. System. Net Network communications. System. Reflection Inspecting metadata and late binding to types and their members. System. Resources Manipulating external data resources. System. Runtime. InteropServices Enabling managed code to access unmanaged OS platform facilities, such as COM components and functions in Win32 DLLs. System. Runtime. Remoting Accessing types remotely. System. Runtime. Serialization Enabling instances of objects to be persisted and regenerated from a stream. System. Security Protecting data and resources. System. Text Working with text in different encodings, like ASCII or Unicode. System. Threading Performing asynchronous operations and synchronizing access to resources. System. Xml Processing XML schemas and data. This book is about the CLR and about the general types that interact closely with the CLR (which would include most of the namespaces listed above). This means that the content of this book is applicable to all . NET Framework programmers regardless of the type of application theyre building. You should be aware, however, that in addition to supplying the more general namespaces, the FCL offers namespaces whose types are used for building specific application types. The table below lists some of the application-specific namespaces: Namespace System. Web. Services System. Web. UI System. Windows. Forms System. ServiceProcess Purpose of Types Building web services. Building web forms. Building Windows GUI applications. Building a Windows service controllable by the Service Control Manager. I expect many good books will be published that explain how to build specific application types (such as Windows services, web forms, or Windows forms). These books will give you an excellent start at building your application. I tend to think of these application-specific books as helping you learn from the top down because they concentrate on the application type and not on the development platform. It is my intent that this book offer information that will help you learn from the bottom up. The two types of books should complement each other: After reading this book and an 15 Applied . NET Framework Programming application-specific book, you should be able to easily and proficiently build any kind of . NET Framework application you desire. The Common Type System By now, it should be obvious to you that the CLR is all about types. Types expose functionality to your applications and components. Types are the mechanism by which code written in one programming language can talk to code written in a different programming language. Because types are at the root of the CLR, Microsoft created a formal specification – the common type system (CTS)—that describes how types are defined and behave. The CTS specification states that a type may contain zero or more members. In Chapter 7, â€Å"Type Member Accessibility,† Ill discuss all these members in great detail. For now, I just want to give you a brief introduction to them: †¢ †¢ Field. A data variable that is part of the object’s state. Fields are identified by their name and type. Method. A function that performs an operation on the object, often changing the object’s state. Methods have a name, signature, and modifiers. The signature specifies the calling convention, number of parameters (and their sequence), the types of the parameters, and the type of value returned by the method. Property. To the caller, this member looks like a field. But to the type implementer, this member looks like a method (or two). Properties allow an implementer to validate input parameters and object state before accessing the value and to calculate a value only when necessary; they also allow a user of the type to have simplified syntax. Finally, properties also allow you to create read-only or write-only â€Å"fields. † Event. A notification mechanism between an object and other interested objects. For example, a button could offer an event that notifies other objects when the button is clicked. †¢ †¢ The CTS also specifies the rules for type visibility and for access to the members of a type. For example, marking a type as public exports the type, making it visible and accessible to any assembly. On the other hand, marking a type as assembly (called internal in C#) makes the type visible and accessible to code within the same assembly only. Thus, the CTS establishes the rules by which assemblies form a boundary of visibility for a type, and the runtime enforces the visibility rules. Regardless of whether a type is visible to a caller, the type gets to control whether the caller has access to its members. The following list shows the valid options for controlling access to a method or field: †¢ †¢ †¢ †¢ †¢ Private. Callable only by other methods in the same class type. Family. Callable by derived types, regardless of whether they are within the same assembly. Note that many languages (like C++ and C#) refer to family as protected. Family and Assembly. Callable by derived types, but only if the derived type is defined in the same assembly. Assembly. Callable by any code in the same assembly. Note that many languages refer to assembly as internal. Family or Assembly. Callable by derived types in any assembly and by any types in the same assembly. Note that C# refers to family or assembly as protected internal. 6 Architecture of the . NET Framework †¢ Public. Callable by any code in any assembly. In addition, the CTS defines the rules governing type inheritance, virtual functions, object lifetime, and so on. These rules have been designed to accommodate the semantics expressible in modern programming languages. In fact, you won’t even need to learn the CTS rules, per se, becau se the language you use exposes its own language syntax and type rules in the same way you are familiar with today; it maps the language-specific syntax into the language of the CLR when it emits the managed module. When I first started working with the CLR, I soon realized that it is best to think of the language and the behavior of your code as two separate and distinct things. Using C++, you can define your own types with their own members. Of course, you could have used C# or Visual Basic. NET to define the same type with the same members. Sure, the syntax you use for defining this type is different depending on the language you choose, but the behavior of the type will be absolutely identical regardless of the language because the CLR—by means of the CTS—defines the behavior of the type. To help make this clear, let me give you an example: The CTS supports single inheritance only. The C++ language supports types that inherit from multiple base types; nevertheless, the CTS cannot accept and operate on any such type. To help you, the Visual C++ compiler reports an error if it detects that you’re attempting to create managed code that includes a type inherited from multiple base types. Here’s another CTS rule: All types must (ultimately) inherit from a predefined type, System. Object. As you can see, Object is the name of a type defined in the System namespace. This Object is the root of all other types and therefore guarantees every type instance has a minimum set of behaviors. Specifically, the System. Object type allows you to: †¢ †¢ †¢ †¢ †¢ compare two instances for equality obtain a hash code for the instance query the true type of an instance perform a shallow (bitwise) copy of the instance obtain a string representation of the instances object’s current state The Common Language Specification COM allows objects created in different languages to communicate with one another. The CLR goes further. It integrates all languages to let objects created in one language be treated as equal citizens by code written in a completely different language. To make this possible, the CLR defines a standard behavior for types, embeds self-describing type information (metadata), and provides a common execution environment. Language integration is a fantastic goal, of course, but the truth of the matter is that programming languages are very different from one another. For example, some languages lack features commonly used in other languages: †¢ †¢ †¢ †¢ ase-sensitivity unsigned integers operator overloading methods that support a variable number of parameters 17 Applied . NET Framework Programming If you intend to create types that are easily accessible from other programming languages, then it is important that you use only features of your programming language that are guaranteed to be available in all other languages. To help you with this, Microsoft has defined a commo n language specification (CLS) that details for compiler vendors the minimum set of features that their compilers must support if they are to target the runtime. Note that the CLR/CTS supports a lot more features than the subset defined by the common language specification, so if you don’t care about language interoperability, you can develop very rich types limited only by the capabilities of the language. Specifically, the CTS defines rules to which externally visible types and methods must adhere if they are to be accessible from any CLR-compliant programming language. Note that the CLS rules do not apply to code that is only accessible within the defining assembly. The figure below summarizes the way in which language features overlap with the CLS, within the wider context of the CLR/CTS. As this figure shows, the CLR/CTS offers a broadly inclusive set of features. Some languages expose a large subset of the CLR/CTS; in fact, A programmer willing to write in IL assembly language is able to use all the features offered by the CLR/CTS. Most other languages—such as C#, VB, and Fortran—expose a subset of the CLR/CTS features to the programmer. The CLS defines a minimum set of features that all languages must support. If you are designing a type in one language and you expect that type to be used by another language, then you should not take advantage of any features that are outside of the CLS. Doing so means that your type members might not be accessible by programmers writing code in other programming languages. In the code below, a CLS-compliant type is being defined in C#. However, the type has a few non-CLS-compliant constructs that cause the C# compiler to complain about the code: using System; // Tell compiler to check for CLS Compliance [assembly:CLSCompliant(true)] // Errors appear because the class is public public class App { // Error: Return type of App. Abc() is not CLS-compliant 18 Architecture of the . NET Framework public UInt32 Abc() { return 0; } / Error: Identifier App. abc() differing // only in case is not CLS-compliant public void abc() { } // No error: Method is private private UInt32 ABC() { return 0; } } In the code above, the [assembly:CLSCompliant(true)] attribute is applied to the assembly. This attribute tells the compiler to ensure that any publicly exposed type has no construct that would prevent the type from being accessed from any other pro gramming language. When the code above is compiled, the C# compiler emits two errors. The first error is reported because the method Abc returns an unsigned integer; Visual Basic. NET and some other languages cannot manipulate unsigned integer values. The second error arises because this type exposes two public methods which differ only by case: Abc and abc. Visual Basic. NET and some other languages cannot call both of these methods. Note that if you were to delete public from in front of class App and recompile, both errors would go away. The reason is that the App type would default to internal and would therefore no longer be exposed outside the assembly. For a complete list of CLS rules, refer to the Cross-Language Interoperability section in the . NET Framework SDK documentation. Let me distill the CLS rules to something very simple. In the CLR, every member of a type is either a field (data) or a method (behavior). This means that every programming language must be able to access fields and call methods. Certain fields and certain methods are used in special and common ways. To make coding these common programming patterns easier, languages typically offer additional abstractions. For example, languages expose concepts such as enums, arrays, properties, indexers, delegates, events, constructors, destructors, operator overloads, and conversion operators. When compilers come across any of these constructs in your source code, the compiler must translate them into fields and methods so that the CLR (and any other programming language) can access the construct. Consider the following type definition that contains a constructor, a destructor, some overloaded operators, a property, an indexer, and an event. Note that additional code is introduced to make the code compile; the code does not illustrate the correct way to implement a type. sing System; class Test { // Constructor public Test() {} // Destructor ~Test() {} // Operator overload public static Boolean operator == (Test t1, Test t2) { return true; } public static Boolean operator ! = (Test t1, Test t2) { return false; } 19 Applied . NET Framework Programming // An operator overload public static Test operator + (Test t1, Test t2) { return null; } // A Property public String AProperty { get { return null; } set { } } // An Indexer public String this[Int32 x] { get { return null; } set { } } // An Event event EventHandler AnEvent; } When the compiler compiles this code, the result is a type that has a number of fields and methods defined in it. You can easily see this using the IL disassembler tool (ILDasm. exe) provided with the . NET Framework SDK to examine the resulting managed module: The table on the next page shows how the programming language constructs got mapped to the equivalent CLR fields and methods: 20 Architecture of the . NET Framework Type Member AnEvent . ctor Finalize add_AnEvent get_AProperty get_Item op_Addition op_Equality op_Inequality remove_AnEvent set_AProperty set_Item Member Type Field Method Method Method Method Method Method Method Method Method Method Method Equivalent Programming Language Construct Event. The name of the field is AnEvent and its type is System. EventHandler Constructor Destructor Event add accessor method Property get accessor method Indexer get accessor method + operator == operator ! = operator Event remove accessor method Property set accessor method Indexer set accessor method The additional nodes under the Test type that are not mentioned in the table above—. lass, . custom, AnEvent, AProperty, and Item—identify additional metadata about the type. These nodes do not map to fields or methods; they just offer some additional information about the type that the CLR, programming languages, or tools can get access to. For example, a tool can see that the Test type offers an event, called AnEvent, which is exposed via the two methods (add_AnEvent and remove_AnEvent). Interoperability with Unmanaged Code The . NET Framework offers a ton of advantages over other development platforms. However, very few companies can afford to redesign and re-implement all their existing code. Microsoft realizes this and has built the CLR so that it offers mechanisms that allow an application to consist of both managed and unmanaged parts. Specifically, the CLR supports three interoperability scenarios: †¢ Managed code can call an unmanaged function in a DLL. Managed code can easily call functions contained in DLLs using a mechanism called P/Invoke (for Platform Invoke). After all, many of the types defined in the FCL internally call functions exported from Kernel32. dll, User32. ll, and so on. Many programming languages will expose a mechanism that makes it easy for managed code to call out to unmanaged functions contained in DLLs. Example: A C# or VB application can call the CreateSemaphore function exported from Kernel32. dll. Managed code can use an existing COM component (server). Many companies have already implemented a number of unmanaged COM components. Using the type library from these components, a managed assembly can be created that describes the COM component. Managed code can access the type in the managed assembly just like any other managed type. See the TlbImp. exe tool that ships with the . NET Framework SDK for more information. If you do not have a type library or you want to have more control over what TlbImp. exe produces, you can manually build a type in source code that the CLR can use for doing the proper interop. Example: Using DirectX COM components from a C# or VB application. †¢ 21 Applied . NET Framework Programming †¢ Unmanaged code can use a managed type (server). A lot of existing unmanaged code requires that you supply a COM component for the code to work correctly. You can implement these components easily using managed code, avoiding all the code that has to do with reference counting and interfaces. See the TlbExp. exe and RegAsm. exe tools that ship with the . NET Framework SDK for more information. Example: Creating an ActiveX control or a shell extension in C# or VB. In addition to the above, the Microsoft Visual C++ compiler (version 13) supports a new /clr command-line switch. This switch tells the compiler to emit IL code instead of native x86 instructions. If you have a large amount of existing C++ code, you can recompile the code using this new compiler switch. The new code will require the CLR to execute, and you can modify the code over time to take advantage of the CLR-specific features. Note that the /clr switch cannot compile to IL any method that does one of the following: †¢ †¢ †¢ †¢ contains inline assembly language (via the __asm keyword), accepts a variable number of arguments, calls setjmp, contains intrinsic routines (such as __enable, __disable, _ReturnAddress, and _AddressOfReturnAddress). For a complete list of the constructs that the C++ compiler cannot compile into IL, see the documentation for the Visual C++ compiler. When the compiler can’t compile the method into IL, it compiles the method into x86 so that the application still runs. Note further that although the IL code produced is managed, the data is not managed. That is, data objects are not allocated from the managed heap, and they are not garbage collected. In fact, the data types do not have metadata produced for them and the type method names are mangled. The C code below calls the standard C runtime library printf function and also calls the WriteLine method in System. Console. Note that the System. Console type is defined in the Framework Class Library. Accordingly, C/C++ code can use libraries available to C/C++ as well as managed types. #include #using using namespace System; // For printf // For managed types defined in this assembly // Easily access System namespace types // Implement a normal C/C++ main function void main () { // Call the C-Runtime librarys printf function printf(Displayed by printf. ); // Call System. Consoles WriteLine method Console::WriteLine(Displayed by Console::WriteLine. ); } Compiling this code couldnt be easier. If the code above were placed in a Test. cpp file, youd compile it by executing the following line at the command prompt: cl /clr Test. cpp 22 Architecture of the . NET Framework The result is a Test. exe assembly file. If you run Test. exe, youll see the following output: C:;Test Displayed by printf. Displayed by Console::WriteLine. If you use ILDasm to examine this file, you’ll see the following: Here, ILDasm shows all the global functions and global fields defined within the assembly. Obviously, the compiler has generated a lot of stuff automatically. If you double-click the Main method, ILDasm will show you the IL code: . method public static int32 modopt([mscorlib]System. Runtime. CompilerServices. CallConvCdecl) main() cil managed { . vtentry 1 : 1 // Code size 28 (0x1c) . maxstack 1 IL_0000: ldsflda valuetype $ArrayType$0x0faed885 ? A0x44d29f64. unnamed-global-0 IL_0005: call vararg int32 modopt([mscorlib]System. Runtime. CompilerServices. CallConvCdecl) printf(int8 modopt([Microsoft. VisualC]Microsoft. VisualC. NoSignSpecifiedModifier) modopt([Microsoft. VisualC]Microsoft. VisualC. IsConstModifier)*) IL_000a: pop IL_000b: ldsflda valuetype $ArrayType$0x0e6cb2b2 ? A0x44d29f64. unnamed-global-1 IL_0010: newobj instance void [mscorlib]System. String::. ctor(int8*) IL_0015: call void [mscorlib]System. Console::WriteLine(string) IL_001a: ldc. i4. 0 23 Applied . NET Framework Programming IL_001b: ret } // end of method Global Functions::main What we see here isn’t pretty because the compiler generates a lot of special code to make all this work. You can see, however, that the IL above makes calls to both printf and the WriteLine method in Console. 24 Architecture of the . NET Framework 25