text:
Professionalism/Southwest Airlines Flight Cancellations of December 2022

Background
All airlines make modifications to flight schedules, including by delaying and cancelling flights. These changes are especially noticeable during major weather events, such as blizzards or hurricanes, when it is too hazardous to fly. Due to their outdated software and inflexible route network, Southwest Airlines regularly delays and cancels flights more frequently than competing airlines. Before December 2022, Southwest Airlines had one of highest flight cancellation rates and one of the lowest flight-on-time rates among major airlines in the United States. Southwest Airlines also experienced mass flight cancellation events in June and October 2021, when disruptions to Southwest Airlines’ flights were significantly worse than that of other airlines’ flights.

Technical Issues
Southwest Airlines’ flight scheduling software and computer infrastructure were highly outdated compared to other major commercial airlines. Southwest relied on proprietary software instead of adopting industry-standard software. Their software frequently under-performed and sometimes failed when presented with unprecedented conditions, leaving Southwest personnel to manually schedule flights and handle crew placement. In the years leading up to the flight cancellations of 2022, Southwest Airlines admitted to deferring many important technological improvements in order to save money. The software was often unable to track flights and aircrews, resulting in many cancellations that other major airlines would not have experienced.

Route network
Southwest Airlines operates their flights using a point-to-point system, which allows them to fly more shorter flights instead of fewer longer flights and to pick up different flight crews each day. The point-to-point system has contributed to Southwest’s success because they were able to fly more flights than other airlines. However, the point-to-point system fails when there are major disruptive weather events. For this reason, most large airlines switched to a hub-and-spoke system, which is more forgiving when flights need to be rescheduled or redirected. The inflexibility of Southwest’s point-to-point system was a large factor in all of their weather-related mass cancellations.

Criticisms
Southwest Airlines has received criticism for their flight handling, most notably from their own crews. The Southwest Airlines Pilots Association, or SWAPA, has dealt much of the criticism to the airline, campaigning and holding protests to get Southwest to improve their flight scheduling technology. Other organizations, such as the Transport Workers Union of America and The Union of Southwest Airlines Flight Attendants, have campaigned for similar demands.

Snow Storm
Starting on December 21st, 2022, a snow storm swept across the western continental United States that left many large airports unable to let flights takeoff or land. In certain cases, airports were placed under a state of emergency due to the severity of the local weather conditions. Several of Southwest's most popular "focus cities" are located in areas of the country most severely impacted by the storm, causing a large initial wave of flights that were cancelled as a direct consequence of the storm.

Impact of Scheduling Philosophy
While the point-to-point system historically allowed Southwest Airlines to offer more flights and experience greater financial success, it is not as resilient as a hub-and-spoke model in the face of cancellations and delays. The philosophy allows for a more efficient and cost effective use of all of the planes in the airline's fleet, as long as all of the planes and their crews are able to complete flights on time. The same does not hold true in the event of mass cancellations. As a result of the point-to-point system, the initial batch of delayed and cancelled flights caused a ripple effect of more cancelled and delayed flights. This was due to planes and flight crews not being positioned to service subsequent flights scheduled for a given plane. The dependencies on prior flights reaching their destination and being on time caused a more significant interruption to Southwest's services than it would have to an airline that utilizes a hub-and-spoke system.

Impact of IT and Computer Systems
The complexity of scheduling flights, pairing flights crews, and booking passengers for an entire airline necessitates a large computer infrastructure to facilitate necessary tasks for flight operations. Instead of properly maintaining and updating their computer systems, Southwest kept using the same software and systems as they did in the 1990's. While never explaining why, Southwest claimed that updating or replacing these systems would have cost more than maintaining the old infrastructure. Consequently, the flights cancelled from both the storm overwhelmed the software and became one of the main causes of issues with rescheduling according to the airline. Despite the best efforts of the airline to manually reschedule flights, the magnitude and complexity of the crisis left more than 16,000 flights cancelled in late December of 2022.

Responses
The response from management during the cancellations was slow and lackluster. For customers and employees, the lack of transparency and responses from management only added to the frustration of the situation. Before the crisis had been resolved, federal regulators began investigating Southwest to determine the causes of the failures and to ensure that customers were receiving the compensation they were entitled. Airline industry analysts claim the entire situation reflects a shift in Southwest's company culture in the last few years and that investments in new technology are long overdue. The airline has since claimed that it is doing everything it can to compensate customers who experienced delays and that it will be making investments into updated technology for company operations.

Monetary, Social, and Regulatory Consequences
The monetary fallout for Southwest Airlines was severe. For nearly a week, two thirds of all Southwest flights – over 10,000 total – were cancelled. Between refunds, temporary housing, and vouchers for stranded customers, Southwest internally estimated that the incident cost $825 million. This initial expense does not take into account the immediate downturn in Southwest's stock prices, which fell by almost 6% on December 27th, 2022. This immediate dip marked the start of a general downward trend over the next several months, representing millions of dollars in additional losses.

The public reputation of Southwest Airlines also took a substantial blow. Since the incident, guides outlining "What to Do if Southwest Cancers Your Flight" have been published on the internet. Similar information appears on the airlines website, with the company promising hundreds of dollars in vouchers for affected individuals. Bob Jordan, the CEO of Southwest Airlines, said in an apology interview: “I can't say it enough how sorry I am for the impact these challenges have had on our employees and our customers.” These attempts at damage control have not been completely successful as many people affected by the December cancellations have promised to never fly Southwest again, advising friends and family to do the same. With other airlines cancelling a fraction of the flights under the same weather conditions, consumers seem hesitant to trust Southwest Airlines.

The cancellations may also have regulatory implications for Southwest Airlines in the future. Pete Buttigieg, United States Secretary of Transportation, said in a tweet: “Southwest Airlines failed its customers this past week, and our department will continue acting to get travelers what they are owed.” No airline company wants scrutiny from the Department of Transportation, but Southwest in particular could be severely hampered by regulation due to the uniqueness of their point-to-point model. As of April 2023, no such regulations have resulted from the cancellations.

Professional Ethics in Hindsight
In contrast to other case studies in professional ethics, the impact of the mass flight cancellations on public health was relatively mild. While Southwest Airlines itself suffered substantially, the airline’s decisions did not cause loss of life, injury, or direct damage to property for travelers. Fairly extensive compensation efforts also helped to mitigate the situation. Management of Southwest Airlines prioritized shareholder profits in their decisions, despite internal concerns and warnings from pilots regarding the scheduling system eventually responsible for the cancellations. Pilots and other professionals chose not to escalate with their concerns, but should they be expected to stake their livelihood when the risk is largely inconvenience to travelers?

Tragedy Averted?
While the actual outcome of the dubious decisions within Southwest airlines was mass flight cancellations, the letter from the pilots to management implies that a greater risk was suspected. Pilots wrote: “How far will Southwest 'normalize drift' and continue to allow unacceptable risk to enter the decision matrix? How long will fatigue rates and risk continue to rise.” The questions posed by the pilots seem to indicate that the scheduling failures also represent a safety concern. Even if this threat to public safety is never realized, does this change the responsibilities of the professionals involved?


text:
Cookbook:Holzknechtnocken with Strawberry Curd au Gratin

Dumplings

 * 1 cup (250 g) wheat flour
 * 1 pinch of salt
 * 1 tbsp oil
 * 1 ½ cups (375 ml) boiling water
 * 8 whole strawberries
 * 3 tbsp butter, melted

Strawberries

 * 2 cups (500 g) strawberries, washed and stemmed
 * Sugar or honey
 * Lemon juice

Gratin mixture

 * ¼ cup (70 g) butter, softened
 * Lemon zest
 * Vanilla sugar
 * ¼ cup (50 g) confectioners’ sugar
 * 2 eggs, separated
 * 1 cup (250 g) curd cheese (e.g. quark or farmer cheese)
 * 1 tbsp creme fraiche
 * ⅛ L heavy cream
 * ½ cup (100 g) granulated sugar

Procedure

 * 1) In a large bowl, mix together flour, salt, oil, and hot water. Knead until you get a dough.
 * 2) Divide dough into 8 pieces. Flatten each piece, and wrap around a single whole strawberry. Pinch shut to form a dumpling.
 * 3) Boil dumplings for 5–7 minutes in salted water. Coat in melted butter.
 * 4) Cut remaining strawberries into pieces. Toss with sugar and lemon juice.
 * 5) Beat together the butter, lemon zest, vanilla sugar, and confectioners’ sugar until creamy. Mix in egg yolks, curd cheese, and crème fraîche.
 * 6) Whip cream with sugar. Fold the whipped cream into the butter-cheese mixture.
 * 7) Whip the egg whites to stiff peaks, and fold into the above mixture.
 * 8) Preheat the oven to 200°C
 * 9) Arrange some strawberries on oven-safe plates. Top with some of the cheese mixture, then a few dumplings on top and sprinkle with sugar.
 * 10) Place plates in the oven, and bake until golden.

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


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1003

IBM code page 1003 (CCSID 1003) is an EBCDIC code page used in IBM mainframes. Code page 264 is a superset of this code page.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1005

IBM code page 1005 is an EBCDIC code page with full ISO 6937 support used in IBM mainframes. It is a superset of code page 1024. Code page 435 unifies the underline with the underscore and adds the combining overline.

There are non-spacing diacritic characters. However, code page 1005, as well as ISO/IEC 6937, defines a fully specified character repertoire, mapping a list of composition sequences to ISO/IEC 10646 character names. The isolated non-spacing bytes are not included in this repertoire, although spacing variants of the diacritics not otherwise present in ASCII are included, with the ASCII space being the trail byte. Hence, only certain combinations of lead byte and follow byte conform to the ISO/IEC standard.

This system also differs from the Unicode combining character system in that the diacritic code precedes the letter (as opposed to following it).

A little anomaly is that Latin Small Letter G with Cedilla is coded as if it were with an acute accent, that is, with a 0xC2 lead byte, since due to its descender interfering with a cedilla, the lowercase letter is usually with turned comma above.

The underline at 0x6D can be inserted under any letter.

In total 14 diacritical marks can be followed by the selected characters from the primary set (it is unknown if more characters are available):

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Professionalism/Thomas Midgely Jr. and the Rise and Fall of Tetraethyl Lead

