For the movie, see Epic Movie, Epic (2013 film), and Epic (1984 film).
Epic film is a style of filmmaking with large scale, sweeping scope, and spectacle. The usage of the term has shifted over time, sometimes designating a film genre and at other times simply synonymous with big budget filmmaking. Like epics in the classical literary sense it is often focused on a heroic character. An epic's ambitious nature helps to set it apart from other types of film such as the period piece or adventure film. Epic historical films would usually take a historical or a mythic event and add an extravagant setting and lavish costumes, accompanied by an expansive musical score with an ensemble cast, which would make them among the most expensive of films to produce. The most common subjects of epic films are royalty, and important figures from various periods in world history.
In its classification of films by genre, the American Film Institute limits the genre to historical films such as Ben-Hur. However, film scholars such as Constantine Santas are willing to extend the label to science-fiction films such as 2001: A Space Odyssey and Star Wars. Nickolas Haydock suggests that "Surely one of the hardest film genres to define is that of the "epic" film, encompassing such examples as Ben-Hur, Gone with the Wind....and more recently, 300 and the Star Wars films...none of these comes from literary epics per se, and there is little that links them with one another. Among those who espouse film genre studies, epic is one of the most despised and ignored genres" Finally, although the American Movie Channel formally defines epic films as historical films, they nonetheless state the epic film may be combined with the genre of science-fiction and cite Star Wars as an example.
The comedy film Monty Python and the Holy Grail had the joking tagline "Makes Ben Hur look like an epic."
The epic is among the oldest of film genres, with one early notable example being Giovanni Pastrone's Cabiria, a three-hour silent film about the Punic Wars that laid the groundwork for the subsequent silent epics of D. W. Griffith.
The genre reached a peak of popularity in the early 1960s, when Hollywood frequently collaborated with foreign film studios (such as Rome's Cinecittà) to use relatively exotic locations in Spain, Morocco, and elsewhere for the production of epic films. This boom period of international co-productions is generally considered to have ended with Cleopatra (1963), The Fall of the Roman Empire (1964), and Doctor Zhivago (1965). Nevertheless, films in this genre continued to appear, with one notable example being War and Peace, which was released in the former Soviet Union in 1968, directed by Sergei Bondarchuk, and said to be the most expensive film ever made.
War epics are generally focused on specific battles in a war, P.O.W (Prisoner of War) camps or the personal consequences of living in an invaded/occupied country. Many war epics take place during World War II or the Vietnam War, with a notable exception being Master & Commander: The Far Side of the World, set during the Napoleonic wars. Examples of the more contemporary based war epics include The Burmese Harp (1956), The Bridge on the River Kwai (1957), The Human Condition (1959-1961), The Deer Hunter (1978), Apocalypse Now (1979), Kagemusha (1980), Das Boot (1981), Come and See (1985), Ran (1985), Saving Private Ryan (1998), and The Thin Red Line (1998).
Historical epics are epic films that take place in the historical past, often focusing on people who alter the course of history. A number of historical epics, especially those made in the 1950s and 1960s, are set in ancient times, particularly in Rome, Greece, or Egypt. Historical epics typically are more grand-scale than other types of epics, featuring elaborate sets and large numbers of extras. Examples of historical epics include The Birth of a Nation (1915), Intolerance (1916), Gone with the Wind (1939), Around the World in 80 Days (1956), The Ten Commandments (1956), The Bridge on the River Kwai (1957), Ben-Hur (1959), Spartacus (1960), El Cid (1961), Lawrence of Arabia (1962), Cleopatra (1963), Doctor Zhivago (1965), War and Peace (1966-1967), Barry Lyndon (1975), Gandhi (1982), The Last Emperor (1987), Dances with Wolves (1990), Farewell My Concubine (1993), Schindler's List, (1993), Braveheart (1995), Titanic (1997), Saving Private Ryan (1998), Gladiator (2000), The Last Samurai (2003), Troy (2004), Alexander (2004), Kingdom of Heaven (2005), 300 (2007).
Grand-scale films involving Jesus, Moses or other religious figures have been called religious or Biblical epics. This genre was popular in the 1950s and was often associated with towering budgets and such stars as Charlton Heston. Notable examples include Quo Vadis (1951), The Ten Commandments (1956), and Ben-Hur (1959). The 1960s brought the first attempt by a major studio to produce a religious epic in which the Christ Event was its singular focus. MGM released King of Kings in 1961, inspired by a Cecil B. DeMille film of the same title from 1927. Four years later, The Greatest Story Ever Told, directed by George Stevens, was completed for $25 million. A recent example is the 2004 Mel Gibson film The Passion of the Christ. While the term "Biblical epics" is used to describe films based on Judeo-Christian stories, other films may be based in other religious traditions, such as The Mahabharata, which is based on Hindu mythology, and The Message, which is based on Islamic history.
Romantic epics are romance films done on a large scale, usually in a historical setting. The romance itself is often portrayed in a counterpoint to war, conflict or political events in the background of the story. In these films, the romance and the main character's relationships are the centerpiece of the story, rather than a subplot. Some epic films portray a tempestuous romance against the background of war. The romance itself is often portrayed in a counterpoint to war, conflict or political events in the background of the story, while the romance is in the foreground. Gone with the Wind has been described as the archetypal romantic epic. Examples include Gone with the Wind (1939), Giant (1956), Doctor Zhivago (1965), Ryan's Daughter (1970), Out of Africa (1985), Forrest Gump (1994), The English Patient (1996), Titanic (1997), Brokeback Mountain (2005), The Painted Veil (2006), Tristan & Isolde (2006), Atonement (2007), Australia (2008), Les Misérables (2012) and The Great Gatsby (2013).
Epic crime films are usually gangster stories done on a wide scale, and usually show the rise and fall of a criminal empire. The most famous example is Godfather trilogy (1972-1990), with all three films of large scope and scale.
The epic western is a subgenre of the western that emphasizes the story of the American Old West on a grand scale. Many epic westerns are commonly set during a turbulent time, especially a war, as in Sergio Leone's The Good, the Bad and the Ugly (1966), set during the American Civil War, or Sam Peckinpah's The Wild Bunch (1969), set during the Mexican Revolution. One of the grandest films in this genre is Leone's Once Upon a Time in the West (1968), which shows many operatic conflicts centered on control of a town while utilizing wide scale shots on Monument Valley locations against a broad running time. Other notable examples include The Iron Horse (1924), Duel in the Sun (1946), The Searchers (1956), Giant (1956), The Big Country (1958), Cimarron (1960), How the West Was Won (1962), Duck, You Sucker! (1971), Heaven's Gate (1980), Dances with Wolves (1990), The Assassination of Jesse James by the Coward Robert Ford (2007), Django Unchained (2012), and The Revenant (2015).
The science fiction epic received mainstream attention in 1968 with Stanley Kubrick's 2001: A Space Odyssey, as well as with the earlier 1968 film Planet of the Apes. Nine years later, George Lucas' Star Wars films debuted, rocketing the science fiction/fantasy epic to unprecedented blockbuster successes. Opening in 2009, James Cameron's Avatar again showed the pulling power of the science fiction epic, going on to gross over $700 million domestically and over $2.7 billion worldwide, which makes it the most successful box office movie of all time, not taking inflation into account. In recent times, many fantasy epics have been produced with varying success, including the Pirates of the Caribbean series based on the theme park ride of the same name, Peter Jackson's The Hobbit film trilogy and The Lord of the Rings film trilogy based on the book series of the same name by J. R. R. Tolkien, the Harry Potter movies film series based on the book series of the same name by J.K. Rowling and the Hunger Games film series based on the book trilogy by Suzanne Collins.
There have been many animation epic films made on different subjects. Hayao Miyazaki's Nausicaä of the Valley of the Wind and Princess Mononoke are two notable animation war-fantasy epics. Both the films portray the struggle between human and nature; and the protagonists trying to establish a peaceful co-living. Katsuhiro Ôtomo's Akira is another example of animation epic which depicts a dystopian society in cyberpunk fashion.
The enduring popularity of the epic is often accredited to their ability to appeal to a wide audience. Many of the highest-grossing films of all-time have been epics. The 1997 film Titanic, which is cited as helping to revive the genre, grossed $658 million domestically and over $2.1 billion worldwide, making it the second highest-grossing film of all-time, behind 2009's Avatar another epic which grossed $2.7 billion worldwide. If inflation is taken into account, then the historical epic Gone with the Wind becomes the highest-grossing film ever in the United States. Adjusted for inflation it earned the equivalent of $1.6 billion in the United States alone. Adjusted for ticket price inflation, the science fiction/fantasy epic Star Wars stands at number 2, with an inflated gross of $1.4 billion in the United States.
So far the most Academy Awards ever won by a single film stands at 11. This feat has only been achieved by 3 movies (Ben-Hur, Titanic and The Lord of the Rings: The Return of the King) all of which are considered epics.
↑ Tim Dirks (12 July 2008). "Epic Films". Filmsite. Retrieved 12 July 2008.
↑ Santas, Constantine (2002). Responding to film: a text guide for students of cinema art. Rowman & Littlefield. p. 32. ISBN 0-8304-1580-7. ISBN 9780830415809.
↑ Haydock, Nickolas (2009). Hollywood in the Holy Land: essays on film depictions of the Crusades and Christian-Muslim clashes. McFarland. p. 153. ISBN 0-7864-4156-9. ISBN 9780786441563.
↑ "AMC Film Site Epics/Historical Films". Filmsite.org. Retrieved 2014-07-16.
↑ Roger Ebert (2001-09-02). "Lawrence of Arabia (1962)". Great Movies. suntimes.com. Archived from the original on 2005-09-04. Retrieved 2007-06-18.
↑ allmovie (2008-07-12). "Explore by genre:Epic". allmovieg. Retrieved 2014-03-05.
↑ Tim Dirks. "ANIMATED FILMS". Filmsite. Retrieved 2015-10-16.
1 2 3 Box Office Mojo. "All Time Box Office Adjusted for Ticket Price Inflation". Box Office Mojo. Retrieved 2007-07-12.
↑ "All Time Box Office Adjusted for Ticket Price Inflation". Boxofficemojo.com. Retrieved 2014-07-16.


text:
\section{Introduction}
Four-wave-mixing~\cite{McCormick2007OL} in alkali vapors can amplify many spatial modes, or coherence areas~\cite{Jedrkiewicz2004}, resulting in a two-mode squeezed state for each coherence area pair across the resulting twin beams~\cite{Boyer2008,Lawrie2013,corzo2011multi,clark2012}.
The total number of coherence areas is dependent on the angular acceptance bandwidth of the four-wave-mixing geometry, and the distribution of coherence areas is strongly dependent on the pump and probe intensities, beam profiles, and waist positions, along with the pump and probe frequency detuning~\cite{Boyer2008,boyer2008generation,Lawrie2013}. Because these states exhibit noise below the photon shot noise limit (SNL) in multiple coherence areas, they enable quantum enhanced imaging, nonlinear interferometry, and quantum plasmonic sensing and imaging platforms~\cite{Lassen2007,Kolobov2000,Lawrie2013,lawrie2013prl,clark2012,hudelist2014quantum,pooser2014ultrasensitive,treps2002surpassing,treps2003,treps_multipixel}. However, until now there has been no clear visualization of those coherence areas within twin beams that did not consist of well separated spatial modes created by transferring a high contrast image to the seed beam~\cite{Boyer2008,Lawrie2013}. For applications such as optical beam deflection, where specific spatial modes are necessary to optimize the signal to noise ratio (SNR) in beam position measurements on split photodiodes~\cite{treps2002surpassing,pooser2014ultrasensitive}, these highly structured squeezed states are generally sub-optimal. We demonstrate an accessible method to characterize the distribution of quantum correlations shared between pairs of coherence areas. With this approach, controlling the spatial profile and frequency detuning of the pump field enables precise control over the distribution of coherence areas.  For specific spatial filter configurations and pump detunings, we show that the excess noise in some spatial modes can be filtered, resulting in increased quantum correlations in attenuated beams.

The split photodiodes that are used for MEMS beam displacement measurements enable a simple technique for mapping coherence areas.  As shown in Fig. \ref{fig:figure1}, it is possible to measure quantum noise reduction when the probe and conjugate twin beams generated by four-wave-mixing in hot ${}^{85}$Rb vapor are equally divided on a high quantum efficiency split photodiode \cite{pooser2014ultrasensitive}.  If the coherence areas in each beam were well isolated on each side of the split photodiode, then the measured noise would be identical to that measured when the probe and conjugate were detected by separate channels on a balanced photodiode, or:
\begin{equation}
\langle \Delta N^2 \rangle = \frac{1}{\eta (2G-1)}
 \label{eq:x1}
\end{equation}
where $\eta$ is the combined detection efficiency and G is the four wave mixing gain. However, the coherence areas will generally not be perfectly split between two halves.  As a result, coherence areas distributed over both detector elements contribute fractions of shot noise units to the combined measurement noise \cite{treps_multipixel}. For twin beams consisting of multiple coherence areas with equal gain, the noise is given by:

\begin{equation}
\langle \Delta N^2 \rangle = {\left[ \frac{1}{P_{0}} \left( P_{sw} \eta_{d} \left( 2G-1 \right)+\displaystyle\sum_{i=1}^{N} P_{i}\eta_{i}(2G-1)\right) \right]}^{-1},
 \label{eq:x2}
\end{equation}
where $P_{sw}/P_{0}$ is the fraction of optical power in coherence areas isolated on one channel of the split detector,  $P_i$ is the power partially incident on a detector channel from the $i^{th}$ mode such that $\sum_{i=1}^{N} P_{i} =P_{0}-P_{sw}$, $\eta_{d}$ is the combined detector efficiency, $\eta_{i}$ is the detection efficiency of the $i^{th}$ mode (including attenuation resulting from being split by the detector), and $N$ is the total number of modes split across the detector.

\begin{figure}[h!]
\centerline{\includegraphics[width=3.65in]{fig1}}
\caption{(a) Energy level diagram illustrating double $\Lambda$ system in ${}^{85}$Rb at the D1 line (795 nm). (b) Schematic of squeezing measurement performed on split photodiode with weak probe beam of 50 $\mu $W offset by 3.045 GHz from a 100 mW pump beam.}
\label{fig:figure1}
\end{figure}

A misalignment which results in a splitting of coherence areas across the two detector halves adds both fractions of shot noise units and excess noise associated with the anticorrelated coherence area pairs. If the probe and conjugate coherence areas are split in the same way (as mirror images of one another in their image planes), then the excess noise is subtracted within the detector's common mode rejection limits, and Eq.~\ref{eq:x2} applies. In this case, only fractions of shot noise units are added to the noise floor, resulting in a linear dependence of the quantum noise reduction on the fraction of misaligned coherence areas \cite{fabre2000quantum}.

In the limit that a single coherence area in the probe and conjugate channels is evenly split, the noise in Eq.~\ref{eq:x2} reduces to twice Eq.~\ref{eq:x1}, or a 3 dB increase in noise for a perfectly split single coherence area, indicating that in spatially filtered measurements (such as imaging or beam displacement), a multimode beam with a large number of coherence areas always outperforms single mode beams.

The coherence areas in the probe and conjugate beams demonstrate inversion symmetry around the center of the pump beam in their respective image planes as a result of conservation of momentum in the four-wave-mixing process. Thus, by sweeping the probe and conjugate beams across the split detector from opposite sides in their respective image planes, the measured quantum noise reduction will be maximized when coherence areas are largely isolated on an individual channel, and minimized when coherence areas are split across both channels.  When the probe and conjugate fields are in their respective image planes at the split detector, it is straightforward to demonstrate optimal alignment of coherence areas on the appropriate detectors, but if either beam is not in its image plane, the distortion of the coherence area distribution relative to the other channel will result in excess noise. Other authors have previously rastered razor blades symmetrically and anti-symmetrically across the probe and conjugate in order to demonstrate the presence of multiple spatial modes \cite{Boyer2008,corzo2011multi,Marino2008}, but those approaches did not yield any information about the distribution of coherence areas.

Creating a pseudo-split detector by using D-mirrors to select the modes A,B,C, and D illustrated in Fig.~\ref{fig:figure1} before mixing modes A and C and B and D on each channel of a balanced photodiode allows an accurate reproduction of a split detection measurement and also allows the straightforward measurement of correlations between A and D or B and C by simply blocking the necessary channels.  The combination of these noise measurements enables accessible coherence area mapping in quantum correlated twin beams.

\begin{figure}[h]
\centerline{\includegraphics[width=9cm]{combinedintensityprofiles}}
\caption{(a) Horizontal probe and pump beam profiles at their respective waists, and (b) the probe and conjugate beam profiles in their respective image planes after four-wave-mixing.}
\label{fig:figure2}
\end{figure}

The squeezed state used in this experiment was generated via four wave mixing with a weak seed probe beam of 50 $\mu$W offset by 3.045 GHz from a 100 mW pump beam in a one-inch long ${}^{85}$Rb vapor cell whose stem was held at a temperature of 80~$\pm 1^\circ$~C. The two beams intersected at their waists in the vapor cell at an angle of 7 mrad. The probe exhibited a Gaussian beam profile at its waist, while the waist of the pump beam exhibited a bimodal structure as shown in Fig.~\ref{fig:figure2}a. The image planes of the probe and conjugate fields were determined by measuring the quantum noise reduction present between the two channels as D mirrors were used to attenuate 50\% of each beam.  When either D mirror was far from its beam's image plane, the distorted coherence areas yielded significant anti-squeezing between channels A and D or B and C.  On the other hand, when each D-mirror was near its beam's image plane, quantum correlations were present and increased squeezing was measured. The probe and conjugate image planes could thus be identified by optimizing the quantum noise reduction between channels A and D as a function of D-mirror position along the propagation axis. Under the above conditions, blueshifting the pump frequency 1.45 GHz from the F=2 to excited state transition resulted in 4.5 dB of quantum noise reduction (corresponding to a gain of 12.6 with 85\% transmission on the probe channel).

The large gain required for optimal squeezing in our experimental configuration resulted in a strong Kerr lensing effect that set the probe and conjugate image planes close to the vapor cell, making them difficult to isolate from the scattered pump field. Red-shifting the pump reduced the Kerr lensing effect at the expense of reduced squeezing. In particular, red-shifting the pump by 250~MHz resulted in 1.4~$\pm 0.05$ dB of squeezing with probe and conjugate image planes located 94~cm and 32~cm from the center of the vapor cell respectively. At these image planes, the probe and conjugate beams demonstrated Gaussian profiles with 1.6 mm and 0.8 mm spot sizes (full-width-half-max) as shown in Fig.~\ref{fig:figure2}b. Other configurations in 4WM can result in optimal squeezing with separable beams~\cite{Boyer2008,Lawrie2013,corzo2011multi}, but our approach would work for any multispatial mode squeezed states with accessible image planes~\cite{treps2002surpassing,treps2003}.

Figure \ref{fig:figure3} illustrates the spatially resolved noise distribution across the probe and conjugate beams for both split and knife edge configurations.  The conjugate mirror was rastered in 15 steps across the conjugate beam, while the probe mirror was rastered in 40 steps across the probe beam for each conjugate mirror position, resulting in 600 total noise measurements.
\begin{figure}[ht!]
\centerline{\includegraphics[width=3.5in]{contourfigurescombin}}
\caption{Horizontal noise distribution across probe and conjugate fields as a function of probe and conjugate D-mirror positions. Left: B and C modes are blocked while A and D are collected on a balanced detector.  Right: the split detector configuration shows the spatial mode structure across the two beams.}
\label{fig:figure3}
\end{figure}

As has been shown previously~\cite{Boyer2008,Lawrie2013,corzo2011multi}, the presence of anti-squeezing everywhere in Fig.~\ref{fig:figure3} except where equal fractions of each channel were blocked symmetrically about the pump beam is evidence of the multi-spatial-mode nature of the quantum correlations in this two mode squeezed state. The asymmetric structure present in the right hand side of Fig.~\ref{fig:figure3} shows the pump-dependent distribution of spatial modes, while the left hand side shows the isolation of a highly correlated coherence area off center in each beam. The angular bandwidth of the four wave mixing process in our setup supports approximately 70 modes, estimated using a mode counting technique previously reported \cite{boyer2008generation,Lawrie2013}, but the probe and conjugate fields here only overlap with a small fraction of this bandwidth.  The measured beam diameters in the far field suggest that 3-4 coherence areas are present within the full width half max of the probe and conjugate fields. By plotting the optimal quantum noise reduction for each step of the probe D-mirror and for each step of the conjugate D-mirror as shown in Fig.~\ref{fig:figure4}, it is possible to resolve the structure of the coherence areas within each beam without using high contrast images to isolate them~\cite{Boyer2008}.

While the four wave mixing process resulted in no significant change to the probe beam profile in Fig. \ref{fig:figure2}, Fig.~\ref{fig:figure4} illustrates a clear spatial structure in the observed quantum noise reduction. Squeezed states are highly sensitive to optical attenuation, but the squeezing shown in Fig.~\ref{fig:figure4} and Fig.~\ref{fig:figure3} increases as the left-hand side of the probe and the right-hand side of the conjugate in channels B and C are blocked.  The squeezing is nearly maximized when half of the probe field is blocked, indicating an asymmetric, split structure in the coherence area distribution.
\begin{figure}[htb]
\centerline{\includegraphics[width=3.25in]{probeandconjAD}}
\caption{Horizontal noise distribution across probe and conjugate fields as measured on channels A and D.}
\label{fig:figure4}
\end{figure}

Because a similar fraction must be removed from the conjugate beam in order to increase the squeezing, the effects observed in Fig.~\ref{fig:figure4} cannot be attributed to misalignment between the pump and probe in the vapor cell. Further, when the probe beam was blocked before the vapor cell, scattered pump light resulted in less than 1 dB of noise above the electronics floor.  It is therefore clear from Fig.~\ref{fig:figure4} that there exist at least two coherence areas in this squeezed state.  One, on the left of the probe and right of the conjugate, demonstrates minimal quantum correlations with less than 1 dB of quantum noise reduction.  The other, on the right of the probe and left of the conjugate demonstrates stronger quantum correlations with roughly 2 dB of quantum noise reduction. Closer to resonance (250~MHz to the red), aperturing the probe and conjugate beams did not yield increased quantum noise reduction in this manner, indicating that all coherence areas exhibit comparable quantum noise reduction when the pump is closer to resonance. Thus, the pump shape and detuning both play a role in the arrangement of quantum correlations across coherence areas in the far field.

The approach taken in Fig.~\ref{fig:figure4} is comparable to demonstrations that have previously used spatial filters to demonstrate multi-spatial mode characteristics though the evidence of coherence area structure in a Gaussian beam has never been previously demonstrated.  Unfortunately, optical attenuation ultimately reduces the signal sufficiently that it is difficult to profile the quantum correlations in the entire beam in this way, and the presence of a very weakly correlated coherence area means that a plot of the noise distribution on channels B and C is dominated by excess noise as the quantum correlated portion of the beam is attenuated.  However, by combining all four modes on channels A, B, C, and D, it is possible to develop a more complete profile of the coherence area distribution. Figure~\ref{fig:figure5} illustrates a map of the noise distribution on all four channels when D mirrors are swept vertically and horizontally across the probe and conjugate fields. No structure is evident in the vertical profile, and the measured noise increases by 3.3 dB when the conjugate and probe are evenly split between A and B and C and D respectively.  This suggests that the coherence areas in the probe and conjugate are distributed horizontally across the beams (as the twin beams appear to consist of single coherence areas when profiled vertically). The fact that slightly greater than 3 dB of increased noise was observed is consistent with a small amount of light scattering from the edge of each D mirror.
\begin{figure}[t!]
\centerline{\includegraphics[width=3.25in]{probehorandvertABCDdifferentscales}}
\caption{Vertically and horizontally resolved squeezing distribution separately measured at the same pump frequency provide evidence for a single coherence area when swept vertically, but for multiple coherence areas when swept horizontally. All four modes are collected on a balanced detector. }
\label{fig:figure5}
\end{figure}

On the other hand, compared with the structureless vertical scan, the horizontal scan illustrates the initial increase in squeezing previously seen in Fig.~\ref{fig:figure4}, but also a small local maximum in the squeezing near the center of the beam. This local maximum is difficult to resolve in Fig.~\ref{fig:figure3} because of the larger range of measured noise, but it is reproducible and falls outside of the error bars of our noise measurements, suggesting that at least three coherence areas are aligned horizontally in the probe and conjugate fields.  The previously discussed coherence area on the left of the probe exhibits minimal squeezing between probe and conjugate, while evidence exists for an additional two squeezed coherence areas split horizontally at 0.2 mm on Fig.~\ref{fig:figure5}.  When each of those coherence areas is located primarily in only one channel of our emulated split detector, a slight decrease in quantum noise is recorded.

The emulated split detector approach to profiling the distribution of quantum correlations in multi-spatial-mode squeezed states outlined in this manuscript provides a valuable tool that is critical to many quantum metrology and sensing applications. The horizontal coherence area distribution illustrated in Fig.~\ref{fig:figure5} was not observed for a Gaussian pump beam profile or for pump fields closer to resonance with the D1 transition, indicating the importance of pump beam shaping to tailored coherence areas. The approach to coherence area mapping that we have described here can be utilized in concert with spatial and frequency control over the pump field in order to engineer desired distributions of quantum correlations in two mode squeezed states.

This work was performed at Oak Ridge National Laboratory, operated by UT-Battelle for the U.S. Department of energy under contract no. DE-AC05-00OR22725, and was supported in part by the U.S. Department of Energy, Office of Science, Office of Workforce Development for Teachers and Scientists (WDTS) under the SULI program. B.~L.~and R.~C.~P~ acknowledge support from the lab directed research and development program.

redpajama_set_name: RedPajamaArXiv


text:
<?php

namespace App\Events;

use App\Models\Log;

interface LoggerInterface
{
    const NORMAL_LOG = Log::NORMAL_LOG;
    const NEED_SHOW_LOG = Log::NEED_SHOW_LOG;

    public function logLevel();

    /**
     * 获取日志
     * @return string|false 如果返回 false 则此log不记录
     */
    public function log();

    /**
     * 获取学院id
     * @return mixed
     */
    public function departmentId();
}

redpajama_set_name: RedPajamaGithub


text:
Q: How to implement ajaxcontroltoolkit-animation using JQuery? I like to implement this idea in JQuery. I dont want to insert ajaxcontroltoolkit just for that.. I guess the main idea is to use .animate on a div but I dont completely figured out that, javascript isnt exactly my specialty. Can you help me?
Thanks.

A: See jQuery UI dialog: http://jqueryui.com/demos/dialog/ or implement your own via the documentation:
http://docs.jquery.com/Main_Page
http://docs.jquery.com/Tutorials

redpajama_set_name: RedPajamaStackExchange


TIE offers a variety of fee-based and free opportunities to support professional learning. The titles and descriptions below offer a variety of examples that may be of interest. Please know TIE is committed to customizing learning opportunities to specifically meet unique and varied needs.
Description: What is keeping your students from becoming higher order thinkers? Training them to think, discuss, and write with specific academic language will move students to higher order thinking. This one-day training includes practical strategies in reciprocal teaching, creating environments for student academic conversation and productive academic talk. The training provides many examples and strategies for the instruction of expanding answers using academic language while writing/talking, making claims with strong supporting evidence, and encouraging collaborative academic conversation, which is purposeful, intentional, and explicit. This training applies to all teachers of all disciplines.
Description: Administrators must learn to remain calm and collected in the midst of the occasional chaos that occurs in their building. Administrators will learn to craft their responses and make informed decisions. The five domains of emotional intelligence are a great outline of the attributes that guide the thinking and actions of all principals. To strengthen each domain, newcomers must learn to ask for feedback and take suggestions to heart.
Description: Get active in the classroom and bring learning to life by using experiential education techniques that leaves learners with real-world experiences. Bring those experiences around to reflection and relate them back to understanding the content. This completes the learning cycle. As John Dewey says, "Give the pupils something to do, not something to learn; and the doing is of such a nature to demand thinking; learning naturally results."
Description: No one app does everything. App Smashing combines the products of multiple apps into a final product. While many apps slightly overlap in terms of functionality, there tends to be a few black holes in each app that require the use of another app to complete the process. Join us to bring App Smashing to your students to create a web based timeline, to capture their learning, to share a digital portfolio, or to capture an event, era or topic of study.
Description: Do you want your subject to jump off the page and engage students in 4D? Augmented Reality is the answer. AR is an enhanced version of reality where a view of the physical world through a computer, tablet, or phone is augmented with superimposed, computer-generated images that enhance the viewers' current perception. AR changes the physical world by overlaying information over the viewer's field of vision. Users of AR experience a new and improved world where virtual information is used as a tool to learn new things, share information, and create new learning experiences. Your classroom will come alive, parents will feel more connected, and students will love the creative possibilities that will be available to them.
Description: A move toward more authentic tasks and outcomes improves teaching and learning. In authentic assessments, learners have greater clarity about their obligations and are asked to master more engaging tasks, and facilitators can see assessment results as meaningful and useful for improving instruction. Topics include: Project Based Learning, Peer Teaching, Performance Tasks, ePortfolios, Rubrics and Student Self-Assessment.
Description: Welcome to the module on Blended Learning for the Customized Learning Series-Artiste! The module uses the eBook Blended-Using Disruptive Innovation to Improve Schools as our main text, as well as some articles and videos. The course incorporates four phases to help you implement a Blended Learning environment in your classroom. What is Blended Learning, what could it mean for you, and how can you move to a Blended Learning environment in your classroom? A unit on how to assess in the Blended Learning classroom is also included in this course.
Description: Building an Environment of Trust and Collaboration is designed to build a trusting and collaborative relationship between teachers, support staff, administration, anyone working with students. We want to shift the focus and our energy back to the reason we are in this profession. We will look at situations, perceptions, problems, misunderstandings and develop ways of addressing this situations in a manner that cultivates a positive learning and working environment.
Description: Grading only on achievement focuses solely on learners' proficiency on well-defined course objectives. It fundamentally changes what grades measure and how they communicate that information. While grading practices that emphasize only achievement and proficiency are gaining in popularity, these practices have still not been widely implemented. Engage in discussions about ineffective grading practices and their remedies. Make informed decisions about what your district needs to change in your grading practices to move away from grading and toward performance assessments.
Description: Why Choice? Learning that incorporates learner choice provides a pathway for learners to fully, genuinely invest themselves in quality work that matters. Participating in learning design allows learners to make meaning of content on their own terms. By giving learners opportunities to produce quality work about issues that matter, we give them access to their passion, voice, skills, and revelation. Learn how to provide choice to engage learners.
Description: What is it like for young children to engage in computational thinking? Learn the foundations of computational thinking and explore pre-coding activities for our early learners. Discuss the benefits of coding and programming as we engage in appropriate hands-on coding activities that support problem solving, critical thinking and creativity. Participate 'in the playground' as we showcase some of the robotics developed for early learners.
Description: In partnership with Code.org,TIE will host a no-cost, one-day workshop for K-6 educators interested in teaching computer science . Workshops will cover grade level appropriate curriculum and offer supplies to teach the course. The workshop will include In-person instruction from an experienced computer science facilitator, including an intro to computer science, pedagogy, overview of the online curriculum, teacher dashboard, and strategies for teaching "unplugged" classroom activities.
Description: Learn a collaborative and innovative way to teach STEM activities incorporating robotics and technology, coding and 21st century skills. Use the basics of Code.org and Scratch as tools to support programming for coding extensions. Investigate several coding extensions such as: Ozobots, Sphero, Dash, Edison robot and LittleBits. This half day or one day workshop can be customized for elementary through high school.
Description: The Makey Makey Invention Literacy Workshop for Educators is a fun, hands-on learning experience where you'll learn how to teach Invention Literacy, Making and Design Thinking using the award winning Makey Makey invention kit. We'll explore how to teach circuits and conductivity using Makey Makeys and then put those skills to use to design your own invention with the meaningful integration of content standards.
Description: Combine physical computing and coding with the Microsoft MicroBit and or the CS Discoveries Circuit Playground. Both allow programming from any web browser with no special software. Invent your own designs or use existing projects. Devices can respond to various inputs, for example the Microbit can respond to buttons, light, motion and temperature, providing for endless problem solving options.
Description: Take Minecraft to the next level in your learning environment! This class will introduce lesson plans and implementation of content through the use of Minecraft coding. Students will have a chance to showcase their learning through the creative use of pixels on their screens.
Description: Investigate myriad possibilities for coding, programming and generally interacting with your powerful, credit card sized computer. Incorporate elements of art, reading, science and mathematics into hands-on, higher order thinking, rich, highly engaging explorations that your students will love. Challenge yourself and your students to the next level of computer science based classroom lessons.
Description: Learn a collaborative and innovative way to teach STEM activities incorporating robotics and technology, coding and 21st century skills. Explore Ozobot, Sphero, Dash and Dot and We-Do Legos with hands-on and interactive activities. Consider ways to engage your students while integrating robotics into your existing program.
Description: Learn to program your own interactive stories, games and animations using Scratch. Scratch is freely accessible coding program that provides students with the opportunity to think creatively, problem solve, and work collaboratively. Scratch can be integrated into content areas such as math, ELA and more. It is appropriate for elementary through high school.
Description: Curriculum and Gap Analysis will help you answer: Why do I teach what I teach when I teach it? Do my assessments match my instruction? Do I teach the content to the depths of understanding embedded in the standards? Which standards am I hitting frequently; which standards am I touching upon; which standards am I missing? During a series of events you will be equipped with content diaries, content organizers and other tools to use throughout the year to provide data to find answers to these questions, locate resources to fill your gaps and remove instruction that is inappropriate for your grade level.
Description: In a time when stress and pressure on elementary, middle and high school teachers in public, private and charter schools continues to rise because of internal and external demands, Courage to Teach® provides educators an opportunity for rest, renewal, and re-engagement with their identity and integrity as teachers.
Description: What is culturally responsive teaching? In what ways does implicit bias affect my teaching practice? How do I connect with learners from different racial, socio-economic, or cultural backgrounds than me? This course will enable facilitators to create a classroom environment that is culturally responsive in order to answer these questions.
Description: Proportional reasoning is one of the most fundamental topics in middle grades mathematics. A student's ability to reason proportionally affects their understanding of fractions and measurement in elementary school, and it supports their understanding of functions and algebra in middle school and beyond. Teachers will broaden and deepen their understanding of ratios, proportions, and proportional reasoning. This course will help you to engage your students in hands-on learning where you will develop appropriate tasks, techniques, and tools for assessing your students' understanding of the topic.
Description: Learner Agency is defined as possessing the mindset and know-how to act in a manner which empowers and positions learners for a life-time of learning. A "learner-centered" focus is at the core of customized learning. As an investment and contribution to this effort, a team at TIE is working to clarify and build shared understanding around the term learner agency as it relates to learners in the context of schools committed to the implementation of customized learning. Tools and resources to support Learner Agency will be provided.
Description: What are we willing to accept as evidence of mastery or competency? How would you finish these statements - Mastery is... My students are literate in my subject when they....? If you struggle to complete these statements, this session will help you. Grading only on achievement is a practice that is gaining in popularity. This model focuses solely on "students' proficiency on well-defined course objectives." What are you willing to change to move to mastery or competency based reporting?
Description: This session covers learning about differentiated instruction with a science focus by practicing differentiation based on content, process and product. Participants will explore technology tools that facilitate classroom differentiation and incorporate them into their lessons or units.
Description: This session covers learning about differentiated instruction with a social studies focus by practicing differentiation based on content, process and product. Participants will explore technology tools that facilitate classroom differentiation and incorporate them into their lessons or units.
Description: This session covers learning about differentiated instruction with an ELA focus by practicing differentiation based on content, process and product. Participants will explore technology tools that facilitate classroom differentiation and incorporate them into their ELA lessons or units.
Description: This session covers learning about differentiated instruction across all content areas by practicing differentiation based on content, process and product, along with student readiness, interest and learning profile.This interactive session will provide strategies to incorporate differentiation concepts into your classroom along with providing great tools to facilitate the process.
Description: The course incorporates five phases to help you implement Digital Literacy in your classroom. As education evolves toward customized learning, digital literacy skills become absolutely critical--unfortunately, most students and educators "don't know what they don't know." Even the best problem solving skills can be hampered without a deep understanding of the processes for digging past surface level information often found on the web. Examine the importance of students acquiring vital digital literacy skills for better problem solving as well as implications for using these tools in a customized environment.
Description: Digital literacy includes knowledge, skills, and behaviors involving the effective use of digital devices such as smartphones, tablets, laptops and desktop PC's for purpose of communication, expression, collaboration and advocacy. This class will explore how to teach these skills to our students through use of free, online curriculum. Compare and contract several options to find the best fit for your program and get things started right away!
Description: Implementation of 1:1 technology is not enough. Digital literacy skills have become more critical for student learning than content knowledge--unfortunately, most students and educators "don't know what they don't know." Even the best problem solving skills can be hampered without a deep understanding of the tools and processes for digging past surface-level information often found on the web. Develop a better understanding of how the web works, including the use of advanced search techniques to find richer more relevant information for better professional productivity and classroom integration. Develop a stronger understanding of web tracking, privacy, and ""publicness"" issues in teacher and student usage of web services.
Description: The purpose of this training is to motivate your students to practice and sharpen critical thinking skills through the use of film. Film is a powerful visual medium that, if used correctly, can make learning fun and build confidence in all students. You will be guided in how to incorporate film reading/viewing strategies into an engaging lesson.
Description: Flexible Curriculum is an online class from the Customized Learning Series-Guru! The class uses videos, articles, and websites to develop your understanding of designing, using, and sharing flexible curriculum. Be prepared to explore a variety of sites that help you consider pace, place, path, and time of your learners.
Description: The Flipped Classroom has become the rage in recent years. Now that more schools are embracing the use of technology, this is a great first step towards customized learning. It can be done in any grade level, for any subject. This training will cover what is Flipped Learning, tools to make videos, assessment, how to use the extra class time meaningfully, and the pros and cons of this method.
Description: Foundational Reading Skills Training will focus on the Big 5 literacy skills: phonemic awareness, phonics, fluency, vocabulary, and reading comprehension. The training will include the research-informed knowledge base and practical sample lessons. Teachers will learn effective implementation of explicit instruction while following sequence for mastery in each of the Big 5 areas. The training skills and materials can be used for implementation into teaching practices during the school year.This 3-5 day training applies to all grades and teachers. The length of the training depends on the grade level of students. It is also beneficial for other content area classrooms.
Description: Whether you are using iPads, Chromebooks, laptops, or other mobile devices, there are so many resources to choose from. And we all know there isn't enough time in the day to research all of them! This session will include the web resources that TIE is currently excited about! This will be a hands-on session, so bring your device!
Description: Gifted students and accelerated learners are actually two separate types of students. This workshop will cover how to identify and work with both types of students to meet their needs. These students are looking for deeper learning opportunities to connect previous knowledge to new ideas and build upon them.
Description: Utilizing GIS enables students to think critically about real-world content and make inferences using data. Students have the opportunity to analyze, create and make connections with real data and real issues in all content areas. Learn ways to incorporate the ArcGIS Online platform into your classroom. You will use lesson plans prepared by ArcGIS, plans created by other educators and learn how to create your own maps.
Description: Google Apps can make your class a collaborative, paperless work environment. Learn how to use Documents, Spreadsheet, and Presentations with your students. Google Forms make great quizzes, formative assessment pieces, and surveys. Do you want that quiz to grade itself – add Flubaroo! Add in Google Classroom to facilitate online discussion, homework turn-in, student collaboration and class communication.
Description: This class covers how to set up and utilize a Google Classroom management system. We will do an overview of Google Docs and Drive and then look at the features Google Classroom offers. Participants will develop an awareness of: Google Docs and Drive; Google Classroom and offer practice using the functions for facilitating classroom instruction. You MUST have a Google Apps account to take this class.
Description: Learn about the characteristics of a growth and fixed mindset and how mindset impacts student learning. Consider 9 findings that have very strong implications for students that when acted upon could unleash their potential. Learn ways to implement instructional practices to promote growth mindset in every student.
Description: Creative ways to scaffold discussions, instructional strategies that feel like games, and discussion strategies for any content area—these are some of the tools teachers will leave with, ready to take right from the training to students. Engagement is high and so is the rigor.
Description: A main goal of educators is to teach learners how to be critical thinkers. Instead of simply memorizing facts and ideas, children need to engage in higher levels of thinking to reach their fullest potential. Practicing Higher Order Thinking (HOT) skills will give learners the tools they need to understand, infer, connect, categorize, synthesize, evaluate, and apply the information they know to find solutions to new and existing problems. Learn how questioning and thinking routines can increase the level of learner thinking.
Description: Bring history to life by integrating primary sources into your classroom with ideas the Library of Congress, Smithsonian and more. Primary sources are objects, diaries, art, music and other resources that were created during the time period studied; they can provide artifacts and evidence for the topic at hand. This session will cover online primary source resources and ways to integrate them with technology for K-12 and beyond.
Description: This is an online, self-paced class using the book, Inevitable Too! The Total Leader Embraces Mass Customized Learning by Charles Schwahn & Beatrice McGarvey as our main text, as well as some articles and videos. The course incorporates strategic design, the five leadership domains of the total leader and empowering change. Leadership development is ultimately personal development.
Description: This workshop is experiential and provides intensive practice to develop the skills of seminar leadership. Participants will engage in a large group seminar followed by guided practice with designing and leading small group seminars.
Description: The Leading Together (LT) program is an offering of TIE in conjunction with the Center for Courage & Renewal® (CCR) designed to build adult community in schools. The program is grounded in research and closely aligned with Social Emotional Learning and Relational Trust constructs.
Description: As education evolves toward customized learning, the need for self-directed learners become critical for the learning environment. With leaners at different places in the curriculum, working on several projects and in changing physical environments, learners will need to develop a strong sense of personal responsibility. The Learner Agency work done at TIE supports educators on implementing these ideas. This class will introduce you to tools and resources to support this work for the learners. By the end of this course, you will complete a full 10-day curriculum to begin implementing into your learning environment right away!
Description: This course uses the book "Eight Myths of Learner Disengagement" to investigate how classroom practices influence engagement, including types of tasks assigned, quality of facilitator-learner relations, and peer dynamics. The course encourages participants to recognize that engagement is not just on-task behavior, but incorporates behavioral, emotional, and cognitive practices. Participants will consider a variety of instructional practices and their connection to learner engagement.
Description: The challenge of motivating learners to learn has been central to the teaching profession throughout history. Unfortunately, many motivational strategies have had the opposite of their intended effect on learners. This course is built around concepts explored in Bob Sullo's book, The Motivated Learner and the 2012 TIE Media film, Teaching From Within. Teaching From Within is a film and a way of teaching that promote an inside-out (intrinsic) approach to learning. Once we strip away intrusive motivational add-ons like rewards, fear and coercion, the natural human drive to learn, explore and grow can guide us as teachers and as Learners toward learning that is natural, sustainable, and never ending. Participants will analyze their own and their school's approaches to motivating learners, view the film itself, explore research around learner motivation, and develop goals and approaches for beginning the shift from problematic external motivational approaches to teaching and learning that comes from within.
Description: This is a four-unit module about personalizing learning. If you have read the book, Inevitable: Mass Customized Learning, you already have some knowledge about what we are talking about. In this workshop we will reference both books. Personalized learning is starting to happen all over the country and we need to not only understand WHAT it is, but also how we can make it happen in our schools.
Description: Considering adding Makerspaces to your building? Makerspaces provide the tools and space to allow students to collaborate and share knowledge. This hands-on session will provide lots of examples and ideas for adding innovation opportunities via Makerspaces to your space!
Description: Makerspaces provide the tools and space to allow students to collaborate and share knowledge.Now that you've got a Makerspace, this training will help all staff develop the skills and confidence to utilize the resource with their students.
Description: How do we get students talking in the math classroom? Mathematical discourse is associated with one of the Common Core Mathematical Practices: construct viable arguments and critiques the reasoning of others. It is about whole-class discussions where students share and describe math in such a way that reveals their understanding of concepts of math that they or their peers have done. Discourse involves asking strategic questions that elicit from students both how a problem was solved and why the students used the method they did. Through this process, students learn to critique their own work as well as their classmates.
Description: Students often walk into a math classroom with anxiety and fear, saying they are not good at math, or that they inherited the "bad math gene" from their parents. These pre-conceived ideas and societal norms often hold students back from succeeding in a math classroom. In this class you will learn that all people can learn math, and learn it well if a student's mindset is in the right place.
Description: Why Edison? Edison is an affordable and versatile programmable robot designed to be a complete STEM teaching resource for coding and robotics education for students. Children as young as four years old can begin to explore the STEM education topics of coding and robotics using Edison's pre-set programs and remote-control operation capabilities. Older students can learn the fundamentals of coding as they progress from drag-and-drop icon-based programming all the way through to coding in a vertical text-based language.
Description: We have learned more about the brain in the last 20 years than we have in the last 200 years. Since we ask students to use their brains every day, how much do we educators know about the brain and how it most effectively works to enable student learning? This 2 day training will share the research on the brain and move through Power Strategies for Teachers and Power Strategies for Students that enhance student learning according to the biological working of the brain. This training will also include an overview of curriculum work for embedding this information into the students' mindsets.
Description: Breathe in and out. Again, breathe in and out. By taking 5-10 minutes a day in guided, quiet reflection we can become aware of the amygdala and make choices in how to respond to situations. Daily practice teaches practical techniques to appropriately handle emotions such as stress, anxiety, anger, excitement and more.
Description: Learner Agency is possessing the mindset and know-how to act in a manner which empowers and positions learners for a life-time of learning. In this phase of Learner Agency, facilitators become aware of their own mindset as they promote the change in learner mindsets. Tools and resources are provided to help facilitators develop growth mindsets in their customized classrooms. This is one of the most important steps to begin the change process and build learner agency.
Description: In this training, teachers become familiar with the newly revised (2016) Oceti Sakowin Essential Understandings (OSEU) as well as the large collection of Oceti Sakowin Elder interviews archived on the WoLakota Project website (www.wolakotaproject.org ). They will also become familiar with the Inquiry Design Model (IDM) for lesson planning. Participating educators may use newly gained knowledge of all of these along with South Dakota's set of Exemplar SS & OSEU Lesson plans and Social Studies/OSEU "Connector Statements" to construct lesson plans in the IDM format (or another appropriate formats) that link to both South Dakota content standards and the Oceti Sakowin Essential Understandings.
Description: This six-hour Academy allows participants to take a deep dive into cloud-based tools for the classroom, with a special focus on topics such as file storage, collaboration and communication using Office 365. It will also give educators the opportunity to apply their learning towards the end of each part of the session – reflecting on the topics covered, as well as strategizing on how they can be put to the best use in the classroom or with other educators.
Description: In this 6 hour class you will discover how with Microsoft OneNote, you can create digital notebooks that support academic standards across disciplines and tasks, such as writing, reading, mathematics, science, history, CTE, and elective courses. In addition, OneNote may be used to increase 21st century skills. Students may use OneNote across content areas and grade levels, and use OneNote to compile and organize unstructured information, research, and content.
Description: Some subject matter is best taught face-to-face, while other things can be taught in an online environment. Some students do really well with online learning, while others struggle. There is much that goes into the designing of an online course. This course uses many articles and videos for research and the opportunity to create on online class. The module will cover what is the learning environment, active learning, real-world application, assessment, differentiation, ethics, as well as other topics.
Description: Open Education Resources (OER) are freely available courses, textbooks, activities and more that are licensed for reuse. Incorporating them can save money, empower teachers and provide students with relevant, high quality content. This session will cover OER resources that are being developed in South Dakota schools along with other resources that are freely available for your school.
Description: Explore the creation of personalized digital textbooks incorporating free Open Education Resources (OER). This training will provide examples of OER textbooks, copyright, platform and content considerations and resources to incorporate into your own textbook.
Description: The days of organizing our web resources by using the Favorites or Bookmark tools on our browsers are over. We are constantly switching between devices and need to access our resources. There are many tools available, but one you might consider is LiveBinders. Not only will this tool bookmark your sites, but you can also upload documents from your computer to this tool. This is a great tool to create ePortfolios as well. And best of all - it's FREE!!!
Description: Symbaloo is a unique, visual bookmarking site that uses tiles instead of text to help organize your favorite online links including google docs, video, rss feeds, websites, and much more. The visual format is simple to organize, user friendly, free to use, shareable, and is accessible from any browser. Diigo is a bookmarking website that allows users to bookmark and tag Web pages. Additionally, they can highlight any part of a webpage and attach sticky notes to specific highlights or to a whole page.
Description: Our PRISM process helps leaders and their teams view their school(s) through many different spectrum. A systemic renovation at all levels - district, building, and classroom is critical for an authentic learning experience for all students. Every school has individual needs, and this customized process will get to the root of these needs.
Description: Project-Based Learning is spreading quickly and many educators are seeking it out to offer more meaningful and engaging lessons for their students. The traditional classroom where learning occurs in the vacuum of separate and distinct islands will soon be replaced by interconnected curriculum via authentic inquiry based learning experiences. There are many Project-Based resources available today. One of the goals for this class is to expose you to these resources and help you develop your own personal notion of Project-Based Lessons within the context of your own classroom.
Description: This workshop will illustrate the integration of English Language Arts (ELA) standards into every classroom. Teachers will leave the training with a wealth of technology tools and resources to easily implement ELA standards into the instruction of their content area. In addition, teachers will gain instructional strategies and examples of reading, writing, listening and speaking.
Description: This work enables schools and districts to process through the development of a vision and mission, necessary elements for leading a school district positively. Also included is the process to include all staff in the development of a set of core beliefs that the district can use as a filter for decision-making and day-to-day situations. This work will also lead to the development of a strategic plan based on the core beliefs, mission, and vision of the district.
Description: Analyzing the Smarter Balanced Assessment Results at a target level and implementing the examples available can help teachers hone in on what their specific students need in the areas of English/Language Arts, Math, and Writing. Many tools are available to help teachers teach according to the standards at the level of rigor expected in the standards. This work also includes rigor, types of writing, and web leveling discussion. All teachers in all content areas need to implement the strategies from this session in their content work.
Description: Ever wonder what the best way is to leverage online learning platforms such as Facebook, Instagram, Twitter and Blogging for educational purposes? Let's dive in to understand the networking that exists inside of these social platforms and how to best use them productively.
Description: CL Structural Rebuild utilizes evidence-based materials and processes for your planning team to tackle the tough issues of weight-bearing-walls such as - grading practices, schedules and courses, grade level assignments vs mastery levels, rigid curriculum vs flexible curriculum, in-school learning vs in-world learning, and 9-month school year vs year-round - learning opportunities which can hinder progress toward personalized learning. A learning specialist from TIE will work with your leadership team throughout the school year with onsite work days as well as online meetings. TIE also provides data tools to provide a snapshot of the instructional/learning practices in your district that can assist your leadership team for better analysis, strategizing, and decision-making.
Description: This workshop explores the similarities and differences among generations in regard to teaching and learning. Characteristics of today's learners from Generation Y (millennials) and from Generation Z will be examined. Strategies for engaging these generations of learners will be shared.
Description: With the access to devices our students have, are we utilizing them to their fullest potential? This offering is developed to assist in integrating the existing technology the school/district has into the classroom by providing the staff with tools, strategies, and ideas that can be immediately put to use in the classroom.
Description: Technology is undoubtedly everywhere, even with our earliest of children. Learning how to use innovative programs geared for the littlest of learners will be covered in this session. We will review some of the robotics and game systems that connect to apps for endless play. We'll discover coding for the earliest learner and engaging lessons that support technology discoveries. What fun it is to connect our children with intention.
Description: This training includes elements of both Close Reading Strategies and Text Dependent Question Development. We will review resources related to textual immersion and practice strategies for evolving current approaches to the understanding/analysis of complex text.
Description: The concept of fractions is difficult for students to grasp when they first start learning about them. Students struggle greatly with the various operations: addition, subtraction, multiplication, division, comparing, simplifying, etc. of fractions if they are taught traditionally through the memorization of rules. To help students better learn and understand fractions, they need to be taught through engaging hands-on, visual lessons that help them learn fractions in meaningful ways.
Description: Productivity is no longer just the act of using Office software on a computer to create isolated files. Rather, learning to use web-based tools like Google Apps, Microsoft OneDrive, and Dropbox to create, store, and manage documents--this is a vital skill. Utilize the share features to collaborate with other educators and students in ways not possible even 5 years ago. Discover how these tools can be accessed from a wide variety of devices.
Description: To deliver quality assessments we must identify the specific level of learning required and then write quality assessment questions to verify we helped students reach higher levels of thinking. We know we assess what we value, but what does your district value? Are your district and classroom assessments aligned to best teaching practices which address skills based instruction as outlined in the CCSS? Do your assessments align to the new curriculum plan adopted by your district?
Description: In 2011, the WoLakota Project was born via a collaboration between the South Dakota Department of Education, the South Dakota Office of Indian Education, the Lakota, Dakota and Nakota Elders who authored the Oceti Sakowin Essential Understandings (OSEU) and Technology & Innovation in Education (TIE). The goals were to support the learning of all South Dakota students.
Description: Woope Sakowin: Classroom Management Using the Seven Sacred Virtues (Laws) is an interactive one-day workshop that explores how universal virtues can be used as a foundation for accessing Lakota culture, providing structure, promoting positive behavior, and developing trusting relationships between student and teacher. It provides steps that teachers can adapt to specific classroom needs. It provides examples of how Woope Sakowin can transform classrooms into safe and constructive learning environments.


In order for a DUI case to go forward in Florida, the initial stop of the driver must be legal. In other words, if the initial stop of the driver by the police officer is not a valid stop, all evidence that the police officer obtains after the stop should be thrown out, which would likely make proving the DUI case too difficult to proceed.
Most DUI cases start with a police officer indicating that he/she observed the suspect violate one or more traffic laws as he/she was driving. Usually, that is sufficient for a traffic stop. From there, the police officer will allege the standard signs of impairment (odor of alcohol, bloodshot and glassy eyes, slurred speech, and so on), and the DUI investigation goes on from there.
However, not all alleged driving conduct is a legitimate basis for a stop and DUI investigation. In a recent DUI case near Jacksonville, Florida, the defendant was driving in a lane that was narrower than normal. Depending on the type of road, driving lanes are normally 10 – 12 feet in width. The police officer in this DUI case testified that he saw the defendant swerve in his narrow lane to the point of driving on top of the lane dividing line. The police officer did not see him drive into the other lane or commit any other traffic violations such as speeding or running a red light. The police officer also did not observe the defendant make any sudden movements with the vehicle, cause any other vehicles to react to him or endanger anyone. The police officer pulled the defendant over for swerving in his lane and subsequently initiated a DUI investigation.
After the defendant was arrested and charged with DUI, the criminal defense lawyer filed a motion to suppress the evidence obtained during the DUI investigation because the initial stop was not valid. The initial stop in a DUI case must be based on probable cause to believe the driver violated the traffic laws or is driving while impaired from alcohol or drugs. Driving onto the dividing line is not a traffic violation that can justify a stop. If the driver was driving in such a way that he was endangering himself or others, that could be the basis for a traffic stop. However, that is a subjective determination based on the particular circumstances. In this case, there was nothing about driving onto the dividing line on a narrow road that suggested anyone was in particular danger, especially given the fact that no traffic laws were being broken.
As a result, the police officer was not justified in stopping the defendant. Therefore, the subsequent DUI evidence was thrown out, and the DUI case was dismissed.


Note that whilst the READ may be considered to do a POP instruction, the write is not the inverse of this. The memory access and ALU run concurrently, to have an inverse would necessitate the ALU to run first and the resulting address used for memory access.
There is no NOT, just compute -1 (as 0 - 1) then XOR with that.
Rz = *P++ means load immediate. P is incremented whether this instruction is run or not.
There is no test of the carry bit. If you want to know what the carry bit is then ADD zero and zero (Z = Z + Z + c) then test.
The condition normally stops the whole instruction from executing. However, if there is a add/sub on P then it happens regardless of the condition (as otherwise it wouldn't skip over the next instruction). This leads to the classic C conundrum, P = *P++. If this executes then it runs as P = *P, however if it doesn't execute then P++ does so that the next instruction is lined up as expected.
If the subroutine calls another, or has any other use for the E register then it must push it onto the stack.


text:
namespace pyarrow {

using arrow::Array;
using arrow::Column;
namespace util = arrow::util;

// ----------------------------------------------------------------------
// Serialization

template <int TYPE>
struct npy_traits {
};

template <>
struct npy_traits<NPY_BOOL> {
  typedef uint8_t value_type;
  using ArrayType = arrow::BooleanArray;

  static constexpr bool supports_nulls = false;
  static inline bool isnull(uint8_t v) {
    return false;
  }
};

#define NPY_INT_DECL(TYPE, CapType, T)              \
  template <>                                       \
  struct npy_traits<NPY_##TYPE> {                   \
    typedef T value_type;                           \
    using ArrayType = arrow::CapType##Array;        \
                                                    \
    static constexpr bool supports_nulls = false;   \
    static inline bool isnull(T v) {                \
      return false;                                 \
    }                                               \
  };

NPY_INT_DECL(INT8, Int8, int8_t);
NPY_INT_DECL(INT16, Int16, int16_t);
NPY_INT_DECL(INT32, Int32, int32_t);
NPY_INT_DECL(INT64, Int64, int64_t);
NPY_INT_DECL(UINT8, UInt8, uint8_t);
NPY_INT_DECL(UINT16, UInt16, uint16_t);
NPY_INT_DECL(UINT32, UInt32, uint32_t);
NPY_INT_DECL(UINT64, UInt64, uint64_t);

template <>
struct npy_traits<NPY_FLOAT32> {
  typedef float value_type;
  using ArrayType = arrow::FloatArray;

  static constexpr bool supports_nulls = true;

  static inline bool isnull(float v) {
    return v != v;
  }
};

template <>
struct npy_traits<NPY_FLOAT64> {
  typedef double value_type;
  using ArrayType = arrow::DoubleArray;

  static constexpr bool supports_nulls = true;

  static inline bool isnull(double v) {
    return v != v;
  }
};

template <>
struct npy_traits<NPY_OBJECT> {
  typedef PyObject* value_type;
  static constexpr bool supports_nulls = true;
};

template <int TYPE>
class ArrowSerializer {
 public:
  ArrowSerializer(arrow::MemoryPool* pool, PyArrayObject* arr, PyArrayObject* mask) :
      pool_(pool),
      arr_(arr),
      mask_(mask) {
    length_ = PyArray_SIZE(arr_);
  }

  Status Convert(std::shared_ptr<Array>* out);

  int stride() const {
    return PyArray_STRIDES(arr_)[0];
  }

  Status InitNullBitmap() {
    int null_bytes = util::bytes_for_bits(length_);

    null_bitmap_ = std::make_shared<arrow::PoolBuffer>(pool_);
    RETURN_ARROW_NOT_OK(null_bitmap_->Resize(null_bytes));

    null_bitmap_data_ = null_bitmap_->mutable_data();
    memset(null_bitmap_data_, 0, null_bytes);

    return Status::OK();
  }

  bool is_strided() const {
    npy_intp* astrides = PyArray_STRIDES(arr_);
    return astrides[0] != PyArray_DESCR(arr_)->elsize;
  }

 private:
  Status ConvertData();

  Status ConvertObjectStrings(std::shared_ptr<Array>* out) {
    PyObject** objects = reinterpret_cast<PyObject**>(PyArray_DATA(arr_));

    auto offsets_buffer = std::make_shared<arrow::PoolBuffer>(pool_);
    RETURN_ARROW_NOT_OK(offsets_buffer->Resize(sizeof(int32_t) * (length_ + 1)));
    int32_t* offsets = reinterpret_cast<int32_t*>(offsets_buffer->mutable_data());

    arrow::BufferBuilder data_builder(pool_);
    arrow::Status s;
    PyObject* obj;
    int length;
    int offset = 0;
    int64_t null_count = 0;
    for (int64_t i = 0; i < length_; ++i) {
      obj = objects[i];
      if (PyUnicode_Check(obj)) {
        obj = PyUnicode_AsUTF8String(obj);
        if (obj == NULL) {
          PyErr_Clear();
          return Status::TypeError("failed converting unicode to UTF8");
        }
        length = PyBytes_GET_SIZE(obj);
        s = data_builder.Append(
            reinterpret_cast<const uint8_t*>(PyBytes_AS_STRING(obj)), length);
        Py_DECREF(obj);
        if (!s.ok()) {
          return Status::ArrowError(s.ToString());
        }
        util::set_bit(null_bitmap_data_, i);
      } else if (PyBytes_Check(obj)) {
        length = PyBytes_GET_SIZE(obj);
        RETURN_ARROW_NOT_OK(data_builder.Append(
                reinterpret_cast<const uint8_t*>(PyBytes_AS_STRING(obj)), length));
        util::set_bit(null_bitmap_data_, i);
      } else {
        // NULL
        // No change to offset
        length = 0;
        ++null_count;
      }
      offsets[i] = offset;
      offset += length;
    }
    // End offset
    offsets[length_] = offset;

    std::shared_ptr<arrow::Buffer> data_buffer = data_builder.Finish();

    auto values = std::make_shared<arrow::UInt8Array>(data_buffer->size(),
        data_buffer);
    *out = std::shared_ptr<arrow::Array>(
        new arrow::StringArray(length_, offsets_buffer, values, null_count,
            null_bitmap_));

    return Status::OK();
  }

  Status ConvertBooleans(std::shared_ptr<Array>* out) {
    PyObject** objects = reinterpret_cast<PyObject**>(PyArray_DATA(arr_));

    int nbytes = util::bytes_for_bits(length_);
    auto data = std::make_shared<arrow::PoolBuffer>(pool_);
    RETURN_ARROW_NOT_OK(data->Resize(nbytes));
    uint8_t* bitmap = data->mutable_data();
    memset(bitmap, 0, nbytes);

    int64_t null_count = 0;
    for (int64_t i = 0; i < length_; ++i) {
      if (objects[i] == Py_True) {
        util::set_bit(bitmap, i);
        util::set_bit(null_bitmap_data_, i);
      } else if (objects[i] != Py_False) {
        ++null_count;
      } else {
        util::set_bit(null_bitmap_data_, i);
      }
    }

    *out = std::make_shared<arrow::BooleanArray>(length_, data, null_count,
        null_bitmap_);

    return Status::OK();
  }

  arrow::MemoryPool* pool_;

  PyArrayObject* arr_;
  PyArrayObject* mask_;

  int64_t length_;

  std::shared_ptr<arrow::Buffer> data_;
  std::shared_ptr<arrow::ResizableBuffer> null_bitmap_;
  uint8_t* null_bitmap_data_;
};

// Returns null count
static int64_t MaskToBitmap(PyArrayObject* mask, int64_t length, uint8_t* bitmap) {
  int64_t null_count = 0;
  const uint8_t* mask_values = static_cast<const uint8_t*>(PyArray_DATA(mask));
  // TODO(wesm): strided null mask
  for (int i = 0; i < length; ++i) {
    if (mask_values[i]) {
      ++null_count;
    } else {
      util::set_bit(bitmap, i);
    }
  }
  return null_count;
}

template <int TYPE>
static int64_t ValuesToBitmap(const void* data, int64_t length, uint8_t* bitmap) {
  typedef npy_traits<TYPE> traits;
  typedef typename traits::value_type T;

  int64_t null_count = 0;
  const T* values = reinterpret_cast<const T*>(data);

  // TODO(wesm): striding
  for (int i = 0; i < length; ++i) {
    if (traits::isnull(values[i])) {
      ++null_count;
    } else {
      util::set_bit(bitmap, i);
    }
  }

  return null_count;
}

template <int TYPE>
inline Status ArrowSerializer<TYPE>::Convert(std::shared_ptr<Array>* out) {
  typedef npy_traits<TYPE> traits;

  if (mask_ != nullptr || traits::supports_nulls) {
    RETURN_NOT_OK(InitNullBitmap());
  }

  int64_t null_count = 0;
  if (mask_ != nullptr) {
    null_count = MaskToBitmap(mask_, length_, null_bitmap_data_);
  } else if (traits::supports_nulls) {
    null_count = ValuesToBitmap<TYPE>(PyArray_DATA(arr_), length_, null_bitmap_data_);
  }

  RETURN_NOT_OK(ConvertData());
  *out = std::make_shared<typename traits::ArrayType>(length_, data_, null_count,
      null_bitmap_);

  return Status::OK();
}

static inline bool PyObject_is_null(const PyObject* obj) {
  return obj == Py_None || obj == numpy_nan;
}

static inline bool PyObject_is_string(const PyObject* obj) {
#if PY_MAJOR_VERSION >= 3
  return PyUnicode_Check(obj) || PyBytes_Check(obj);
#else
  return PyString_Check(obj) || PyUnicode_Check(obj);
#endif
}

static inline bool PyObject_is_bool(const PyObject* obj) {
#if PY_MAJOR_VERSION >= 3
  return PyString_Check(obj) || PyBytes_Check(obj);
#else
  return PyString_Check(obj) || PyUnicode_Check(obj);
#endif
}

template <>
inline Status ArrowSerializer<NPY_OBJECT>::Convert(std::shared_ptr<Array>* out) {
  // Python object arrays are annoying, since we could have one of:
  //
  // * Strings
  // * Booleans with nulls
  // * Mixed type (not supported at the moment by arrow format)
  //
  // Additionally, nulls may be encoded either as np.nan or None. So we have to
  // do some type inference and conversion

  RETURN_NOT_OK(InitNullBitmap());

  // TODO: mask not supported here
  const PyObject** objects = reinterpret_cast<const PyObject**>(PyArray_DATA(arr_));

  for (int64_t i = 0; i < length_; ++i) {
    if (PyObject_is_null(objects[i])) {
      continue;
    } else if (PyObject_is_string(objects[i])) {
      return ConvertObjectStrings(out);
    } else if (PyBool_Check(objects[i])) {
      return ConvertBooleans(out);
    } else {
      return Status::TypeError("unhandled python type");
    }
  }

  return Status::TypeError("Unable to infer type of object array, were all null");
}

template <int TYPE>
inline Status ArrowSerializer<TYPE>::ConvertData() {
  // TODO(wesm): strided arrays
  if (is_strided()) {
    return Status::ValueError("no support for strided data yet");
  }

  data_ = std::make_shared<NumPyBuffer>(arr_);
  return Status::OK();
}

template <>
inline Status ArrowSerializer<NPY_BOOL>::ConvertData() {
  if (is_strided()) {
    return Status::ValueError("no support for strided data yet");
  }

  int nbytes = util::bytes_for_bits(length_);
  auto buffer = std::make_shared<arrow::PoolBuffer>(pool_);
  RETURN_ARROW_NOT_OK(buffer->Resize(nbytes));

  const uint8_t* values = reinterpret_cast<const uint8_t*>(PyArray_DATA(arr_));

  uint8_t* bitmap = buffer->mutable_data();

  memset(bitmap, 0, nbytes);
  for (int i = 0; i < length_; ++i) {
    if (values[i] > 0) {
      util::set_bit(bitmap, i);
    }
  }

  data_ = buffer;

  return Status::OK();
}

template <>
inline Status ArrowSerializer<NPY_OBJECT>::ConvertData() {
  return Status::TypeError("NYI");
}

#define TO_ARROW_CASE(TYPE)                                     \
  case NPY_##TYPE:                                              \
    {                                                           \
      ArrowSerializer<NPY_##TYPE> converter(pool, arr, mask);   \
      RETURN_NOT_OK(converter.Convert(out));                    \
    }                                                           \
    break;

Status PandasMaskedToArrow(arrow::MemoryPool* pool, PyObject* ao, PyObject* mo,
    std::shared_ptr<Array>* out) {
  PyArrayObject* arr = reinterpret_cast<PyArrayObject*>(ao);
  PyArrayObject* mask = nullptr;

  if (mo != nullptr) {
    mask = reinterpret_cast<PyArrayObject*>(mo);
  }

  if (PyArray_NDIM(arr) != 1) {
    return Status::ValueError("only handle 1-dimensional arrays");
  }

  switch(PyArray_DESCR(arr)->type_num) {
    TO_ARROW_CASE(BOOL);
    TO_ARROW_CASE(INT8);
    TO_ARROW_CASE(INT16);
    TO_ARROW_CASE(INT32);
    TO_ARROW_CASE(INT64);
    TO_ARROW_CASE(UINT8);
    TO_ARROW_CASE(UINT16);
    TO_ARROW_CASE(UINT32);
    TO_ARROW_CASE(UINT64);
    TO_ARROW_CASE(FLOAT32);
    TO_ARROW_CASE(FLOAT64);
    TO_ARROW_CASE(OBJECT);
    default:
      std::stringstream ss;
      ss << "unsupported type " << PyArray_DESCR(arr)->type_num
         << std::endl;
      return Status::NotImplemented(ss.str());
  }
  return Status::OK();
}

Status PandasToArrow(arrow::MemoryPool* pool, PyObject* ao,
    std::shared_ptr<Array>* out) {
  return PandasMaskedToArrow(pool, ao, nullptr, out);
}

// ----------------------------------------------------------------------
// Deserialization

template <int TYPE>
struct arrow_traits {
};

template <>
struct arrow_traits<arrow::Type::BOOL> {
  static constexpr int npy_type = NPY_BOOL;
  static constexpr bool supports_nulls = false;
  static constexpr bool is_boolean = true;
  static constexpr bool is_integer = false;
  static constexpr bool is_floating = false;
};

#define INT_DECL(TYPE)                                      \
  template <>                                               \
  struct arrow_traits<arrow::Type::TYPE> {              \
    static constexpr int npy_type = NPY_##TYPE;             \
    static constexpr bool supports_nulls = false;           \
    static constexpr double na_value = NAN;                 \
    static constexpr bool is_boolean = false;               \
    static constexpr bool is_integer = true;                \
    static constexpr bool is_floating = false;              \
    typedef typename npy_traits<NPY_##TYPE>::value_type T;  \
  };

INT_DECL(INT8);
INT_DECL(INT16);
INT_DECL(INT32);
INT_DECL(INT64);
INT_DECL(UINT8);
INT_DECL(UINT16);
INT_DECL(UINT32);
INT_DECL(UINT64);

template <>
struct arrow_traits<arrow::Type::FLOAT> {
  static constexpr int npy_type = NPY_FLOAT32;
  static constexpr bool supports_nulls = true;
  static constexpr float na_value = NAN;
  static constexpr bool is_boolean = false;
  static constexpr bool is_integer = false;
  static constexpr bool is_floating = true;
  typedef typename npy_traits<NPY_FLOAT32>::value_type T;
};

template <>
struct arrow_traits<arrow::Type::DOUBLE> {
  static constexpr int npy_type = NPY_FLOAT64;
  static constexpr bool supports_nulls = true;
  static constexpr double na_value = NAN;
  static constexpr bool is_boolean = false;
  static constexpr bool is_integer = false;
  static constexpr bool is_floating = true;
  typedef typename npy_traits<NPY_FLOAT64>::value_type T;
};

template <>
struct arrow_traits<arrow::Type::STRING> {
  static constexpr int npy_type = NPY_OBJECT;
  static constexpr bool supports_nulls = true;
  static constexpr bool is_boolean = false;
  static constexpr bool is_integer = false;
  static constexpr bool is_floating = false;
};

static inline PyObject* make_pystring(const uint8_t* data, int32_t length) {
#if PY_MAJOR_VERSION >= 3
  return PyUnicode_FromStringAndSize(reinterpret_cast<const char*>(data), length);
#else
  return PyString_FromStringAndSize(reinterpret_cast<const char*>(data), length);
#endif
}

template <int TYPE>
class ArrowDeserializer {
 public:
  ArrowDeserializer(const std::shared_ptr<Column>& col, PyObject* py_ref) :
      col_(col), py_ref_(py_ref) {}

  Status Convert(PyObject** out) {
    const std::shared_ptr<arrow::ChunkedArray> data = col_->data();
    if (data->num_chunks() > 1) {
      return Status::NotImplemented("Chunked column conversion NYI");
    }

    auto chunk = data->chunk(0);

    RETURN_NOT_OK(ConvertValues<TYPE>(chunk));
    *out = reinterpret_cast<PyObject*>(out_);
    return Status::OK();
  }

  Status AllocateOutput(int type) {
    npy_intp dims[1] = {col_->length()};
    out_ = reinterpret_cast<PyArrayObject*>(PyArray_SimpleNew(1, dims, type));

    if (out_ == NULL) {
      // Error occurred, trust that SimpleNew set the error state
      return Status::OK();
    }

    return Status::OK();
  }

  Status OutputFromData(int type, void* data) {
    // Zero-Copy. We can pass the data pointer directly to NumPy.
    Py_INCREF(py_ref_);
    OwnedRef py_ref(py_ref);
    npy_intp dims[1] = {col_->length()};
    out_ = reinterpret_cast<PyArrayObject*>(PyArray_SimpleNewFromData(1, dims,
                type, data));

    if (out_ == NULL) {
      // Error occurred, trust that SimpleNew set the error state
      return Status::OK();
    }

    if (PyArray_SetBaseObject(out_, py_ref_) == -1) {
      // Error occurred, trust that SetBaseObject set the error state
      return Status::OK();
    } else {
      // PyArray_SetBaseObject steals our reference to py_ref_
      py_ref.release();
    }

    // Arrow data is immutable.
    PyArray_CLEARFLAGS(out_, NPY_ARRAY_WRITEABLE);

    return Status::OK();
  }

  template <int T2>
  inline typename std::enable_if<
    arrow_traits<T2>::is_floating, Status>::type
  ConvertValues(const std::shared_ptr<Array>& arr) {
    typedef typename arrow_traits<T2>::T T;

    arrow::PrimitiveArray* prim_arr = static_cast<arrow::PrimitiveArray*>(
        arr.get());
    const T* in_values = reinterpret_cast<const T*>(prim_arr->data()->data());

    if (arr->null_count() > 0) {
      RETURN_NOT_OK(AllocateOutput(arrow_traits<T2>::npy_type));

      T* out_values = reinterpret_cast<T*>(PyArray_DATA(out_));
      for (int64_t i = 0; i < arr->length(); ++i) {
        out_values[i] = arr->IsNull(i) ? NAN : in_values[i];
      }
    } else {
      // Zero-Copy. We can pass the data pointer directly to NumPy.
      void* data = const_cast<T*>(in_values);
      int type = arrow_traits<TYPE>::npy_type;
      RETURN_NOT_OK(OutputFromData(type, data));
    }

    return Status::OK();
  }

  // Integer specialization
  template <int T2>
  inline typename std::enable_if<
    arrow_traits<T2>::is_integer, Status>::type
  ConvertValues(const std::shared_ptr<Array>& arr) {
    typedef typename arrow_traits<T2>::T T;

    arrow::PrimitiveArray* prim_arr = static_cast<arrow::PrimitiveArray*>(
        arr.get());

    const T* in_values = reinterpret_cast<const T*>(prim_arr->data()->data());

    if (arr->null_count() > 0) {
      RETURN_NOT_OK(AllocateOutput(NPY_FLOAT64));

      // Upcast to double, set NaN as appropriate
      double* out_values = reinterpret_cast<double*>(PyArray_DATA(out_));
      for (int i = 0; i < arr->length(); ++i) {
        out_values[i] = prim_arr->IsNull(i) ? NAN : in_values[i];
      }
    } else {
      // Zero-Copy. We can pass the data pointer directly to NumPy.
      void* data = const_cast<T*>(in_values);
      int type = arrow_traits<TYPE>::npy_type;
      RETURN_NOT_OK(OutputFromData(type, data));
    }

    return Status::OK();
  }

  // Boolean specialization
  template <int T2>
  inline typename std::enable_if<
    arrow_traits<T2>::is_boolean, Status>::type
  ConvertValues(const std::shared_ptr<Array>& arr) {
    arrow::BooleanArray* bool_arr = static_cast<arrow::BooleanArray*>(arr.get());

    if (arr->null_count() > 0) {
      RETURN_NOT_OK(AllocateOutput(NPY_OBJECT));

      PyObject** out_values = reinterpret_cast<PyObject**>(PyArray_DATA(out_));
      for (int64_t i = 0; i < arr->length(); ++i) {
        if (bool_arr->IsNull(i)) {
          Py_INCREF(Py_None);
          out_values[i] = Py_None;
        } else if (bool_arr->Value(i)) {
          // True
          Py_INCREF(Py_True);
          out_values[i] = Py_True;
        } else {
          // False
          Py_INCREF(Py_False);
          out_values[i] = Py_False;
        }
      }
    } else {
      RETURN_NOT_OK(AllocateOutput(arrow_traits<TYPE>::npy_type));

      uint8_t* out_values = reinterpret_cast<uint8_t*>(PyArray_DATA(out_));
      for (int64_t i = 0; i < arr->length(); ++i) {
        out_values[i] = static_cast<uint8_t>(bool_arr->Value(i));
      }
    }

    return Status::OK();
  }

  // UTF8
  template <int T2>
  inline typename std::enable_if<
    T2 == arrow::Type::STRING, Status>::type
  ConvertValues(const std::shared_ptr<Array>& arr) {
    RETURN_NOT_OK(AllocateOutput(NPY_OBJECT));

    PyObject** out_values = reinterpret_cast<PyObject**>(PyArray_DATA(out_));

    arrow::StringArray* string_arr = static_cast<arrow::StringArray*>(arr.get());

    const uint8_t* data;
    int32_t length;
    if (arr->null_count() > 0) {
      for (int64_t i = 0; i < arr->length(); ++i) {
        if (string_arr->IsNull(i)) {
          Py_INCREF(Py_None);
          out_values[i] = Py_None;
        } else {
          data = string_arr->GetValue(i, &length);

          out_values[i] = make_pystring(data, length);
          if (out_values[i] == nullptr) {
            return Status::OK();
          }
        }
      }
    } else {
      for (int64_t i = 0; i < arr->length(); ++i) {
        data = string_arr->GetValue(i, &length);
        out_values[i] = make_pystring(data, length);
        if (out_values[i] == nullptr) {
          return Status::OK();
        }
      }
    }
    return Status::OK();
  }
 private:
  std::shared_ptr<Column> col_;
  PyObject* py_ref_;
  PyArrayObject* out_;
};

#define FROM_ARROW_CASE(TYPE)                                       \
  case arrow::Type::TYPE:                                           \
    {                                                               \
      ArrowDeserializer<arrow::Type::TYPE> converter(col, py_ref);  \
      return converter.Convert(out);                                \
    }                                                               \
    break;

Status ArrowToPandas(const std::shared_ptr<Column>& col, PyObject* py_ref,
        PyObject** out) {
  switch(col->type()->type) {
    FROM_ARROW_CASE(BOOL);
    FROM_ARROW_CASE(INT8);
    FROM_ARROW_CASE(INT16);
    FROM_ARROW_CASE(INT32);
    FROM_ARROW_CASE(INT64);
    FROM_ARROW_CASE(UINT8);
    FROM_ARROW_CASE(UINT16);
    FROM_ARROW_CASE(UINT32);
    FROM_ARROW_CASE(UINT64);
    FROM_ARROW_CASE(FLOAT);
    FROM_ARROW_CASE(DOUBLE);
    FROM_ARROW_CASE(STRING);
    default:
      return Status::NotImplemented("Arrow type reading not implemented");
  }
  return Status::OK();
}

} // namespace pyarrow


But when, against everything he claims to represent, Ben becomes entangled in Abby's father's Ku Klux Klan work, the terrible tragedy and surprising revelations that one hot Outer Banks night brings forth threaten to tear them apart forever.
Download the Lost Chapter of The Outer Banks House.
For more information visit Diann Ducharme's website. You can also follow Diann on her blog, Twitter, and Goodreads.


July 27, 2011 in "Music chris swann"
Chris Swann is a talented and versatile composer and musician working today in the entertainment industry, with an impressive up and coming musical résumé in film, television and performances. A graduate of the Electronics Engineering at the University of Maryland Easternshore, he began his senior year touring with MBR and they were backup band for Eddie Money. He recorded bass tracks with "Moment of Silence", Star Search Winners. Chris moved to Southern California after meeting and touring with the 3 Time World Surf Champion Tom Curren band as his bass player. The band toured Europe, Africa, Brazil and United States and continues to do so today. Chris is one of the music writers for "The Search" sponsored by Rip Curl, starring Tom Curren and friends. It is a 5 box set film documentary that follows Rip Curl surfers across the globe to find perfect waves and exotic beaches. The project is collaboration with writer-director Sonny Miller, Music Director Arno Kemsy and other visionaries. Since 1996 to today, Chris teamed up with Stu Edmond creator and senior editor for Planet-X Extreme Sports TV and scored a plethora of shows. He wrote sound tracks for several of Deadfish Productions films one of which includes "Last Breath" which starred William Bettner, OJ Guerra, Mellisa Redmond. Last Breath is a martial arts action-adventure written and directed by Kip Shelton. Chris wrote the score for the Promotional DVD for Girls Inc. San Diego. He recently licensed his music with Kevin Frazier Production's HipHollywood.com. Frazier is a host Entertainment Tonight. Chris has also composed some of his best original scores for KOCT, Local Community TV series Oceanside Spectrum. He also wrote music for KCEO AM Talk Radio which included opening and closing of the show, commercials and theme music. Chris completed his latest score for "A Date with Anna" DVD starring Anna Kournikova. The film is an exciting behind the scenes calendar shoot with Anna in Mexico. This film is distributed by Lionsgate Films and ESPN.


text:
import { Component, OnInit } from '@angular/core';
import { routerTransition } from '../../router.animations';

@Component({
    selector: 'app-form',
    templateUrl: './form.component.html',
    styleUrls: ['./form.component.scss'],
    animations: [routerTransition()]
})
export class FormComponent implements OnInit {
    constructor() { }
    ngOnInit() {}
}