title: Exception handling

text: Exception handling solves the semipredicate problem, in that the mechanism distinguishes normal return values from erroneous ones. In languages without built-in exception handling such as C, routines would need to signal the error in some other way, such as the common return code and errno pattern. Taking a broad view, errors can be considered to be a proper subset of exceptions, and explicit error mechanisms such as errno can be considered (verbose) forms of exception handling. The term "exception" is preferred to "error" because it does not imply that anything is wrong - a condition viewed as an error by one procedure or programmer may not be viewed that way by another. Even the term "exception" may be misleading because its typical connotation of "outlier" indicates that something infrequent or unusual has occurred, when in fact raising the exception may be a normal and usual situation in the program. For example, suppose a lookup function for an associative array throws an exception if the key has no value associated. Depending on context, this "key absent" exception may occur much more often than a successful lookup.


title: Exception handling

text: A major influence on the scope and use of exceptions is social pressure, i.e. "examples of use, typically found in core libraries, and code examples in technical books, magazine articles, and online discussion forums, and in an organization’s code standards".


title: Exception handling

text: The first hardware exception handling was found in the UNIVAC I from 1951. Arithmetic overflow executed two instructions at address 0, which could transfer control or fix up the result.


title: Exception handling

text: Software exception handling developed in the 1960s and 1970s. LISP 1.5 (1958-1961) allowed exceptions to be raised by the codice_1 pseudo-function, similarly to errors raised by the interpreter or compiler. Exceptions were caught by the codice_2 keyword, which returned codice_3 in case of an error, instead of terminating the program or entering the debugger.


title: Exception handling

text: PL/I introduced its own form of exception handling circa 1964, allowing interrupts to be handled with ON units.


title: Exception handling

text: MacLisp observed that codice_4 and codice_5 were used not only for error raising, but for non-local control flow, and thus added two new keywords, codice_6 and codice_7 (June 1972). The cleanup behavior now generally called "finally" was introduced in NIL (New Implementation of LISP) in the mid- to late-1970s as codice_8. This was then adopted by Common Lisp. Contemporary with this was codice_9 in Scheme, which handled exceptions in closures. The first papers on structured exception handling were and . Exception handling was subsequently widely adopted by many programming languages from the 1980s onward.


title: Exception handling

text: There is no clear consensus as to the exact meaning of an exception with respect to hardware. From the implementation point of view, it is handled identically to an interrupt: the processor halts execution of the current program, looks up the interrupt handler in the interrupt vector table for that exception or interrupt condition, saves state, and switches control.


title: Exception handling

text: Exception handling in the IEEE 754 floating-point standard refers in general to exceptional conditions and defines an exception as "an event that occurs when an operation on some particular operands has no outcome suitable for every reasonable application. That operation might signal one or more exceptions by invoking the default or, if explicitly requested, a language-defined alternate handling."


title: Exception handling

text: By default, an IEEE 754 exception is resumable and is handled by substituting a predefined value for different exceptions, e.g. infinity for a divide by zero exception, and providing status flags for later checking of whether the exception occurred (see C99 programming language for a typical example of handling of IEEE 754 exceptions). An exception-handling style enabled by the use of status flags involves: first computing an expression using a fast, direct implementation; checking whether it failed by testing status flags; and then, if necessary, calling a slower, more numerically robust, implementation.


title: Exception handling

text: The IEEE 754 standard uses the term "trapping" to refer to the calling of a user-supplied exception-handling routine on exceptional conditions, and is an optional feature of the standard. The standard recommends several usage scenarios for this, including the implementation of non-default pre-substitution of a value followed by resumption, to concisely handle removable singularities.


title: Exception handling

text: The default IEEE 754 exception handling behaviour of resumption following pre-substitution of a default value avoids the risks inherent in changing flow of program control on numerical exceptions. For example, the 1996 Cluster spacecraft launch ended in a catastrophic explosion due in part to the Ada exception handling policy of aborting computation on arithmetic error. William Kahan claims the default IEEE 754 exception handling behavior would have prevented this.


title: Exception handling

text: Software exception handling and the support provided by software tools differs somewhat from what is understood by exception handling in hardware, but similar concepts are involved. In programming language mechanisms for exception handling, the term "exception" is typically used in a specific sense to denote a data structure storing information about an exceptional condition. One mechanism to transfer control, or "raise" an exception, is known as a "throw". The exception is said to be "thrown". Execution is transferred to a "catch".


title: Exception handling

text: Programming languages differ substantially in their notion of what an exception is. Contemporary languages can roughly be divided into two groups:


title: Exception handling

text: PL/I used dynamically scoped exceptions. PL/I exception handling included events that are not errors, e.g., attention, end-of-file, modification of listed variables.


title: Exception handling

text: Many computer languages have built-in syntactic support for exceptions and exception handling. This includes ActionScript, Ada, BlitzMax, C++, C#, Clojure, COBOL, D, ECMAScript, Eiffel, Java, ML, Object Pascal (e.g. Delphi, Free Pascal, and the like), PowerBuilder, Objective-C, OCaml, PHP (as of version 5), PL/I, PL/SQL, Prolog, Python, REALbasic, Ruby, Scala, Seed7, Smalltalk, Tcl, Visual Prolog and most .NET languages.


title: Exception handling