Thomas Midgely, Jr. was an American engineer and inventor born on May 18, 1889, in Beaver Falls, Pennsylvania. He was the son of Thomas Midgley Sr., who was a noted inventor of automobile tires.

Early Life
Midgley Jr. was raised in Columbus, Ohio, where he attended the Brett's Academy and later enrolled at Cornell University. During his time at Cornell, Midgley Jr. studied mechanical engineering. His interest in experimentation was so great that he did not have time for many of the usual student activities, although he did at one time organize an aviation club among the students. The club had no airplane, not even a glider, but it was perhaps one of the first such organizations to be formed.

After graduating from Cornell in 1911, Midgley Jr. began his career working for National Cash Register Company in Dayton, Ohio. Later, in 1916, he worked as a research staff with Charles Kettering for the Dayton Engineering Laboratories Company (DELCO). That same year he discovered iodine as a anti-knock fuel additive, but during WWI, his laboratory was devoted to the war effort. After the war, his work to find an anti knocking agent resumed and he discovered tetraethyl lead in 1920.

Initial Development & Manufacture
Many cars in the early 20th century suffered from engine knocking, a potentially destructive effect caused by the poor-quality gasoline of the time. In order to make engines run more smoothly, Charles Kettering, head of General Motors Research, tasked Midgely to come up with an anti-knock fuel additive in 1916. In 1920, Midgley proposed adding ethanol to gasoline, and called it the "fuel of the future." While ethanol was safe and effective at reducing engine knocking, General Motors wanted an additive that they could patent and make profits from, so Midgely spent a few more months looking for alternatives. In December 1921, he proposed adding Tetraethyllead to gasoline instead of ethanol. Tetraethyllead had been discovered in 1853 by a German chemist, and had known harmful effects. It had no commercial applications at the time, but Midgley proposed it knowing that it would be cheap, effective and easily patentable. General Motors, in cooperation with Standard Oil, created the Ethyl Corporation, with Midgley as vice president. During early production of Tetraethyllead Midgley emphasized efficiency, secrecy, and branding over safety. Tetraethyllead was branded Ethyl internally and externally, implying ethyl alcohol and excluding lead entirely due to its publicly known health risks. Midgley reassured the Public Health Service and the Surgeon General in December 1922 that "[Tetraethyllead’s possible danger] has been given very serious consideration... although no actual experimental data has been taken.” Early 1923, Midgley suffered lead poisoning and spent six weeks in Florida to recover, experiencing "digestive derangements, subnormal body temperatures and reduced blood pressure." While in Florida, Midgley wrote an oil industry engineer that Tetraethyllead poisoning the public was "almost impossible, as no one will repeatedly get their hands covered in gasoline containing tetraethyl lead - it stings and burns... The exhaust does not contain enough lead to worry about, but no one knows what legislation might come into existence fostered by competition and fanatical health cranks." In September 1923, General Motors agreed to fund a US Bureau of Mines investigation into the possible dangers of Tetraethyllead, where any potential reports were obligated to "be submitted to [Ethyl Corporation] for comment, criticism, and approval [prior to publication.]"

In April 1924, at a Dayton plant manufacturing Tetraethyllead, two employees died and 60 were sickened from lead poisoning; the deaths were kept secret from the public and internally the workers were blamed for not following procedure. Several months later in September 1924, despite knowledge of earlier production deaths, Midgley encouraged dangerous production practices without regard for worker fume ventilation to speed up production.

Late October 1924, five workers died and 35 were sickened at a New Jersey plant manufacturing Tetraethyllead, with workers suffering "severe palsies, tremors, hallucinations, and other serious neurological symptoms of organic lead poisoning." Major newspapers including the New York Times and the New York World reported on the deaths and plant conditions, resulting in immediate public outcry. Midgley publicly blamed the workers, stating "the [workers], regardless of warnings and provision for their protection, had failed to appreciate the dangers of constant absorption of the fluid by their hands and arms." Midgley further sought to reassure the public of Tetraethyllead's safety by washing his hands thoroughly in Tetraethyllead during a press conference, stating "I'm not taking any chance whatever... Nor would I take any chance doing that every day." Also within days of the plant deaths reports, the US Bureau of Mines publicly released a report of preliminary findings regarding the public safety of Tetraethyllead as a fuel additive, which concluded Tetraethyllead was almost certainly completely safe for the public as a fuel additive.

The Public Health Service Tetraethyllead Conference
Despite Midgley's, Ethyl Corporation's, and the US Bureau of Mines' assurances of public safety, public outcry persisted with many scientists and labor activists e.g., the Workers' Health Bureau, demanding further investigation into the safety of Tetraethyllead. Within days, Philadelphia, Pittsburgh, and New Jersey would ban production and sale of gasoline containing Tetraethyllead. In a December 1924 private meeting with the Surgeon General, Standard Oil requested the Public Health Service hold a conference on the safety of Tetraethyllead; Ethyl Corporation publicly and voluntarily withdrew its product from market before the May 20, 1925 conference. Midgley testified at the conference that production and distribution of Tetraethyllead was now completely safe, stating "shipping [Tetraethyllead] has never shown any effects whatever of hazard to the people handling it," "we had trouble in the early days from lack of background," and "[Tetraethyllead] becomes dangerous due to carelessness of the men in handling it."

Following the Public Health Service conference, Midgley published in the American Chemical Society's Industrial & Engineering Chemistry Journal that Tetraethyllead is only possibly harmful when manufacturing or handling concentrated Tetraethyllead, and gasoline with Tetraethyllead poses no public health risks. Some excerpts include "After [Ethyl] gasoline has been introduced in the tank of an automobile there are no health hazards, although many imaginary ones have been suggested;" and "The one [possible public health hazard] is the [improper] use of the [Ethyl] gasoline in an open flame for toasting bread, in which case it has been determined that after several days of such a diet a touch of painter’s colic may result."

Within and following the conference, the prevailing sentiment of both the public and public health professionals was that overwhelming evidence of harm must exist before Tetraethyllead is banned as a fuel additive; however, many experts "voiced serious doubts in private," not wanting to go public largely due to personal economic ties to the Ethyl Corporation and wider political/economic considerations e.g., finding Tetraethyllead's risks worth its productivity/efficiency benefits. While the conference did create a special committee to investigate potential public dangers of Tetraethyllead as a fuel additive, limited funding and a tight deadline resulted in a deficient investigation showing no noted harms of Tetraethyllead gasoline with explicit recommendations to pursue further government study, recommendations that were never followed. Following the committee's investigation sales of gasoline with Tetraethyllead were immediately resumed.

Freon
In 1928, Midgely was directed by Charles Kettering, head of General Motors Research, to develop a new refrigerant for General Motors' subsidiary Frigidaire. He discovered dichlorofluoromethane, a chlorofluorocarbon (CFC), which was marketed as Freon starting in 1930. Freon had advantages over refrigerants in use at the time since it was nontoxic and nonflammable ; the common refrigerants of the era were ammonia, sulfur dioxide, and methyl chloride, which were noxious and flammable. In addition to being used in refrigeration, Freon and other CFCs were employed in air conditioning, as aerosol propellants, in fire suppression, and in other applications.

CFCs proliferated in the following decades, and there were few serious concerns about any possible environmental impacts that they might have. Although the particles were man-made, it was assumed that they would eventually find some sort of natural "sink" and little thought was given to where the chemicals would eventually end up.

Environmental Impact
The environmental impacts of CFCs were first theorized in 1972, when it appeared that there were CFCs present throughout the atmosphere. In 1974, Molina and Rowland published their paper proposing that the primary sink for chlorofluoromethanes was the stratosphere, where they are broken down from UV radiation.

Freon and other CFCs are classified as "ozone-depleting substances." These substances are responsible for depletion of the ozone layer, which occurs when UV radiation from the sun frees the chlorine atoms from a CFC molecule. This chlorine reacts with ozone to form chlorine monoxide and oxygen, and the chlorine monoxide is able to react with oxygen radicals to once again become free chlorine. Through this process, chlorine atoms from CFCs are able to "destroy over 100,000 ozone molecules before it is removed from the stratosphere." CFCs are principally responsible for the Antarctic ozone hole.

Professional and Ethical Perspectives on the Career of Thomas Midgely, Jr.
Perspectives of Midgely's life changed dramatically after his death. He was a highly decorated chemist during his lifetime, having received the four "most important" medals for chemical achievement: the Nichols Medal of the New York Section, the Perkin Medal of the Society of Chemical Industry, the Priestly Medal of the American Chemical Society, and the Willard Gibbs Medal of the Chicago Section. He was also on the Board of Directors for the American Chemical Society from 1930 until his death, the chairman of the Board since 1934, and in 1944 was elected president. He also became a member of the National Academy of Sciences in 1942.

In the decades following his death, tetraethyllead was banned from use in gasoline in the US and CFC use was reduced following the Montreal Protocol. Midgely's inventions have gone down in infamy for their widespread destructive impacts on the atmosphere and human health. J.R. McNeil writes "[He] has had more impact on the atmosphere than any other organism in Earth's history." Midgely neglected to study the possible environmental impacts of Freon and other CFCs before allowing them to be brought to market. Professionals owe responsibility not only to their clients, but to society at large, and the failure to consider the long-term impacts of his discovery represents a professional and ethical shortfall on the part of Midgely and his collaborators.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1007

IBM code page 1007 is an EBCDIC code page with Arabic support used in IBM mainframes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1028

IBM code page 1028 (CCSID 1028) is an is an EBCDIC code page that supports Hebrew used in IBM mainframes in Israel.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
User:MarcGarver/sandbox

testing page merge

 * /Fork 1/
 * /Fork 2/
 * /Fork 3/

title: User:MarcGarver/sandbox


text:
User:MarcGarver/sandbox/Fork 2

Create Edit 2 Edit 3

title: User:MarcGarver/sandbox/Fork 2


text:
User:MarcGarver/sandbox/Fork 4

Create Fork 3

title: User:MarcGarver/sandbox/Fork 4


text: Category:Modules that add a tracking category


text: Category:Wikitext typing-aid templates

title: Category:Wikitext typing-aid templates


text:
Category:Templates using under-protected Lua modules

__HIDDENCAT__


text: Category:XHTML tag replacing templates

title: Category:XHTML tag replacing templates


text: Category:Talk message boxes

title: Category:Talk message boxes


text:
Professionalism/Frances Haugen and Facebook

