text:
\section{Introduction}

Networks represent a useful and widely adopted structure to model systems from distinct areas, such as computer science, biology, sociology, and others~\cite{Estrada2015}. A network is defined in terms of nodes (instances) and edges (the relationship involving them)~\cite{ALB02a}. In this way, a network may be used to represent the World Wide Web (Web pages connected by hyperlinks), an organism cell (chemicals linked by chemical reactions), social interactions (any social relationship connecting individuals - e.g., friendship or collaboration), and many others~\cite{Estrada2015}. In several situations, using only information about nodes and edges may not be enough to represent and comprehend the relations in the network. In social network analysis, for example, the information of \textit{when} the connections occur may be crucial to describe such relations with less (or even without) loss of context. Networks in which the time information is considered, in addition to nodes and edges information, are studied in several disciplines and received different nomenclatures: temporal network, dynamic network, time-varying network~\cite{Holme2011}.

In temporal networks, the appearance of a new node or edge represents the occurrence of an event at the respective timestamp. In this type of network, all events are known and available to be used in the analysis (offline scenario)~\cite{Holme2011}. A temporal network has a delimited observation period, its data usually fit in primary memory and unrestricted random access is allowed. However, in several real-world applications, data are produced in a massive and continuous way (online scenario). These types of data are referred as \textit{data streams}. Examples include credit card transactions, phone calls, neuronal data, content sharing social networks, and others. In such applications, the volume of data may be so large that the storage may be impossible and mining tasks become more challenging~\cite{livroAggarwal}. Temporal networks can be used to model such streaming data~\cite{sampleStream1}. Since new events (edges) are continuously arriving in non-stationary distribution and typically at high speed, such networks are called \textit{streaming networks}~\cite{sampleStream1,Zhang2010,estrada2013communicability}. The non-stationary distribution of incoming data increases complexity and makes streaming network manipulation even more challenging.

Both temporal and streaming networks can be analysed by adopting different strategies. Statistical analysis represents a common approach and is useful to identify specific trends and patterns in the data, being used, for example, in connection prediction~\cite{estatisticaExemplo1} and burst analysis~\cite{estatisticaExemplo2}. When there is only a numeric output, however, it may represent a ``black-box'' to the user, thus impairing pattern comprehension. Another approach involves Information Visualisation~\cite{card1999readings,info_visualization}, whose strategies assist data analysis by providing interactive and graphical computational tools, thus including the user in the entire process of exploration and validation. An adequate Information Visualisation strategy allows a visual analysis that is as much intuitive as possible and also helps the user in finding unexpected patterns, anomalies, and other behaviours in the data, thus resulting in a fast and reliable decision making. Examples of recent visualisation methods applied to temporal and streaming networks can be found in ~\cite{cap,DyNetVis,Elzen2014,artigoSara,incremental2012,incrementalLayout,visualizacaoJoaoGama,dang2016timearcs,mtap}.

Visualisation techniques suitable for network analysis include node-link diagrams~\cite{SurveyStructural,CNO} and the \textit{Massive Sequence View (MSV)} layout~\cite{OriginalMSV,ElzenEnron}. Such layouts may suffer from visual clutter caused by the amount of information, impairing the analysis. To address this issue, all three network dimensions, namely \textit{node}, \textit{edge} (or \textit{connection}), and \textit{time}, can be manipulated to reduce clutter and improve readability. Node ordering techniques~\cite{Elzen2014,DyNetVis}, for instance, try to reduce edge overlapping by repositioning nodes, while sampling approaches~\cite{ResolutionLuis,EdgeSampling2018} select specific portions of the network to be analysed. Among these, the temporal sampling allows the selection of a subset of nodes and edges by reducing the observation time (e.g., considering only the first day of the network) or by timislicing the network, i.e., changing the network temporal resolution by  grouping edges from subsequent timestamps in a way that each timestamp may represent, for example, all edges from 1 minute or 1 day interval~\cite{ResolutionLuis,DyNetVis}).

The temporal resolution plays an important role in the layout construction and, consequently, in the visual analysis. In several scenarios, as, for example, when the networks are temporally sparse, an effective timeslicing may facilitate the analysis and highlight patterns that would be difficult to see using the original resolution~\cite{DyNetVis,Lee2019}. Choosing the length (in terms of number of timestamps) of each timeslice, however, is not a trivial task. Since it is usually chosen before the layout construction, the user needs to be a domain specialist, in order to know \textit{a priori} which timeslicing is the more adequate for the analysis given the expected event frequency distribution; otherwise it has to be empirically determined. A naive and widely used timeslicing approach is to consider timeslices of equal length to represent the network (uniform timeslicing)~\cite{ResolutionLuis,DyNetVis,EdgeSampling2018,CNO}. Despite the simplicity, the adopted value is a global, static, and pre-defined parameter that does not faithfully represent the number of events and their distribution. In both temporal and streaming networks, such distribution is non-stationary and changes over time, so the timeslicing method should consider this nonuniform behaviour. Although nonuniform timeslicing is often used in other contexts (e.g., multithreaded communication~\cite{MultithreadedCommunication}, data transfer~\cite{dataTransfer}, and systems performance degeneration analysis~\cite{performanceDegeneration}), it has only been considered recently in temporal network visualisation~\cite{wang}. Despite this recent advance, we are not aware of online and nonuniform timeslicing methods, necessary for streaming network analysis.

In this paper, we propose an online and nonuniform timeslicing method that automatically adapts the network temporal resolution scale according to the non-stationary distribution of events over time. Our method allows the identification of visual patterns, mostly global ones, that would be lost or difficult to find with a uniform timeslicing. Our focus is on online scenarios (streaming networks), which brings new challenges, as, for example, the need for fast (often real-time) methods and the immediate disposal of edges after processing~\cite{incrementalLayout}. Since any method developed for online scenarios can be applied in offline ones~\cite{sampleStream1}, our method can also be used to enhance temporal network analysis. Even knowing all events and having the possibility of unrestricted random access, improving the overall layout readability is already a challenging problem in temporal network visualisation~\cite{EdgeSampling2018,CNO}. Our proposal thus benefits both scenarios.

The paper is organised as follows. Section~\ref{relatedWork} presents related concepts and discusses the related work. Section~\ref{method} describes the proposed timeslicing method. Section~\ref{experiments} presents two case studies using real-world networks. Section~\ref{limitations} describes the method's limitations. Section~\ref{conclusion} discusses conclusion and future work.

\section{Background and Related Work}
\label{relatedWork}

This section presents fundamental concepts and discusses strategies focused on network
visualisation. A discussion concerning
network dimensions (\textit{node}, \textit{edge}, and \textit{time}) manipulation is also provided.

\subsection{Temporal and Streaming Networks}

A temporal network can be represented by  $G = (V,E)$, where $V = \{n_{1}, n_{2}, ..., n_{N}\}$ is the set of nodes in the network and $E = \{e_{1}, e_{2}, ..., e_{M}\}$ is the set of edges. In our context, each edge $e_{i} = (n_{x}, n_{y}, t_{k})$ connects two nodes $n_{x}, n_{y} \in V$ at a particular and discrete timestamp $t_{k}$~\cite{cap,Holme2011}. Considering $t_{end}$ as the end of the observation period, $0 \leq t_{k} \leq t_{end}$. In fact, an edge that occurs at $t_{k}$ actually occurs in the interval $[t_{k},t_{k}+\tau)$, where $\tau$ is the temporal resolution~\cite{cap}. To simplify, self-edges (i.e., edges connecting a node to itself) are removed~\cite{cap}.

Streaming data that represent interactions among elements may be naturally represented as a \textit{streaming network}~\cite{sampleStream1,mcgregor2009graph}. In a telecommunication context, phone calls form a network between the involved phone numbers~\cite{Zhang2010}. In the same way, web pages and the links between them form a web network. Methods for processing streaming networks require efficient and real-time processing. This means that a streaming (or online) algorithm, besides the restricted access to the stream data (edges), must process the stream in a single scan, or in a small number of scans~\cite{Zhang2010}.

In temporal networks, all edges and nodes are known and available to be used in the analysis. In streaming, edges are continuously arriving, typically at high speed, and in a way that the volume of data does not fit in the primary memory~\cite{sampleStream1}. We define a streaming network $S = \{e_{1}, e_{2}, ..., e_{m}, ... \}$ as a temporal network $G = (V,E)$ as follows: $e_{i} = (n_{x}, n_{y}, t_{k})$, $e_{i} \in E$, represents an edge that occurs at a discrete timestamp $t_{k}$, $0 \leq t_{k} \leq \infty$, between $n_{x},n_{y} \in V$, $|V| \to \infty$. Note that it is possible to have more than one edge per timestamp. This definition is different from the ones that consider each edge arriving in a different timestamp~\cite{incrementalLayout,umaArestaPorTempo,etemadi2019pes}.

\subsection{Network Visualisation}

The employment of an effective temporal network visualisation strategy helps the user in the network evolution comprehension and facilitates the identification of patterns, anomalies, and other network properties. In this context, several visual strategies may be adopted, such as matrix-based~\cite{matrixcube,bach2014visualizing} and circular approaches~\cite{Elzen2014}, node-link diagrams~\cite{estrutural1,DyNetVis} and \textit{Massive Sequence View (MSV)} layouts~\cite{OriginalMSV,ElzenEnron}. Among these, node-link diagrams and MSV represent the best strategies when the task is to analyse the edge (event) distribution over time~\cite{Elzen2014,cap}. In this paper, we focus on MSV because of its visual scalability (considering the network size, in terms of number of nodes and edges) as well as its mental map preservation~\cite{CNO}.

The \textit{Massive Sequence View}~\cite{OriginalMSV,ElzenEnron} is a timeline-based layout~\cite{surveyFoda} similar to BioFabric~\cite{biofabric}. Its $x$-axis represents the timestamps and the $y$-axis represents the nodes of the network. In this layout, nodes cannot change their positions over time. Every time there is a connection (edge) between a pair of nodes, a vertical line is drawn linking them in the respective timestamp. The construction of the standard MSV layout using the tabular (raw) data is illustrated in Fig.~\ref{fig:relatedwork}(a,b).

When applied in real-world networks with a large amount of data, node-link diagrams and MSV suffer from visual clutter caused by overlapping edges, and thus important patterns may not be perceived. The \textit{Temporal Activity Map (TAM)}~\cite{DyNetVis}, which omits all edges of the MSV layout and changes the shape of nodes from circles to squares for better sense of continuity, represents an alternative layout useful to identify patterns based only in the node activity (Fig.~\ref{fig:relatedwork}(b)). However, when the edge information is still needed or the amount of visual information in the layout is still large, these issues must be solved.