text: Excluding minor syntactic differences, there are only a couple of exception handling styles in use. In the most popular style, an exception is initiated by a special statement (codice_10 or codice_11) with an exception object (e.g. with Java or Object Pascal) or a value of a special extendable enumerated type (e.g. with Ada or SML). The scope for exception handlers starts with a marker clause (codice_12 or the language's block starter such as codice_13) and ends in the start of the first handler clause (codice_14, codice_15, codice_16). Several handler clauses can follow, and each can specify which exception types it handles and what name it uses for the exception object. As a minor variation, some languages use a single handler clause, which deals with the class of the exception internally.


title: Exception handling

text: Also common is a related clause (codice_17 or codice_18) that is executed whether an exception occurred or not, typically to release resources acquired within the body of the exception-handling block. Notably, C++ does not provide this construct, recommending instead the Resource Acquisition Is Initialization (RAII) technique which frees resources using destructors. According to a 2008 paper by Westley Weimer and George Necula, the syntax of the codice_12...codice_17 blocks in Java is a contributing factor to software defects. When a method needs to handle the acquisition and release of 3–5 resources, programmers are apparently unwilling to nest enough blocks due to readability concerns, even when this would be a correct solution. It is possible to use a single codice_12...codice_17 block even when dealing with multiple resources, but that requires a correct use of sentinel values, which is another common source of bugs for this type of problem.


title: Exception handling

text: Python and Ruby also permit a clause (codice_23) that is used in case no exception occurred before the end of the handler's scope was reached.


title: Exception handling

text: C does not have try-catch exception handling, but uses return codes for error checking. The codice_24 and codice_25 standard library functions can be used to implement try-catch handling via macros.


title: Exception handling

text: Perl 5 uses codice_26 for codice_10 and codice_28 for try-catch. It has CPAN modules that offer try-catch semantics.


title: Exception handling

text: When an exception is thrown, the program searches back through the stack of function calls until an exception handler is found. Some languages call for unwinding the stack as this search progresses. That is, if function , containing a handler for exception , calls function , which in turn calls function , and an exception occurs in , then functions and may be terminated, and in will handle . This is said to be termination semantics.


title: Exception handling

text: Alternately, the exception handling mechanisms may not unwind the stack on entry to an exception handler, giving the exception handler the option to restart the computation, resume or unwind. This allows the program to continue the computation at exactly the same place where the error occurred (for example when a previously missing file has become available) or to implement notifications, logging, queries and fluid variables on top of the exception handling mechanism (as done in Smalltalk). Allowing the computation to resume where it left off is termed resumption semantics.


title: Exception handling

text: There are theoretical and design arguments in favor of either decision. C++ standardization discussions in 1989–1991 resulted in a definitive decision to use termination semantics in C++. Bjarne Stroustrup cites a presentation by Jim Mitchell as a key data point:


title: Exception handling

text: Exception-handling languages with resumption include Common Lisp with its Condition System, PL/I, Dylan, R, and Smalltalk. However, the majority of newer programming languages follow C++ and use termination semantics.


title: Exception handling

text: The implementation of exception handling in programming languages typically involves a fair amount of support from both a code generator and the runtime system accompanying a compiler. (It was the addition of exception handling to C++ that ended the useful lifetime of the original C++ compiler, Cfront.) Two schemes are most common. The first, "", generates code that continually updates structures about the program state in terms of exception handling. Typically, this adds a new element to the stack frame layout that knows what handlers are available for the function or method associated with that frame; if an exception is thrown, a pointer in the layout directs the runtime to the appropriate handler code. This approach is compact in terms of space, but adds execution overhead on frame entry and exit. It was commonly used in many Ada implementations, for example, where complex generation and runtime support was already needed for many other language features. Microsoft's 32-bit Structured Exception Handling (SEH) uses this approach with a separate exception stack. Dynamic registration, being fairly straightforward to define, is amenable to proof of correctness.


title: Exception handling

text: The second scheme, and the one implemented in many production-quality C++ compilers and 64-bit Microsoft SEH, is a . This creates static tables at compile time and link time that relate ranges of the program counter to the program state with respect to exception handling. Then, if an exception is thrown, the runtime system looks up the current instruction location in the tables and determines what handlers are in play and what needs to be done. This approach minimizes executive overhead for the case where an exception is not thrown. This happens at the cost of some space, but this space can be allocated into read-only, special-purpose data sections that are not loaded or relocated until an exception is actually thrown. The location (in memory) of the code for handling an exception need not be located within (or even near) the region of memory where the rest of the function's code is stored. So if an exception is thrown then a performance hit – roughly comparable to a function call – may occur if the necessary exception handling code needs to be loaded/cached. However, this scheme has minimal performance cost if no exception is thrown. Since exceptions in C++ are supposed to be "exceptional" (i.e. uncommon/rare) events, the phrase "zero-cost exceptions" is sometimes used to describe exception handling in C++. Like runtime type identification (RTTI), exceptions might not adhere to C++'s zero-overhead principle as implementing exception handling at run-time requires a non-zero amount of memory for the lookup table. For this reason, exception handling (and RTTI) can be disabled in many C++ compilers, which may be useful for systems with very limited memory (such as embedded systems). This second approach is also superior in terms of achieving thread safety.


title: Exception handling

text: Other definitional and implementation schemes have been proposed as well. For languages that support metaprogramming, approaches that involve no overhead at all (beyond the already present support for reflection) have been advanced.


title: Exception handling

text: A different view of exceptions is based on the principles of design by contract and is supported in particular by the Eiffel language. The idea is to provide a more rigorous basis for exception handling by defining precisely what is "normal" and "abnormal" behavior. Specifically, the approach is based on two concepts:


title: Exception handling

text: The "Safe Exception Handling principle" as introduced by Bertrand Meyer in Object-Oriented Software Construction then holds that there are only two meaningful ways a routine can react when an exception occurs:


title: Exception handling

text: In particular, simply ignoring an exception is not permitted; a block must either be retried and successfully complete, or propagate the exception to its caller.


title: Exception handling

text: Here is an example expressed in Eiffel syntax. It assumes that a routine is normally the better way to send a message, but it may fail, triggering an exception; if so, the algorithm next uses , which will fail less often. If fails, the routine as a whole should fail, causing the caller to get an exception.


title: Exception handling

text: The boolean local variables are initialized to False at the start. If fails, the body ( clause) will be executed again, causing execution of . If this execution of fails, the clause will execute to the end with no (no clause in the final ), causing the routine execution as a whole to fail.


title: Exception handling

text: This approach has the merit of defining clearly what "normal" and "abnormal" cases are: an abnormal case, causing an exception, is one in which the routine is unable to fulfill its contract. It defines a clear distribution of roles: the clause (normal body) is in charge of achieving, or attempting to achieve, the routine's contract; the clause is in charge of reestablishing the context and restarting the process, if this has a chance of succeeding, but not of performing any actual computation.


title: Exception handling

text: Although exceptions in Eiffel have a fairly clear philosophy, Kiniry (2006) criticizes their implementation because "Exceptions that are part of the language definition are represented by INTEGER values, developer-defined exceptions by STRING values. [...] Additionally, because they are basic values and not objects, they have no inherent semantics beyond that which is expressed in a helper routine which necessarily cannot be foolproof because of the representation overloading in effect (e.g., one cannot


title: Exception handling

text: Contemporary applications face many design challenges when considering exception handling strategies. Particularly in modern enterprise level applications, exceptions must often cross process boundaries and machine boundaries. Part of designing a solid exception handling strategy is recognizing when a process has failed to the point where it cannot be economically handled by the software portion of the process.


title: Exception handling

text: If an exception is thrown and not caught (operationally, an exception is thrown when there is no applicable handler specified), the uncaught exception is handled by the runtime; the routine that does this is called the . The most common default behavior is to terminate the program and print an error message to the console, usually including debug information such as a string representation of the exception and the stack trace. This is often avoided by having a top-level (application-level) handler (for example in an event loop) that catches exceptions before they reach the runtime.


title: Exception handling

text: Note that even though an uncaught exception may result in the "program" terminating abnormally (the program may not be correct if an exception is not caught, notably by not rolling back partially completed transactions, or not releasing resources), the "process" terminates normally (assuming the runtime works correctly), as the runtime (which is controlling execution of the program) can ensure orderly shutdown of the process.


title: Exception handling

text: In a multithreaded program, an uncaught exception in a thread may instead result in termination of just that thread, not the entire process (uncaught exceptions in the thread-level handler are caught by the top-level handler). This is particularly important for servers, where for example a servlet (running in its own thread) can be terminated without the server overall being affected.


title: Exception handling

text: This default uncaught exception handler may be overridden, either globally or per-thread, for example to provide alternative logging or end-user reporting of uncaught exceptions, or to restart threads that terminate due to an uncaught exception. For example, in Java this is done for a single thread via codice_29 and globally via codice_30; in Python this is done by modifying codice_31.


title: Exception handling

text: Java introduced the notion of checked exceptions, which are special classes of exceptions. The checked exceptions that a method may raise must be part of the method's signature. For instance, if a method might throw an , it must declare this fact explicitly in its method signature. Failure to do so raises a compile-time error. According to Hanspeter Mössenböck, checked exceptions are less convenient but more robust. Checked exceptions can, at compile time, reduce the incidence of unhandled exceptions surfacing at runtime in a given application.


title: Exception handling

text: Kiniry writes that "As any Java programmer knows, the volume of codice_32 code in a typical Java application is sometimes larger than the comparable code necessary for explicit formal parameter and return value checking in other languages that do not have checked exceptions. In fact, the general consensus among in-the-trenches Java programmers is that dealing with checked exceptions is nearly as unpleasant a task as writing documentation. Thus, many programmers report that they “resent” checked exceptions.". Martin Fowler has written "...on the whole I think that exceptions are good, but Java checked exceptions are more trouble than they are worth." As of 2006 no major programming language has followed Java in adding checked exceptions. For example, C# does not require or allow declaration of any exception specifications, with the following posted by Eric Gunnerson:


title: Exception handling

text: To work around these, Hejlsberg says programmers resort to circumventing the feature by using a declaration. Another circumvention is to use a handler. This is referred to as catch-all exception handling or Pokémon exception handling after the show's catchphrase "Gotta Catch ‘Em All!". The Java Tutorials discourage catch-all exception handling as it may catch exceptions "for which the handler was not intended". Still another discouraged circumvention is to make all exceptions subclass . An encouraged solution is to use a catch-all handler or throws clause but with a specific superclass of all potentially thrown exceptions rather than the general superclass . Another encouraged solution is to define and declare exception types that are suitable for the level of abstraction of the called method and map lower level exceptions to these types by using exception chaining.


title: Exception handling

text: The roots of checked exceptions go back to the CLU programming language's notion of exception specification. A function could raise only exceptions listed in its type, but any leaking exceptions from called functions would automatically be turned into the sole runtime exception, , instead of resulting in compile-time error. Later, Modula-3 had a similar feature. These features don't include the compile time checking that is central in the concept of checked exceptions.


title: Exception handling

text: Early versions of the C++ programming language included an optional mechanism similar to checked exceptions, called exception specifications. By default any function could throw any exception, but this could be limited by a clause added to the function signature, that specified which exceptions the function may throw. Exception specifications were not enforced at compile-time. Violations resulted in the global function being called. An empty exception specification could be given, which indicated that the function will throw no exception. This was not made the default when exception handling was added to the language because it would have required too much modification of existing code, would have impeded interaction with code written in other languages, and would have tempted programmers into writing too many handlers at the local level. Explicit use of empty exception specifications could, however, allow C++ compilers to perform significant code and stack layout optimizations that are precluded when exception handling may take place in a function. Some analysts viewed the proper use of exception specifications in C++ as difficult to achieve. This use of exception specifications was included in C++98 and C++03, deprecated in the 2012 C++ language standard (C++11), and was removed from the language in C++17. A function that will not throw any exceptions can now be denoted by the keyword.


title: Exception handling

text: An uncaught exceptions analyzer exists for the OCaml programming language. The tool reports the set of raised exceptions as an extended type signature. But, unlike checked exceptions, the tool does not require any syntactic annotations and is external (i.e. it is possible to compile and run a program without having checked the exceptions).


title: Exception handling

text: The point of exception handling routines is to ensure that the code can handle error conditions. In order to establish that exception handling routines are sufficiently robust, it is necessary to present the code with a wide spectrum of invalid or unexpected inputs, such as can be created via software fault injection and mutation testing (that is also sometimes referred to as fuzz testing). One of the most difficult types of software for which to write exception handling routines is protocol software, since a robust protocol implementation must be prepared to receive input that does not comply with the relevant specification(s).


title: Exception handling

text: In order to ensure that meaningful regression analysis can be conducted throughout a software development lifecycle process, any exception handling testing should be highly automated, and the test cases must be generated in a scientific, repeatable fashion. Several commercially available systems exist that perform such testing.


title: Exception handling

text: In runtime engine environments such as Java or .NET, there exist tools that attach to the runtime engine and every time that an exception of interest occurs, they record debugging information that existed in memory at the time the exception was thrown (call stack and heap values). These tools are called automated exception handling or error interception tools and provide 'root-cause' information for exceptions.


title: Exception handling

text: Asynchronous exceptions are events raised by a separate thread or external process, such as pressing Ctrl-C to interrupt a program, receiving a signal, or sending a disruptive message such as "stop" or "suspend" from another thread of execution. Whereas synchronous exceptions happen at a specific codice_10 statement, asynchronous exceptions can be raised at any time. It follows that asynchronous exception handling can't be optimized out by the compiler, as it cannot prove the absence of asynchronous exceptions. They are also difficult to program with correctly, as asynchronous exceptions must be blocked during cleanup operations to avoid resource leaks.


title: Exception handling

text: Programming languages typically avoid or restrict asynchronous exception handling, for example C++ forbids raising exceptions from signal handlers, and Java has deprecated the use of its ThreadDeath exception that was used to allow one thread to stop another one. Another feature is a semi-asynchronous mechanism that raises an asynchronous exception only during certain operations of the program. For example Java's only affects the thread when the thread calls an operation that throws . The similar POSIX API has race conditions which make it impossible to use safely.


title: Exception handling

text: Common Lisp, Dylan and Smalltalk have a condition system (see Common Lisp Condition System) that encompasses the aforementioned exception handling systems. In those languages or environments the advent of a condition (a "generalisation of an error" according to Kent Pitman) implies a function call, and only late in the exception handler the decision to unwind the stack may be taken.


title: Exception handling

text: Conditions are a generalization of exceptions. When a condition arises, an appropriate condition handler is searched for and selected, in stack order, to handle the condition. Conditions that do not represent errors may safely go unhandled entirely; their only purpose may be to propagate hints or warnings toward the user.


title: Exception handling

text: This is related to the so-called "resumption model" of exception handling, in which some exceptions are said to be "continuable": it is permitted to return to the expression that signaled an exception, after having taken corrective action in the handler. The condition system is generalized thus: within the handler of a non-serious condition (a.k.a. "continuable exception"), it is possible to jump to predefined restart points (a.k.a. "restarts") that lie between the signaling expression and the condition handler. Restarts are functions closed over some lexical environment, allowing the programmer to repair this environment before exiting the condition handler completely or unwinding the stack even partially.


title: Exception handling

text: An example is the ENDPAGE condition in PL/I; the ON unit might write page trailer lines and header lines for the next page, then fall through to resume execution of the interrupted code.


title: Exception handling

text: Condition handling moreover provides a separation of mechanism from policy. Restarts provide various possible mechanisms for recovering from error, but do not select which mechanism is appropriate in a given situation. That is the province of the condition handler, which (since it is located in higher-level code) has access to a broader view.


title: Exception handling

text: An example: Suppose there is a library function whose purpose is to parse a single syslog file entry. What should this function do if the entry is malformed? There is no one right answer, because the same library could be deployed in programs for many different purposes. In an interactive log-file browser, the right thing to do might be to return the entry unparsed, so the user can see it—but in an automated log-summarizing program, the right thing to do might be to supply null values for the unreadable fields, but abort with an error, if too many entries have been malformed.


title: Exception handling

text: That is to say, the question can only be answered in terms of the broader goals of the program, which are not known to the general-purpose library function. Nonetheless, exiting with an error message is only rarely the right answer. So instead of simply exiting with an error, the function may "establish restarts" offering various ways to continue—for instance, to skip the log entry, to supply default or null values for the unreadable fields, to ask the user for the missing values, "or" to unwind the stack and abort processing with an error message. The restarts offered constitute the "mechanisms" available for recovering from error; the selection of restart by the condition handler supplies the "policy".


title: Exception handling

text: Exception handling is often not handled correctly in software, especially when there are multiple sources of exceptions; data flow analysis of 5 million lines of Java code found over 1300 exception handling defects.


title: Exception handling

text: Citing multiple prior studies by others (1999–2004) and their own results, Weimer and Necula wrote that a significant problem with exceptions is that they "create hidden control-flow paths that are difficult for programmers to reason about". "While try-catch-finally is conceptually simple, it has the most complicated execution description in the language specification [Gosling et al. 1996] and requires four levels of nested “if”s in its official English description. In short, it contains a large number of corner cases that programmers often overlook."


title: Exception handling

text: Exceptions, as unstructured flow, increase the risk of resource leaks (such as escaping a section locked by a mutex, or one temporarily holding a file open) or inconsistent state. There are various techniques for resource management in the presence of exceptions, most commonly combining the dispose pattern with some form of unwind protection (like a codice_17 clause), which automatically releases the resource when control exits a section of code.


title: Exception handling

text: Tony Hoare in 1980 described the Ada programming language as having "...a plethora of features and notational conventions, many of them unnecessary and some of them, like exception handling, even dangerous. [...] Do not allow this language in its present state to be used in applications where reliability is critical [...]. The next rocket to go astray as a result of a programming language error may not be an exploratory space rocket on a harmless trip to Venus: It may be a nuclear warhead exploding over one of our own cities."


title: Exception handling

text: The Go developers believe that the try-catch-finally idiom obfuscates control flow, and introduced the exception-like / mechanism. differs from in that it can only be called from within a code block in a function, so the handler can only do clean-up and change the function's return values, and cannot return control to an arbitrary point within the function. The block itself functions similarly to a clause.


title: Exception handling

text: Front-end web frameworks, such as React and Vue, have introduced error handling mechanisms where errors propagate up the UI component hierarchy, in a way that is analogous to how errors propagate up the call stack in executing code. Here the error boundary mechanism serves as an analogue to the typical try-catch mechanism. Thus a component can ensure that errors from its child components are caught and handled, and not propagated up to parent components.


title: FBI Index

text: The FBI Indexes, or Index List, was a system used to track American citizens and other people by the Federal Bureau of Investigation (FBI) before the adoption of computerized databases. The Index List was originally made of paper index cards, first compiled by J. Edgar Hoover at the Bureau of Investigations before he was appointed director of the FBI. The Index List was used to track U.S. citizens and others believed by the FBI to be dangerous to national security, and was subdivided into various divisions which generally were rated based on different classes of danger the subject was thought to represent.


title: FBI Index

text: In 1919, during the First Red Scare, William J. Flynn of the Bureau of Investigation appointed J. Edgar Hoover chief of the General Intelligence Division (GID). Hoover used his experience working as a library clerk at the National Archives to create the system using extensive cross-referencing.


title: FBI Index

text: The GID took files from the Bureau of Investigations (later renamed the Federal Bureau of Investigation) and 'systematized' them via index cards; according to Walker and contrary to evidence, the cards covered 200,000 people. But by 1939, Hoover had more than 10 million people 'Indexed' in the FBI's domestic file system.


title: FBI Index

text: Although the GID was terminated in 1924 after objections from people such as William J. Donovan who questioned its constitutionality, Hoover and the FBI continued to expand the Index system for use by the agency, by Hoover, and by Hoover's political associates well into the 1970s. Presently, the Index files covering untold numbers of Americans are still accessible by the FBI and its 29 field offices.


title: FBI Index

text: Titles to numerous Index catalogs include: The Reserve Index, for influential people to be "arrested and held" in case of a national emergency; The Custodial Index, which included 110,000 Japanese Americans that were held in internment prison camps during World War II; The Sexual Deviant Index; The Agitator Index; The Communist Index; and The Administrative Index, which compiled several other earlier indexes.


title: FBI Index

text: Even though a complete list of Index titles is currently unavailable, Hoover and the FBI used their Index system to catalog Native American and African American liberation activists during the 1960s and 1970s, as well as Vietnam War protesters and some other college students.


title: FBI Index

text: The Custodial Detention Index (CDI), or Custodial Detention List was formed in 1939–1941, as part of a program named variously the "Custodial Detention Program" or "Alien Enemy Control".


title: FBI Index

text: J. Edgar Hoover described it as having come from his resurrected General Intelligence Division in Washington. According to Hoover, it created large numbers of files on "individuals, groups, and organizations engaged in subversive activities", including espionage, and enabled the Bureau to immediately identify potential threats. Congressman Vito Marcantonio called it "terror by index cards". Senator George W. Norris complained as well.


title: FBI Index

text: The Custodial Detention Index was a list of suspects and potential subversives, classified as "A", "B" and "C"; the ones classified as "A" were destined to be arrested immediately and interned at the beginning of war. Category A were officials of Axis-related organizations, category B were members deemed "less dangerous" and category C were sympathizers. The actual assignment of the categories was, however, based on the perceived individual commitment to the person's native country, rather than the actual potential to cause harm; officers of cultural organizations could be classified as "A".


title: FBI Index

text: The program involved creation of individual dossiers from information obtained secretly, including unsubstantiated data and in some cases, even hearsay and unsolicited telephone tips, and information acquired without judicial warrants by mail covers and interception of mail, wiretaps and covert searches. While the program targeted primarily Japanese, Italian, and German "enemy aliens", it also included some native-born American citizens. The program was operated without Congress-approved legal authority, without judicial oversight and in excess of the legal authority of the FBI. A person against which an accusation was made was investigated and eventually placed on the index; it was not removed until the person died. According to the press releases at the beginning of the war, one of the purposes of the program was to demonstrate the diligence and vigilance of the government by following, arresting and isolating a previously identified group of people with allegedly documented sympathies for Axis powers and potential for espionage or fifth column activities. The list was later used for Japanese American internment after Roosevelt's Executive Order 9066. Although some say Hoover actually opposed those measures, Hoover and the FBI created the list from which 110,000 people were interned, 70,000 of which were American-born.


title: FBI Index

text: Attorney General Francis Biddle, upon learning of the Index, termed it "dangerous, illegal" and ordered its end. However, J. Edgar Hoover simply renamed it the Security Index, and told his people not to mention it.


title: FBI Index

text: Records of names added to the Rabble Rouser Index are available online from The Vault, which hosts the FBI's FOIA Library, as part of FBI case file 157-HQ-7782. The Internet Archive maintains a copy of this information with additional explanatory material. In addition, a repository of FBI files obtained under FOIA request, including the Rabble Rouser Index, is maintained at the National Archives.


title: FBI Index

text: The Security Index pertained to the FBI list of dangerous people who might commit acts inimical to the national defense and public safety of the United States in time of emergency. The list also included those who could be arrested upon the order of a U.S. President invoking the Emergency Detention Program. The Reserve Index, on the other hand, listed all left-wingers and people suspected of being a Communist. By 1950s, for instance, there were 5,000 names on the Security Index while the Reserve Index had 50,000 in the Chicago field office. A person listed in the Reserve Index could be transferred to the Security Index if such individual posed a threat to U.S. interests in a period of national emergency. A difference between these indices involved their color scheme. The files of those of the Security Index were all in white while the Reserve Index varied in colors depending on the occupation of the subject.


title: FBI Index

text: Prominent figures listed in the Reserve Index include Martin Luther King. The FBI had been monitoring his activities with the Southern Christian Leadership Conference since 1957 and by 1962, he was finally listed in the FBI index due to the involvement of two of his advisers with the U.S. Communist Party, although he failed to meet the criteria for inclusion in the Security Index.


title: FBI Index

text: The Security Index itself was merged with the Agitator Index and the Communist Index. Renamed the Reserve Index in 1960, this index included a Section A for teachers, doctors, lawyers, entertainers, and other people considered influential and not politically conservative. Hoover had Dr. Martin Luther King, Jr. added to the Reserve Index, Section A, in retaliation for his civil rights work and worldwide popularity.


title: FBI Index

text: Renamed again to the Administrative Index (ADEX) in 1971, and allegedly discontinued during 1978, the records are still kept as inactive at FBI headquarters and 29 field offices.


title: FBI Index

text: ADEX, or Administrative Index, lasted from 1971 to January 1978. It integrated the Security Index, the Agitator Index, and the Reserve Index. It was used to track people "considered to be a threat to the security of the country". ADEX had four 'categories'.


title: FBI Index

text: An illustrative example of these files and the rationale for categorization is the case of historian Howard Zinn, a noted government critic. In his FBI files, there are two separate pages in which an agent says he should be in category III:


title: FBI Index

text: He has been a member of the Communist Party, 1949–1953. A chief critic of the United States Government policies. A familiar figure at anti-war demonstrations up to 1972. Organized a protest rally to protest serious indictments against Father Berrigan and other members of the East Coast Conspiracy in the Summer of 1971


title: FBI Index

text: It is recommended that subject be included in ADEX, Category III, because he has participated in activities of revolutionary organizations within the last five years as evidenced by overt acts and statements established through reliable informants


title: FBI Index

text: Singer Paul Robeson's name was also on ADEX as Category III: "because of his long time close contact with CPUSA leaders. He was honored by the CP as recently as 1969".


title: Mike Mignola

text: Mike Mignola (; born September 16, 1960) is an American comics artist and writer best known for creating "Hellboy" for Dark Horse Comics, part of a shared universe of titles including "B.P.R.D.", "Abe Sapien", "Lobster Johnson", "Witchfinder" and various spinoffs. He has also created other supernatural and paranormal themed titles for Dark Horse including "Baltimore", "Joe Golem" and "The Amazing Screw-On Head".


title: Mike Mignola

text: Mignola was born in Berkeley, California. He began his career in 1980 by illustrating spots in "The Comic Reader". His first published piece was in "The Comic Reader" #183, a spot illustration of Red Sonja (pg. 9). His first published front cover was "The Comic Reader" #196 in November 1981. In 1982 he graduated from the California College of the Arts with a BFA in Illustration.


title: Mike Mignola

text: In 1983 he worked as an inker at Marvel Comics on "Daredevil" and "Power Man and Iron Fist" and later became the penciler on titles such as "The Incredible Hulk", "Alpha Flight", and the "Rocket Raccoon" limited series.


title: Mike Mignola

text: In 1987, he began working for DC Comics as well. He drew the "Phantom Stranger" and "World of Krypton" limited series. With writer Jim Starlin, Mignola produced the "Cosmic Odyssey" miniseries in 1988. Mignola drew covers for several Batman stories, including "" and "Dark Knight, Dark City". Writer Brian Augustyn and Mignola crafted the "Gotham by Gaslight" one-shot in 1989.


title: Mike Mignola

text: In an early 2000s interview, Mignola was asked if his 1988 cover art and cover text for "Batman" #428 anticipated the telephone vote for the death of the second Robin (Jason Todd). Mignola replied:


title: Mike Mignola

text: "It's so amazing to me that people are still talking about that damn thing. I didn't know if he was going to live or die, because I did the cover ahead of time. So the idea was: I'll draw him dead, and if he lives, then it's just a cover of him being badly hurt. I've gotta say---I don't think I was giving it a lot of thought. I never imagined I'd be talking about it all these years later."


title: Mike Mignola

text: When asked if fans continued to question him about that cover, he replied, "You know, it does crop up. When people talk about my career, that is one of the covers that a lot of people kind of go back to. I wish I had something profound to say about it. But at the time, it was just another job." In contrast, Mignola did not address his cover illustration of the Joker, and the accompanying cover text, for "Batman" #429. His visual depiction of the Joker anticipated prospective advertisements for his work in "Gotham by Gaslight", yet the cover text still adhered to the "Death in the Family" storyline. This Elseworlds Joker is only briefly discussed in "Gotham by Gaslight" as a man who married ten wealthy widows, poisoned all ten with strychnine, and then ingested the poison himself when police attempted an arrest, resulting in partial facial paralysis. Mignola included a black-and-white police sketch in "Gotham by Gaslight" that did not replicate his "Batman" #429 cover art, choosing instead to root that Elseworlds incarnation of the Joker in Conrad Veidt's 1928 portrayal of Gwynplaine for "The Man Who Laughs". A scene from Tim Burton's "Batman", released in June 1989 (United States), additionally featured Jack Nicholson's Joker in a top hat, but without a monocle. Two years later, Jack Shaheen published an assessment of Islamophobia pervasive in Jim Starlin's plot and Jim Aparo's interior pencils for "Death in the Family," particularly "Batman" #429, which prompted debates over Mignola's intentions.


title: Mike Mignola

text: Through the early 1990s Mignola worked on covers and backup features for various DC and Marvel Comics. He collaborated twice with writer Howard Chaykin. In 1990–1991, they produced the "Fafhrd and the Gray Mouser" limited series for Epic Comics, with inker Al Williamson. This was followed with the "Ironwolf: Fires of the Revolution" graphic novel in 1992.


title: Mike Mignola

text: Prior to 1994 Mignola's career had been spent doing work-for-hire illustration for corporate publishers. That year, Dark Horse Comics released "", Mignola's creator-owned project. Though he wrote the story himself, it was scripted by John Byrne. The next "Hellboy" story, "", was completely written and drawn by Mignola. Since then all "Hellboy" stories have been written solely by Mignola with the exception of "", which was co-written by Joshua Dysart.


title: Mike Mignola

text: "" (2006) was the first "Hellboy" story not drawn by Mignola, featuring the art of Richard Corben. Corben would return to draw many flashback stories for the series. Other artists have also had a hand in drawing flashback stories including Jason Shawn Alexander, Kevin Nowlan and Scott Hampton. In 2007, following after 2005's "", British artist Duncan Fegredo took over art duties on the ongoing story arc of "Hellboy" from "" onwards.


title: Mike Mignola

text: Mike Mignola returned as the full-time artist for "Hellboy" in 2012 for the series' conclusion, "Hellboy in Hell".


title: Mike Mignola

text: In 1998 the first "Hellboy" spinoff, "Abe Sapien", was launched. It was not written by Mike Mignola, but it did feature his "Hellboy" short story "" as a back-up. "Abe Sapien" did not take off properly until a decade later in 2008's "The Drowning". Since then it has had several short stories and beginning in 2013 it became an ongoing series with Scott Allie as the lead writer with Mignola.


title: Mike Mignola

text: "Lobster Johnson" was the next spinoff, debuting as a back-up feature in 1999's "". The series got its own title later in 2007's "Lobster Johnson: The Iron Prometheus". It returned again with the miniseries "The Burning Hand" in 2012, followed by various short stories.


title: Mike Mignola

text: "B.P.R.D." was the third spinoff, but it was the first one which was conceived to be more than just a one-off side story, but rather a series of stories. It began with 2002's "", which continued on from "". Beyond that followed a series of short stories designed to explore what the B.P.R.D. series could be. 2004's "" was the story that solidified what the series was, and would set the direction for future books to come, so much so that the first major story cycle is collected in omnibus editions titled "B.P.R.D.: Plague of Frogs". A vast majority of the stories in this era were co-written with John Arcudi and drawn by Guy Davis.


title: Mike Mignola

text: "B.P.R.D.: Hell on Earth" is the main series continuing after the catastrophic events at the conclusion of the "Plague of Frogs" cycle. Guy Davis left the series in 2011 with the conclusion of "Hell on Earth: Gods". Tyler Crook became the new ongoing artist beginning with "Hell on Earth: Monsters", but he is joined by several regular artists, most notably James Harren and Laurence Campbell.


title: Mike Mignola

text: Continuing where "Hell on Earth" left off, "The Devil You Know" is written by Mike Mignola and Scott Allie with Laurence Campbell serving as the regular artist.


title: Mike Mignola

text: "Sir Edward Grey, Witchfinder" (more commonly known simply as ""Witchfinder"") began with a teaser story in 2008's , followed by a full miniseries in 2009. It follows the stories of the occult investigator, Sir Edward, agent of Queen Victoria.


title: Mike Mignola

text: The "Frankenstein" began with "Frankenstein Underground" in 2015. Set in 1956, this miniseries follows Frankenstein (in the Hellboy Universe, the Frankenstein monster takes his father's name) as he ventures into the Pellucidar-like Hollow Earth. This also canonized Mary Shelley's novel "Frankenstein; or, The Modern Prometheus". The series was further expanded in 2020 with "Frankenstein Undone", a direct sequel to Shelley's novel.


title: Mike Mignola

text: "Baltimore" began with a 2007 illustrated novel, and continued as a comic book series. It was created by Mike Mignola and Christopher Golden.


title: Mike Mignola

text: Like "Baltimore", "Joe Golem: Occult Detective" began as an illustrated prose novel (2012's "Joe Golem and the Drowning City") and later continued as a comic book series. It was created by Mike Mignola and Christopher Golden and exists in a shared universe with "Baltimore" called "The Outerverse".


title: Mike Mignola

text: Alan Moore has described Mignola's style as "German expressionism meets Jack Kirby". His style has also been likened to an amalgamation of Hal Foster and Alex Toth.


title: Mike Mignola

text: Mignola worked as an illustrator for Francis Ford Coppola's 1992 movie "Bram Stoker's Dracula". He was also the production designer for the Disney feature film, "" in 2001, and was a concept artist for 2002's "Blade II", also directed by del Toro, and a concept artist for Pixar's "Brave".


title: Mike Mignola

text: Mignola was hired by Bruce Timm to provide character designs for "" in 1991. His redesign of Mr. Freeze was used for the series.


title: Mike Mignola

text: "Hellboy" was made into a feature film in 2004 by director Guillermo del Toro. Mignola was closely involved with the movie's production, and a was released in 2008. "Hellboy" has been made into two direct-to-video animated films, "" in 2006 and "" in 2007.


title: Mike Mignola

text: Mignola's "The Amazing Screw-On Head" debuted in 2006 on the Sci-Fi Channel, starring the voices of Paul Giamatti and David Hyde Pierce.


title: Mike Mignola

text: Mignola worked on the script for the R-rated "Hellboy" reboot film (2019), that was directed by Neil Marshall, and starred David Harbour as Hellboy. He ended up receiving only a "based on" credit in the film.


title: Mike Mignola

text: Mignola was the subject of a documentary titled "Mike Mignola: Drawing Monsters", and directed by Jim Demonakos and Kevin Konrad Hanna and was funded through Kickstarter.


title: Mike Mignola

text: Regarding the influence of his religious upbringing on his artwork, Mignola explained in a 2014 interview, "No, I don't believe in anything, really. Not on a conscious level. That is the beauty of it. I was raised Catholic. I was taught a bunch of stuff. I find religion fascinating, but at no time does any of that tie my hands. I get to play with stuff without getting too reverential. There's some Miltonian stuff to the geography of my Hell, the Hell I'm doing is much closer to the world I created in "The Amazing Screw-On Head". It's this pile, this jumble of old buildings for the most part. It's entirely made out of everything I want to draw."


The America First Political Action Conference (AFPAC; ) is an annual white nationalist and far-right political conference. Many attendees are members of the "America First" movement and supporters of Nick Fuentes, also known as Groypers. The conference was described by "The Daily Dot" as a "white nationalist alternative" to CPAC, the Conservative Political Action Conference. "The Arizona Republic" and "Rolling Stone" have characterized it as an extremist rival of CPAC.


title: America First Political Action Conference

text: As of 2022, the conference has hosted four elected officials as speakers: Georgia Representative Marjorie Taylor Greene, Arizona Representative Paul Gosar, Arizona State Senator Wendy Rogers, and Lieutenant Governor of Idaho Janice McGeachin.


text: On December 21, 2019, in the wake of the "Groyper Wars", leaders of the Groyper movement held a speaking conference called the "Groyper Leadership Summit" in West Palm Beach, Florida. The event was invite-only and held at an undisclosed location. The date, location, and title of the event mirrored Turning Point USA's "Student Action Summit," a speaking event featuring conservatives including Ben Shapiro, who Fuentes would publicly confront outside the venue. In the confrontation, Nick said, "Ben, it's great to see you. Why did you give a 45-minute speech about me at Stanford? And you wouldn’t even look in my direction." Shapiro did not respond as he walked into the venue. "The Daily Beast" characterized the Groyper Leadership Summit as "aimed at embarrassing Turning Point, potentially by luring some of the Turning Point students to Fuentes’ white nationalist event".


text: The inaugural AFPAC was held on February 28, 2020, in Washington, D.C. Speakers included the political commentator Michelle Malkin; former leader of the neo-Nazi group Identity Evropa, Patrick Casey; former "Daily Caller" editor Scott Greer; and Fuentes. After his appearance at the inaugural AFPAC and immediately following the 2021 United States Capitol attack, Casey cut ties with Fuentes and declared that he would not be returning as a speaker or guest at future conferences.


text: The second AFPAC was held on February 25, 2021, in Orlando, Florida. While it was open to the public, the organizers were secretive about where the conference would be held; it was later reported that it had been held at the Hilton in Orlando. Speakers included Malkin, Vincent James of "The Red Elephants" radio show, former BlazeTV host and "Glenn Beck Program" writer Jon Miller, and former Representative Steve King. According to the "Orlando Sentinel," the event "was more of a dinner than a multi-day conference". ABC News reported, "speakers spread white nationalist rhetoric, organizers railed about the U.S. losing its 'white demographic core,' and some called for further engagement like the ire that drove the Capitol attack on Jan. 6".


text: Arizona Representative Paul Gosar appeared as a surprise keynote speaker at the conference; his attendance was the subject of controversy. In his speech, he discussed immigration and what he described as censorship by social media platforms. Gosar skipped voting on a COVID-19 relief bill in order to attend AFPAC. "Rolling Stone" criticized Gosar for this decision, as well as other Republicans who, in order to attend CPAC, "play[ed] fast and loose with the rules" of a new provision allowing them to vote by proxy. "Rolling Stone" wrote, "In order to vote by proxy, members are required to sign a letter saying they can't attend 'due to the ongoing public health emergency,' and traveling to another state to appear maskless at an event with thousands of people doesn't seem to fit that situation." Gosar, appearing on a panel at CPAC several hours after his appearance at AFPAC, stated, "I denounce when we talk about white racism. That's not appropriate."


text: The third AFPAC was held on February 25, 2022, in Orlando, Florida, at the Orlando World Center Marriott. It was sponsored by the social media platform Gab, which resulted in backlash from Gab users due to Fuentes' harsh comments about Gab users. Many of Gab's donors stated that they would stop funding Gab due to this decision; in response to the backlash, Gab CEO Andrew Torba said that "Controversy is attention. Attention is influence" and that "The point of marketing is to influence people to get off Big Tech and get on Gab. In order to do that I need their attention." It was later announced that Torba would be a guest speaker at the AFPAC.


text: During his speech, Fuentes stated that the media had been comparing Vladimir Putin to Adolf Hitler "and they say that's not a good thing", which "Rolling Stone" described as "giggling praise of Adolf Hitler". Fuentes also asked the audience, “Can we get a round of applause for Russia?” which was followed by large applause and chants of "Putin! Putin!".


text: Former Maricopa County Sheriff Joe Arpaio spoke at the conference and received cheers when he stated, "I have the reputation of being the biggest racist in the country." In response to the applause, Arpaio asked the audience, "What are you clapping for?"


text: The conference featured four elected officials as speakers: Georgia Representative Marjorie Taylor Greene, Arizona Representative Paul Gosar, Arizona Senator Wendy Rogers, and Lieutenant Governor of Idaho Janice McGeachin. Greene and Gosar were subsequently met with criticism from members of the Republican Party, including from Senate Minority Leader Mitch McConnell and Republican National Committee chairwoman Ronna McDaniel. Greene initially stated to "CBS News" that she was not aware of Fuentes' views, but later defended her attendance in a statement which read, "It doesn’t matter if I’m speaking to Democrat union members or 1,200 young conservatives who feel cast aside and marginalized by society [...] The Pharisees in the Republican Party may attack me for being willing to break barriers and speak to a lost generation of young people who are desperate for love and leadership.” Rogers was censured by the Arizona State Senate for calling for political violence during her AFPAC speech.


text: The conference additionally hosted a variety of far-right media personalities, including Gavin McInnes, Milo Yiannopoulos, and Jesse Lee Peterson, as well as white supremacists Jared Taylor and Peter Brimelow. Fuentes claimed that Yiannopoulos was responsible for connecting him with Rep. Marjorie Taylor Greene.


text: Kari Lake, a Republican candidate in the 2022 Arizona gubernatorial election, was advertised as a speaker on a flyer for the conference. Lake later denied plans to attend, with Fuentes claiming it was due to a scheduling conflict rather than ideological differences. Thomas Homan, former Director of the U.S. Immigration and Customs Enforcement, confirmed to "The Huffington Post" that he had been scheduled to speak at AFPAC, but cancelled his appearance on the day of the conference due to Fuentes' support of the 2022 Russian invasion of Ukraine.


title: Kalyan Singh

text: Kalyan Singh (5 January 1932 – 21 August 2021) was an Indian politician and a member of the Bharatiya Janata Party (BJP). He served twice as the Chief Minister of Uttar Pradesh and as a Member of Parliament. He was the Chief minister of Uttar Pradesh during the demolition of the Babri Masjid in December 1992. He was considered an icon of Hindu nationalism, and of the agitation to build a Ram temple in Ayodhya.


title: Kalyan Singh

text: Singh became a member of the Rashtriya Swayamsevak Sangh while still in school. He entered the Uttar Pradesh legislature as a Member of the Legislative Assembly for Atrauli in 1967. He won nine more elections to that constituency as a member of the Bharatiya Jana Sangh, the BJP, the Janata Party and the Rashtriya Kranti Party. Singh was appointed Chief Minister of Uttar Pradesh for the first time in 1991, but resigned following the demolition of the Babri Masjid. He became Chief Minister for a second term in 1997, but was removed by his party in 1999, and left the BJP, forming his own party.


title: Kalyan Singh

text: Singh re-entered the BJP in 2004, and was elected a Member of Parliament from Bulandshahar. He left the BJP for a second time in 2009, and successfully contested the 2009 Indian general election as an independent from Etah. He joined the BJP again in 2014, and was appointed Governor of Rajasthan. He served a five-year term, and re-entered active politics in 2019. In September 2019 he was brought to trial for criminal conspiracy to demolish the Babri Masjid. He was acquitted by a special court of the Central Bureau of Investigation in 2020. He died on 21 August 2021 in Lucknow, Uttar Pradesh. He was posthumously awarded the Padma Vibhushan, India's second-highest civilian award.


title: Kalyan Singh

text: Kalyan Singh was born in Aligarh district in the United Provinces (now Uttar Pradesh) in 1932. His family was from the Lodhi community. Singh was a "swayamsevak", or volunteer, of the Hindu nationalist Rashtriya Swayamsevak Sangh, becoming a member while still in school. His son, Rajveer Singh, and grandson, Sandeep Singh, are also politicians and members of the Bharatiya Janata Party.


title: Kalyan Singh

text: Singh contested elections to the Uttar Pradesh legislative assembly from the Atrauli assembly constituency for the first time in 1967 as a candidate of the Bharatiya Jana Sangh (BJS) and defeated his Indian National Congress (INC) opponent by 4351 votes. Singh contested each of the following ten legislative assembly elections from the same constituency, in 1969, 1974, 1977, 1980, 1985, 1989, 1991, 1993, 1996, and 2002. He won nine of these races, the exception coming in 1980, when he was defeated by Anwar Khan of the INC. Singh gradually rose through the ranks of the Uttar Pradesh BJP. He was made a state-level general secretary in 1980, elected state party president in 1984, and re-elected to the same post three years later. In 1989 he became leader of the BJP in the Uttar Pradesh legislature.


title: Kalyan Singh

text: In late 1990 the BJP and its Hindu-nationalist affiliates organised the "Ram Rath Yatra", a religious rally in support of its agitation to build a Hindu temple over the Babri Masjid in the city of Ayodhya. The "yatra" became a significant mass movement, and strengthened religious and militant sentiments among Hindus. Considerable communal violence and polarization occurred in its aftermath. The BJP made large gains in the parliamentary and legislative elections that followed in 1991, and was able to form a government in Uttar Pradesh, with Kalyan Singh becoming the Chief Minister for the first time in June 1991.


title: Kalyan Singh

text: As Chief Minister, Singh attempted to run an efficient administration, while also expressing strong support for the agitation to build a temple in Ayodhya. Under Singh's leadership, the Uttar Pradesh government acquired of land adjacent to the Babri Masjid property, The purchase was ostensibly to construct tourist facilities, but it allowed Hindus to conduct religious rituals at the site without directly addressing the legal status of the Babri Masjid. He and other national leaders of the BJP, including Murli Manohar Joshi, traveled to the disputed site, and promised to build a Hindu temple there. The Singh government also removed Baba Lal Das, the Hindu priest who headed the temple that existed within the Babri Masjid complex, in March 1992. Lal Das had been a vocal opponent of the agitation to build a Hindu temple over the Babri Masjid.


title: Kalyan Singh

text: On 6 December 1992, the RSS and its affiliates organised a rally involving 150,000 VHP and BJP "kar sevaks" at the site of the Babri Masjid. The ceremonies included speeches by BJP leaders such as L. K. Advani, Murli Manohar Joshi and Uma Bharti. Activists of the Bajrang Dal and the Shiv Sena attacked the mosque, breaking through the police barricade, and demolished it. Police present at the site did little to stop the demolition. Singh had previously given the Indian Supreme court an affidavit, in which he promised that no harm would come to the Babri Masjid. A few hours after the demolition, he resigned as Chief Minister. The Indian Union government dismissed the Uttar Pradesh state government on the same day.


title: Kalyan Singh

text: After a period of President's rule, state elections were held again in November 1993. Singh contested the elections from two constituencies, Atrauli and Kasganj, and won both. The vote share of the BJP was approximately the same as in the previous election, but the number of assembly seats it won declined from 221 to 177, and an alliance of the Samajwadi Party and the Bahujan Samaj Party (BSP) was able to form a government, with Mulayam Singh Yadav becoming the Chief Minister. The alliance between Yadav and Mayawati, leader of the BSP, broke down in 1995, and Mayawati became Chief Minister with the support of the BJP.


title: Kalyan Singh

text: The Uttar Pradesh assembly elections of 1996 led to a hung assembly, and a further period of President's rule, before the BJP and the BSP formed an alliance with the BJP, allowing Mayawati to become Chief Minister in March 1997. Kalyan Singh became Chief Minister of Uttar Pradesh for the second time in September 1997, taking the post over from Mayawati as part of their power-sharing agreement. In February 1998, his government withdrew cases against those accused in the Babri Masjid demolition, stating that a Ram temple would be built at the site if the BJP were to take power in Delhi. The BSP and BJP came into conflict over the policies that the BSP government had implemented targeting Dalit social welfare. On 21 October 1997 the BSP withdrew support for Singh's government. Singh continued in office with the support of a breakaway faction of the BSP, and a breakaway faction of the INC, led by INC MLA Naresh Agrawal, the Akhil Bharatiya Loktantrik Congress. Singh's administration ended many of the BSP's Dalit-focused programmes soon after taking office.


title: Kalyan Singh

text: On 21 February 1998, Singh's government was dismissed by the Governor of Uttar Pradesh, Romesh Bhandari, after Agrawal withdrew support to Singh's government. Bhandari invited Jagdambika Pal of the INC to form a new government, in which Agrawal became deputy chief minister. Bhandari's order was stayed by a division bench of the Allahabad High Court, which reinstated Singh's administration two days after its dismissal.


title: Kalyan Singh

text: As a member of the Lodhi community, Singh commanded support among Other Backward Class (OBC) groups, and his affiliation with the BJP had allowed it to expand its support beyond its traditional upper-caste base. However, he began to be seen as a "patron of the backward castes" by upper-caste members of his own party, and to face opposition as a result. Dissension within the party occurred at the same time as an increase in crime that Singh's administration was unable to control, and in May 1999, 36 BJP legislators resigned in protest at the continuation of Singh's administration. The BJP's central administration replaced Singh as Chief Minister: Singh left the BJP to form a new party, the Rashtriya Kranti Party (RKP). He contested and won the 2002 Uttar Pradesh assembly elections as a candidate of the RKP.


title: Kalyan Singh

text: Singh returned to the BJP in January 2004, and was made head of the party's state-level election committee for the 2004 Indian general election. He successfully contested the election from the Bulandshahar Lok Sabha Constituency. Singh resigned his party membership and his post of national Vice President on 20 January 2009, citing "neglect and humiliation" in the BJP. After meetings with Samajwadi Party leaders Mulayam Singh Yadav and Amar Singh, Singh announced that he would campaign for the SP in the 2009 Lok Sabha elections. Meanwhile, his son Rajveer Singh, one of the main reasons of his disenchantment with the BJP, joined the Samajwadi Party. Singh was elected to the Lok Sabha from Etah as an independent. On 14 November 2009, Mulayam Singh Yadav said that the poor performance of the party at the Firozabad Lok Sabha by-election was due to the loss of Muslim support because of Kalyan Singh. In January 2010, he announced the formation of a new Hindutva-oriented political party, the Jan Kranti Party, but chose to take the role of patron while his son became the leader.


title: Kalyan Singh

text: Singh rejoined the BJP for the second time in March 2014, resigning his seat in the Lok Sabha to do so. A day later, he was made national Vice President once again. The Jan Kranti Party he had founded in 2010 had merged into the BJP in January 2013. His son Rajveer was elected member of parliament from Singh's previous constituency of Etah, as a member of the BJP. Singh was appointed Governor of Rajasthan in 2014, and was sworn in on 4 September. He was given the position of Governor of Himachal Pradesh as an additional charge in January 2015, and relinquished it in August of the same year. He was succeeded by Kalraj Mishra in 2019 after he completed his five-year term. Singh returned to active politics with the BJP, which hoped he could bring in support from those who supported a Hindutva agenda. Singh is considered an icon of Hindu nationalism, and of the agitation to build a Ram temple in Ayodhya.


title: Kalyan Singh

text: Following the demolition of the Babri Masjid, the Indian Supreme Court initiated contempt-of-court proceedings against Singh. The charges stemmed from his failure to prevent the construction of a platform next to the Babri Masjid a few months before its demolition, despite a court order prohibiting it. As a consequence Singh was jailed for a single day, and fined ₹20,000. Scholar Amrita Basu described Singh's reaction to the demolition as "jubilant and unrepentant".


title: Kalyan Singh

text: In December 1992, the Indian government set up the Liberhan Commission to investigate the destruction of the Babri Mosque, headed by retired High Court Judge M. S. Liberhan. After 399 sittings over sixteen years, the Commission submitted its 1,029-page report to Indian Prime Minister Manmohan Singh on 30 June 2009. According to the report, the events of 6 December 1992, in Ayodhya were "neither spontaneous nor unplanned". In April 2017, a special Central Bureau of Investigation court framed criminal conspiracy charges against Singh, Advani, and several others. The Supreme Court stated that Singh could not be tried at the time, as he had immunity from prosecution as Governor of Rajasthan. Singh was brought to trial in September 2019 after completing his term, was ordered to be placed in judicial custody, and was then granted bail. On 30 September 2020, the court acquitted all the 32 accused including Singh, on account of inconclusive evidence. The special court judge said, "The demolition was not pre-planned."


title: Kalyan Singh

text: Singh was taken ill on 3 July 2021, after he complained of nausea and difficulty in breathing. He was admitted to Dr. Ram Manohar Lohia Institute of Medical Sciences, where the doctors suspected renal issues. Later, his blood pressure rose dangerously, and he was transferred to Sanjay Gandhi Postgraduate Institute of Medical Sciences (SGPGI) for better treatment and management. He was on life-supporting ventilation. Several leaders and politicians, including the incumbent chief minister Yogi Adityanath, BJP President J. P. Nadda, and Uttar Pradesh Governor Anandiben Patel, visited Singh at the hospital. Singh died at the age of 89 on 21 August 2021 at the SGPGI, suffering from sepsis and multi-organ failures. He was posthumously awarded the Padma Vibhushan, India's second-highest civilian award, in January 2022.


title: Notation for differentiation

text: In differential calculus, there is no single uniform notation for differentiation. Instead, various notations for the derivative of a function or variable have been proposed by various mathematicians. The usefulness of each notation varies with the context, and it is sometimes advantageous to use more than one notation in a given context. The most common notations for differentiation (and its opposite operation, the antidifferentiation or indefinite integration) are listed below.


title: Notation for differentiation

text: The original notation employed by Gottfried Leibniz is used throughout mathematics. It is particularly common when the equation is regarded as a functional relationship between dependent and independent variables and . Leibniz's notation makes this relationship explicit by writing the derivative as


title: Notation for differentiation

text: Leibniz's notation allows one to specify the variable for differentiation (in the denominator). This is especially helpful when considering partial derivatives. It also makes the chain rule easy to remember and recognize:


title: Notation for differentiation

text: Leibniz's notation for differentiation does not require assigning a meaning to symbols such as or on their own, and some authors do not attempt to assign these symbols meaning. Leibniz treated these symbols as infinitesimals. Later authors have assigned them other meanings, such as infinitesimals in non-standard analysis or exterior derivatives.


title: Notation for differentiation

text: Some authors and journals set the differential symbol in roman type instead of italic: . The ISO/IEC 80000 scientific style guide recommends this style.


title: Notation for differentiation

text: Leibniz introduced the integral symbol in "Analyseos tetragonisticae pars secunda" and "Methodi tangentium inversae exempla" (both from 1675). It is now the standard symbol for integration.


title: Notation for differentiation

text: One of the most common modern notations for differentiation is named after Joseph Louis Lagrange, even though it was actually invented by Euler and just popularized by the former. In Lagrange's notation, a prime mark denotes a derivative. If "f" is a function, then its derivative evaluated at "x" is written


title: Notation for differentiation

text: Higher derivatives are indicated using additional prime marks, as in formula_9 for the second derivative and formula_10 for the third derivative. The use of repeated prime marks eventually becomes unwieldy. Some authors continue by employing Roman numerals, usually in lower case, as in


title: Notation for differentiation

text: to denote fourth, fifth, sixth, and higher order derivatives. Other authors use Arabic numerals in parentheses, as in


title: Notation for differentiation

text: This notation also makes it possible to describe the "n"th derivative, where "n" is a variable. This is written


title: Notation for differentiation

text: When there are two independent variables for a function "f"("x", "y"), the following convention may be followed:


title: Notation for differentiation

text: However, because integration is the inverse operation of differentiation, Lagrange's notation for higher order derivatives extends to integrals as well. Repeated integrals of "f" may be written as


title: Notation for differentiation

text: Leonhard Euler's notation uses a differential operator suggested by Louis François Antoine Arbogast, denoted as (D operator) or (Newton–Leibniz operator). When applied to a function , it is defined by


title: Notation for differentiation

text: Higher derivatives are notated as "powers" of "D" (where the superscripts denote iterated composition of "D"), as in


title: Notation for differentiation

text: Euler's notation leaves implicit the variable with respect to which differentiation is being done. However, this variable can also be notated explicitly. When "f" is a function of a variable "x", this is done by writing


title: Notation for differentiation

text: When "f" is a function of several variables, it's common to use "∂", a stylized cursive lower-case d, rather than "". As above, the subscripts denote the derivatives that are being taken. For example, the second partial derivatives of a function are:


title: Notation for differentiation

text: Euler's notation is useful for stating and solving linear differential equations, as it simplifies presentation of the differential equation, which can make seeing the essential elements of the problem easier.


title: Notation for differentiation

text: Euler's notation can be used for antidifferentiation in the same way that Lagrange's notation is as follows


title: Notation for differentiation

text: Isaac Newton's notation for differentiation (also called the dot notation, fluxions, or sometimes, crudely, the flyspeck notation for differentiation) places a dot over the dependent variable. That is, if "y" is a function of "t", then the derivative of "y" with respect to "t" is


title: Notation for differentiation

text: Newton's notation is generally used when the independent variable denotes time. If location is a function of "t", then formula_36 denotes velocity and formula_40 denotes acceleration. This notation is popular in physics and mathematical physics. It also appears in areas of mathematics connected with physics such as differential equations.


title: Notation for differentiation

text: Newton developed the following partial differential operators using side-dots on a curved X ( ⵋ ). Definitions given by Whiteside are below:


title: Notation for differentiation

text: Newton developed many different notations for integration in his "Quadratura curvarum" (1704) and later works: he wrote a small vertical bar or prime above the dependent variable ( ), a prefixing rectangle (), or the inclosure of the term in a rectangle () to denote the "fluent" or time integral (absement).


title: Notation for differentiation

text: To denote multiple integrals, Newton used two small vertical bars or primes (), or a combination of previous symbols  , to denote the second time integral (absity).


title: Notation for differentiation

text: This mathematical notation did not become widespread because of printing difficulties and the Leibniz–Newton calculus controversy.


title: Notation for differentiation

text: When more specific types of differentiation are necessary, such as in multivariate calculus or tensor analysis, other notations are common.


title: Notation for differentiation

text: For a function "f" of an independent variable "x", we can express the derivative using subscripts of the independent variable:


title: Notation for differentiation

text: This type of notation is especially useful for taking partial derivatives of a function of several variables.


title: Notation for differentiation

text: Partial derivatives are generally distinguished from ordinary derivatives by replacing the differential operator "d" with a "∂" symbol. For example, we can indicate the partial derivative of with respect to "x", but not to "y" or "z" in several ways:


title: Notation for differentiation

text: What makes this distinction important is that a non-partial derivative such as formula_48 "may", depending on the context, be interpreted as a rate of change in formula_49 relative to formula_50 when all variables are allowed to vary simultaneously, whereas with a partial derivative such as formula_51 it is explicit that only one variable should vary.


title: Notation for differentiation

text: Other notations can be found in various subfields of mathematics, physics, and engineering; see for example the Maxwell relations of thermodynamics. The symbol formula_52 is the derivative of the temperature "T" with respect to the volume "V" while keeping constant the entropy (subscript) "S", while formula_53 is the derivative of the temperature with respect to the volume while keeping constant the pressure "P". This becomes necessary in situations where the number of variables exceeds the degrees of freedom, so that one has to choose which other variables are to be kept fixed.


title: Notation for differentiation

text: In this last case the variables are written in inverse order between the two notations, explained as follows:


title: Notation for differentiation

text: So-called multi-index notation is used in situations when the above notation becomes cumbersome or insufficiently expressive. When considering functions on formula_59, we define a multi-index to be an ordered list of formula_60 non-negative integers: formula_61. We then define, for formula_62, the notation


title: Notation for differentiation

text: In this way some results (such as the Leibniz rule) that are tedious to write in other ways can be expressed succinctly -- some examples can be found in the article on multi-indices.


title: Notation for differentiation

text: Vector calculus concerns differentiation and integration of vector or scalar fields. Several notations specific to the case of three-dimensional Euclidean space are common.


title: Notation for differentiation

text: Assume that is a given Cartesian coordinate system, that A is a vector field with components formula_64, and that formula_65 is a scalar field.


title: Notation for differentiation

text: The differential operator introduced by William Rowan Hamilton, written ∇ and called del or nabla, is symbolically defined in the form of a vector,


title: Notation for differentiation

text: where the terminology "symbolically" reflects that the operator ∇ will also be treated as an ordinary vector.


title: Notation for differentiation

text: Many symbolic operations of derivatives can be generalized in a straightforward manner by the gradient operator in Cartesian coordinates. For example, the single-variable product rule has a direct analogue in the multiplication of scalar fields by applying the gradient operator, as in


title: Notation for differentiation

text: Many other rules from single variable calculus have vector calculus analogues for the gradient, divergence, curl, and Laplacian.


title: Notation for differentiation

text: Further notations have been developed for more exotic types of spaces. For calculations in Minkowski space, the d'Alembert operator, also called the d'Alembertian, wave operator, or box operator is represented as formula_80, or as formula_81 when not in conflict with the symbol for the Laplacian.


title: Bending moment

text: In solid mechanics, a bending moment is the reaction induced in a structural element when an external force or moment is applied to the element, causing the element to bend. The most common or simplest structural element subjected to bending moments is the beam. The diagram shows a beam which is simply supported (free to rotate and therefore lacking bending moments) at both ends; the ends can only react to the shear loads. Other beams can have both ends fixed (known as encastre beam); therefore each end support has both bending moments and shear reaction loads. Beams can also have one end fixed and one end simply supported. The simplest type of beam is the cantilever, which is fixed at one end and is free at the other end (neither simple or fixed). In reality, beam supports are usually neither absolutely fixed nor absolutely rotating freely.


title: Bending moment

text: The internal reaction loads in a cross-section of the structural element can be resolved into a resultant force and a resultant couple. For equilibrium, the moment created by external forces/moments must be balanced by the couple induced by the internal loads. The resultant internal couple is called the bending moment while the resultant internal force is called the "shear force" (if it is transverse to the plane of element) or the "normal force" (if it is along the plane of the element). Normal force is also termed as axial force.


title: Bending moment

text: The bending moment at a section through a structural element may be defined as the sum of the moments about that section of all external forces acting to one side of that section. The forces and moments on either side of the section must be equal in order to counteract each other and maintain a state of equilibrium so the same bending moment will result from summing the moments, regardless of which side of the section is selected. If clockwise bending moments are taken as negative, then a negative bending moment within an element will cause "hogging", and a positive moment will cause "sagging". It is therefore clear that a point of zero bending moment within a beam is a point of contraflexure—that is, the point of transition from hogging to sagging or vice versa.


title: Bending moment

text: Moments and torques are measured as a force multiplied by a distance so they have as unit newton-metres (N·m), or pound-foot (lb·ft). The concept of bending moment is very important in engineering (particularly in civil and mechanical engineering) and physics.


title: Bending moment

text: Tensile and compressive stresses increase proportionally with bending moment, but are also dependent on the second moment of area of the cross-section of a beam (that is, the shape of the cross-section, such as a circle, square or I-beam being common structural shapes). Failure in bending will occur when the bending moment is sufficient to induce tensile/compressive stresses greater than the yield stress of the material throughout the entire cross-section. In structural analysis, this bending failure is called a plastic hinge, since the full load carrying ability of the structural element is not reached until the full cross-section is past the yield stress. It is possible that failure of a structural element in shear may occur before failure in bending, however the mechanics of failure in shear and in bending are different.


title: Bending moment

text: Moments are calculated by multiplying the external vector forces (loads or reactions) by the vector distance at which they are applied. When analysing an entire element, it is sensible to calculate moments at both ends of the element, at the beginning, centre and end of any uniformly distributed loads, and directly underneath any point loads. Of course any "pin-joints" within a structure allow free rotation, and so zero moment occurs at these points as there is no way of transmitting turning forces from one side to the other.


title: Bending moment

text: It is more common to use the convention that a clockwise bending moment to the left of the point under consideration is taken as positive. This then corresponds to the second derivative of a function which, when positive, indicates a curvature that is 'lower at the centre' i.e. sagging. When defining moments and curvatures in this way calculus can be more readily used to find slopes and deflections.


title: Bending moment

text: Critical values within the beam are most commonly annotated using a bending moment diagram, where negative moments are plotted to scale above a horizontal line and positive below. Bending moment varies linearly over unloaded sections, and parabolically over uniformly loaded sections.


title: Bending moment

text: Engineering descriptions of the computation of bending moments can be confusing because of unexplained sign conventions and implicit assumptions. The descriptions below use vector mechanics to compute moments of force and bending moments in an attempt to explain, from first principles, why particular sign conventions are chosen.


title: Bending moment

text: An important part of determining bending moments in practical problems is the computation of moments of force.


title: Bending moment

text: Let formula_1 be a force vector acting at a point A in a body. The moment of this force about a reference point (O) is defined as


title: Bending moment

text: where formula_3 is the moment vector and formula_4 is the position vector from the reference point (O) to the point of application of the force (A). The formula_5 symbol indicates the vector cross product. For many problems, it is more convenient to compute the moment of force about an axis that passes through the reference point O. If the unit vector along the axis is formula_6, the moment of force about the axis is defined as


title: Bending moment

text: The adjacent figure shows a beam that is acted upon by a force formula_9. If the coordinate system is defined by the three unit vectors formula_10, we have the following


title: Bending moment

text: The negative value suggests that a moment that tends to rotate a body clockwise around an axis should have a negative sign. However, the actual sign depends on the choice of the three axes formula_10. For instance, if we choose another right handed coordinate system with formula_16, we have


title: Bending moment

text: In a rigid body or in an unconstrained deformable body, the application of a moment of force causes a pure rotation. But if a deformable body is constrained, it develops internal forces in response to the external force so that equilibrium is maintained. An example is shown in the figure below. These internal forces will cause local deformations in the body.


title: Bending moment

text: For equilibrium, the sum of the internal force vectors is equal to the negative of the sum of the applied external forces, and the sum of the moment vectors created by the internal forces is equal to the negative of the moment of the external force. The internal force and moment vectors are oriented in such a way that the total force (internal + external) and moment (external + internal) of the system is zero. The internal moment vector is called the bending moment.


title: Bending moment

text: Though bending moments have been used to determine the stress states in arbitrary shaped structures, the physical interpretation of the computed stresses is problematic. However, physical interpretations of bending moments in beams and plates have a straightforward interpretation as the stress resultants in a cross-section of the structural element. For example, in a beam in the figure, the bending moment vector due to stresses in the cross-section "A" perpendicular to the "x"-axis is given by


title: Bending moment

text: The internal moments are computed about an origin that is at the neutral axis of the beam or plate and the integration is through the thickness (formula_22)


title: Bending moment

text: In the beam shown in the adjacent figure, the external forces are the applied force at point A (formula_23) and the reactions at the two support points O and B (formula_24 and formula_25).


title: Bending moment

text: where formula_27 is the height in the formula_28 direction of the beam. The minus sign is included to satisfy the sign convention.


title: Bending moment

text: In order to calculate formula_29, we begin by balancing the forces, which gives one equation with the two unknown reactions,


title: Bending moment

text: To obtain each reaction a second equation is required. Balancing the moments about any arbitrary point X would give us a second equation we can use to solve for formula_31 and formula_32 in terms of formula_9. Balancing about the point O is simplest but let's balance about point A just to illustrate the point, i.e.


title: Bending moment

text: Now to obtain the internal bending moment at X we sum all the moments about the point X due to all the external forces to the right of X (on the positive formula_39 side), and there is only one contribution in this case,


title: Bending moment

text: We can check this answer by looking at the free body diagram and the part of the beam to the left of point X, and the total moment due to these external forces is


title: Bending moment

text: Thanks to the equilibrium, the internal bending moment due to external forces to the left of X must be exactly balanced by the internal turning force obtained by considering the part of the beam to the right of X


title: Bending moment

text: In the above discussion, it is implicitly assumed that the bending moment is positive when the top of the beam is compressed. That can be seen if we consider a linear distribution of stress in the beam and find the resulting bending moment. Let the top of the beam be in compression with a stress formula_44 and let the bottom of the beam have a stress formula_45. Then the stress distribution in the beam is formula_46. The bending moment due to these stresses is


title: Bending moment

text: where formula_48 is the area moment of inertia of the cross-section of the beam. Therefore, the bending moment is positive when the top of the beam is in compression.


title: Bending moment

text: In that case, positive bending moments imply that the top of the beam is in tension. Of course, the definition of top depends on the coordinate system being used. In the examples above, the top is the location with the largest formula_51-coordinate.


title: Doug Ross

text: Douglas Ross, M.D. is a fictional character from the NBC medical drama series "ER," portrayed by American actor George Clooney. He is a pediatric fellow, employed by the pediatric service, but works in the ER. He is later promoted to a pediatric attending in the ER. He appears from the pilot episode before departing in the fifth season episode "The Storm - Part II". Clooney later made guest appearances in the sixth season episode "Such Sweet Sorrow" and in the fifteenth season episode "Old Times".


title: Doug Ross

text: Doug Ross was raised by his mother, Sarah, after his father, Ray, abandoned their family. In Season 1, Ross revealed to a patient that he had a son, and he tells nurse Wendy Goldman that he doesn't know his son's name as he's never seen him. Not much else is known about Doug's past.


title: Doug Ross

text: Doug’s estranged son was a large part of the reason that he became a pediatrician. In 2019, "ER" executive producer John Wells shared, “Part of the reason why he wanted to become a pediatrician and be around children and care for children is because of his guilt that he wasn’t the person he wanted to be when he had a child as a young man. That was always meant to be part of who was, but we didn’t want to turn it into a Hallmark movie.”


title: Doug Ross

text: Initially, Ross is portrayed as a womanizer who dates and leaves many women throughout the course of his time on the show. At one point, he has a one-night-stand with Harper Tracy, a medical student who had been tentatively pursued by Dr. John Carter; this leads to a rift between Ross and Carter for a time. His womanizing days abruptly end after an epileptic woman he picks up in a bar has a seizure while he drives her home and eventually dies in the ER. Ross learns her name only after her death, which prompts him to stop sleeping around and make an effort to get back together with Carol Hathaway, the head nurse of the ER at County General.


title: Doug Ross

text: The relationship between Doug and Carol, which had previously ended on bad terms prior to the pilot episode, is rekindled in fits and starts over the course of the first five seasons. Doug leaves Chicago for Seattle during season five.


title: Doug Ross

text: George Clooney did not receive a casting call for the television series. He received a draft of the script from a friend; he read it and became interested in the part. He said: "I like the flaws in this guy. I can play him."


title: Doug Ross

text: The character was described as "a complicated children's doctor who could be self-centered, quick-tempered, and giving, hitting the bottle to avoid dealing with consequences of his actions."


title: Doug Ross

text: "ER" executive producer John Wells originally intended for Doug Ross’ relationship with an unknown son to be a bigger part of his character, saying in 2019, “There are people among us who lose track of their children. [George and I] talked about it at the time. We both know people, know men, who had children that they have no contact with for whatever reason. That’s what we were trying to play with.” However, Doug’s son is only mentioned in one episode of "ER".


title: Doug Ross

text: Until he restarts and strengthens his relationship with head nurse Carol Hathaway, Doug is shown to be a womanizing character who is involved with many women.


title: Doug Ross

text: The character of Doug Ross is an iconic and popular character. In 2004, Ross was listed in Bravo's "100 Greatest TV Characters". "Entertainment Weekly" placed Ross in its list of the "30 Great TV Doctors and Nurses". The character was also included in Fox News' list of "The Best TV Doctors For Surgeon General" and in "Philadelphia Magazine" 10 Best Doctors on Television.


title: Doug Ross

text: Ross was listed in Wetpaint's "10 Hottest Male Doctors on TV" and in BuzzFeed's "16 Hottest Doctors On Television". His relationship with Carol Hathaway was included in AOL TV's list of the "Best TV Couples of All Time" and in the same list by "TV Guide".


title: Doug Ross

text: For his work on the series, Clooney received two Emmy Award nominations for Outstanding Lead Actor In A Drama Series in 1995 and 1996. He was also nominated for three Golden Globe Awards for Best Actor – Television Series Drama in 1995, 1996, and 1997 (losing to co-star Anthony Edwards).


title: Çağlar Söyüncü

text: Çağlar Söyüncü (born 23 May 1996) is a Turkish professional footballer who plays as a defender for Premier League club Leicester City and the Turkey national team.


title: Çağlar Söyüncü

text: Söyüncü's first senior professional team was the Turkish second division Altınordu. In the summer of 2016, he joined SC Freiburg of Germany's Bundesliga, before moving to Leicester City in 2018. He made his senior national team debut in 2016.


title: Çağlar Söyüncü

text: Söyüncü began his senior professional career with Altınordu in the TFF First League, the second level of the Turkish football league system. During the 2015–16 season with Altınordu, Söyüncü was linked with Beşiktaş J.K., Galatasaray S.K. and Sevilla FC but the 20 year old Turkish national player selected the Bundesliga because he thought it was better choice for his career and his improvement


title: Çağlar Söyüncü

text: On 24 May 2016, in the 2016 Bundesliga summer transfer window, Söyüncü joined German side SC Freiburg, which was promoted to the top flight competition of Germany for the 2016–17 season. He is the first Turkish footballer who made a transfer to the Bundesliga directly from the TFF First League, the second-highest professional level football league of Turkey.


title: Çağlar Söyüncü

text: He made his Bundesliga debut on week 1 encounter away against Hertha Berlin which ended in a 2–1 loss, on 28 August 2016. He was linked with Lille OSC, A.S. Roma, and Villarreal CF during the mid-season transfer window of the 2016–17 season. Manchester City was also reported to be interested in Söyüncü.