Introduction
Frances Haugen is a Facebook whistleblower where she disclosed tens of thousands of Facebook's internal documents that exposed how Facebook was aware of the harm its platform caused.

Early Life
Frances Haugen was born in Iowa City, Iowa. She grew up attending the Iowa caucuses with her parents, which instilled in her a strong sense of pride in democracy and responsibility for civic participation. Every since a young child, Haugen was engaged in civil affairs in her city. At age 8, she expressed concerns about plans to widen a neighborhood road that she wrote to U.S. Rep Jim Leach that read: "Please don't let them turn Melrose Avenue into a four-lane road. I couldn't walk home from school because I have to cross Melrose. Sincerely yours Frances Haugen." As her academic interests expanded, Frances Haugen was often featured in her local newspaper in her hometown. News clippings from Iowa City Press-Citizen archives show she loved geography and participated in debate and engineering competitions. During an interview in sixth grade, Haugen expressed her aspirations of becoming a biologist with the goal of feeding the world, or a lawyer with a desire to become a politician. This early display of civic-mindedness foreshadowed Haugen's later commitment to public safety and corporate accountability.

Early Education and Career
After completing her high school education, she went on to study Electrical and Computer Engineering at Olin College. Later, she pursued a Master of Business Administration (MBA) from Harvard University. After receiving her MBA, Haugen initially was hired by Google as a Software Engineer but later transitioned to a Product Manager. At Google, Haugen initially worked in the reporting functions of Google Ads. This experience helped her to learn better ways of communicating with numbers. She transitioned on to Google Book Search, helping launch book reader for mobile devices. Haugen also was involved with the settlement of class action litigation after Google was sued by publishers for its project to publish book content on the web. In 2015, she began work as a data product manager at Yelp and after a year, moved to Pinterest. In 2019, Haugen joined Facebook, because someone close to her was radicalized online and she "felt compelled to take an active role in creating a better, less toxic Facebook. She expressed interest in a role related to misinformation, and so she became a product manager in the Facebook civic integrity team.

Background and 60 Minutes Interview
At Facebook, Frances Haugen worked on the civic integrity team. When she was recruited to Facebook, she wanted to join a team that would stop the spread of misinformation. After the 2020 election, Facebook disbanded the team; this marked the beginning of the end for Haugen at Facebook. From November 2020 to April 2021, Haugen amassed tens of thousands of internal documents that she intended to use to whistleblow. This is a prime example of sacrificing one’s career for one's profession. Haugen exited Facebook and spent the next several months organizing her documents and ensuring the information could get out to the public. She knew that once she put her face to the leak, she would close herself off from opportunities in her field. In September of 2021, she leaked the documents anonymously to the Wall Street Journal. In October, she went on 60 minutes to share her side of the story; and testified in front of Congress two days later. The interview went into her background, and highlighted the higher level issues in the documents. Facebook research shows it knows it is harming individuals and groups, and has taken minimal action. Haugen stated “Facebook, over and over again, has shown it chooses profit over safety.”

Congressional Hearing
Haugen testified in front of the Senate Commerce Subcommittee on Consumer Protection. In the congressional hearing she remarked, “As long as Facebook is operating in the shadows, hiding its research from public scrutiny, it is unaccountable. Until the incentives change, Facebook will not change.” A key takeaway was that Facebook knows solutions to spreading misinformation, and has tools that it can use. It can make it harder to share articles, but this would decrease engagement and profit. During the hearing, the ranking Republican member Tennessee Sen. Marsha Blackburn said she had “received a text from Facebook spokesperson Andy Stone pointing out that Haugen did not work on child safety or Instagram or research these issues and has no direct knowledge on the topic from her work at Facebook.” Facebook pushed this narrative to discredit Haugen, but it does not take away from the raw documentation of the company's actions.

Facebook Response and Ethical Summary
After the hearing, Mark Zuckerberg wrote Facebook is “committed to doing more research ourselves and making more research publicly available.” Facebook has not made these changes in the years since. It changed its name to Meta just weeks after Haugen’s testimony. Reviewing Haugen’s actions, it is clear she took great risks at her own expense to publicize Facebook’s actions. There was bi-partisan uproar at what was revealed, that time and time again Facebook chose profit over the health and safety of its users. Haugen did what engineers at Boeing were not strong enough to do leading up to the 737 Max disasters. She put her profession above her career, helping the billions of Facebook users to at least be aware of its transgressions. Congress may move slowly to regulate, but the public is now more broadly aware, and Facebook is under a stronger microscope than ever.

Aftermath
Since the hearing, Haugen has shifted her career to focus on speaking engagements with the purpose of standing up for what she believes in. Even after her departure from Facebook, she continues to advocate against the company and claims that they have been “misleading the public and investors on how it handles issues such as climate change, misinformation, and hate speech, and the impact of its services on the mental health of children and young adults.” Facebook did not make explicit policy changes in the direct aftermath of Haugen’s testimony. In a blog post from September 2021, Facebook claimed that they employed 40,000 people working in safety and security and spent more than $13 billion since 2016 to that end. Clearly, in Haugen’s opinion, this is still not enough to create a safe and responsible Facebook because these changes were being implemented before and during her coming forward. In a conference with Vox almost a year after her testimony she maintains that Facebook hasn’t learned their lesson yet, saying, “They haven’t yet admitted that the way they were doing business is what caused their problems.” In the same conference, she lamented the amount of control that Mark Zuckerberg has over the company, saying she wishes that the Securities and Exchange Commission would force him to sell some of his shares.

Media Controversy
In the aftermath of Haugen’s testimony, the media was overtaken with controversial opinions surrounding what Facebook was doing and what her revelations meant for our country. Many on the left championed her as a defender of those hurt by social media. Others on the right condemned her as a censor and a violator of American free speech principles. Although this made for entertaining media coverage and most likely drove up ratings, it was almost certainly more reductive than helpful. When the media seeks to get the public emotional about one specific person or event along political lines, it is usually the case that the truth lies somewhere in the middle, and this case is no different. One universal concern was Instagram’s impact on the mental health of young people. An internal study brought to light in the leak linked Instagram to suicidality in teens. These statistics are extreme and the company causing the issue is only paying lip service to a solution. Facebook is a profit-seeking entity and a major company in the United States, so it can be difficult to find a way to shield oneself from the negative effects they cause. At a certain point, the cost-benefit analysis stops going in their favor for families who have been impacted negatively by their products. There is inevitably a natural tipping point where parents will get their children off of these sites. This isn’t to say that Facebook and social media are inherently bad, but they need to consider the safety of users on their platform, especially children.


text:
Talk:Statics/Rigid Body Equilibrium (contents)

mechanics
how to kn0w that which point you have to target as your point to calculate the moment 196.21.80.2 (discuss) 16:45, 27 April 2023 (UTC)


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1030

IBM code page 1030 (CCSID 1030) is an EBCDIC code page used in IBM mainframes in Japan. It is an extension of code page 290 that includes box drawing characters. Unlike code page 290, it did not get a euro sign update.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1031

IBM code page 1031 (CCSID 1031) is an EBCDIC code page used in IBM mainframes in Japan. It is an extension of code page 1027 that includes box drawing characters. Unlike code page 1027, it did not get a euro sign update.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1032

IBM code page 1032 (CCSID 1032) is an EBCDIC code page used in IBM mainframes. It supports MICR (magnetic ink character recognition). It is an extension of code page 1001 to add interoperability with Siemens and Océ printers.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1033

IBM code page 1033 (CCSID 1033) is an EBCDIC code page used in IBM mainframes. It supports CMC-7.

Codepage layout
Characters are shown with their equivalent Unicode codes.

 * CMC-7 S I (internal) (not in Unicode).
 * CMC-7 S II (terminator) (not in Unicode).
 * CMC-7 S III (amount) (not in Unicode).
 * CMC-7 S IV (an unused character) (not in Unicode).
 * CMC-7 S V (routing) (not in Unicode).


text:
Professionalism/The Developers Union

Introduction
The Developers Union was an advocacy group for app stores. The group was founded by Brent Simmons, a software developer known for iOS apps such as NetNewsWire. He currently runs a blog on inessential.com, where he speaks about the The Developers Union and apps he has made. Simmons was initially also joined by Jake Schumacher, director of App: The Human Story; Loren Morris, a product designer; and Roger Ogden, an iOS developer. Their goal in creating The Developers Union was to create change within the App Store through getting their voice heard. The group has been featured on many popular news sites such as The Verge, appleinsider and Wired, where their story and missions have been written on.

Purpose and Mission
The goal of The Developers Union was for a fairer and more sustainable app store policy mainly for the iOS and Google App stores. In the Apple App store, Apple took a 30% revenue cut of all App store sales. One of The Developers Union's goals was to reduce this so that it is more fair and allows independent app developers make a living. Other issues they have advocated about were also the lack of free trials for smaller paid apps, user privacy protections, and transparency in app store policies.

Their mission statement read as follows:

Dear Apple,

We believe that people who create great software should be able to make a living doing it. So we created The Developers Union to advocate for sustainability in the App Store.

Today, we are asking Apple to commit to allowing free trials for all apps in the App Stores by the tenth anniversary of the App Store this July. After that, we’ll start advocating for a more reasonable revenue cut and other community-driven, developer-friendly changes.

Towards their goal, they have organized petitions garnering thousands of signatures, blog posts, as well as organized events such as meetings in WWDC. Brent Simmons also has been vocal about the group on his Twitter as well as his blog. Some issues he has addressed in his blog include some press coverage stating that the group is '"angry" and "fed up"' as well as addressing dissenters.

Current Activity & Redefinition
As of 2018, there has been no major activity from The Developer’s Union after the increase in support for app store free trials in the Apple App store. The Developers Union ceased its activity as an advocacy near the start of 2019, releasing the following statement on their website: "Although we failed to scale to a size that would necessitate Apple’s attention, we feel that with your help we were able to bring attention and change to the issue of trials in apps on the App Store". The web page remained in this state of inactivity for several years, before being transitioned into an educational blog in 2022 that now provides reviews and recommendations for a number of web hosting frameworks. After this transition, the Developers Union adopted a new mission statement redefining the goals of the organization, stating that: "The Developers Union is a group of developers that have come together to publish content to help aspiring coders, developers and techies alike. We are mainly focused on Apple (App Store) apps and helping people create and finish their desired coding goals". This new statement marks a clear deviation from the original intent of the Developers Union.