\begin{figure*}[ht!]
	\includegraphics[width=\linewidth]{relatedWorkComLetras.pdf}
	\centering
	\caption{MSV layout and possible types of manipulation. (a) Tabular (raw) data; (b) MSV layout: standard MSV, showing nodes and edges, and temporal activity map (TAM). In real-world networks that contain a large amount of data, MSV suffers from visual clutter. In this case, it is possible to improve the layout by manipulating the three network dimensions. (c) Node dimension manipulation -- ordering and sampling; (d) Edge dimension manipulation -- sampling; (e) Temporal dimension manipulation -- observation time sampling; (f) Temporal dimension manipulation -- timeslicing.}
	\label{fig:relatedwork}
\end{figure*}

One strategy to enhance the layout is by changing the node positioning, which affects the length of the edges and, consequently, the number of overlapping edges and visible patterns. For this purpose, several node ordering algorithms have been proposed in the literature. For the MSV layout, examples include naive approaches, such as the ones based on the node appearance order, degree (in/out) and lexicographic, as well as more complex approaches, such as \textit{Optimized MSV}~\cite{ElzenEnron}, \textit{Recurrent Neighbors}~\cite{DyNetVis}, and \textit{Community-based Node Ordering (CNO)}~\cite{CNO}.  These strategies, however, are not suitable for streaming networks since they require all edges in primary memory. Figure~\ref{fig:relatedwork}(b,c) shows an example of node ordering and its impact on the edges.

Besides node positioning, sampling strategies can also improve layout readability by reducing the number of edges under analysis~\cite{CNO,EdgeSampling2018,EODShortPaper,joaoGamaParecido}. In this case, not only edges can be sampled, but also nodes -- only those edges connecting the sampled nodes are maintained --, as illustrated in Fig.~\ref{fig:relatedwork}(c-d).

\subsection{Network Timeslicing}
\label{relatedWorkResolucao}

Along with node positioning and sampling strategies, the temporal dimension can also be manipulated to improve layout readability. In this case, one possibility is to choose an observation time of interest (e.g., only the first or the second day of the network), as adopted by Zhao et al.~\cite{EdgeSampling2018} (Fig.~\ref{fig:relatedwork}(e)). Another possibility is to change the network temporal resolution scale through timeslicing strategies. Timeslicing in our context means that events from subsequent timestamps will be grouped in a single timestamp~\cite{ResolutionLuis}. The higher the temporal resolution scale, the more subsequent timestamps will be grouped into one and, as a consequence, the longer the time interval represented by the resulting timestamp.

In the simpler timeslicing approach (known as \textit{uniform timeslicing}), the temporal resolution scale is a global and static value, so all timestamps of the network represent the same length of time without considering cases in which the network has non-stationary event distribution. As an example, if each timestamp in resolution 1 represents a 20-second interval, then each timestamp in resolution 2 will represent a 40-second interval. Linhares et al.~\cite{DyNetVis} changes the timestamp in which each event occurs by following a uniform timeslicing as follows (Eq.~\ref{eq:resolucaoEstatica}).

\begin{equation}
\label{eq:resolucaoEstatica}
t_{\text{new}} = \left\lfloor \frac{ t_{\text{ori}} - t_{\text{s}}}{\tau} \right\rfloor \tau+t_{\text{s}}
\end{equation}

where $t_{\text{new}}$ is the new timestamp of the event, $t_{\text{ori}}$ is the timestamp of the event in the original temporal resolution, $t_{\text{s}}$ is the first timestamp of the network and $\tau$ is the desired resolution scale. Repeated events (edges) are considered as a single one if their timestamps are merged. As a result, one may identify temporal patterns that would be difficult to see in the original resolution, especially in temporally sparse networks~\cite{DyNetVis}. This timeslicing process is exemplified in Fig.~\ref{fig:relatedwork}(f), where in resolution 2 (new resolution defined by $\tau=2$) each pair of adjacent timestamps from the original network (Fig.~\ref{fig:relatedwork}(b)) are merged into one, thus the events represented in (A,B,0) and (A,B,1) become a single event in resolution 2 (A,B,0) and so on.

For convenience, several studies that visualise temporal networks employ uniform timeslicing in the networks under analysis~\cite{DyNetVis, EdgeSampling2018,cap,CNO,ResolutionLuis}. In~\cite{cap}, for instance, the the authors analyse a high-school network~\cite{highSchool} considering each timestamp of the MSV layout as a three-minute interval whilst the original network temporal resolution is a 20-second interval per timestamp. In the same way, the Enron network~\cite{enron2} was analysed using a specific temporal resolution in~\cite{EODShortPaper} and a different one in~\cite{DyNetVis}. Such global and static temporal resolution scale is empirically chosen through initial exploratory analyses or by a domain specialist that knows \textit{a priori} which one is adequate for the analysis given the event distribution. This scale does not consider the underlying network structure and thus may not faithfully represent the non-stationary distribution of events over time. Notwithstanding, in temporal networks all events are available in the visual analysis, so different scales may be tested until an adequate one is found.

In streaming scenarios, although one can adopt uniform timeslices as well, the employment of uniform approaches is even more difficult due to the non-stationary distribution of future events. Exploratory analysis may not be possible because usually there are no \textit{a priori} data to support the decision. Since the event distribution can change, considering only an initial set of events in the stream to support the choice may be inefficient as well. This is often ignored when it is assumed a uniform event distribution, as if the events came in consecutive timestamps~\cite{incrementalLayout,umaArestaPorTempo,etemadi2019pes}.

Wang et al.~\cite{wang} proposed a nonuniform timeslicing method for temporal network visualisation that creates timeslices with a balanced number of events (equal visual complexity) by using an approach similar to the histogram equalisation, well-established in the discipline of digital image processing. Their strategy (hereafter named \textit{Balanced Visual Complexity -- BVC}) uses more timestamps to represent high-activity periods (with bursts of events) and less timestamps otherwise. The method we propose in this paper goes in the opposite direction, i.e, we also consider that high-activity periods contain too much visual information, but we propose to represent them with higher resolution scales (consequently reducing the number of timestamps) instead of redistributing them in more timestamps. In the produced layout, the identification of global temporal patterns (e.g., birth and death of highly-active groups of nodes, bursts of events) is facilitated.  Moreover, contrary to BVC, our method runs online and thus is suitable for streaming network analysis. To the best of our knowledge, no other study has proposed online and nonuniform timeslicing methods for network visualisation.

\section{Online and nonuniform timeslicing method}
\label{method}

The idea behind our method is that intervals with the same length but that have different numbers of events must be represented by different resolution scales. Having more events leads to higher resolutions and thus in fewer timestamps, and so the amount of visual information is reduced to an appropriate level in an attempt to optimise the identification of patterns.

Our method considers the number of events and their distribution on a fixed size window of timestamps (window of size $w_{size}$) to decide the temporal resolution scale that will be applied to the next window (i.e., next timeslice). Inside a window, the event distribution is considered by reducing the importance of older events using the forgetting mechanism fading sum, highly used in stream scenarios~\cite{livroJoaoGama,Gama2013}.

Initially, we adopt the original resolution scale in the first window (cold start). From there, the resolution value for each subsequent non-overlapping window is calculated according to Eq.~\ref{newResolution}:

\begin{equation}
\sigma_{n} = \floor*{\delta . \sigma_{c} + (1 - \delta) . f_{s}(w_{size})}
\label{newResolution}
\end{equation}
where $\sigma_{n}$ is the resolution value for the next window, $\delta$ $(0 \leq \delta \leq 1)$ is a constant that determines the importance of the current resolution value ($\sigma_{c}$) in the computation of the new resolution, and $ f_{s}(w_{size})$ is the fading sum of all events in the current window, which is calculated according to a recursive formula (Eq.~\ref{aux1}):

\begin{equation}
	f_{s}(i) = \frac{x_{i}}{|T_{wc}|} + \alpha . f_{s}(i-1)
	\label{aux1}
\end{equation}
where $x_{i}$ is the number of events in position $i$ of the window, ${|T_{wc}|}$ is the number of timestamps considered by the window that presents at least one event, $f_{s}(1) = \frac{x_{1}}{|T_{wc}|}$ is the initial term, and $\alpha$ $(0 \ll \alpha \leq 1)$ is the fading factor. The higher the fading factor, the more importance is given to old events and, consequently, the higher the adopted resolution scale inside this window. If $\sigma_{n} = 0$, then $\sigma_{n}$ is set as the average value of all past resolutions, so large inactivity periods (i.e. without events) may be represented by a resolution scale different from the original.

With the new resolution scale computed, it is possible to change the timestamp attribute of incoming events. Inspired by Eq.~\ref{eq:resolucaoEstatica}~\cite{DyNetVis}, we define the new timestamp $t_{new}$ of an event $e$ as:

\begin{equation}
t_{new}(e) = \floor*{\frac{t_{orig}(e) - t_{ini}}{\sigma_{n}}} + t_{ref}
\label{whereToPlot}
\end{equation}
where $t_{orig}(e)$ is the timestamp of $e$ in the original resolution, $t_{ini}$ is the first timestamp considered by the current window, $\sigma_{n}$ is the new resolution value (Eq.~\ref{newResolution}), and $t_{ref}$ is the timestamp that acts as a reference in order to apply the resolution scale in inactive timestamps. The value of $t_{ref}$ is computed when dealing with the first event of a new resolution (new timeslice) and is defined according to Eq.~\ref{aux2}:

\begin{equation}
	t_{ref} = \floor*{\frac{t_{ini} - t_{orig}(e')}{\sigma_{p}}} + t_{new}(e')
	\label{aux2}
\end{equation}
where $t_{orig}(e')$ is the original timestamp of the last event from the previous window (event $e'$), $\sigma_{p}$ is the previous resolution (the resolution applied on $e'$), and $t_{new}(e')$ is the timestamp of $e'$ in $\sigma_{p}$.

Figure~\ref{fig:didaticaEq2} shows an example of how the timestamp of an event is changed according to Eq.~\ref{whereToPlot}. In this figure, $t_{orig}(e') = t_{new}(e')$ because, up to this point, the original resolution (value 1) was maintained in the network. In $t = 100$, the new resolution value was computed (value 2) and so it was necessary to change the original timestamp of $e$. Each timestamp in resolution 2 is twice the time interval represented by a timestamp from resolution 1, thus $t_{orig}(e) = 130$ and $t_{new}(e) = 115$. Assuming an event $x$ with $t_{orig}(x) = 131$, then $t_{new}(x)$ would be equal to 115 as well, and so on. As stated, Eq.~\ref{whereToPlot} takes into account inactivity periods, respecting their occurrence in the converted timestamps.

\begin{figure}[h]
	\includegraphics[width=0.9\linewidth]{eq2exemplo.pdf}
	\centering
	\caption{Example of timeslicing using our proposal. In resolution 2, the timestamp of $e$ is changed from 130 to 115.}

	\label{fig:didaticaEq2}
\end{figure}

\section{Case Studies}
\label{experiments}

\begin{figure*}[!t]
	\includegraphics[width=\linewidth]{primarySchool_res1.pdf}
	\centering
	\caption{TAM layout showing four classes and all teachers of the Primary School network using resolution 1 (original). The interval between both days (from 5.21pm to 8.29am) does not present any edge and was omitted due to its size in the layout. Nodes are grouped according to the classes and grades. The ``Tch'' profile refers to the teachers of the school. The layout is horizontally large, dense and has few visible patterns, as, for example, the absence of classes 4A and 4B near the end of the second day.
	\label{fig:res1day1primaryschool}
\end{figure*}

In this section, we present visual analyses of two real-world temporal networks manipulated timestamp-by-timestamp to simulate streaming scenarios. Our goal is to compare our nonuniform timeslicing method against the original network resolution, uniform timeslicing approaches, and BVC~\cite{wang}. In all analyses, we consider resolution 1 (Res. 1) as the original resolution of the network and $\delta = 0.2$ as the importance of the current resolution in the computation of the new one (see Eq.~\ref{newResolution}). To validate our method and illustrate its application, we rely on MSV~\cite{ElzenEnron} and TAM~\cite{DyNetVis}. All experiments were performed using the software DyNetVis~\cite{DyNetVis}, which implements our method and all layouts and features presented in this section. DyNetVis is freely available at \url{www.dynetvis.com}.

\subsection{Primary School}

The first network, \textit{Primary School}~\cite{primarySchool1,primarySchool2}, represents contacts involving teachers and students of a primary school between October $1^{st}$ - $2^{nd}$ of 2009. This network contains 242 nodes and 125,773 edges distributed in 5,846 timestamps. The original temporal resolution is 20 seconds, which means that each timestamp in Res. 1 comprises a 20-second interval. The data represent contacts from the first to fifth grade, each of them having two classes (A and B). In this network, the majority of contacts occurs between students of the same class and each class has an assigned teacher~\cite{primarySchool2}.

Figure~\ref{fig:res1day1primaryschool} presents the TAM layout for four classes and all teachers of the Primary School network in resolution~1 (original). The nodes are grouped according to the classes and grades. The layout is horizontally large (due to the number of timestamps), which impairs the identification of global patterns and requires more screen space and scrolling, which impairs the user's perception of temporal changes during the network evolution (mental map preservation~\cite{mentalmapSugeridoCGF}). Moreover, the layout is dense (a lot of events over time) and only a few patterns are easily identified, as, for example, the absence of classes 4A and 4B students near the end of the second day. The network does not register contacts during sports activities~\cite{primarySchool2}, so it is possible to assume that these classes were involved in such activities or dismissed. Another possibility is that the students were taking exams or other activities without interacting with each other.

To improve pattern identification, we applied our nonuniform timeslicing method in the Primary School network. Different values for Fading Factor ($FF$) and window size ($w_{size}$) were evaluated and their impact in the adopted resolution scales is shown in Fig.~\ref{fig:graficosPrimarySchool}. In the figure, the whole network is considered (activity in day 1, interval, activity in day 2).
By comparing the plots in which the $FF$ value is the same ($FF = 0.9$ in (a,c) and $FF = 0.99$ in (b,d)), it is possible to see that a large window makes that the perception of changes in the number of events be late, delaying the resolution change. As a consequence, patterns related to these changes may be lost or identified only many timestamps later. This is especially relevant in streaming network analysis, in which the past data may have already been discarded. By comparing the plots in which the $w_{size}$ is the same ($w_{size} = 50$ in (a,b) and $w_{size}= 200$ in (c,d)), one can notice higher resolution values when adopting higher $FF$. This is expected since high $FF$ values increases the importance of old events. Finally, the plots show the resolution adopted in the interval between both days of the network, in which there is no event. This value is computed based on the average value of the past resolutions. This decision is related to the space of the layout required to represent such interval, which would be many times greater in the original resolution.

\begin{figure}[ht!]
	\includegraphics[width=0.5\linewidth]{graficoWsizeFF_escola4.pdf}
	\centering
	\caption{Our nonuniform timeslicing and the relation between the adopted resolution scales and the event distribution for the Primary School network. (a) $w_{size}=50$ and $FF = 0.9$ (1,443 timestamps). (b) $w_{size}=50$ and $FF = 0.99$ (353 timestamps). (c) $w_{size}=200$ and $FF = 0.9$ (4,880 timestamps). (d) $w_{size}=200$ and $FF = 0.99$ (541 timestamps). The choice of the Fading Factor ($FF$) and the window size ($w_{size}$) affects the resolution scale and, consequently, the layout and visible patterns.}
	\label{fig:graficosPrimarySchool}
\end{figure}

Figure~\ref{fig:resolutions_school} shows TAM layouts for different timeslicing scales considering the same four classes and teachers from Fig.~\ref{fig:res1day1primaryschool}. Figure~\ref{fig:resolutions_school}(a-e) shows TAM layouts for uniform timeslices adopting different resolutions (Res. 10, 25, 39, 100, and 200, respectively). Figure~\ref{fig:resolutions_school}(f) shows the TAM layout generated by our nonuniform timeslicing method ($w_{size} = 100$ and $FF = 0.99$, chosen empirically). Resolutions 10, 25, and 39 (Fig.~\ref{fig:resolutions_school}(a-c)) were chosen because they represent the lower, the average and the higher resolution values adopted by our method for this network. Resolutions 100 and 200 (Fig.~\ref{fig:resolutions_school}(d-e)) are arbitrary values. As expected, higher resolution values generate denser and (horizontally) smaller layouts, which impairs the visual analysis and the identification of patterns. Our method (Fig.~\ref{fig:resolutions_school}(f)), however, automatically defines resolution scales that represent appropriate levels of visual density.

\begin{figure}[h]
	\includegraphics[width=\linewidth]{resolutions_school.pdf}
	\centering
	\caption{TAM layouts showing four classes and all teachers of the Primary School network according to our nonuniform timeslicing method and five uniform resolution scales. (a) Res. 10. (b) Res. 25. (c) Res. 39. (d) Res. 100. (e) Res. 200. (f) Our method ($w_{size} = 100$ and $FF = 0.99$).}
	\label{fig:resolutions_school}
\end{figure}

The adopted timeslicing strategy highly affects pattern identification. Figure~\ref{fig:comparaPadroesEscola} presents visual analyses over the TAM layouts generated by our method (adopting $w_{size} = 100$ and $FF = 0.99$, Fig.~\ref{fig:comparaPadroesEscola}(a)) and by uniform timeslices using resolutions~25~and~200 (Fig.~\ref{fig:comparaPadroesEscola}(b,d), respectively). These are the same layouts from Fig.~\ref{fig:resolutions_school}(f,b,e). The layout generated by BVC is also considered (Fig.~\ref{fig:comparaPadroesEscola}(c)).
In the best-case scenario, at least seven patterns can be identified: (1) all students from class 2B joined the network after the other classes and the group of teachers; (2) lunch break -- several students go home for lunch, which reduces the number of interactions in such interval~\cite{primarySchool2}; (3) there is no interaction involving class 2B students in a time interval near the end of the first day -- probably due to sports activities~\cite{primarySchool2}; (4) absence of classes 4A and 4B students near the end of the second day; (5) two teachers left the network after lunch in the second day -- probably the teachers from classes 4A and 4B; (6) there are students that did not join the network in the first day; and (7) inactivity period due to the absence of classes (from 5.21pm to 8.29am).

\begin{figure*}[!t]
	\includegraphics[width=\linewidth]{resWangvsDinamica.pdf}
	\centering
	\caption{Visible patterns in TAM layouts generated by different timeslicing approaches for the Primary School network. (a) Our method ($w_{size} = 100$ and $FF = 0.99$). (b) Res. 25. (c) BVC. (d) Res. 200. A maximum of seven patterns can be identified: (1) class 2B students joined the network after the others; (2) lunch break; (3) no interaction involving class 2B students near the end of the $1^{st}$ day; (4) absence of classes 4A and 4B near the end of the $2^{nd}$ day; (5) two teachers left the network after lunch in the $2^{nd}$ day; (6) some students did not join the network in the $1^{st}$ day; and (7) inactivity period. Continuous rectangles represent patterns considered as easy to identify. Dotted rectangles represent patterns with difficult perception.}
	\label{fig:comparaPadroesEscola}
\end{figure*}

Our method allows the identification of all seven patterns (Fig.~\ref{fig:comparaPadroesEscola}(a)), being six of them considered as easy to found (1-5,~7). Pattern~6 is harder to identify because of the method's cold start (adoption of resolution 1 at the beginning of the layout), which pollutes the layout and impairs the perception of this pattern. Although this original resolution serves only as a start point, considering it inside the layout facilitated the perception of pattern~1. This pattern can also be noticed when adopting only resolution~1 in the analysis (see Fig.~\ref{fig:res1day1primaryschool}), but not as fast as with our proposal. Patterns 2,~5, and~6, on the other hand, cannot be identified with resolution 1 (Fig.~\ref{fig:res1day1primaryschool}).
By adopting a uniform timeslicing using resolution~25 (Fig.~\ref{fig:comparaPadroesEscola}(b)), all seven patterns can be identified as well, five of them being considered as easy to found (2-5,~7) and two of them being a little harder (1,6). Although this layout allows the identification of all patterns, recall that this resolution is the average value considered by our nonuniform method, which supports our method's quality. By considering BVC in the network analysis, one may see the event redistribution caused by BVC's histogram equalisation. As a consequence, pattern~7 is lost. Due to the number of timestamps, patterns~5-6 are also lost and patterns~1-3 are difficult to perceive. Only pattern~4 is considered easy to found. Such pattern, however, is also easy to identify with our method and with uniform resolutions~1 and~25. By using the uniform resolution 200 (Fig.~\ref{fig:comparaPadroesEscola}(c)), patterns~1 and~3 are lost and only patterns~5-7 are considered as easy to identify. Note that pattern 6 is more easily perceived in this layout, so a uniform timeslicing that considers a higher resolution value may be useful in specific scenarios as well.

In summary, our method reduces the amount of visual information to an appropriate level that optimises the identification of global patterns that are lost or difficult to perceive with other timeslicing strategies, including BVC. Our layout for this network spent 393 timestamps (against 5,845 from BVC) while preserving all seven analysed patterns. Less timestamps leads to less screen space and decreases the need of (horizontal) scrolling, which tends to facilitate the perception of temporal changes in the network (better mental map preservation). Considering uniform timeslicing, one should test different resolution scales until the better one is found. This approach, however, is only possible when dealing with (non-streaming) temporal networks (see Section~\ref{relatedWorkResolucao}). Our method not only provides adequate timeslices, but is suitable for streaming scenarios in which events are continuously arriving in non-stationary distribution.

Figure~\ref{fig:graficosEscolaJeitao1} shows the spread of events over time according to different timeslicing approaches: the original resolution, BVC, our method ($w_{size} = 100$ and $FF = 0.99$), and uniform Res. 25. The absence of events in the middle of plots (a,c,d) corresponds to the inactivity period between both days of the network. While BVC (Fig.~\ref{fig:graficosEscolaJeitao1}(b)) changes the event distribution because of its histogram equalisation -- which impacts pattern identification --, our method (Fig.~\ref{fig:graficosEscolaJeitao1}(c)) provides a distribution similar to those from uniform approaches (Fig.~\ref{fig:graficosEscolaJeitao1}(a,d)). Since our timeslicing adopts the original resolution in the first window (cold start), one may see a ``shift'' in the time dimension at the plot (Fig.~\ref{fig:graficosEscolaJeitao1}(c)).

\begin{figure}[!h]
	\includegraphics[width=0.5\linewidth]{graficosEscolaJeitao1.pdf}
	\centering
	\caption{Spread of events according to different timeslicing approaches for the Primary School network. (a) Res.~1. (b) BVC. (c) Our method ($w_{size} = 100$ and $FF = 0.99$). (d) Res.~25. ``norm(e)'' refers to the normalisation of the number of events to values between 0~and~1.}

	\label{fig:graficosEscolaJeitao1}
\end{figure}

\begin{figure}[ht]
	\includegraphics[width=0.5\linewidth]{ecdfComHistograma_escola_X7}
	\centering
	\caption{Empirical cumulative distribution function (ECDF) and event distribution (ED) considering the events from the Primary School network. (a) ECDF our method ($w_{size} = 100$ and $FF = 0.99$). (b) ECDF Res.~1. (c) ED our method (393 timestamps, $w_{size} = 100$ and $FF~=~0.99$). (d) ED Res.~1 (5,846 timestamps).}
	\label{fig:ecdf_escola}
\end{figure}

Figure~\ref{fig:ecdf_escola} shows the empirical cumulative distribution function (ECDF) considering the events from our method's layout ($w_{size} = 100$ and $FF = 0.99$, Fig.~\ref{fig:ecdf_escola}(a)) and from resolution 1's layout (Fig.~\ref{fig:ecdf_escola}(b)). Our method produces less timestamps without events when compared with the original resolution (36.6\% vs 47\% -- blue dotted lines), which is justified by the resolution scale used in inactivity periods, that is different from the original one. Furthermore, 25.4\% of the time contains very few events in our layout (cold start window). By observing the third quartile (red dotted lines), after 75\% of the time our layout contains a maximum of 213 events per timestamp (26\% of the maximum number of events per timestamp), while in resolution 1 the number of events per timestamp is almost 43\% of the maximum number of events per timestamp (40 out of 94 events).

The visual analysis can be performed from a different perspective by showing only edges, as illustrated in Fig.~\ref{fig:ArestasPrimarySchool}, that shows the interactions involving classes 2A, 2B, and 4A over a MSV layout generated by our nonuniform timeslicing ($w_{size} = 100$ and $FF = 0.99$). This layout reaffirms: (i) students from class 2B joined the network after the others; (ii) students from class 4A left the network earlier than the others in the second day; (iii) the absence of the majority of 2A students, as well as 2B students, during a period after the lunch break in the first day. Besides, this layout reveals new patterns, such as the perception that the only two students from class 2A that stayed in the network during the time interval after lunch in the first day connected to one another. Moreover, the layout shows that students from one class have few interactions with students from other classes, with the majority of these interactions occurring during lunch. Not least, students from the $2^{nd}$ grade interact more between themselves than with class 4A. This behaviour is also observed in the rest of the network (a lot of interactions among students of the same grade and few interactions involving different grades). These situations are expected in the network~\cite{primarySchool2} and easily perceived in this layout.

\begin{figure}[ht]
	\includegraphics[width=0.75\linewidth]{ArestasPrimarySchool.pdf}
	\centering
	\caption{MSV layout with our nonuniform timeslicing ($w_{size} = 100$ and $FF = 0.99$) showing the interactions among classes 2A, 2B and 4A. Pattern~1: many interactions between 2A and 2B during lunch. Pattern~2: few interactions between 2B and 4A in the network.}

	\label{fig:ArestasPrimarySchool}
\end{figure}

\subsection{Enron}

The second network, \textit{Enron}~\cite{enron,enron2}, contains email communications from Enron Inc., a former energy company involved in the biggest American accounting fraud~\cite{graphScope}. The network is composed of 148 nodes and 24,667 edges distributed in 1,346 timestamps~\cite{DyNetVis}. Its original temporal resolution is 1 day. Enron was studied by several works in literature, from offline visual analysis using MSV (e.g.,~\cite{DyNetVis,ElzenEnron,EdgeSampling2018}) to streaming-fashion mining tasks (e.g.,~\cite{graphScope}). Unlike the Primary School network, whose number of events varies a lot in each day and which contains a large time interval without any event (the period between the two days), the Enron network presents a growing number of events over time. We applied our method in the network to analyse the evolution of the resolution under this circumstance.

Figure~\ref{fig:graficosEnron} presents our method's behaviour under different values of $w_{size}$ and $FF$ for the Enron network. Comparing the plots (a,c), it is possible to see the impact of the fading factor in the resolution computation. As can be seen, the high number of events near the end of the network is reflected in the timeslicing for the two $FF$ values tested. Comparing the plots (b,c,d), one can see how frequent the timeslicing occurs according to the window size. As discussed, large windows make the change in the resolution scale less frequent and, as a consequence, each resolution may not faithfully represent the different number of events and their distribution. One can see such situation occurring in the Enron network by analysing the resolution evolution under $w_{size} = 200$ and $FF = 0.99$ (Fig.~\ref{fig:graficosEnron}(d)): at the end of the network, the number of events decreases abruptly, but the resolution scale remains high.

\begin{figure}[ht!]
	\includegraphics[width=0.5\linewidth]{graficoWsizeFF_enron3.pdf}
	\centering
	\caption{Our nonuniform timeslicing and the relation between the adopted resolution scales and the event distribution for the Enron network. (a) $w_{size} = 100$ and $FF=0.9$ (921 timestamps). (b) $w_{size} = 50$ and $FF=0.99$ (357 timestamps). (c) $w_{size} = 100$ and $FF=0.99$ (448 timestamps). (d) $w_{size} = 200$ and $FF=0.99$ (579 timestamps).}

	\label{fig:graficosEnron}
\end{figure}

Figure~\ref{fig:imgFds} shows an approximation of the same time interval (near Dec. $12^{th}$, 1999 to near May $31^{th}$, 2000)\footnote{Since the resolution scale may aggregate different days in a single timestamp, the first timestamp may also represent few days before the first day of the interval depending on the adopted resolution. In the same way, the last timestamp may also represent few days after the last day of the interval.} and the same group of nodes in three distinct layouts obtained by adopting $w_{size} = 100$ and three different Fading Factor values ($FF = 0.9$, $FF = 0.99$ and $FF = 0.99999$). The first layout, with $FF = 0.9$, maintained the original resolution scale during the whole interval. By doing so, each timestamp refers to a 1-day interval and so it was possible to identify days without events. Such days are usually weekends and holidays, such as the highlighted weekend May $28^{th}-29^{th}$, 2000 and holiday May $30^{th}$, 2000 (Memorial Day). By adopting $FF = 0.99$, one can see that the weekend/holiday pattern is lost due to the aggregation of days in a single timestamp. Another pattern, however, is revealed: it is easier to identify a node without interactions, i.e., a person in the company that did not receive or send any emails in this period. By analysing the layout with $FF = 0.99999$, it is possible to see that the node without interactions from the previous layout appears in the network in the last timestamp. Moreover, one can notice that the first and the last nodes of the layout had interactions only in the first timestamps. These last two patterns are visible in all three layouts, but they are more easily perceived in the layouts with higher $FF$ values.

\begin{figure*}[ht]
	\includegraphics[width=0.85\linewidth]{imgFds3.pdf}
	\centering
	\caption{Impact of different Fading Factor ($FF$) values on the layout ($w_{size} = 100$). Different FF values lead to different visual patterns. The change in the node colour represents a change in the resolution scale (new timeslice). Node ordering defined by Recurrent Neighbors~\cite{DyNetVis} using resolution~1.}

	\label{fig:imgFds}
\end{figure*}

\begin{figure}[!ht]
	\includegraphics[width=0.8\linewidth]{full_enron.pdf}
	\centering
	\caption{TAM layouts for the Enron network considering different resolution scales. (a) Res.~1. (b) Res.~2. (c) Res.~7. (d) Res.~15. (e) Res.~25. (f) Res.~50. (g) Res.~75. (h) Res.~100. (i) Our method ($w_{size} = 100$ and $FF = 0.9$). Node ordering defined by Recurrent Neighbors~\cite{DyNetVis} using Res~1.}
	\label{fig:full_enron}
\end{figure}

Figure~\ref{fig:full_enron} shows TAM layouts for the Enron network considering different timeslicing approaches. Figure~\ref{fig:full_enron}(a-h) shows the TAM layouts for uniform timeslicing using resolutions 1, 2, 7, 15, 25, 50, 75, and 100, respectively. Figure~\ref{fig:full_enron}(i) shows the TAM layout generated by our method ($w_{size} = 100$ and $FF = 0.9$). Resolutions 1, 2, and 7 (Fig.~\ref{fig:full_enron}(a-c)) are shown because they represent the lower (and original), the average and the higher resolution scales adopted by our method for this network. The other resolutions (Fig.~\ref{fig:full_enron}(c-h)) are arbitrary values.

As illustrated in Fig.~\ref{fig:comparaPadroesEnron}, depending on the timeslicing being used, more or less patterns can be identified. The layout generated by our method allows the identification of at least 5 patterns (Fig.~\ref{fig:comparaPadroesEnron}(a)): (1) weekdays, in which there are interactions among nodes, and weekends (without interactions); (2) perception of the growing number of events over time; (3) identification of highly active groups of nodes; (4) a time interval with a burst of events near the end of the network; and (5) abrupt decrease in the number of events followed by the end of the network. The uniform timeslicing using resolution~2 (Fig.~\ref{fig:comparaPadroesEnron}(b)) also allows the perception of all five patterns. However, recall that this resolution represents the average value adopted by our method, which supports the claim that it chooses resolution scales that are indeed suitable for the network analysis. As expected, BVC redistributed the events along the timestamps, and so these temporal patterns (all but pattern~3) are lost (Fig.~\ref{fig:comparaPadroesEnron}(c)). By using resolution 7 in a uniform timeslicing (Fig.~\ref{fig:comparaPadroesEnron}(d)), patterns~1 and~2 are lost. Each timestamp in this resolution represents 7 days and so there is no separation of weekdays and weekends or the perception of growing node activity. One can note that layouts with temporal resolutions above 7 (see Fig.~\ref{fig:full_enron}(d-h)) are even worse for the Enron network visual analysis.

\begin{figure*}[ht]
	\includegraphics[width=\linewidth]{comparaPadroesEnron_2.pdf}
	\centering
	\caption{TAM layouts generated by different timeslicing approaches and their visible patterns in the Enron network. (a) Our method (921 timestamps, $w_{size} = 100$ and $FF = 0.9$). (b) Resolution 2 (673 timestamps). (c) BVC (1,345 timestamps). (d) Resolution 7 (193 timestamps). Depending on the layout, a maximum of five visual patterns can be identified: (1) weekdays, in which there are interactions among nodes, and weekends, that are days without interactions; (2) perception of the growing number of events over time; (3) identification of highly active groups of nodes; (4) a time interval with a burst of events near the end of the network; and (5) abrupt decrease in the number of events followed by the end of the network. Node ordering defined by Recurrent Neighbors~\cite{DyNetVis} using resolution~1.}
	\label{fig:comparaPadroesEnron}
\end{figure*}

The ideal timeslicing depends on the network being analysed. For the Primary School network, the uniform timeslicing using resolution~25 allowed the identification of several patterns (see Fig.~\ref{fig:comparaPadroesEscola}(b)). On the other hand, resolution 25 is not a good choice for the Enron network (Fig.~\ref{fig:full_enron}(d)). In the same way, a uniform timeslicing using resolution~2 would not improve Primary School analysis. Our method is capable of adapting the resolution scale according to the number and distribution of events, thus enhancing the network visual analysis.

\begin{figure*}[h]
	\includegraphics[width=\linewidth]{jun-jul-ultimodia.pdf}
	\centering
	\caption{TAM layout generated by our method ($w_{size} = 100$ and $FF = 0.9$) showing a portion of the network. Two patterns are visible: (i) a decrease in the number of events in June and July 2001; and (ii) an abrupt decrease in the number of events followed by the end of the network. The change in the node colour represents a change in the resolution scale (new timeslice). Node ordering defined by Recurrent Neighbors~\cite{DyNetVis} using resolution~1.}

	\label{fig:doisemum}
\end{figure*}

Figure~\ref{fig:doisemum} presents two other patterns observed in the layout generated by our method when \textit{zooming in} the time interval with a burst of events showed in Fig.~\ref{fig:comparaPadroesEnron}(a). According to Sun et al.~\cite{graphScope}, in June 2001 occurred an important company episode related to the Enron accounting fraud: \textit{``Rove divests his stocks in energy''}. In the layout, it is possible to see a decrease in the number of events (emails) in the majority of the days in June and July involving the majority of the nodes. Such pattern may be related to this important episode. The layout also shows the moment in which there is an abrupt decrease in the number of events followed by the end of the network. Such decrease is related to another company episode, \textit{``Lay [Enron CEO] implicated in plot to inflate profits and hide losses''}~\cite{graphScope}, which happened in Feb $4^{th}$, 2002. After the decrease of events, our method changed the resolution scale from 7 to 3, reflecting the new number of events. Temporal patterns such as these are probably lost when using BVC because of its event redistribution (Fig.~\ref{fig:graficosEnronJeitao1}(b)). Our method (Fig.~\ref{fig:graficosEnronJeitao1}(c)), on the other hand, provides a distribution similar to those from uniform approaches (Fig.~\ref{fig:graficosEnronJeitao1}(a,d)), and thus is capable of highlighting such temporal patterns.

\begin{figure}[ht]
	\includegraphics[width=0.6\linewidth]{graficosEnronJeitao1.pdf}
	\centering
	\caption{Spread of events over time according to different timeslicing approaches for the Enron network. (a) Original resolution (1,346 timestamps). (b) BVC (1,345 timestamps). (c) Our method (921 timestamps, $w_{size} = 100$ and $FF = 0.9$). (d) Res.~25 (193 timestamps). While BVC changes the event distribution because of its histogram equalisation procedure, our method provides a distribution similar to those from uniform approaches. ``norm(e)'' refers to the normalisation of the number of events to values between~0 and~1.}
	\label{fig:graficosEnronJeitao1}
\end{figure}

\section{Limitations}
\label{limitations}

When timeslicing, one should be aware that events may be lost to improve network comprehension (due to the consecutive timestamp grouping), and so relevant information may be lost in the process. Such characteristic exists in any other sampling strategy. Our method, however, considers the number of events and maintains their non-stationary distribution in an attempt to reduce such impairment.

Although our method improves the layout by manipulating the network temporal dimension, the node positioning represents another important aspect that has to be considered, since the ordering quality may impact layout readability. We thus recommend the adoption of a high-quality node ordering method. Eventually, the joint employment of sampling strategies may be required.

Since two timestamps in the layout may represent completely different time intervals, one should pay attention in the resolution scale adopted in each of them when the task depends on this information (e.g., to decide which node has been active for the longest time in the network). Changes in the node colour, as used in the experiments, attenuate this limitation, but other visual encoding can be used. In such cases, where the nonuniform timeslicing impairs the analysis, our method remains useful as the average resolution scale computed by it represents a good choice for a uniform timeslicing (as occurred with resolution 25 in our Primary School analysis).

Finally, we have demonstrated our method's quality using TAM and MSV. Although our method runs online, these visual representations draw the network elements (nodes and/or edges) in an offline manner. This is a characteristic of these layouts and not a limitation of our method. Although they could be adapted to handle online scenarios by plotting consecutive windows over time, this adaptation is out of the scope of this paper. Furthermore, our method does not rely on particular layouts' characteristics (e.g., length/positioning of edges or animated vs timeline layouts) and thus could be applied in different layouts as well. In animated layouts, however, the visual analysis would probably be impaired in some cases, since the number of frames devoted to high-activity periods would reduce, potentially breaking the user's mental map.

\section{Conclusion}
\label{conclusion}

We proposed in this paper an online and nonuniform timeslicing method for network visualisation that highlights temporal patterns such as bursts of events, highly-active groups of nodes, and others. Without it, when handling temporal networks one should test different uniform timeslices until the ``less worst'' is found. Besides the effort of such preliminary tests, analyses of different networks require different temporal resolutions. For streaming scenarios, exploratory analysis to support the timeslicing may not be possible because events are arriving online and in non-stationary distribution. For the same reason, considering an initial set of events to support the choice of the resolution scale may be inefficient as well.

Our method considers the number of events and their distribution to adapt the layout. This is possible because the choice of each new resolution scale uses only events from a sliding window, with old information being discounted by a forgetting mechanism. The method has low time and spatial computational complexity, since there is no need for various scans in the data and edges can be discarded once they are processed. In our experiments, we have analysed two real-world networks with different characteristics and the results show that the resolution scales automatically adopted are indeed suitable for each network analysis.

As future work, we intend to perform user experiments to validate our method considering the quality of the produced layout. Besides, the choice of both window size and fading factor value directly affects the layout. These are currently user-dependent parameters and we will try to automate them. We also intend to apply our method in other network visualisation strategies.

\section*{Acknowledgments}
This research was supported by Conselho Nacional de Desenvolvimento Cient\'ifico e Tecnol\'ogico - CNPq, Coordena\c{c}\~ao de Aperfei\c{c}oamento de Pessoal de N\'ivel Superior (CAPES PrInt - Grant number 88881.311513/2018-01), and Funda\c{c}\~ao de Amparo a Pesquisa do Estado de Minas Gerais - FAPEMIG.

\bibliographystyle{eg-alpha-doi}

redpajama_set_name: RedPajamaArXiv


text:
Q: Control util.inspect's behaviour when it is called by util.format http://nodejs.org/api/util.html#util_util_format_format

util.format('%s:%s', 'foo'); // 'foo:%s'

If there are more arguments than placeholders, the extra arguments are converted to strings with util.inspect() and these strings are concatenated, delimited by a space.

I'm using this util.format but I want to control the behaviour of the util.inspect it calls automatically. Specifically, passing it the depth:null option.
Is there a way to do it?

Monkey-patching util.inspect doesn't work because util.format internally calls it just inspect
function (f) {
  if (typeof f !== 'string') {
    var objects = [];
    for (var i = 0; i < arguments.length; i++) {
      objects.push(inspect(arguments[i]));
    ...

A: I guess I'll just have to util.inspect elements manually before feeding them into util.format
for(var k in str)
    if (typeof str[k] !== 'string')
        str[k] = util.inspect(str[k], {depth:null})
util.format.apply(null, str);

redpajama_set_name: RedPajamaStackExchange


Most of the reports list international or out-of-state trips, and other "lead generation" or marketing expenses, but don't specifically link those efforts to identified companies that located or expanded in the organization's respective areas.
Federal tax returns reveal the nonprofit groups are heavily subsidized by taxpayers while their leaders receive six-figure salaries.
Since fiscal 2015, a state budget proviso has funneled a total of at least $4.8 million annually through Commerce to the eight organizations, several of which have legislators on their governing boards.
TheLINK Economic Development Alliance (Lee, Sumter counties): $385,000.
The proviso requires the organizations to match every state dollar with "one dollar of private funds," though The Nerve revealed last week that the Central SC Alliance and Upstate South Carolina Alliance listed contributions from state or local public entities as part of their private matches last fiscal year.
The Nerve's latest review found that lawmakers in recent years have been members of the governing boards of at least three of the eight economic development groups.
Sen. Hugh Leatherman, R-Florence, who is the longtime Senate Finance Committee chairman, sits on the executive committee of the governing board of the North Eastern Strategic Alliance (NESA), as do Sens. Luke Rankin, R-Horry, who is the Senate Judiciary Committee chairman, and Kent Williams, D-Marion, according to NESA's website. Sen. Gerald Malloy, D-Darlington, also is on the board, chaired by ex-senator and former lieutenant governor Yancey McGill.
Sen. Paul Campbell, R-Berkeley, who is executive director and CEO of the Charleston County Aviation Authority, sits on the governing board of the Charleston Regional Development Alliance, according to the CRDA website.
Sen. Brad Hutto, D-Orangeburg, is chairman of the executive committee of the governing board of the Southern Carolina Alliance. Sen. Tom Davis, R-Beaufort, also sits on the board, the group's website shows.
Campbell, Davis and Williams serve with Leatherman on the Senate Finance Committee.
The Nerve reviewed the latest annual reports provided to Commerce and most recently available federal tax returns of the Central SC Alliance, Upstate South Carolina Alliance, NESA and the Charleston Regional Development Alliance (CRDA). Those groups would receive the biggest state grants under the budget proviso for next fiscal year.
Central SC Alliance's latest annual report to Commerce shows that of Oct. 30, it had spent a total of $722,520 under the state budget proviso, including $301,659 for "lead generation," and $197,601 for "marketing trip" expenses. The report lists the group's involvement in various international trade shows, conferences or "missions" from 2016 through last year, including trips to London, Paris, Germany, Italy, Denmark and Sweden.
The organization's 2016 federal tax return shows that it received $3.4 million that year, including nearly $2.7 million in government grants, which represented 79 percent of total revenues. After expenses, its fund balance was $2.3 million. Mike Briggs, the group's president and CEO, had $230,924 in total compensation that year.
Upstate South Carolina Alliance's annual report to Commerce shows that in 2017, it had $2.4 million in total revenues, $686,356, or 28 percent, of which was state funds. It had a balance of nearly $420,000 after expenditures that year. The biggest expense category was "lead generation, research and project support," which included "mission" trips to Belgium, Denmark, England, France, Ireland, Scotland, Portugal and Switzerland.
John Lummus, the organization's president and CEO, received $167,625 in total compensation in the 2016 tax year, according to its federal tax return.
NESA's annual report to Commerce shows that in fiscal 2018, it received $756,085 in state funds and spent $484,735, with a year-end cash balance of $271,426. It listed expenditure categories of "marketing and business development," "product development," and "county economic development grants program," though no details were provided other than listed total amounts.
In the 2016 tax year, the organization received $2.3 million, including $775,546 in government grants, which represented a third of its total revenues, according to its federal tax return. It ended the year with a fund balance of nearly $1.3 million. Jeff McKay, the group's executive director, received $247,848 in total compensation.
As of last Sept. 30, the CRDA had received $671,084 in state funds and spent $201,565, or 30 percent, of that amount, according to its 2018 annual report to Commerce. Its biggest expenditure category was "global business development/strategic marketing," including the Farnborough International Air Show near London in July.
In the 2016 tax year, the CRDA had $3.5 million in total revenues, including $1.7 million in government grants, according to its federal tax return. Its year-end fund balance was more than $2 million. David Ginn, the group's president and CEO, received $345,634 in total compensation that year.
The Nerve this week asked each of the four organizations for a list of new companies or existing companies that expanded in their respective areas last fiscal year, based solely or primarily on the group's recruitment efforts.
McKay, the NESA director, said only in an email Thursday, "I have placed a copy of our 2018 annual report in the mail for your review." Representatives of the Central SC Alliance and Upstate South Carolina Alliance did not respond to written requests for comment.


text:
International Strategy Launch
in Ministerial, Welsh Government
International Relations Minister, Eluned Morgan has launched Wales' first International Strategy, promoting the country as an outward-looking nation ready to work and trade with the rest of the world.
https://www.facebook.com/ElunedMorganAM/videos/2576110019287675/
The strategy will build on Wales' growing international reputation for sustainability and global responsibility and establish links with the Welsh diaspora on all continents.
It is being launched as the UK prepares to leave the EU and negotiate a new relationship with the European Union and trade deals with international partners around the world.
Eluned Morgan said:
A strong international presence has never been more relevant for Wales.
Following the EU referendum in 2016 and the ongoing uncertainty surrounding the UK's future relationship with Europe, Wales will pursue its place on the international stage with renewed vigour.
The International Strategy has 3 core ambitions over the next 5 years:
Raise Wales' profile on the international stage
Grow the economy by increasing exports and attracting inward investment
Establish Wales as a globally responsible nation
It is the start of a new approach to how the Welsh Government promotes Wales internationally, identifies Wales' key global markets in a post-Brexit landscape and highlights 3 sectors where Wales is recognised as a world leader – cyber security, compound-semiconductors and the creative industries. This will project a new dynamic and vibrant image of Wales as a modern, confident, high-tech, creative and sustainable nation.
Speaking ahead of the launch at Econotherm, a Bridgend-based export company which has achieved year-on-year growth and was recently recognised in the Wales Fast Growth 50, the minister said:
As Wales' first Minister for International Relations, it was important to bring the achievements of the last 20 years together and use these as a foundation to set out Wales' future approach to its international work.
For a small, smart nation, Wales enjoys a reputation, which stretches far beyond its borders. The strategy will build on this reputation and showcase Wales as a nation that will be known for its creativity, its expertise in technology and its commitment to sustainability.
The minister will visit Brussels and Paris later this week to promote the strategy.
Int. Strategy Press Conference
Read the International Strategy

redpajama_set_name: RedPajamaCommonCrawl


La série Looking me donne vraiment envie d'avoir des amis gays.
Music is a total constant. That's why we have such a strong visceral connection to it, you know? Because a song can take you back instantly to a moment, or a place, or even a person. No matter what else has changed in you or the world, that one song stays the same, just like that moment.
Gorillaz Are Coming Back And Have Plans For A New Album.


2012 was an exceptionally dry year, probably the driest we have ever had resulting in very early picking dates. The resultant intensity from the small berry size has continued through into the wine. Both the Cabernet Sauvignon and Mourvédre were fermented in small batches in open bins with regular hand punching down. The smaller batches were pressed directly into barrel and allowed to mature with some fermentation lees. We also did malolactic fermentation in barrel which gave us fuller mouth feel and structure.
During the blending process great care was taken to follow the house style of Saboteur, which is increasingly building up a huge following, i.e. bold fruit, good spice and soft tannins. This year the blend ended up being closer to the 2009 in percentages comprising of 52% Shiraz, 27% Cabernet Sauvignon and 21% Mourvédre.
Appearance: Dark garnet in appearance with plummy red edges.
Nose: Spice jumps out of the glass, baked plums, dark cherry and savoury wood.
Palate: Rich and decadent. Dark fruit, plums and black cherries. Great balance to mid palate with hints of saltiness and a juicy, long, well balanced finish.
8 900 bottles of this vintage were produced.


text:
Q: Using the for attribute on an element other than the label What if I want to use the for attribute on an element other than a ? Is this valid HTML? For example:

The idea is, I can use JavaScript to get the feedback container for an input using its ID. Like so:
var feedbackContainer = document.querySelector("[for='" + myInputBoxID + "']'");

I just want to know if this is valid HTML or not. If not, I can obviously just go for data-for="..." instead.

A: That is not valid HTML.
See on W3Schools that the for="" attribute only is used on  and <output>.

A: The HTML for attribute is only valid on label and output elements.
See - https://www.w3schools.com/tags/att_for.asp
So to answer your question, that is invalid HTML.


I created the visual navigation for a trendy Japanese fashion retailer.
While working at teamLab in Tokyo as a UI/UX designer, I was tasked with improving the navigation for CENO, a trendy Tokyo-based fast-fashion retailer that specializes in menswear for the 20s/30s crowd. CENO is the parent company of several popular brands, including Vanquish, Legenda, and #FR2. Their site was redesigned by teamLab, and they needed a way to visually spice up their navigation, especially given that they have so many products spanning 6 different product brands and 20 different categories, from jackets to pants to kimonos!
The site on a DESKTOP BROWSER. I ALSO CREATED THIS IMAGE (VIA PHOTOSHOP), WHICH WAS USED ON THE TEAM LAB OFFICIAL PORTFOLIO.
There were a lot of categories (20!) and 6 different product brands across CENO's entire website, which meant that they needed a navigation system that was easy to use, intuitive, and not at all cluttered, despite the vast number of products. My job was to work with the proposed solution (a two-part navigational menu that appears when the user hovers over the "Category" link. However, a text-based menu would not be enticing, given that CENO's aesthetic is very graphic-heavy. My goal was to create a clever navigational placement of an image against the links that intrigued the user.
The images are cleverly and purposefully placed; they do not touch or interfere with the links themselves. Instead, they complement them. I edited all the navigational images through Photoshop, to make sure that their shape fit in nicely with the menu structure.
My work can be found at https://ceno.jp/.


text:
Q: constant similar "VM_RESERVED" and nopage method in 3.9.6 Cannot find VM_RESERVED constant and nopage method(in vm_operations_struct) in 3.9.6. What is their replacement in 3.9.6 ?

A: In the patch removing VM_RESERVED, the author had this advice:

A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
  currently it lost original meaning but still has some effects:
 | effect                 | alternative flags
-+------------------------+---------------------------------------------
1| account as reserved_vm | VM_IO
2| skip in core dump      | VM_IO, VM_DONTDUMP
3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP

Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND |
  VM_DONTDUMP.

vm_ops->nopage was replaced with vm_ops->fault in this patch.


It took me sometime to say this but I have a hate towards those people especially the girls who think /say being a girl is powerful but yes there is a but because they can't do certain things in life as they are girls. And to top it all the reason of my anger is they seem to be okay.
It is okay for everyone to have an opinion but why stereotype something to a gender. Such thoughts alone are the cause of our present day scenario. No wonder it is said a women's biggest enemy is another women.
This is not my being a feminist or something but the rage I feel everytime I hear someone point it that oh a girl can't go to so and so place or do so and so thing. I want to know why!? I'm not talking about any thing related to work but other thing a girl wishes to do but gets turned down but herself because she feels I won't be allowed. Why you need a permission to do what you like? Where is this society when you want them to save you from some accident or any harassment?!! They watch!! So if you think being a girl means restricting yourself in the shackles of people who you love or yourself then I'm sorry to say you are really disappointing.
It infuriates me and has been doing it since I realised what it is like to be a girl in this society where people we love, see us with a different perspective each time.
Girlwhoseesunderthemascara signing off with a hurt heart.
Previous PostPrevious What a waste!


Ever been the host of a Halloween party and had people show up in PLAIN CLOTHES? Unacceptable. You demanded everyone wear a costume on your invitation, telling them they'd be turned away at the door if they didn't at least have a smattering of fake blood on their shirt. Yet they show up in their skinny jeans and a hoodie. To prepare for these party-foulers, we suggest making a few awesome masquerade masks to have on hand. We've got five easy techniques to share that will transform your mask into a work of art and your guest into a masked wonder.
Add various materials to your masks using E-6000, GS Hypo Cement and spray adhesive.
For a plastic mask, the glitter sticks well with spray adhesive. Add a thin layer of spray adhesive, let it stand for three minutes until it's tacky, and then add your glitter.
If your mask is made from a more porous material, use E-6000. Spread it around with your finger and then sprinkle your glitter on top.
To create a colorful design, use Deco Art pens to draw on your mask.
These pens dry pretty quickly, but be sure to give them a minute before you stick your fingers in your art work.
For a little extra flair, add a paper flower to your mask.
Take 6-8 pieces of tissue paper, stack them and cut them into a rectangle. Starting on the long end, fold the paper like an accordion. Cut the ends into half circles to create a smoother petal. Wrap a small piece of artistic wire around the center and then fan out the sides. Separate the pieces of tissue paper gently pulling them towards the center of the flower.
When you finish, adhere your flower to your mask using E-6000.
Beads are a great addition to a mask!
We simply added them to one of ours using GS Hypo Cement. E-6000 works too, but the needle on the GS Hypo cement is great for small beads. For a fabric mask, hot glue works well too.
Feathers are the signature addition to a masquerade mask. You can find these at craft stores, fabric stores, your back yard, online or even at a tackle store. Just play it cool with the guys behind the counter and make sure to leave some fly fishing accoutrement for the fishermen.
Once you have your feathers, stick them to your mask with a little E-6000.
This one is so wild!
These feathers scream Mardi Gras.
Just make sure you get these babies back at the end of the night. They're sure to be a hit and might walk right out your door with Mr. No Costume.
Do you have any last-minute costumes you've thrown together? What are your tricks? Speak to us below.


How to Set Master Page dynamically?
Yes. You can assign a master page dynamically during the PreInit stage. Because the master page and content page are merged during the initialization stage of page processing, a master page must be assigned before then.
PreInit event enables you to check conditions of the page request, such as whether the page is being loaded in response to a postback. You can also check the values of profile properties. Attempting to set the MasterPageFile property after the PreInit event will throw an InvalidOperationException exception. If the MasterPageFile property is not valid, an exception of type HttpException is thrown later in the page life cycle, but no exception is thrown when the property is set in the PreInit event.
Next : What is cross-page posting in ASP.NET?


Apple CarPlay is an integration software for apple phones (or devices using iOS) and a vehicle. With this software, you have control over your phone's features such as the music, phone call, text messaging, and even navigation among other things. This integration saves you from being torn between your phone and concentrating on the road while driving.
In terms of Navigation , Google Maps is often more preferred than Apple's in-built map , however , Apple's restriction on the apps available on Carplay means there's no official (direct) way to use google Maps on your Apple Carplay Stereo.
In this article , we're going to take a look on how to enable Google Maps on Apple CarPlay.
Then you need to enable location services which will turn on the GPS of your phone and then mark your location in the map. By doing so, the map tracks your location and gives you directions to your preferred destination.
Also, you'll need to enable Google Map as a background service so that you can use other features while the map runs in the background.
To enable the background setting, enter the "Settings" app, and select "General" settings. Select "Background App Refresh". It turns green when it's on. This makes sure that the app is refreshed momentarily to give you live updates without you having to click on refresh every time.
Under the "Background App Refresh", select "Google Maps" which also turns green when it's activated.
For Location Services, Enter "Settings" , "Privacy" and select "Location Services". The location service uses GPS, Bluetooth, crowed sourced Wi-Fi hotspots and mobile tower locations to determine your location approximately.
After turning on the location service, you'll get a drop down menu with "Google Maps" as one of its listings, then set it to "While Using". This is important because the location setting tends to consume internet data and battery whenever it's on. It's best to restrict this to when it's being useful and not all hours of the day.
After this is set, you can now connect your mobile device to the CarPlay system and open the Google map app on your device (It will not be on the CarPlay Display). On the phone, select the location you intend to go, and then activate the turn-by-turn navigation by pressing the "start navigation" button in the Google Maps app.
With this, the Google Maps app will run in the background and give you turn by turn directions to your destination.
Considering that one of the major aims of the Apple CarPlay integration is to increase your concentration on the road by turning your vehicle into the phone, it's best to have this entire procedure setup while you're safely parked. The only way you can do so while driving is if you have the "Speech to Text" setting activated. Then you can say the maps' voice command and then input your destination.
The Google map features a very detailed map of different places in the world, including preloaded places of interests and alternate routes among other things. These features make the app loading very heavy which means that it consumes a lot of Random Access Memory. Therefore, it's not advisable to have too many other apps running while the navigation is on.
Also avoid switching through too many apps while it's in use because if you take up too much processing memory, the Google Map is preset by the iOS to automatically shut itself down in order to save space and keep the device running.
This is also applicable to other navigation apps such as the Waze navigation app, etc.
The effectiveness of this app depends on the type of Stereo head unit you buy. Make sure that whichever stereo unit you buy has a big screen to accommodate your needs and then run your apps seamlessly because delays can be very frustrating while driving. See our list of the good head units for apple carplay.


text:
You're Going to Have to Reach Deep Into Your Pockets to Ride Disney's Newest Attraction
A Shark at Disney World!?!?
New Animated Series Coming From Marvel
Posted by: Jennifer Retzlaff July 10, 2021
In August we can look forward to the first of what appears to be many animated series from Marvel Studios. What If.. will be added to Disney+.
According to Dana Vasquez-Eberhardt, who is a Production and Development executive at Marvel Studios, who posted on her LinkedIn account:
"Get ready for the first of many amazing animation series! Thrilled to be working with these talented crews!"
Marvel is one of Disney's most popular franchises so it makes sense to invest in series around MCU and animation is cheaper to produce than the big live action shows and films.
We aren't sure what other animated series will be coming but we are looking forward to What If in August.
Previous: More Unique Dining Choices Coming To Disney Wish
Next: Marvel Says No To A Stan Lee Cameo From The Simpsons/MCU Crossover


text:
Skip to main menu Skip to sub menu Skip to content
Clear contrast settings
Active-citizens-fund
Objectives for funding
Active Citizens Fund – Estonia
Support to civil society is a key priority for the EEA Grants 2014-2021, funded by Iceland, Liechtenstein and Norway in 15 EU Member States in Central and Southern Europe and the Baltics. Ten per cent of the total country allocations is set aside for a programme for civil society in each beneficiary state. The Active Citizens Fund is established under the priority sector 'Culture, Civil Society, Good Governance and Fundamental Rights and Freedoms', one of the five priority sectors agreed between the donors and the European Union. The fund shall contribute to the overall objectives of the EEA and Norway Grants, to reduce economic and social disparities, and to strengthen bilateral relations between the beneficiary and donor states. The Open Estonia Foundation in consortium with the Network of Estonian Non-profit Organisations (NENO) have been selected as the Fund Operator of the Active Citizens Fund in Estonia. Between 2019 and 2023 a total of 3,3 million EUR will be available for Estonian CSOs through open calls for proposals and other measures.
The objective of the Active Citizens Fund is: "Civil society and active citizenship strengthened and vulnerable groups empowered". The Programme will seek to develop the long-term sustainability and capacity of the civil society sector, strengthening its role in promoting democratic participation, active citizenship and human rights, and empowerment of vulnerable groups.
The Programme will be implemented by way of five open calls for proposals. In addition, there will be activities aimed at capacity building during project preparation and project implementation phases conducted by consortium partner NENO.
The projects funded through the Programme shall contribute to the following Outcomes:
Strengthened democratic culture and civic awareness
Increased support for human rights and equal treatment
Vulnerable groups empowered
Enhanced capacity and sustainability of civil society
Projects focusing on the following five areas are eligible for support:
Democracy, active citizenship, good governance and transparency
Human rights and equal treatment through combating any discrimination on the grounds of racial or ethnic origin, religion or belief, gender, disability, age, sexual orientation or gender identity
Social justice and inclusion of vulnerable groups
Gender equality and gender-based violence
Detailed information on which Areas of Support are eligible under which Outcomes is available in the Guidelines for Applicants and Project Promoters of the Active Citizens Fund Estonia.
More info about the EEA Grants at www.eeagrants.org
ACF Fund operator in Estonia is Open Estonia Foundation in cooperation with Network of Estonian Nonprofit Organizations.
Skip to main menu Skip to sub menu Skip to page top
Aaddress: Estonia pst 5a, 10143 Tallinn
E-mail: info@oef.org.ee
Registration no: 90000334
Privacy and settings
Aktiivsete Kodanike Fond / Active Citizens Fund Estonia


1145 * Returns an iterator over the elements in this queue in proper * Returns an iterator over the elements in this queue in proper sequence.
1146 * sequence, from head to tail. * The elements will be returned in order from first (head) to last (tail).
1153 * to) reflect any modifications subsequent to construction. * subsequent to construction.


Perhaps the biggest and most well known omissions from the game. Berkut and Fernand, two of the new villains added to the game, have almost full playable character data, despite being unplayable in the main story.
This includes unique battle, eating, level up, death/retreat and post-battle mourning quotes, all of which are fully voiced in Japanese and English. The only things they don't have are playable growth rates, character endings and preferences for provisions.
Now Fernand is playable in the Rise of the Deliverance DLC, but he cannot level up and his mourning quotes can't trigger. At this current time, Berkut isn't playable whatsoever, although there's a very, very slim chance there will be future DLC where he is.
What may have happened is that the pair were intended to be playable early on, but the developers eventually decided against it. This is implied by Fernand's character labels being marked as "Enemy Fernand", suggesting a non-enemy (playable) Fernand once existed.
Besides Fernand, the enemy versions of Deen, Sonia, Delthea and Zeke are explicitly labelled in a similar manner. Other enemies in the game do not have "enemy" in their label, since it's redundant. This includes Berkut, which could mean he was chosen to be an enemy before Fernand.
Shizas holds the distinction of being the only boss from the original Gaiden who failed to make the leap to Echoes. Originally he was stationed at Rigel's Border during Act 4, but Berkut ended up replacing his role on the battlefield.
Amusingly Shizas's unit data still remains for the most part; he's a Level 1 Gold Knight with the exact stats as in Gaiden. However, he does not have a name, portrait or animations so he wouldn't be able to appear in-game properly.
Liprica (Celica's mother) and Lima IV (Celica's father) have placeholder portraits. Maybe they would've appeared in a memory scene? By the way, the placeholder portraits are all of Rinea, with slightly more subdued colouring. Somebody in the team obvious liked her!
There is also a curious portrait for "Young Grima", which looks identical to a generic Necrodragon. Likewise, could this have been intended for a (final) memory scene, possibly detailing Forneus's experiments? That said, there are no other hints of Forneus to be found.
Funnily, there is a dialogue portrait for Silque when she's sleeping on the ground before Alm speaks to her in Act 1. Since sleeping Silque appears in the "adventure" part, she needs to have a matching portrait for dialogue, which is what you see above.
Moving on, there are generic portraits for almost every human class, even though not all of them appear as generic units on the battlefield. Some that do only appear as Specters or Masks and these variants have slightly different (zombified) portraits.
From what we can tell, unused portraits include Villager (both genders), female Paladin, female Gold Knight, Pegasus Knight, Falcon Knight, Cleric, Sage, female Mage and Priestess. A couple of these portraits show up during village/base conversations, but not the full-size battle ones.
Saint is an exception in that it has a village portrait, but not a battle one (although it does have a spectral version). Fighter and Hero (Alm's classes) have portraits too, but upon closer inspection, they're the standard Rinea placeholders.
As we vaguely touched on with sleeping Silque, many characters who appear in dialogue or battle also have a matching full-body adventure sprite, which is used when exploring villages and buildings etc.
This extends to quite a lot of characters who you'd never expect to meet outside of battle such as Fernand, Berkut, Rinea, Rudolf, heck, even a bunch of minor bosses and generic foes–and even Terrors. If only they released these images in high resolution!
Every human class in the game features Illusion and Mask map sprite variants. Most are used, but some such as for Fighter, Hero and Princess are not. Most likely they are simply fail-safes in case a developer ever wanted to quickly add an Illusion or Mask version to a map.
Interestingly, the amiibo characters have non-Illusion versions of their map sprites. You can see the "normal" version of Marth's map sprite from the pin collection set included in the Western Limited Edition of the game. Likewise, this is probably nothing more than a fail-safe.
Alcoholic provisions cannot be consumed by anyone in all versions of the game, but it was initially planned for characters over 20 to be able to consume such items. Perhaps it was changed due to ratings or to prevent underage characters being handicapped.
The neat thing is that all characters have an unseen age stat used to check if they can consume alcohol, rather than a simple "yes/no" flag. In general, only playable characters have ages, but a select few NPCs/enemies have ages for unknown reasons.
Most of the known ages can be found on the character introduction page.
Quite a few Combat Arts and Skills seem to be unused. These include ones from existing games such as Lethality, Aegis, Counter, Wrath, Paragon, Charm and Pass. Plus multiple skills that halve damage from specific weapons like Halve Sword.
In particular, there is a rather cool defensive Combat Art, Speculum, which reflects magical damage when triggered. Most likely it was removed since it was far too powerful, rendering units immune to all magic–something normally very terrifying.
Most of these Skills function perfectly fine, although Counter and Speculum don't have any visible effects during combat. Wrath is the only one that doesn't seem to do anything; it's supposed to boost Critical under half health, but no change was observed.
Lunatic Mode may have been planned, as it is referenced in the menu text; alternatively it was merely leftover text from Fates. On a related note, there is no description for Phoenix Mode, but there is a toggle in the debug menu (perhaps for game testing).
There may have been additional sub-quests planned. Distant Realm, the final quest, is number 40, but there are slightly less than 40 quests. Number 1 was related to Ham, 8 was "Kingdom of Dead", 18 was "Get me out of here!", 34 was "Beloved Lance" and 37-39 simply do not exist.
It seems there were plans for many additional Renown bonuses. These include victory bonus, adversity bonus, turn bonus, skirmish bonus, progression bonus, StreetPass bonus and aggregate turn and flat bonuses for each Act. Each map has a turn count for the turn bonus, but it's always set to 0.
There are several text strings and even whole files left over from Fates (as if it wasn't already obvious that Echoes is built from the Awakening and Fates engine). Most of the text is pretty standard fare though.
Amazingly, there is unused text for "Devil", "Naga" and "Serpent" just like in Gaiden, plus somebody called "Ganger" (Gepple in the Japanese version). Sadly, there is no unused Gaia spell to be found.
The "Mila Faithful" appears in the list of allegiances, between Celica's Army and the Rigelian Army. Yet in the final game, none of Mila's followers appear on the battlefield. Since the Mila Faithful is generally non-aggressive, maybe they were going to be NPCs to rescue?
There are unused post-battle mourning quotes for Alm, Celica and Conrad when Alm/Celica perish in battle. As far as we can tell, these do not play since Alm/Celica dying leads to an instant Game Over. Perhaps it was possible for the protagonists to die in the post-game?
In the final game, DLC is accessed via a menu, rather than a Outrealm Gate or Dragon's Gate. Yet in the world map text file, there is an unused "Dragon Gate" sitting between the Altar of Duma and the Archanea Seaway. Likewise, the Dragon Gate is a location on the world map, but it has no co-ordinates or data.
Although Echoes has a lot of DLC, there were plans for a few more. Most notably, there may have been a 5th part to Rise of the Deliverance. Perhaps it was removed to cut costs/save time and to make the overall cost of the DLC cheaper for consumers?
Similarly, it seems the Cipher collaboration was intended to be 4 parts, rather than 2. This suggests each of the four Cipher mascots (Emma, Shade, Yuzu and Randal) was planned to be downloaded individually rather than as pairs.
Also, there were going to be 3 Cipher product DLC instead of the single one from buying the Series 9 starter deck. We think the first three Cipher accessories may have been individual downloads, until Randal's accessory was added later (since it's located at very end of the icon list).
The Astral Temple and Inner Sanctum feature many in-game items in the drop list with 0% drop rate. This include most of the quest items (eg. Gossamer Hair), but also some common/uncommon items such as Leftover Ale, Hard Bread, Blessed Bow and Blessed Shield. The latter two seem like strange omissions.
Dotted around are numerous test files, for example to test dungeons, battle maps, etc. Of note, there is a village test that features 2 characters from an old MMORPG, CroXino. Hidari, Echoes's character artist contributed artworks to CroXino, so it's possible the character artwork belongs to him.
Last but not least, due to how the game is designed, every single battlefield and adventure area (like villages) can be explored like a dungeon. Although since you aren't supposed to explore these areas freely, the developers did not design any areas you cannot see.
Still, it's interesting to see that many floors have (presumably automatic) collision detection, even if most walls do not. Also, certain "template" objects like grass, barrels and boxes can often be destroyed like in a normal dungeon. No items will drop though.


text:
Membership Sign-up
Cross Country (XC)
Para-Athletics
Mini Legends
Safe Sport Complaints
Safe Sport Officers
Month at a Glance
Gathering Athletics Alberta Sessions
Road Running Events
Cross-Country Events
Coaching Education and PD Events
Covid -19 Resources
How to Become a Coach
Coach/Club Match
Find out a Coach's Certification Status
Become an Official
Officials' Resources
Alberta Officials Committee
Athletics Alberta Teams 2022
02/01/2023 February 2023
Dino Classic
Featured January 29
Sunday, Jan 29, 2023 Jack Simpson / Olympic Oval, Calgary AB Age Groups - U10, U12, U14, U16, U18, U20, Senior, Masters Registration page and technical package here. World Athletics Sanctioned World Para Athletics Sanctioned
Alberta Indoor Games
Featured February 4 - February 5
Saturday Feb 4, 2023 to Sunday Feb 5, 2023 Butterdome, Edmonton, AB Age Groups - U10, U12, U14, U16, U18, U20, Senior, Master Combined Events (U16, U18, U20, Senior, Master) and Relay Provincials Event Registration and Technical Package Coach Registration Volunteer Registration World Athletics Sanctioned World Para Athletics Sanctioned
Pandas Open
Featured February 10 - February 12
Friday Feb 10, 2023 to Sunday Feb 12, 2023 Butterdome, Edmonton, AB Age Groups - U16, U18, U20, Senior, Masters (Limited U12 and U14 Events) Registration and Technical Package World Athletics Sanctioned World Para Athletics Sanctioned
Cheetah Indoor Invitational
Sunday, Feb 19, 2023 MNP (Formerly Repsol) Age Groups - U10, U12, U14 Technical package TBA
Alberta Indoor Track and Field Championships
Featured March 4 - March 5
Saturday Mar 4, 2023 to Sunday Mar 5, 2023 Butterdome, Edmonton, AB Age Groups - U10, U12, U14, U16, U18, U20, Senior, Master Indoor Provincial Championships Technical package TBA World Athletics Sanctioned World Para Athletics Sanctioned
Covid-19 Resources for Clubs and Members
Acknowledging Treaties 4, 6, 7, 8, and 10,
11759 Groat Road, Edmonton, Alberta, T5M 3K6
Athletics Alberta Newsletter
Sign up today. It will only take a moment.
© 2023 Athletics Alberta


The Greater Austin Black Chamber hosts the Taste of Black Austin Tuesday at 6 p.m. at the Peached Social House. The tasting and reception "will trace the influence of food and farming in the preservation of black history and American culture" and feature food from about a dozen Austin chefs along with a photography exhibit honoring Austin's culinary history.
The roster of chefs, who will prepare bites of dishes found in archived recipe books and historic menu selections, includes Hoover Alexander (Hoover's Cooking), Demmerick Johnson (Ladybird's Austin Kitchen), Salimah Muhammad (Word of Mouth Catering), Nahika Hillery (Kreyól Korner Caribbean Cuisine) and more.
Event tickets are available for $85 and VIP tickets are available for $150, which includes a VIP cooking demonstration preceding the reception. More information and tickets here.
Greater Austin Black Chamber president and CEO Tam Hawkins appeared on Austin360's I Love You So Much podcast to talk about why Austin needs an event to showcase the legacy of local African American food businesses and celebrate the entrepreneurs who are carrying it on.


In November 2017 after getting shellacked in an election, the outgoing Town of Davidson Board approved a controversial rezoning to allow a Hyatt Place hotel next to the Community School of Davidson K-7 building on Griffith Street and adjacent to vulnerable neighborhoods in the Exit 30 area of Davidson North Carolina. Why the developers and the Hyatt brand would want to push an unpopular project on a community is a question beyond comprehension to those it impacts.
This page provides links to all the stories aShortChronicle has written over the past 2 years on the project.
Hyatt needs to #dotherightthing and #pulltheflag on this project.
Oct 25 2017 Griffith Street Hotel...Who will stand for the children?
Oct 24 2017 With conditional vote on Griffith Street Hotel looming, choose your candidates wisely.
Aug 23 2017 2nd info-bomb for Davidson Board on Griffith Hotel - It's all about safety!
Aug 13 2017 Did the "Davidson Way" skew ecit 30 hotel TIA?
Jul 26 2017 BREAKING NEWS: New Exit 30 hotel plan.
Oct 17 2016 #Catalyst2 Davidson Hotel...Traffic Impact Analysis to be completed. Parking to be major question.
Sep 16 2016 Who really wants new Griffith Street Hyatt Place hotel?
Sep 06 2016 #Catalyst2.0: Is Davidson as committed to its values as Venice Beach in 2007?
Feb 08, 2016 BREAKING NEWS - Possible new hotel at Exit 30?