Impacts & Achievements
Although ultimately unable to reach secondary goals such as fair revenue splits on the Apple App store, the efforts of the Developers Union were not entirely unsuccessful. By speaking out against Apple's policies and drawing attention to issues within the Apple App store, the Developers Union was able to raise awareness of the negative impacts these policies on smaller app developers. This awareness may have contributed to Apple's ultimate decision to expand free trials on the Apple App store, although this is unconfirmed as Apple has not made any public statements regarding the Developers Union. Such free trials are of particular importance to smaller or lesser-known developers, as it lowers the barriers to entry for potential new users and gives these developers a better chance at achieving traction in the market.

Coalition For App Fairness
The Coalition For App Fairness (CAF) is an independent nonprofit organization founded in September 2020 by 14 large Apple app developers including Epic Games, Match Group, Tile, Blockchain.com, and Spotify. They are against Apple's 30% "App Tax" and anti-competitive policies in the Apple ecosystem.

Impacts
In October 2020, Microsoft introduced a set of 10 principles for its app store policies based on the principles of the CAF. Also, in November 2020, Apple introduced the Small Business Program, where developers making $1 million or less will have their revenue cut lowered to 15% after filling out an application. Google also responded similarly, lowering cuts to 15% for the first $1 million of revenue for developers per year. It can be perceived that the CAF was able to reach the attention of Apple and major app stores and influence their policies. The CAF is still standing and operating today.

Services
Throughout much of the COVID-19 pandemic, Apple has been expanding from just selling iPhones and iPads to selling software and services and focused on being a 'services' company. Their multitude of services (Apple One, Apple TV+, Apple Music, Apple Fitness+, Apple Arcade, Apple News+, Apple Podcasts, Apple Books) also helped them set a sales record in June 2020 and is the second largest division in the company.

Strategies
Since the app store's introduction in 2007, Apple's commission policy has always been a 30% tech tax. This policy has led to fights and lawsuits with software companies and tech giants. In response, Apple has also lowered its cut to 15% for developers that have not exceeded $1 million USD in yearly proceeds, which has still left large tech companies unsatisfied.

Fights
Fortnite, an app from the developer Epic Games, attempted to add it's own payment system to that bypassed Apple's 30% cut. This led to the game being banned from the Apple app store in August 2020. Epic Games filed a lawsuit against Apple over this but the judge ruled in favor of Apple, forcing them to pay the 30% cut. As of April 2023, Fortnite is not available for iPhone or iPad.

Spotify, Netflix, and Tinder have also banned together by asking users to sign up on their website and increasing prices for users signing up from the app. Since then, Apple has relaxed their regulations to allow them to link users to their site for signup.

Antitrust Concerns
The Developers Union's struggle against Apple and its app store policies reflects the antitrust and monopoly concerns that some individuals and groups have voiced with respect to the Apple App Store. In October 2020, an investigation by the House antitrust subcommittee found that Apple has “monopoly power” over the smartphone app market. The European Commission has also issued antitrust charges against Apple over concerns about the company’s App Store practices, finding that Apple has broken European Union competition rules with its App Store policies. However, the court sided with Apple in a 2020 antitrust lawsuit brought forth by Epic Games, prompting Apple to state that, "for the second time in two years, a federal court has ruled that Apple abides by antitrust laws at the state and federal levels. The App Store continues to promote competition, drive innovation, and expand opportunity, and we’re proud of its profound contributions to both users and developers around the world". The main justification for labeling Apple's app store as monopolistic is the near complete control that Apple has over app distribution on iOS devices, as Apple has long resisted and attempted to prevent the use of third party app stores on their devices on grounds that apps not approved by them may present security risks to their users. This lack of viable alternatives allows Apple to force arguably unfair revenue splits on developers and to ignore push back from smaller groups such as the Developers Union.

Comparison to Android App Stores
In contrast to the restrictive approach that Apple has traditionally taken for app distribution on its devices, Google has taken a more open and free market approach on their own Android platform. Although Google also operates its own first party app store called the Google Play Store that takes a revenue cut comparable to Apple's, Google allows for competing third party app stores to exist. This allows for users and developers who are dissatisfied with the Google Play Store other viable means by which to distribute and receive apps, and has led to a modest marketplace for alternative app stores. Some of the more notable alternative Android app stores include the Amazon Appstore, Samsung Galaxy Store, the Tencent Appstore, and Aptoide.

title: Professionalism/The Developers Union


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1037

IBM code page 1037 (CCSID 1037) is an EBCDIC code page used in IBM mainframes in the Korea to support the IBM 5080 Graphics System.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1039

IBM code page 1039 (CCSID 1039) is an EBCDIC code page used in IBM mainframes to support GML (Generalized Markup Language).


text:
Cookbook:Italian Dressing II

Ingredients

 * ¼ cup plus 2 tbsp water
 * ¼ cup vinegar
 * 2 tbsp chopped fresh parsley
 * 1 tbsp plus 1 tsp grated Parmesan cheese
 * 2 tbsp vegetable oil
 * 2 tsp dry pectin
 * ¼ tsp salt
 * ¼ tsp pepper
 * ¼ tsp dried whole Italian seasoning
 * 1 large clove garlic, peeled

Procedure

 * 1) Combine all ingredients except garlic in a jar.
 * 2) Cover tightly and shake vigorously.
 * 3) Press a wooden pick through garlic clove; add to dressing mixture.
 * 4) Cover and refrigerate until thoroughly chilled.
 * 5) To serve, remove and discard garlic. Cover and shake dressing well.

title: Cookbook:Italian Dressing II


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1068

IBM code page 1068 (CCSID 1068) is an EBCDIC code page used in IBM mainframes.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Cookbook:Jam Roly-Poly (Steamed)

Ingredients

 * 200 g self-raising flour
 * 100 g vegetable suet
 * Finely-grated zest and juice of 1 small lemon
 * 1 medium egg, beaten
 * 2–4 tbsp milk or water
 * 200 g red jam of your choice such as plum, cherry, raspberry or strawberry
 * 1 pinch salt
 * Custard or cream to serve.

Procedure

 * 1) Stir the flour, suet, salt and lemon zest together then work to a firm dough with the lemon juice, egg and milk or water.
 * 2) Roll out to a rectangle about 25 x 20.5 cm (10 x 8 in) and spread jam to within 2.5 cm (1 in) of the edges. Roll up starting from a short end and seal the edges well with a little water.
 * 3) Set the roll on a sheet of well buttered foil and wrap, making sure you seal the ends well. If you are feeling traditional use cheesecloth or a shirt sleeve to steam in.
 * 4) Set in a steamer and steam for 2 hours.

title: Cookbook:Jam Roly-Poly (Steamed)


text:
Talk:Emacs/Introduction to Emacs Lisp

Plan on this article
There is a list mentioned in the article that feels a little bit off and sounds to me like a future plan and list of things to talk about

 * Passing functions as arguments
 * Lambda functions
 * Comparison between lambda and defun

Is it really a plan? Should we try to expand it? KryDos (discuss • contribs) 12:06, 28 April 2023 (UTC)

title: Talk:Emacs/Introduction to Emacs Lisp


text:
Talk:Emacs/The Emacs Lisp Package Archive

Package.el has been part of Emacs for more than 10 years now
Since Emacs 24 (2012 year) the package.el is already part of Emacs and explanation of how to install it is quite confusing at this point. Even EmacsWiki doesn't have this information anymore. Emacs manual is missing it too.

Would it make more sense to change this section to be "Emacs Package Management"? Or we can describe what ELPA is and how it now comes with emacs preinstalled (emacs' package manager already knows about it).

Of course we can briefly mention older versions too. KryDos (discuss • contribs) 13:08, 28 April 2023 (UTC)


text:
Talk:HKDSE Geography/E1/Mass Movement

Geography
Mass movement 41.114.52.190 (discuss) 14:47, 28 April 2023 (UTC)

title: Talk:HKDSE Geography/E1/Mass Movement


text:
User:Xeverything11/background

 Welcome to L Librestore  About this project This is a project using only HTML and CSS that spans 5000 pixels long. This is still in the alpha phase, so come back after this project is finished.  Statistics 14.8 kB; Time usages: 0.058s CPU, 0.077s real (±30%)  MARKET STREET

 Fresh fruit
 Fresh vegetables
 Nuts & seeds

 Save 50 p
 Almonds
 200g
 £2.49
 £ 1 .99
 99.5 p per 100g

title: User:Xeverything11/background


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1071

IBM code page 1071 is an EBCDIC code page used in IBM mainframes in Austria and Germany. It is an old version of code page 273.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1073

IBM code page 1073 is an EBCDIC code page used in IBM mainframes in Brazil. It is an old version of code page 275.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1074

IBM code page 1074 is an EBCDIC code page used in IBM mainframes in Denmark and Norway. It is an old version of code page 277.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1075

IBM code page 1075 is an EBCDIC code page used in IBM mainframes in Finland and Sweden. It is an old version of code page 278.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1076

IBM code page 1076 is an EBCDIC code page used in IBM mainframes in Italy. It is an old version of code page 280.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1077

IBM code page 1077 is an EBCDIC code page used in IBM mainframes in Japan. It is an old version of code page 281.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1078

IBM code page 1078 is an EBCDIC code page used in IBM mainframes in Portugal. It is an old version of code page 282.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1080

IBM code page 1078 is an EBCDIC code page used in IBM mainframes in Ireland and the United Kingdom. It is an old version of code page 285.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
User:Lummoxxxx

Hello my name is Niman Lakra. Welcome to my user interface.

title: User:Lummoxxxx


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1082

IBM code page 1082 is an EBCDIC code page used in IBM mainframes in Israel. Not that the Hebrew letters from 0x8C to 0xEF are capital forms, not in Unicode.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1083

IBM code page 1083 is an EBCDIC code page used in IBM mainframes in Israel.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1085

IBM code page 1085 is an EBCDIC code page used in IBM mainframes in Iceland. It is an old version of code page 871.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Talk:Muggles' Guide to Harry Potter/Magic/Levicorpus

sectumsempra
interesting how harry potter uses sectumsempra instead of levicorpus in the cave (obviously this is not tested in canon i don't think, but "corpus" makes me think it would apply to the inferi). i'd imagine it would be ...more effective than sectumsempra since the victim is only freed with liberacorpus, at least before the inferi got close enough to latch onto anything, although now that i think about it, the pure numbers may be overwhelming

i feel like levicorpus and sectumsempra are kind of "dual", sectumsempra being more dark. both were invented by snape, both have a spell to reverse it, both were used by harry potter without him knowing what they actually did; and even more tenuously, both have 4 syllables and two of those start with plosive consonants (corpus, tumpra). (If you count "c", you get corpus and ctumpra). so i feel like a better reader than me could've predicted that sectumsempra would have a negative consequence, although muffliato et al make the half-blood prince book ...more light on balance. maybe i'm looking too deeply into this AltoStev (discuss • contribs) 01:32, 29 April 2023 (UTC)


text: Template:Serif

title: Template:Serif


text:
Template:Serif/doc

Usage
Simply uses CSS to force a serif font on the surrounded content:

gives:

This is useful when certain letters are always given in a serif font when used as a symbol for something, to distinguish better between lower-case l and Roman numeral, etc.

Optional parameters
Advanced HTML values can be passed through the template to the HTML code:
 * class takes a class name (or multiple class names, separated by spaces); adds  to the HTML code
 * style takes inline CSS input; addes  to the HTML code
 * id takes a valid, unique HTML id (must begin with an alphabetic letter); adds  to the HTML code
 * title takes text, which cannot be marked up in any way, and displays it as a pop-up "tooltip" when the cursor hovers over the span

title: Template:Serif/doc


text:
Cookbook:Fried Green Tomatoes with Tomato and Cheese

Fried tomatoes

 * 4–6 green tomatoes
 * 4–6 eggs
 * ¼ cup milk
 * Salt
 * Black pepper
 * Red pepper flakes
 * ½ cup freshly-grated Parmesan cheese
 * 1 cup white flour
 * 2 cups bread crumbs
 * Italian seasoning
 * Oil for frying

Topping

 * 4–6 red tomatoes, chilled and sliced
 * ½ cup freshly-grated Parmesan cheese
 * Salt
 * Black pepper

Procedure

 * 1) Slice the green tomatoes into ¼-inch (0.75 cm) slices.
 * 2) Combine eggs and milk, whisking until smooth.
 * 3) Combine salt, pepper, red pepper flakes, Parmesan, and flour.
 * 4) Combine breadcrumbs and Italian seasoning.
 * 5) Dip each tomato slice into the egg mixture. Coat with the flour mixture. Dip again into the egg mixture, then finally coat it in the breadcrumb mixture.
 * 6) Fry breaded tomato slices in oil until golden brown on all sides.
 * 7) Serve by placing one slice of fried green tomato on a small serving plate and generously sprinkling with Parmesan cheese, and top the Parmesan cheese layer with one slice of chilled red tomato.
 * 8) Sprinkle entire dish with a pinch of Parmesan and dash of salt and black pepper.

Notes, tips, and variations

 * Green tomatoes can be hard to find if you don't grow your own, as most supermarkets usually sell only red tomatoes. In this case, it is possible to substitute sliced eggplant for the sliced green tomatoes.


text:
Cookbook:Gingerbread Pancakes II

Ingredients

 * 3 cups complete pancake mix
 * 1 cup brewed coffee, cooled to room temperature
 * 1 cup water
 * ¼ cup molasses
 * ½ teaspoon cinnamon
 * ¼ teaspoon ginger
 * ¼ teaspoon grated nutmeg
 * Cooking spray

Procedure

 * 1) In a mixing bowl, combine pancake mix, coffee, water, molasses, cinnamon, ginger, and nutmeg.
 * 2) Stir until combined.
 * 3) The batter will be thin; for thicker pancakes, add more mix, 1 tablespoon at a time.
 * 4) Coat a nonstick frying pan with cooking spray and place over medium heat. If using an electric skillet, heat to 375°F.
 * 5) Pour ¼ cup of batter into hot pan; cook 2 minutes or until bubbles appear and edges look dry; flip pancakes and cook 1 or 2 minutes more.
 * 6) Serve with butter and syrup, if desired.

Notes, tips, and variations

 * An excellent sauce could be made by mixing some whipped cream with some coffee creamer and syrup.

title: Cookbook:Gingerbread Pancakes II


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1087

Code page 1087 is an EBCDIC code page with with the full Symbol font charset used in IBM mainframes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1093

IBM code page 1093 (CCSID 1093) is an EBCDIC code page used in IBM mainframes. It supports the IBM logo, so the capital I, B, and M are in the IBM logo font.


text:
User:Adigitoleo/common.js

window.wpDarkModeAutoToggle = true;

title: User:Adigitoleo/common.js


text:
User:Yagashatriya

YagaKshatriya 24Manai Desathipathi

title: User:Yagashatriya


text:
User talk:YagaKshatriya

Yagakshatriya 24 Manai Desathipathi

Yagakshatriya 24 Manai Desathipathi
'''Yaga Kshatriyas is a South Indian Ruleing and Warrior caste. They can speak Tamil and Telugu and are found predominantly in the states of Tamil Nadu, Kerala, Andhra Pradesh, Karnataka in India, as well as Gujarat and Sri Lanka.''' Yagashatriya (discuss • contribs) 09:35, 29 April 2023 (UTC)

Yagakshatriya 24 Manai Desathipathi
Yaga Kshatriyas

Religions

Hinduism

Languages

Tamil, Telugu

Populated states

Andhra Pradesh, Chattisgargh, Gujarat, Karnataka, Kerala, Tamil Nadu Yagashatriya (discuss • contribs) 09:39, 29 April 2023 (UTC)

title: User talk:YagaKshatriya


text:
Fractals/Mathematics/rotating

Rotation map defines dynamical systems on the circle ( maps of the circle to itself = self-maps on the circle). The theory describing it is called Rotation Theory

"If a is rational, then every point is periodic. If a is irrational, then every point has a dense orbit." David Richeson

rational
Rotation map  $$R$$ describes counterclockwise rotation of point $$ \theta$$ thru   $$ \frac{p}{q}$$ turns on the unit circle:

$$ R_{\frac{p}{q}}(\theta) = \theta + \frac{p}{q} $$

It is used for computing:
 * itinerary

irrational

 * ROTATE IN A CIRCLE WITH A ROTATION by  Sylvie Ruette (in fr.)
 * Wikipedia: Irrational rotation

=References=

title: Fractals/Mathematics/rotating


text:
User talk:Jitendra Jitendra Suryavanshi

Speedy deletion tags
Do not remove speedy deletion tags. If you want to keep the page(s), discuss in the talk page of the corresponding page(s), explaining why you want to keep the page(s). Xeverything11 (discuss • contribs) 18:14, 29 April 2023 (UTC)

title: User talk:Jitendra Jitendra Suryavanshi


text:
User talk:41.114.108.221

Xeverything11 (discuss • contribs) 18:28, 29 April 2023 (UTC)

title: User talk:41.114.108.221


text:
High School Biology/Communicating Ideas

=  Scientist to Scientist Communication  =

Scientific Articles
Scientists often share their work by publishing an article about it in a scientific journal. Other researchers in the field read these journals to inform their own work and think of new ways to advance the field. Scientific articles have a certain format that includes the following parts (not always in the exact same order):

 * Title: a 'headline' that gives the reader an idea of what the article is about.

 * Authors: a list of all authors and contributors involved in the research, including the schools or organizations they work or study in.

 * Abstract: a short overview of the article, usually one paragraph long. These summaries are helpful for quickly introducing the subject of the work, what experiments were conducted, and any major findings.

 * Introduction: gives historical context for the study, describing previous published findings in the field that lead up to the current question the authors are trying to answer. This is often done in an 'upside-down triangle' format, going from broad ideas and narrowing it down to the specific topic of the study.

 * Materials and Methods: describes how the researchers carried out their experiments, how they measured and analyzed their data, and what equipment and lab materials they used to do this. These descriptions should be very detailed and specific, so that other researchers can do the same experiments and see if they get similar results (this is known as reproducibility). This section functions like a recipe that shows other what steps to take to (ideally) achieve the same outcomes.

 * Results: describes the results of the experiments. Collected data should be shown as graphs, diagrams, tables, charts, or images. Often, several of these are grouped together in one figure to show a major point or finding. All important elements should be labeled to make the graphics easy to understand. Figures often have short descriptions below them, called legends, that describe what is being shown. In the actual results paragraphs, the authors interpret the figures and describe any patterns they found from the data, and often discuss statistical analyses and their results.

 * Discussion and/or Conclusion: expands on the results and convinces the reader of their significance, and describes implications for the field. This can follow a 'pyramid' format, where the researchers discuss their specific results and expand on them to connect them to other related studies. For example, researchers can talk about whether their findings agree with or contradict similar studies, support a hypothesis, or if they found something new that hasn't been seen before. Based on their results, authors will often give suggestions for further studies that can be conducted or ways to their research can be applied. These are known as future directions.

 * References: often the last part of a paper, this section lists the sources cited (usually the other studies they mentioned in the article). The way these citations are formatted may differ based on the specific journal's requirements.

Peer review
When scientists do research and share their findings, their conclusions must be well-thought out and logical. To ensure this, their work is reviewed by fellow scientists before being published. This process is known as peer review.

Authors typically ask experts in the same area of study to assess their work. The reviewers help the authors identify flaws or mistakes and make suggestions to improve the study before it is shared with the rest of the scientific community. This makes sure that the research is reliable, accurate according the field, and useful for other researchers who may want to build off their work.

However, reviewers do not have full access the authors' data, so it is assumed that the work submitted for peer review is legitimate and honest. The peer review process is not designed to detect fraud.

''This material was adapted from the original CK-12 book. This work is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License.''

title: High School Biology/Communicating Ideas


text:
Oscilloscope Design

=Preface= This book is about how an oscilloscope might be designed. I am aiming at the use of an ordinary TV for display but my design can actually be used by a PC also because data can be parallel read. I will describe all the parts needed for an oscilloscope. Actually I have designed a version of this some 30 years ago, it was my exam work which I am showing. This new version does however not use four wire-wrapped circuit boards for all the logic gates, instead it uses a Spartan FPGA.

=TV-Scope Block Diagram=

This picture shows a block diagram of our TV-Scope. It consists of five modules. The first module is an input interface (KOI) which takes care of the signals from three rotational encoders used to set the different two channel attenuations (Vots/DIV) and sweep-time values (Sweep-time/DIV). The second module (KOA) is the analog heart of our TV-Scope while it is an amplifier of high bandwidth. The third module is the trigger module (KOT) which makes you trig on a chosen signal level and slope. The fourth module (KOL) is the digital heart of our TV-Scope. The fifth module is only an interface for TV (KOV).

KOF, Oscilloscope Front
Here you see my mechanical structure. Each unit has its own circuit board. As you can see it doesn't fit perfectly to the block diagram above but here it is more practical. If you want to sell a unit, this is more appropriate meaning that the different units are isolated from each other and kind of stands alone. Personly I think that the KOA has the highest commersial potential, next comes the KOT and perhaps even KOR is useful for others. KOL and KOV are however so specialized that noone would want or need them.

I have upgraded this picture somewhat, the Auto/Norm triggering feature in KOT has been eliminated while it is now hardwired in KOL (see the new version of Ts_Enable).

Critical Components
The mechanical parts (bold faced) in this list are referred to the KOF above. The electrical parts are referred to the rest of our TV Scope. All parts are rather critical. The SRAMs are critical with regard to access time (12ns). The PROMs are not critical other than memory space. The PROMs can be changed to whatever and need mainly to be of correct size. I have chosen 27C512 partly because I like that (E)PROM, partly because I can program them with my Dataman S4 programmer. While the speed of it all is important I have also chosen a fast OP-amp (LM318). The comparator (CMP01) is obsolete but I bought a couple from ebay a while ago and kind of like it (while I also used it in my original TV-Scope). The two special ICs regarding composite TV-sync generation and extraction are not necessary because Spartan can emulate them but I used them in my original TV Scope and they minimizes the design work of the Spartan.

KOR, Oscilloscope Regulators
At input the regulators see some 17Vp. AVss need not 3m3 of buffer capacitance while the current drawn there is rather low but I like symmetry. AVcc does not draw so much current either but all the other regulators will so here we need a rather high capacitance. To look at the different currents we can supply we must first check what the voltages are over the different regulators. For Vcc we have 12V, for Vdd we have 14V, for Vaux we have 15V and for Vint we have same 16V.

All regulators can supply around 1,5A but using no cooler a TO220 can't handle more than some 2W. For say Vint this means a maximum current of 2/16=125mA which isn't that much. I have no idea how much my Spartan will draw at 40MHz but I imagine not so small a current. The Spartan has three supplies (3,3/2,5/1,2V), which one draws current? Or do they all do?

I think 1,2V is the core supply and I recon it is here it draws current and 125mA doesn't sound enough. My plan is to put a cooler on all Spartan supplies. This cooler will be a push-on cooler with a K of some 16K/W and for what I have learned the maximum allowable power dissipation is then

$$P=\frac{125K}{K+K_{iso}+K_{jc}}$$

where K is the cooling factor of the cooler, Kiso is the thermal resistance of the isolation and Kjc is the thermal resistance of the junction to case. Using Kiso=0,3, Kjc(TO220)=2 and K=16 we get 7W. Now Vint can draw 7/16=0,44A and while all other regulators has less differential voltages over them they can deliver more. Let's say that they deliver some 0,5A maximum, are the buffer capacitors large enough? As you know a good approximation for the voltage drop from a capacitor input filter is

$$\Delta V=\frac{I}{C}\Delta t$$

so for a time delay of 10ms using 50Hz mains, full wave rectification and 6,6mF we have 0,8V peak to peak rippel. If AVcc/AVss (12V) is made to function at all times the voltage drop can't be more than 17V-(12V+3V)=2V while the regulators need some 3V over them to regulate, so the overall margin isn't that high. In other words, the total current to supply the system can't be much more than some 1A.

On the other hand I plan to use an AC-adaptor being able to supply 1,7Aac which means some 1,2Adc maximum.

KOI, Oscilloscope Interface
This is a theoretical unit while I am a bit uncertain how to design it so I design for all rotational encoders and the attenuator circuit here. The two different rotational encoder solutions will be merged into KOA and KOL at a later stage. I am aiming at a two channel oscilloscope so there will be two 12-step rotational encoders (in KOA) and one 18-step rotational encoder (in KOL). The POR-circuit displayed will reside in all of these three modules making three separate POR-circuits.

Tsw and POR Control
Here I show a drawing of a /POR circuit which goes low at the moment the supply voltage is put on. It holds its low level for a short time (~100ms) which enables all ICs being set to a known start value. I also show a circuit that generates five output datas (read addresses) from a rotational encoder, these addresses are then used to set the different Tsw/DIV sweep-times. The use of a rotational encoder is rather obligatory nowadays because multiple pole and throw rotational switches are obsolete and if they may at all be found they cost too much. The other circuit I am showing simply sniffs the address and shows what the setting is by simple LEDs (or LED Arrays in my case). I have an analogue oscilloscope bought from China that I like but I really dislike the feature that when you are out of range it beeps. Here I instead use the feature that when you turn the knob clockwise more than to the shortest Tsw (625ns) it switches to the longest Tsw (0,5s) but if you turn the knob counter clock wise more than to the longest Tsw, it stays there.

My thought around this is kind of advanced because when I now also wish to use this feature for the Volts/DIV this means that you will go from 1mV to 5V if you overturn the knob clock wise (CW) but you will stay at the 5V range anti clock wise. Imagine having a signal of some 50V and you happen to turn the knob counter clock wise (CCW) at the 5V range. Would you like the input amplifier to be exposed to 50V?

The input amplifier (KOA) is set for a 1mV sensitivity which is attenuated down by the attenuator for the different Volts/DIV, a sudden 50V here may not be so good. I seem to have designed so that the input can be some 22V without destroying the input protection diodes. A normal oscilloscope limit here is some 300Vp.

Attenuator Control
Here I use a single HC191 counter for the chosen attenuator voltage levels (12 levels). I then decode the 4-bit address and use a priority encoder to lit a LED for each level. The HC191 will reside in KOA and not in the Spartan (or KOL) while this gives the overall design a more pedagogic feature due to separate PCBs for KOA and KOL.

The OOR-feature (Out Of Range) is the same as above but here we move from 1mV to 5V (0h address) while turning the knob CW, turning the knob CCW at 5V however means that we stop at 5V.

The Attenuator
The reed relays draw more than 25mA which is more than HC-MOS can supply so we need some kind of buffer, I use ULN2003. The output from the attenuator control above is then inverted so we need to invert these before driving ULN. While Cin is not zero and we wish the attenuation to be frequency independent we need to have a capacitor over both attenuating resistors. At 1mV/DIV the signal is straight into KOA so here we only see Cin but due to standard probes expecting 25pF we must add some 17pF. 1mV/DIV is thus a special case but we may see it as at any attenuation level, the probe must see 25pF.

There are four governing formulas to consider:

$$R2C2=R3'C3'...[1]$$

where

$$R3'=R3//Rin$$

$$C3'=C3+Cin$$

while we need to consider KOA input, then we have

$$1/Att=\frac{R2}{R3'}+1 ...[2]$$

$$R2+R3'=1M ...[3]$$

which is the expected probe resistance and finally

$$\frac{1}{C2}+\frac{1}{C3'}=\frac{1}{25pF} ...[4]$$

where 25pF is the expected probe capacitance.

This simplifies to

$$C2=25(1+\frac{1}{1/Att-1})...[A]$$

$$C3'=(1/Att-1)C2...[B]$$

$$R3'=\frac{1M}{1/Att-1}...[C]$$

$$R2=R3'(1/Att-1)...[D]$$

Here we only need to consider the special cases above regarding the physical R3/C3 components. Att is by the way always less than one because it is a simple voltage divider and I think the formulas becomes more smooth if we use 1/Att.

Attenuator Table
Here I have calculated all attenuator values for our 12 different settings. I have aimed at a tolerance of around 2% when it comes to both frequency and level. While this tolerance is rather narrow I partly need to parallel capacitors partly use special 1% resistors of the E96 series. The tolerance for the capacitors is normally rather bad (don't hope for more than 10%) so this part of the attenuator table isn't that precise. For the high sensitive levels (low attenuation) the capacitance of the input stage (KOA) has to be considered. I reason that the input capacitance of KOA will be less than 8pF while the input protection diodes (1N4148) are said to have a maximum capacitance of 8pF and while this value is measured at a reverse voltage of zero volts, the actual capacitance when they are biased -12V will be better. The input capacitance of the KOA without the diodes is estimated to be 0pF mainly because the output capacitance of the current generator is rather low while it comes in series with the very low input capacitance of the transistors.

It suddenly strikes me that our KOA input resistor (limiting the protection diodes current) has a capacitance of around 0,1pF which is much smaller than our 25pF and also comes in series with the net diode capacitance of around 8pF. So for practical purposes we may neglect KOA input capacitance. I have now done that and corrected the attenuator table accordingly.

My choice of input resistor is 470Ohms, this while my two analog oscilloscopes has 250Vp maximum marked at the channel inputs and 470Ohm will approximatelly limit the current of input protection diodes to 250V/470Ohm=0,5A while 1N4148 can withstand 0,5A as repetitive peak current (0,3A max DC). In real life there will not be a steady DC voltage of 250V applied to the inputs (at worst case) but just a peak voltage so my limitation suffices.

Another reason for limiting the input voltage to 250V is that this is a standard voltage rating for capacitors. However, the different capacitors sees different voltages, if we look at R2 this one sees almost all at the 5V setting and none at 1mV setting so to speak but I think it is a good method if all capacitors can withstand 250V. The only problem is that my stock of capacitors are not all 250V so I plan to buy them all in a special customized order (I don't need so many as you may appreciate).

KOA, Oscilloscope Amplifier
At the differential input stage (A) I use a pair of BF245A JFET transistors. This is manly because I want to be able to set the input resistance high, if you do that with bipolar transistors you would need Darlingtons to limit the input bias current and thus the offset (due to the other transistor working with lower resistors) and I don't like that. Here I also use a current generator (T3) mainly for ease of setting the bias current while it also generates lots of CMRR. The next stage (B) is a C-stage input capacitance driver while high drive impedance results in a low bandwidth. The collector resistances R3/R4 aren't that large but their resistances are much larger than the output resistance of an emitter follower. At the C-stage I use a pair of Germanium High Frequency Transistors (AF239) and I do this mainly for fun. This is the gain stage and I use differential connection of the transistors up to here because the DM gain is higher than the CM gain. You could decouple a single ended gain transistor emitter resistor to get the same gain but I don't like that, I think it is smoother to keep the signal differential. At stage (D) there is just an emitter follower to enable low output impedance. Some of this low impedance is however ruined by the output connection where I have set the Variable pot to 1k along with a 470Ohm resistor. A sloppy estimation of the maximum output impedance is 250Ohm, for a single pole you would want the pole (fp) to lay 3 times higher in frequency for -0,5dB so if we wish to measure 10MHz without problems, the pole should lay at 30MHz. Our sloppy estimation of 250Ohms then tells us that the maximum capacitance of the next stage should be 21pF.

I will now describe the different stages, beginning with the input stage (A). While CM gain is rediculously low I omitt that and move on to DM gain, the DM gain is

$$Av_{DM}/2=\frac{\mu Rd}{rp+Rd}=\frac{375 \cdot 2k2}{125k+2k2}=6$$

This is a rather low gain but we use rather small drain resistors compared to the "plate resistance" (rp). At the next stage the voltage gain is almost exactly 1 due to emitter followers and I will not show that. At the C stage we then have our serius gain, the gain expression for these bipolar transistors is

$$Av_{DM}/2=\frac{\beta Rc}{Rs+hie+Rc}=\frac{40\cdot 2k2}{25/3,9+500+2k2}=32$$

Here the output resistance for stage B (Rs) is estimated to 25/Ic while gm is said to be Ic[mA]/25 for small signal transistors. In the datasheet for the AF239 I find that g11 is 2mS at 800MHz and 45mS at 200MHz, while this is an admittance hie may be evaluated as being 500Ohms as worst.

So the total gain is some 6*32=192. This is however less than I need, I need 215. Interesting! At my position R3/R4 may be increased rather much, one thing then is that bias current will have to be lessened another thing is that stage B has input capacitance which isn't that critical but will worsen bandwidth while I am aiming at at a GBW of 2,15GHz. On the other hand I have used the worst g11 in my calculations.

Building this "OP-amp" is very exciting, will I hit more than 215 in gain and more than 2,15GHz in bandwidth?

KOT, Oscilloscope Trigger
This unit selects four different kind of trigger sources and enables a trigger pulse to start the sampling at the wanted point. The sources are CH1, CH2, EXT and LINE where the channel inputs comes directly from KOA, EXT comes from an external trigger source and LINE comes from the 50Hz AC Line. There is a Probe Cal gadget that makes it possible to trim probes. There is also a rotational switch (V-Mode) that selects what to send to the ADCs. After IC10:b there is however a misunderstanding which I am correcting below.

New Version
Auto triggering will be enabled in KOL so the Ready signal is not needed. Auto triggering will always be enabled so that DC-signals can be displayed. Up to now a display of a DC signal has required the trigger source being set to LINE while the KOT only gives triggering signal for AC signals. I will explain further at the Ts_Enable unit.

KOL, Oscilloscope Logic module
All digital circuits except for SRAMs, PROMs, Sync-ICs, monostable multivibrators and hazard generators will be implemented in the Spartan FPGA. I think that SRAMs, monostable multivibrators and hazard generators are impossible to implement, I do however think that ROM functions are possible to implement but do not want to mix Gate CAD (ECS) with VHDL/Verilog while I also suck at programming. The Sync-ICs can be implemented in the Spartan but I think there will be less programming work if I use available ICs instead.

Ts_Enable
This unit sniffs the input trigger and is, with the use of a monostable multivibrator, set high when there has come a trigger signal from the analog part of our TV Scope. The time the multivibrator is set is slightly longer than it takes to sweep the scope with the use of maximum sweep time (10*Tsw_max) while there are 10 "squares" in the x direction, each Tsw.

This unit will have to reside outside of the Spartan.

New Version
This version incorporates an auto trigger which makes DC-signals being displayed. It works in such a way that the Spartan simulates a whole 10Tsw (or screen width) delay and if no samples has come before 10Tsw an auto trig is generated. A new sharp trigger signal then has <10Tsw before auto trig which means that the sitting AC-signal will take over if its trigger comes before the auto trigger which is the normal case for a screen width because we are viewing a signal that perhaps varies within one Tsw only.

Ts/Tswap Generator
Here we divide a 40MHz crystal to give the different sweep-times. Actually the sweep-times (Tsw) themselves are not generated but Tsw/50 which gives the sampling time (Ts). A signal called Tswap (40MHz) is also created which is used to move the sampled data from the Sampling Memory to the Read Memory while the samples can not be moved other than during the time for the vertical sync and it is a good thing to move the samples with highest possible speed.

Except for the PROM, the component type numbers are not relevant because this unit will reside in the Spartan.

[I will remove this later on and just update the picture. As a note I have come to the conclusion that showing the grid on a TV screen using 500 samples means that I need a PROM of 128kB, moving down to 250 samples only requires half which means that I can use my precious 27C512-10 for both the Tsw division and the grid. This then has the advantage that the rest will be more simple when it comes to design (due to only one full byte of counters) and by halving the number of samples per division (Tsw) I can move lower when it comes to Tsw and thus view signals of higher frequency. The drawback is that I will have to redesign this picture and also the programming table below, another drawback is the resolution i.e 25 samples (instead of 50) per Tsw].

New Version
Below I have reduced the number of samples per Tsw from 50 to 25. This is because I want to use my precious 27C512 which are only 64kx8 while I originally needed 128kx8. 25 samples per Tsw does however mean that I can measure higher up in frequency while the resolution then thus is somewhat worse but I think that 25 samples per Tsw (division) is enough. The super fast SRAMs are the limitation.

PROM Programming Table
The 40MHz crystal is here divided to give us the Ts and Tsw we need (where Tsw is the sweep-time per divison and the number of divisions x-wise in an oscilloscope is ten, each Tsw is here sampled 50 times). As you can see the shortest Ts is the crystal period and I think that the SRAMs need to have half of this time as access time because I have had some problems with 20ns memories.

New Version
Here I have upgraded the programming table for the Tsw PROM. I have not done so much studies but only changed the above original programming table to this one. I may however have to check it but that is an easy thing.

Sampling/Swap Mode Switch
This unit switches between sampling (Ts) and swap (Tswap). At sampling the Sampling-memory is filled with data and there is a LAR (Last Address Ready) when the last address has been "sampled". This first LAR switches to swap but swap can not be done other than during vertical sync (here named swap-start), also the total sampling time may exceed 20ms (half TV page time) so we have to wait until sampling has finished before we can swap. At swap-start the content of the Sampling-memory is copied to the Read-memory with a high speed (40MHz in this case) and while the speed is so high the copying will finish before the vertical part of the TV picture has finished. When all data has been swaped there is another LAR which via NTE enables a new trigger.

At the chosen start-line, the samples will be displayed. There is also an area of the TV-screen that is enabled only for our 256 ADC data range (En.D-lines) where this signal also makes it possible to adjust the displayed data horizontally (X-Pos).

New Version
Here I change the "Swap Start" to the verikal pulse (VO) instead while the VO is of short duration (around 200us) and hazards are not allowed inside the Spartan. By doing this I may also be able to skip the sync separating IC (LM1881) and only use the sync generator IC (MSM5258) which have the signals I need.

Ts/Tswap Address
Here we generate addresses for Ts and Tswap. The counters are initiated to Fh while the first clock-pulse sets them to our first sample of address 0h and from there the counters are just stepped up. We also generate a signal LAR (Last Address Ready) which tells us that the maximum address has been reached (i.e all of our 500 samples has been stored). The LAR is generated twice, firstly after sampling and secondly after swapping and it is only when swap is finished the LAR generates a NTE (New Trig Enable) so that there can be a new sampling.

While the used counters has syncronous load the clock needs to be delayed a short time (done by a small capacitor, C1) because /LD has to be low when the clock comes. I will change the counters to asyncrous ones instead.

New Version
Here I eliminate one counter to reduce the number of samples from 500 to 250. This has to do with my precious 27C512 EPROM while it also simplifies a lot.

In this drawing I use the HC193 instead of the HC163. This is just schematic while the counters will reside inside the Spartan. I am however aiming at a counter in the Spartan library that has asynchronous Load. In the former version I used a counter that had synchronous load which complicate things (the load pulse was had to be delayed for the clock). The benefit with the former counter is that it is faster but as I readily have told you, this doesn't matter (due to Spartan being fast).

I relay an inverted version of the Ts/Tswap clock (and has called it /Ck) and this is rather important because it gives a delay of the whole clock when writing to the memory. The memory can't be written at the same time the address is generated.

The LAR-signal is looked to overshoot (250 samples means 0-249) but what happens is that when the sample number is 249 the asynchronous load loads FFh so that when the first Ts/Tswap comes we have the address 0.

The LAR pulse is short, it is only a spike of around tpd duration. We do however not need a full pulse here, tpd is enough to initialize the counters. This way we have a rather exact time delay of 250 Ts/Tswap.

TV_Read (adr+sim.data)
Here we generate read addresses for reading by the Sync-IC. It starts with the vertical output pulse (VO) which goes high at the odd field and the address is stepped forward by the D-Read signal. The signal En.D-Lines tells the system where to start reading and displaying the data on the TV screen. En.D-lines sets where on the screen we want the data to be displayed. Sim.Data is a simulated data bus which is used to be compared with the (inverted) ADC data. The data from the ADC is inverted (either analoglly or digitally) because the first line on the top of the TV screen has the line number 0 while the line numbers are increased downwards so to be able to compare the line-data with the ADC data the ADC has to be inverted.

New Version
Here I also eliminate a counter to handle 250 samples instead. When D-lines is not enabled and the vertical pulse (VO) comes the simulated data (Sim.Data) and the Read-address will be set to FFh. At each line-read (D-Read) the simulated data will be stepped up at the same time the Read-Address is stepped up. So at first D-read pulse the simulated data is zero and the address is zero. Simulated data begins from the top of the TV screen so the A/D value will have to be inverted to match the line number (simulated data). When the simulated data equals the inverted A/D value, the pixel is lit.

This version is more simple than the original partly because I here use up/down counters that have asynchronous Load and Clear partly because the number of addresses/samples is two nibbles long only.

In practice this doesn't matter because I plan to use predefined counters in the Spartan library but right now I do not know what they are, on the other hand I can manufacture counters by using gates only, which I have done for my CPU, and that I know resides in the library.

Memory Handling
The sampling is done to the Sampling Memory. When a sampling is done and the vertical pulse has come, the sampled samples are moved by the swap-clock to the the Read Memory. After this is done the Read Memory is read. This is because the samples can only be read while the TV is showing the samples and we need to see the samples all the time.

Grid PROM
The pixels are lit when the simulated data equals the programmed data. The simulated data is linearly increased from the top of the screen where the first line has the value 0, inverting the data makes the data have the value 0 too. So when the line number is the same as the data the pixel is lit. The programming of the Grid PROM is however not so simple.

New Version
Here I reduce the number of samples to be able to use my precious 27C512 instead. This means that the resolution per Tsw (division) will go from 50 samples per division to 25 samples per division. It however also makes me being able to measure higher frequencies. Consider 50Ts/Tsw and the shortest Ts is 25ns, then one hole division will take 25ns*50=1,25us. Now an estimation of the shortest period of a signal to be visualized is some 1,25us/5=250ns. The inversion of this makes the highest possible frequency to be seen 4MHz. Halving the resolution will instead enable the visualization of 8HHz.

I do not plan to implement the standard feature of analog oscilloscopes that is a 10X Mag so we are stuck with only being able to measure frequencies around 8MHz maximum.

The programing of this Grid PROM is however not that trivial. At the original situation some 30 years ago it took the fastest available computer at Chalmers some two hours!

Video Out Generator
This drawing is preliminary but rather important because it fundamentally determines how to read the sampling memory. My plan is another than this original version where we have an output signal called "Swap-start". I used two SRAMs at this occasion but is now contemplating the use of only one SRAM per channel while the MSM5258 PAL Sync Generator actually has a reset which may perhaps be used to start the reading of the sampled SRAM at a controlled screen position. The original solution did have to wait for the vertical sync.

New Version
Here I eliminate the sync separator IC (LM1881) to use the sync generator IC only (MSM5258) instead. The vertical output pulse (VO) is of around 200us in length and it is a pulse that goes positive at odd fields. I anticipated a problem here because if we use shortest Tsw one 10Tsw sweep (a full screen) will take 250*25ns=6,25us which also is the same as the swap-speed. So the obligatory sampling+swap will take 12,5us that is, if it takes a longer time than the sampling time which means that the swapping will have to wait for the next vertical pulse (VO). But this is always the case if we consider long Tsw where 10Tsw can take up to 5s (10*0,5s/DIV). Here we wish to see something on the screen in spite of the sampling not being ready. So this is not a problem.

A problem could be the fact that I don't sniff the actual flank of the VO but is aiming at using the 200us VO pulse instead (while the Spartan can't handle hazards) which means that if 10Tsw is less than 200us we have to wait for the next VO. On the other hand, if 10Tsw is longer than VO we have to wait for VO anyway.

I have come to the conclusion that the outputs of the sync-generator IC are open drain. This way it is easy to adapt the output voltage to the Spartan. The values of the resistors are kind of irrelevant but I will use 10k.

Line Field Decoder
This module generates a signal that is high during all 256 lines (which is our data range). I have a hard time understanding it and will try to understand it better. It is copied as an application example for the LM1881 sync separator.

I think I now understand it better and have made some corrections, the most brutal correction is the elimination of the inverter from the borrow output of Nr of Continues Lines while this is a negative going pulse when all continues lines have been counted. At that stage the latch have to be reset so that the final counting of the continues lines enables a one at the count down (CD) input to stop the counting. The continues lines is the last that happens, then a odd/even screen is generated.

Here I however though that while there are capacitors involved here I need to place this part outside of the Spartan. Now I however think that this isn't necessary because both the Composite Sync (CS) and the Vertical Pulse (VO) are indeed pulses. The exact start of the lines will however probably have to be adjusted in retrospect.

I reason like this, while they are pulses it doesn't really matter when they are in control because they will come in synchronization anyway. If the triggering of the internal counters with regard to CS is delayed 14us pulse or not doesn't matter much, likewise if the triggering by the VO pulse is delayed 200us.

TV-Read Clock
This unit gives offset possibilities for where we horizontally wish to show our samples. It also gives independent offset possibilities for both the Grid and Data. Due to this we may horizontally adjust the grid to the center of the TV screen along with X-POS adjustment of our data. X-POS is rather important because we often wish to adjust so that the signal crosses the grid at a certain place so that we more easily can estimate its frequency.

External Read
Here we try to read the sampled data externally. This is preliminary done by creating two signals (VO and D-read) in a PC. VO is a positive pulse of short duration (normally ~200us) and D-Read is a synthesized horizontal pulse that reads the data in syncronization with the read addresses. This syncronization is enabled internally so to read data without PAL syncronisation we need to take care. When there has come a NTE (sampling and swap is finished) it means that fresh data resides inside the Read memory but reading of the Read memory may take a shorter time (compared to 10Tsw) than before next NTE (e.g a new sampling and swap), in that case we just wait for NTE and sends VO until NTE comes, that is we read one time and send VO until NTE goes high then we read again (new data).

KOS, Oscilloscope Spartan
This is not a separate unit while it is incorporated in KOL. I do however need to specify several steps (and Gate-programming) of the Spartan. The point being that only pure gate technologies will be used here because I do not understand so much more and have simplified (in my world) to use the Spartan as little as possible while keeping the overall size to a minimum.

All signals into the Spartan will have a 100Ohm series resistor from 5V external systems while the Spartan is not 5V tolerant. Ts_Enable can however be realized using 3,3V (HC-MOS can work down to 2V). The 40MHz crystal is intended to be a 5V DIL crystal which needs a 100Ohm resistor, this is also valid for the outputs of the 5V Tsw PROM (IC3) and the rotational encoder counters (IC6-7, HC191), the rotational encoder counters can however use 3,3V along with the Schmitt triggers (IC8).

While the trigger pulse for Ts_Enable comes from an "analog" 5V system I think it is more attractive to inject a 100Ohm resistor in series before Spartan.

In total I have to add 10pcs of 100Ohm resistors (I have checked that 3,3V is enough for high level on 5V systems).

New Version
This version will have a counter output for the auto trig function (10Tsw). It will also be incorporated with all the resistors needed for the Spartan interface.

I kind of think that 100 Ohms from 5V systems is a bit too low a resistance because let's say that there are input protection diodes at Spartan, the maximum input voltage is then 4V (3,3V+0,7V). (5V-4V)/100 is then 10mA. The Spartan itself can probably withstand this current but the units supplying this current will have to be able to supply 10mA. And I am right now not so certain that they can. The PROMs can but what about the DIL Crystal and the Sync Generator IC? I have checked that the recommended minimum supply voltage for the Sync Generator IC is 4V.

I have come to the conclusion that the sync-generation IC has open drain outputs which means that I can set the output to whatever I like (as long as it is lower than the 5V supply). So this IC does not need a series input resistor to the Spartan.

I have upgraded this picture somewhat, my philosophy is now that all ICs outside of the Spartan will run at 5V. This voltage (Vcc) is however not noted, the supply voltage is only noted for the 3,3V (Vdd) case. The Spartan needs to accept 5V through a resistor but it's 3,3V "core" can drive 5V logic.

I have revised this drawing somewhat because I suddenly decided that the counters for the rotational encoder will reside in the Spartan. The counters are actually not so special it was just that I have had a hard time realizing it. The counters are just simple up/down counters using a U/D' input and a CLK input. These gotta be available in the Spartan library and if the are not I can actually manufacture them using ordinary gates.

KOV, Oscilloscope TV module
The Lines Enabled (LE) part will be generated from the Spartan (with the aid of internal counters) and is thus 3,3V, all other signals are external and of the amplitude 5V.

The gates will be supplied with 5V and I have checked that 3,3V is enough for high level.

Epilogue
I have designed this TV Scope with the use of discrete logic capsules. So the whole design may be built using capsules only. The only problem is that the quantity of capsules will be rather high. I thus aim at reducing the number of capsules with the use of a Spartan FPGA. I have done some preliminary calculations and this seems to mean that the number of capsules drops from some 50 to 10. Designing it discretely however means the use of HC193 (my tip) but this counter only works to a frequency of some 32MHz (typically according to datasheet) while we sometimes run 40MHz. So this counter may have to be revised. A final thing is that I strongly recommend that all the signals in the PC Read feature are buffered while this saves the Spartan and the read memory. HC541 might suit the purpose.

title: Oscilloscope Design


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1097

IBM code page 1097 (CCSID 1097) is an EBCDIC code page used in IBM mainframes in Iran to support Persian.

Codepage layout
{{legend|#EFF|Not in Unicode, mapped to private use area}}


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1136

IBM code page 1136 (CCSID 1136) is an EBCDIC code page used in IBM mainframes in Japan.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1150

IBM code page 1150 (CCSID 1150) is an EBCDIC code page used in IBM mainframes. It is an extension of Code page 833 that includes box drawing characters.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1151

IBM code page 1151 (CCSID 1151) is an EBCDIC code page used in IBM mainframes. It is an extension of Code page 836 that includes box drawing characters.

Codepage layout
Characters are shown with their equivalent Unicode codes.

=References==


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1152

IBM code page 1152 (CCSID 1152) is an EBCDIC code page used in IBM mainframes. It is an extension of CCSID 28709 (code page 1159 without the euro sign) that includes box drawing characters.

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1278

IBM code page 1278 (CCSID 1278) is an EBCDIC code page used in IBM mainframes. It covers all of the PostScript Standard Encoding (code page 1276).

Codepage layout
Characters are shown with their equivalent Unicode codes.


text:
Character Encodings/Code Tables/EBCDIC/EBCDIC 1303

IBM code page 1303 (CCSID 1303) is an EBCDIC code page with full ASCII used in IBM mainframes. It is used for bar codes.

Codepage layout
Characters are shown with their equivalent Unicode codes.

 * 0x8F represents symbol for FN1 (not in Unicode).
 * 0xEA represents symbol for FN2 (not in Unicode).
 * 0xFA represents symbol for FN3 (not in Unicode).
 * 0xBE represents symbol for FN4 (not in Unicode).


text:
User:Xeverything11/background/assets/door

        Exit For emergency push to open