fv_dist_gini_sample_discrete.Rmd
Back to Fan’s REconTools Homepage Table of Content
This file works out how the ff_dist_gini_sample_discrete function works from Fan’s REconTools Package
There is an vector values (all positive). This could be height information for N individuals. It could also be income information for N individuals. Calculate the GINI coefficient treating the given vector as population. This is not an estimation exercise where we want to estimate population gini based on a sample. The given array is the population. The population is discrete, and only has these N individuals in the length n vector.
See the formula below, note that when the sample size is small, there is a limit to inequality using the formula defined below given each \(N\). So for small \(N\), can not really compare inequality across arrays with different \(N\), can only compare arrays with the same \(N\). In another word, if 1 of N individual holds all resource, as \(N\) increases, GINI will asymptote to 0, but it is very far away from 0 for low N.
Not sure if this a standard way of computing GINI, but this is how I decided to compute this, the thought process is as follows, given monotonimcally increasing array \(X\), with \(x_1,...,x_N\):
The GINI formula I use is: \[ GINI = \frac{2}{N+1} \cdot \left(\sum_{i=1}^N \sum_{j=1}^{i} x_j\right) \cdot \left( \sum_{i=1}^N x_i \right)^{-1} \]
I derive the formula in the steps below.
\[ \Gamma = \sum_{i=1}^N \frac{1}{N} \cdot \left( \sum_{j=1}^{i} \left( \frac{x_j}{\sum_{\widehat{j}=1}^N x_{\widehat{j}} } \right) \right) \]
With perfect equality \(x_i=a\) for all \(i\), so need to divide by that.
\[ \Gamma^{\text{equal}} = \sum_{i=1}^N \frac{1}{N} \cdot \left( \sum_{j=1}^{i} \left( \frac{a}{\sum_{\widehat{j}=1}^N a } \right) \right) = \frac{N+1}{N}\cdot\frac{1}{2} \]
As the number of elements of the vecotr increases: \[ \lim_{N \rightarrow \infty}\Gamma^{\text{equal}} = \lim_{N \rightarrow \infty} \frac{N+1}{N}\cdot\frac{1}{2} = \frac{1}{2} \]
Given what we have from above, we obtain the gini formula \[ GINI = \left(\sum_{i=1}^N \sum_{j=1}^{i} x_j\right) \cdot \left( N \cdot \sum_{i=1}^N X_i \right)^{-1} \cdot \left( \frac{N+1}{N}\cdot\frac{1}{2} \right)^{-1} = \frac{2}{N+1} \cdot \left(\sum_{i=1}^N \sum_{j=1}^{i} x_j\right) \cdot \left( \sum_{i=1}^N x_i \right)^{-1} \]
Suppose \(x_i=0\) for all \(i<N\), then:
\[ GINI^{x_i = 0 \text{ except } i=N} = \frac{2}{N+1} \cdot X_N \cdot \left( X_N \right)^{-1} = \frac{2}{N+1} \]
\[ \lim_{N \rightarrow \infty} GINI^{x_i = 0 \text{ except } i=N} = \lim_{N \rightarrow \infty} \frac{2}{N+1} = 0 \]
Note that for small N, for example if \(N=10\), even when one person holds all income, all others have 0 income, the formula will not produce gini is zero, but that gini is equal to \(\frac{2}{11}\approx 0.1818\). If \(N=2\), inequality is at most, \(\frac{2}{3}\approx 0.667\).
\[ MostUnequalGINI\left(N\right) = \frac{2}{N+1} \]
The GINI formula just derived is trivial to compute.
There are no package dependencies. Define the formula here:
# Load Library
rm(list = ls())
# Formula, directly implement the GINI formula Following Step 4 above
ff_dist_gini_sample_discrete <- function(ar_pos) {
ar_pos <- sort(ar_pos)
it_n <- length(ar_pos)
fl_gini <- (2/(it_n+1)) * sum(cumsum(ar_pos))*(sum(ar_pos))^(-1)
return(fl_gini)
}
Generate a number of examples Arrays for testing
# Example Arrays of data
ar_equal_n1 = c(1)
ar_ineql_n1 = c(100)
ar_equal_n2 = c(1,1)
ar_ineql_alittle_n2 = c(1,2)
ar_ineql_somewht_n2 = c(1,2^3)
ar_ineql_alotine_n2 = c(1,2^5)
ar_ineql_veryvry_n2 = c(1,2^8)
ar_ineql_mostmst_n2 = c(1,2^13)
ar_equal_n10 = c(2,2,2,2,2,2, 2, 2, 2, 2)
ar_ineql_some_n10 = c(1,2,3,5,8,13,21,34,55,89)
ar_ineql_very_n10 = c(1,2^2,3^2,5^2,8^2,13^2,21^2,34^2,55^2,89^2)
ar_ineql_extr_n10 = c(1,2^2,3^3,5^4,8^5,13^6,21^7,34^8,55^9,89^10)
# Uniform draw testing
ar_unif_n1000 = runif(1000, min=0, max=1)
# Normal draw testing
ar_norm_lowsd_n1000 = rnorm(1000, mean=100, sd =1)
ar_norm_lowsd_n1000[ar_norm_lowsd_n1000<0] = 0
ar_norm_highsd_n1000 = rnorm(1000, mean=100, sd =20)
ar_norm_highsd_n1000[ar_norm_highsd_n1000<0] = 0
# Beta draw testing
ar_beta_mostrich_n1000 = rbeta(1000, 5, 1)
ar_beta_mostpoor_n1000 = rbeta(1000, 1, 5)
ar_beta_manyrichmanypoor_nomiddle_n1000 = rbeta(1000, 0.5, 0.5)
Now test the example arrays above using the function based no our formula:
##
## Small N=1 Hard-Code
## ar_equal_n1: 1
## ar_ineql_n1: 1
##
## Small N=2 Hard-Code, converge to 0.67, see formula above
## ar_ineql_alittle_n2: 0.8888889
## ar_ineql_somewht_n2: 0.7407407
## ar_ineql_alotine_n2: 0.6868687
## ar_ineql_veryvry_n2: 0.6692607
##
## Small N=10 Hard-Code, convege to 0.18, see formula above
## ar_equal_n10: 1
## ar_ineql_some_n10: 0.4604486
## ar_ineql_very_n10: 0.2940446
## ar_ineql_extr_n10: 0.1818451
##
## UNIFORM Distribution
## ar_unif_n1000: 0.6772671
##
## NORMAL Distribution
## ar_norm_lowsd_n1000: 0.9947005
## ar_norm_highsd_n1000: 0.8856365
##
## BETA Distribution
## ar_beta_mostpoor_n1000: 0.5526684
## ar_beta_manyrichmanypoor_nomiddle_n1000: 0.5934113
## ar_beta_mostrich_n1000: 0.9116259
##
##
## SHOULD/DOES NOT WORK TEST
## ar_unif_n1000_NEGATIVE: -25.345


Roland Tritsch is Gilt’s VP Infrastructure Engineering. Infrastructure Engineering works to ensure 100% uptime, while allowing Gilt to iterate and innovate as fast as possible. Roland has more than 20 years of industry experience in various technical leadership roles and is probably the oldest member of Tech who writes Scala code (nickname: Papa Roland). If he is not behind the keyboard, he’s riding his folding race bike (other nickname: Bumblebee) through the Wicklow Mountains of Dublin, Ireland.
How long have you been at Gilt?
For two-and-a-half years–since April 2011.
And how long have you lived in Ireland?
For eight years. I’m not Irish, though–I’m German.
Which is why your name isn’t “Roland O’Tritsch”–
It’s actually Roland McTritsch, with an M-C. Not Roland MacTritsch…
Thanks for the clarification! So, when did you decide that Gilt was the place for you?
At some point during the interviewing process–I felt there was a lot of passion for good software engineering here. It was the experimentation, the appreciation for excellence, and the willingness to not be afraid to question conventional wisdom. “Let’s do it this way”–well, why? If you cannot come up with a good answer, maybe there’s a different and better way.
What makes Gilt unique from other companies where you’ve worked?
For me, Gilt is the biggest experiment in next-generation software engineering practices that I’ve ever seen. That means, for instance, that in the last two years (I would say) half of my experience about how to do software engineering, and how to run a software engineering organization, has been questioned. And I like that.
Just in terms of software engineering practices, for instance, I like what we do in terms of decentralizing decision-making and empowering individuals. A lot of companies have tried it. There’s a risk when you do things as we do them, because people make mistakes. You have to compartmentalize the impact if something goes wrong. And we are well on the way to figuring out how to make this happen.
It seems that, to decentralize decision-making successfully, a certain level of maturity is required of the organization and the people in it.
It is a question of maturity, but also a question of process, approach, culture, and philosophy, because you just have to have experience and awareness of what decentralization means. What it comes back to, and what I like, is that we want to make engineers feel safe and secure, so that they get aggressive with the experimentation and the innovation.
An example: when I started here, we had one gigantic EC2 account. For that account we had centralized management with a couple of people being responsible for it. People were afraid to do anything with the account and always asked for help to get something done. It was out of concern that, if something went wrong, it would affect a lot of people. We now have a system in which people who have access to EC2 get their own account and can do whatever they like with it. And that has created a very good situation where people feel safe and secure, because if they make a mistake it’s only affecting them and no one else.
You have a tagline: “All Operations & Zero Waiting.” What does that mean?
The main promise of “All Operations & Zero Waiting” is that, in the next six to twelve months, we will have created a situation in which every Gilt engineer can actually do operations, write a service and experiment, test something, prove something, or whatever else they need to do to get their jobs done, and there will be zero waiting. If you want, you’ll be able to sit down one evening, write the service, deploy it into production, and, two days later, have data that will either prove or disprove your idea. That would be awesome, and you won’t need to ask anyone or wait for anything.
When did you come up with this tagline?
I invented it around the time I took the job here–it came from the industry concept of “no operations.” Basically, some people claim that they can run an ecommerce business with no operations–they can be engineering-only. From my point of view, this creates the totally wrong impression that you don’t need operations. I think what “no operations” people actually want to express is that everybody can do operations–therefore, “all operations.” You want to demystify operations and take away the fear.
How do you take away that fear?
It comes back to the question of compartmentalizing. A lot of people don’t like to touch our production environment because if they do it wrong, they’ll bring the site down. The interesting idea we started developing about a year ago is that software systems are brittle for exactly the same reason: mutability. Changes happen, and changes in a software system can have unintended side effects. When you think of functional programming, one of the big values it offers is immutability.
We are going to apply the concept of immutability to configuration management and deployment management, which means that after you have deployed a service on a container it will never change again. If you want deploy a new service you will spin up a new container and deploy the new version of the service onto that container and shut down the old one. Instead of CRUD, we are doing CRD (no U).
How does compartmentalization of our platform work?
For us, always going forward with freshly configured containers is a much more robust and stable concept. Also, in our system you can undo easily, and within one minute, you can roll back to the previous version and undo your mistake. We’ve created this system through a combination of Galactica (a family of services that allocates containers via CloudStack, allows for provisioning of other services, and implements a meta-data model) and Ion-Cannon, a project we’re running as a continuous deployment platform.
Why did we create our own continuous deployment platform instead of using Bamboo or some other existing platform?
Other platforms don’t give us the flexibility we want and need in our continuous deployment, or allow for integration with Scala. Ion-Cannon brings our built-in environment, SBT, and Jenkins environment together, and is Scala-based.
How did this approach originate?
About year ago, we saw an inspiring talk by [Clojure creator] Rich Hickey on the value of immutability. Then we had an infrastructure summit in Dublin, and during that summit we came up with the idea to apply the concept of immutability to configuration management and deployment management. That means that, going forward, if something is in production, we’ll never change anything. You’ll put a service into production with a given version, and we’ll start our container just for that one service. We configure it, deploy the service, start it, run it, and never update it again. If you need a service change, or another type of change, you’ll need to bring up a new container, deploy a new version of the service, and then can either kill the old one or run it in parallel.
This keeps things constantly rolling forward, and eliminates CRUD. We only create and delete, we never update. So whatever is deployed in production is immutable. And that takes away a whole slew of problems, in terms of how to test, manage or configure something.
How is our way different from the method other companies follow?
The way many companies run is that, in production, they have an auto-configuration thingie that constantly changes the state of their system. There are software solutions to do this (Puppet, Chef), but it makes it very hard to make predictions about the state of your system. It’s also very hard to test. Roll-outs can fail on machines that aren’t configured the same way as on the test machines.
What are your goals for the next six months?
What I mainly want to do is roll out Galactica to the engineering organization. That means that our engineers will be able to put services into production without any intervention from the outside. They’ll be able to touch the website directly, but the automation process will ensure that they can only roll out their changes to a subset of our member base. And if something goes wrong, the impact will be limited. I want to create this feeling of safety, that to try and fail is okay.
How do you make this happen? What is your management philosophy?
I believe in the power of “why”! I ask myself a lot why I am doing what I am doing, and why does it matter to Gilt. And I ask the people around me why what they do matters. Sometimes they know–and if they don’t, then I am always available to do soul-searching. Most of the time it is not very hard to connect what we do with what Gilt needs. In my case, what we do matters because it allows us to innovate, iterate and experiment faster, while maintaining a 100% uptime record. This is incredibly valuable for Gilt and, by extension, for our members. Indirectly, Infrastructure Engineering makes members happy, right?
One last question: What are your thoughts on change?
Change is good, but if you go about change the wrong way then you’re going to hurt yourself. It’s important to learn how to deal with the risk that comes with change rather than avoid the problem in the first place.
Also: I don’t think you will always get it right the first time, or that whatever you come up with will be right forever.
One of my favorite quotes is from Samuel Beckett: “Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.”


{% set error = error or { 'status': 404, 'title': 'Page Not Found', 'content': 'The requested URL was not found on this server!' } %}
{{ error.content }}


From my friend Andrew... not sure what to make of that :) http://yfrog.com/176ekuj
8/19/2009, 11:27:48 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
From my friend Andrew... not sure what to make of that :) http://yfrog.com/176ekuj
8/19/2009, 11:27:48 AM
Favs: 0
Retweets: 0
link


back
Mural and
Counter Top
Design, restoration and paintjob of a wall and a counter top for Rio's, a very welcoming bar located in Melgaço, Portugal.
In this project we designed a mural with de letter M, L and G, short for Melgaço, and a counter top with the different cocktails sold at the bar.
The process of the counter top consisted on the total restoration of the piece, including sanding, primer, paint and varnish.


Name: Philip Forrest
Age:
68
Occupation: Professional fan and editor of
Horizons
Favorite Fish: Huh? What? Fried, I
guess.
Comments: I'm thrilled to be selected fan guest of honor.
I look forward to seeing everyone at SFSF.
Phil has been a fan favorite for
forty years. His knowledge of science fiction is legendary, and anyone who has
seen his immense magazine collection knows where that knowledge came from! As
editor of Horizons, Phil has won two Tucker awards for the best fanzine
of the year.


Theis no-flow boundary interpretation.
This is a demo of the interpretation of a pumping test in a confined aquifer with an impermeable boundary with the Theis solution.
MIT License Copyright (c) 2017 Philippe Renard - University of Neuchâtel (CHYN)
Contents
Load the data
The data set for this example has been typed from: G. de Marsily, Pumping test in Niger.
Let us load the data and plot them.
[t,s]=ldf('thn_ds1.dat');
| HYTOOL Demo |
Model parameter guess
The parameters allowing to control the Theis no-flow boundary model are the slope and intercept of the Jacob straight line that one can observe at intermediate time, and the time at which the slope of straight line doubles.
The function thn_gss allows to estimate these numbers, we then check with trial if the first guess is acceptable.
p0=thn_gss(t,s);
trial('thn',p0,t,s)
Model fit and report
As the first guess was rather good, we proceed with the automatic fit and directly report the results of the interpretation.
p=fit('thn',p0,t,s); q=0.0132; % Pumping rate in m3/s r=20; % radial distance in m thn_rpt(p,t,s,[q,r],'Theis interpretation of de Marsilly data')
Norm of Norm of Iteration SSE Gradient Step ----------------------------------------------------------- 0 11.536 1 3.29254 50.6263 55429.9 2 1.85101 20.9463 71553.5 3 1.50432 4.38998 48011.8 4 1.48287 0.50611 14973.6 5 1.48193 0.148741 6173.39 6 1.48183 0.00622565 1760.04 7 1.48182 0.00802669 698.962 8 1.48182 0.00178267 218.09 9 1.48182 0.000767944 79.5379 10 1.48182 0.000234137 26.2035 11 1.48182 8.57519e-05 9.20265 Iterations terminated: relative change in SSE less than OPTIONS.TolFun
The estimated transmissivity is 9.8e-4 m2/s, the storativity is 3.9e-3, and the distance to the image well is 310 m. These numbers are close to the estimation provided by de Marsily.
T = 1.0e-3 [m2/s] S = 3.7 e-3 ri = 287 m


1 write to lastDebugContinueStatus
System.Management.Automation (1)
engine\MshCommandRuntime.cs (1)
529
lastDebugContinueStatus
= WriteHelper(
2 references to lastDebugContinueStatus
System.Management.Automation (2)
engine\MshCommandRuntime.cs (2)
484
if (WriteHelper_ShouldWrite(preference,
lastDebugContinueStatus
))
533
lastDebugContinueStatus
,


{% extends 'layout.html' %} {% from 'kb/_boxes.html' import render_topic %} {% set page_title = _('Sections') %} {% block body %}
{% trans %} Got a problem? Then let us know. But make sure to post it in the correct section. The one in bold is the one you are probably most interested in: {% endtrans %}
{% trans %} Your language is not here? Help us out and make it happen. Contact our translation guys and we will try to get your language in as quickly as possible. {% endtrans %} {% endblock %}


But it may be one of the fastest....
This Life screensaver runs almost entirely on your graphics card. The logic is written as an OpenGL shader, with just a bit of extra programming to glue it all together. This screensaver gets 22fps on my PowerBook G4 running at a 1x zoom fullscreen at 1280x854 while using only 10% of the CPU.
News: GPULife 1.0.1 is now a universal binary. So you can run GPULife on all those blazing fast Intel Chip Based Macs. Enjoy! And on that note, if anybody could tell me whether it runs on the new Mini, I would love to know.
Because it's a shader, and a rather complicated shader, it needs a hefty graphics card to work. So far, it's been tested and known to work on these cards:
If you have one of these cards, or something better, it will probably work fine. If you don't, it may not. However, the worst that can happen is that it won't work. If your screen comes out pure black, or pure white, or never changes, it's probably because of the graphics card.
If it works on your system and your card is not on this list, please e-mail me so I can update the list.
Download GPULife (26kB) - Requires Mac OS X 10.3 (possibly higher) and a hefty video card.
After downloading, double-click the GPULife.saver
file. It will open System Preferences and prompt you to install the screensaver.
For questions, comments, support, etc., e-mail Michael Ash.
Limit framerate: This option allows you to limit the rate at which the screensaver updates, to keep from using 100% of your graphics card's power. If unchecked, the screensaver will run as fast as your hardware will allow. If checked, you can set a maximum framerate using the slider and textbox to the right.
Show framerate: If checked, the current framerate will be displayed in the lower left corner of your screen.
Zoom: This allows you to control the zoom factor of the screensaver; at 1, one pixel is one Life cell.
Initial fill: When the screensaver starts, the field is filled with a random assortment of live and dead cells. This slider control the proportion of live cells. Both extremes are likely to rapidly result in a very dead space; best results are found in the middle.
Add random cells (per step): The screensaver will add the given number of live cells to the grid at every step. A small number of random cells can keep the grid from stagnating into still or repeating forms.
Corner colors: Liven up your screensaver by setting custom colors for the live cells. Dead cells are always black. Colors that are too close to black can confuse the engine, so dark are automatically brightened slightly.
More properly called Conway's Game of Life, Life is a cellular automaton. It's a computer simulation which takes place on a grid; each square in the grid is a cell which is either alive or dead. In Life, each cell counts its eight neighbors (four cardinal directions plus diagonals). If a live cell has two or three neighbors, it stays alive, otherwise it dies. If a dead cell has three neighbors, it is born, otherwise it stays dead. Through these simple rules, complex patterns evolve.
For more information, see Conway's Game of Life at the Wikipedia.
GPULife is copyright 2005 by Michael Ash


“A transfer learning model (CNN) for batch effect correction of RNA-seq and scRNA-seq data
”,
Final Year Project @ Xi'an Jiaotong-Liverpool University (2021)
“Impact of ascertainment on estimating cancer risk in multi-gene panel
Studies”, Research Internship @ BayesMendel Lab, Dana-Farber Cancer Institute (2020)
“m6A Reader: Epitranscriptome Target Prediction and Functional Characterization of
N6-Methyladenosine (m6A) Readers”, Research Project @ Meng Lab, Xi'an
Jiaotong-Liverpool University
(2020)
“Predict Epitranscriptome Targets and Regulatory Functions of N6-Methyladenosine(m6A)
Writers and Erasers”, esearch Project @ Meng Lab, Xi'an
Jiaotong-Liverpool University
(2019)
“A nervous system-targeting exosome device to transport mRNA
”, iGEM competition @ Team
XJTLU-CHINA (2018)
Education
Master of Science - MS, Computational Biology and Quantitative Genetics, Harvard T.H. Chan School of Public Health (HSPH) (2021-2023)
Summer School, Computer Science and Data Science, University of California, Berkeley (UCB) (2018, Jun -
Aug)
Bachelor of Science - BS, Bioinformatics, Xi'an Jiaotong-Liverpool University
(XJTLU) (2017 - 2021)


Fill in all steps for completing {{ (compayType['key'] == 'COMPANY_TYPE_OFFSHORE' || compayType['key'] == 'COMPANY_TYPE_OVERSEAS') ? 'Registration' : 'Incorporation'}} process.
{{item.label}}
Local Address
Foreign Address
Please select your share group
Not Found Your Joint Shareholder ? Add One.
Please select your share group
Not Found Your Joint Shareholder ? Add One.
Legal Person's(Firm) Address
{{compayType['key'] == 'COMPANY_TYPE_OFFSHORE' || compayType['key'] == 'COMPANY_TYPE_OVERSEAS' ? 'Local Address' : 'Address'}}
Foreign Address
{{compayType['key'] == 'COMPANY_TYPE_OFFSHORE' || compayType['key'] == 'COMPANY_TYPE_OVERSEAS' ? 'Local Address' : 'Address'}}
Foreign Address
Please select your share group
Not Found Your Joint Shareholder ? Add One.
Beneficiary Owner(s)
Address
Foreign Address
Legal Person's(Firm) Address
Legal Person's(Firm) Address
Please select your share group
Not Found Your Joint Shareholder ? Add One.
Local Address
Foreign Address
Please select your share group
Not Found Your Joint Shareholder ? Add One.
Beneficiary Owner(s)
Address
Foreign Address
You have successfully paid
You have successfully submitted the application for verification
Your company registration approved. Please make payment and complete the registration process.
You won't be able to revert this
Please confirm your payment by clicking below button.
NOTE: If you select "do not want to disclose", you will not entitle for any sector benefits


Toggle navigation
GPTM
About
About
The Committee
Prev Committees
Committee 2014-15
Committee 2013-14
Membership
Event Tickets
Donate
Gallery
Links
Contact Us
Facebook
Mailing List
Deepavali Kondattam 2015
Photos by Gidu Sriram
Photos by Manivannan Venkatasubbu
Photos by Sarathy Jayakumar
Sirappu Patti Mandram Videos by Gidu Sriram
Arogyam 2015
Photos by Ravi Velayutham
Chithirai Vizha 2015
Photos by Gidu Sriram
Photos by Sarathy Jayakumar
Pongal Sutrula 2015
Photos by Ravi Velayutham
Deepavali Kondattam 2014
Videos by Gidu Sriram
Photos by Gidu Sriram
Videos by Raja Narayanasamy
Photos by Sarathy Jayakumar
Previous Event Photos
Arogyam 2014
Tamil New Year Cruise 2014
Deepavali Kondattam 2013
Tamil New Year with Pragathi 2013
© 2015-16. All rights reserved.


|
src/app/actions/app.actions.ts
|
class
|
Error
|
0 %
(0/5)
|
|
src/app/actions/app.actions.ts
|
variable
|
APP_ERROR
|
0 %
(0/1)
|
|
src/app/app.component.ts
|
component
|
AppComponent
|
0 %
(0/6)
|
|
src/app/components/header/header.component.ts
|
component
|
HeaderComponent
|
0 %
(0/1)
|
|
src/app/components/nav/nav.component.ts
|
component
|
NavComponent
|
0 %
(0/13)
|
|
src/app/features/auth/actions/status.actions.ts
|
class
|
SetAttemptingLogin
|
0 %
(0/4)
|
|
src/app/features/auth/actions/status.actions.ts
|
class
|
SetValidationMessage
|
0 %
(0/4)
|
|
src/app/features/auth/actions/status.actions.ts
|
variable
|
SET_ATTEMPTING_LOGIN
|
0 %
(0/1)
|
|
src/app/features/auth/actions/status.actions.ts
|
variable
|
SET_VALIDATION_MESSAGE
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
Authenticated
|
0 %
(0/4)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
EmailLogin
|
0 %
(0/5)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
FacebookLogin
|
0 %
(0/3)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
GetUser
|
0 %
(0/3)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
GoogleLogin
|
0 %
(0/3)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
Logout
|
0 %
(0/3)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
NotAuthenticated
|
0 %
(0/3)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
ResetPassword
|
0 %
(0/4)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
SignUp
|
0 %
(0/5)
|
|
src/app/features/auth/actions/user.actions.ts
|
class
|
TwitterLogin
|
0 %
(0/3)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
AUTHENTICATED
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
EMAIL_LOGIN
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
FACEBOOK_LOGIN
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
GET_USER
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
GOOGLE_LOGIN
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
LOGOUT
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
NOT_AUTHENTICATED
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
RESET_PASSWORD
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
SIGNUP
|
0 %
(0/1)
|
|
src/app/features/auth/actions/user.actions.ts
|
variable
|
TWITTER_LOGIN
|
0 %
(0/1)
|
|
src/app/features/auth/components/auth-form/auth-form.component.ts
|
component
|
AuthFormComponent
|
0 %
(0/16)
|
|
src/app/features/auth/components/forgot-password/forgot-password.component.ts
|
component
|
ForgotPasswordComponent
|
0 %
(0/6)
|
|
src/app/features/auth/components/login/login.component.ts
|
component
|
LoginComponent
|
0 %
(0/9)
|
|
src/app/features/auth/components/register/register.component.ts
|
component
|
RegisterComponent
|
0 %
(0/9)
|
|
src/app/features/auth/effects/auth.effects.ts
|
injectable
|
AuthEffects
|
0 %
(0/3)
|
|
src/app/features/auth/effects/status.effects.ts
|
injectable
|
StatusEffects
|
0 %
(0/6)
|
|
src/app/features/auth/effects/user.effects.ts
|
injectable
|
UserEffects
|
0 %
(0/11)
|
|
src/app/features/auth/models/events.models.ts
|
interface
|
EmailAuthEvent
|
0 %
(0/3)
|
|
src/app/features/auth/models/user.models.ts
|
interface
|
User
|
0 %
(0/6)
|
|
src/app/features/auth/models/user.models.ts
|
interface
|
UserInfo
|
0 %
(0/5)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
interface
|
AuthState
|
0 %
(0/3)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectAuthState
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectStatus
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectStatusLoggingIn
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectStatusValidationMessage
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectUser
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectUserData
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
_selectUserLoggedIn
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
authComponentSelectors
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/status.reducer.ts
|
interface
|
State
|
0 %
(0/3)
|
|
src/app/features/auth/reducers/status.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/status.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/user.reducer.ts
|
interface
|
State
|
0 %
(0/6)
|
|
src/app/features/auth/reducers/user.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/auth/reducers/user.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/auth/services/auth.service.ts
|
injectable
|
AuthService
|
0 %
(0/13)
|
|
src/app/features/auth/services/user.service.ts
|
injectable
|
UserService
|
0 %
(0/5)
|
|
src/app/features/auth/utils/validation.utils.ts
|
variable
|
EMAIL_IN_USE
|
0 %
(0/1)
|
|
src/app/features/auth/utils/validation.utils.ts
|
variable
|
getValidationMessage
|
0 %
(0/1)
|
|
src/app/features/auth/utils/validation.utils.ts
|
variable
|
INVALID_CREDENTIALS
|
0 %
(0/1)
|
|
src/app/features/auth/utils/validation.utils.ts
|
variable
|
POPUP_CLOSED
|
0 %
(0/1)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
class
|
Reset
|
0 %
(0/3)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
class
|
Save
|
0 %
(0/4)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
class
|
SaveSucceeded
|
0 %
(0/4)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
class
|
SetGame
|
0 %
(0/4)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
class
|
SetPlatform
|
0 %
(0/4)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
class
|
SetStartTime
|
0 %
(0/4)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
variable
|
RESET
|
0 %
(0/1)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
variable
|
SAVE
|
0 %
(0/1)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
variable
|
SAVE_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
variable
|
SET_GAME
|
0 %
(0/1)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
variable
|
SET_PLATFORM
|
0 %
(0/1)
|
|
src/app/features/completion/actions/add-playing.actions.ts
|
variable
|
SET_STARTTIME
|
0 %
(0/1)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
class
|
AddNewItem
|
0 %
(0/4)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
class
|
LoadItems
|
0 %
(0/4)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
class
|
Remove
|
0 %
(0/4)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
class
|
SetEndTime
|
0 %
(0/5)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
class
|
SetShowExtra
|
0 %
(0/5)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
variable
|
ADD_NEW_ITEM
|
0 %
(0/1)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
variable
|
LOAD_ITEMS
|
0 %
(0/1)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
variable
|
REMOVE
|
0 %
(0/1)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
variable
|
SET_ENDTIME
|
0 %
(0/1)
|
|
src/app/features/completion/actions/mark-complete.actions.ts
|
variable
|
SET_SHOW_EXTRA
|
0 %
(0/1)
|
|
src/app/features/completion/actions/tab.actions.ts
|
class
|
SetVisibleTab
|
0 %
(0/4)
|
|
src/app/features/completion/actions/tab.actions.ts
|
variable
|
SET_VISIBLE_TAB
|
0 %
(0/1)
|
|
src/app/features/completion/completion.component.ts
|
component
|
CompletionComponent
|
0 %
(0/12)
|
|
src/app/features/completion/components/add-playing/add-playing.component.ts
|
component
|
AddPlayingComponent
|
0 %
(0/16)
|
|
src/app/features/completion/components/completed-item/completed-item.component.ts
|
component
|
CompletedItemComponent
|
0 %
(0/7)
|
|
src/app/features/completion/components/playing-item/playing-item.component.ts
|
component
|
PlayingItemComponent
|
0 %
(0/11)
|
|
src/app/features/completion/components/tabs/tabs.component.ts
|
component
|
TabsComponent
|
0 %
(0/6)
|
|
src/app/features/completion/effects/add-playing.effects.ts
|
injectable
|
AddPlayingEffects
|
0 %
(0/3)
|
|
src/app/features/completion/effects/progress.effects.ts
|
injectable
|
ProgressEffects
|
0 %
(0/6)
|
|
src/app/features/completion/models/add-playing.models.ts
|
interface
|
AddPlaying
|
0 %
(0/3)
|
|
src/app/features/completion/models/add-playing.models.ts
|
interface
|
AddPlayingInfo
|
0 %
(0/4)
|
|
src/app/features/completion/models/display-data.models.ts
|
interface
|
CompletedDisplayData
|
0 %
(0/3)
|
|
src/app/features/completion/models/display-data.models.ts
|
interface
|
PlayingDisplayData
|
0 %
(0/6)
|
|
src/app/features/completion/models/mark-complete.models.ts
|
interface
|
MarkCompleteItem
|
0 %
(0/4)
|
|
src/app/features/completion/reducers/add-playing.reducer.ts
|
interface
|
State
|
0 %
(0/4)
|
|
src/app/features/completion/reducers/add-playing.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/add-playing.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/mark-complete.reducer.ts
|
interface
|
MarkCompleteEntity
|
0 %
(0/4)
|
|
src/app/features/completion/reducers/mark-complete.reducer.ts
|
interface
|
State
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/mark-complete.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/mark-complete.reducer.ts
|
variable
|
adapter
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/mark-complete.reducer.ts
|
variable
|
getMarkCompleteEntity
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/mark-complete.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
interface
|
CompletionState
|
0 %
(0/4)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
_selectAddPlayingInfo
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
_selectCompletionState
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
_selectMarkComplete
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
_selectPlaying
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
_selectTab
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
_selectVisibleTab
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
completionSelectors
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/tab.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/completion/reducers/tab.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/completion/reducers/tab.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/completion/services/progress.service.ts
|
injectable
|
ProgressService
|
0 %
(0/9)
|
|
src/app/features/completion/services/progress.service.ts
|
interface
|
FirestoreProgressItem
|
0 %
(0/4)
|
|
src/app/features/completion/services/progress.service.ts
|
interface
|
ProgressCollection
|
0 %
(0/2)
|
|
src/app/features/completion/utils/add-playing.utils.ts
|
variable
|
findMatchingHistoryEntry
|
0 %
(0/1)
|
|
src/app/features/completion/utils/completed.utils.ts
|
variable
|
getCompletedDisplayData
|
0 %
(0/1)
|
|
src/app/features/completion/utils/completed.utils.ts
|
variable
|
getCompletedItem
|
0 %
(0/1)
|
|
src/app/features/completion/utils/display-data.utils.ts
|
variable
|
getCompletedDisplayDataItems
|
0 %
(0/1)
|
|
src/app/features/completion/utils/display-data.utils.ts
|
variable
|
getPlayingDisplayDataItems
|
0 %
(0/1)
|
|
src/app/features/completion/utils/playing.utils.ts
|
variable
|
getEndItem
|
0 %
(0/1)
|
|
src/app/features/completion/utils/playing.utils.ts
|
variable
|
getPlayingDisplayData
|
0 %
(0/1)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
class
|
SetLastMonth
|
0 %
(0/3)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
class
|
SetLastWeek
|
0 %
(0/3)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
class
|
SetThisMonth
|
0 %
(0/3)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
class
|
SetThisWeek
|
0 %
(0/3)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
variable
|
SET_LAST_MONTH
|
0 %
(0/1)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
variable
|
SET_LAST_WEEK
|
0 %
(0/1)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
variable
|
SET_THIS_MONTH
|
0 %
(0/1)
|
|
src/app/features/dashboard/actions/date-range.actions.ts
|
variable
|
SET_THIS_WEEK
|
0 %
(0/1)
|
|
src/app/features/dashboard/components/graph-tooltip/graph-tooltip.component.ts
|
component
|
GraphTooltipComponent
|
0 %
(0/2)
|
|
src/app/features/dashboard/components/header/header.component.ts
|
component
|
HeaderComponent
|
0 %
(0/5)
|
|
src/app/features/dashboard/components/time-date-graph/time-date-graph.component.ts
|
component
|
TimeDateGraphComponent
|
0 %
(0/3)
|
|
src/app/features/dashboard/components/time-game-graph/time-game-graph.component.ts
|
component
|
TimeGameGraphComponent
|
0 %
(0/3)
|
|
src/app/features/dashboard/components/time-platform-graph/time-platform-graph.component.ts
|
component
|
TimePlatformGraphComponent
|
0 %
(0/3)
|
|
src/app/features/dashboard/dashboard.component.ts
|
component
|
DashboardComponent
|
0 %
(0/13)
|
|
src/app/features/dashboard/models/graph.models.ts
|
interface
|
BarGraphConfig
|
0 %
(0/10)
|
|
src/app/features/dashboard/models/graph.models.ts
|
interface
|
GraphConfig
|
0 %
(0/6)
|
|
src/app/features/dashboard/models/graph.models.ts
|
interface
|
GraphDataItem
|
0 %
(0/3)
|
|
src/app/features/dashboard/models/graph.models.ts
|
interface
|
PieChartConfig
|
0 %
(0/4)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
interface
|
State
|
0 %
(0/4)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
variable
|
endWeek
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
variable
|
getState
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
variable
|
now
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/date-range.reducer.ts
|
variable
|
startWeek
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
interface
|
DashboardState
|
0 %
(0/2)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
variable
|
_selectDashboardFeature
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
variable
|
_selectDateList
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
variable
|
_selectDateRange
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
variable
|
_selectRangeType
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
variable
|
dashboardSelectors
|
0 %
(0/1)
|
|
src/app/features/dashboard/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/colorScheme.utils.ts
|
variable
|
DEFAULT_COLOR_SCHEME
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/colorScheme.utils.ts
|
variable
|
selectColorScheme
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph-data.utils.ts
|
variable
|
getGraphData
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph-data.utils.ts
|
variable
|
getPaddedGraphData
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph-data.utils.ts
|
variable
|
getSortedGraphData
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph.utils.ts
|
variable
|
getGraphDataItemIfInRange
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph.utils.ts
|
variable
|
mapToGraphData
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph.utils.ts
|
variable
|
padDateGraphData
|
0 %
(0/1)
|
|
src/app/features/dashboard/utils/graph.utils.ts
|
variable
|
sortGraphDataByValue
|
0 %
(0/1)
|
|
src/app/features/home/home.component.ts
|
component
|
HomeComponent
|
0 %
(0/2)
|
|
src/app/features/library/components/header/header.component.ts
|
component
|
HeaderComponent
|
0 %
(0/2)
|
|
src/app/features/library/library.component.ts
|
component
|
LibraryComponent
|
0 %
(0/7)
|
|
src/app/features/library/models/library.models.ts
|
interface
|
LibraryEntry
|
0 %
(0/5)
|
|
src/app/features/library/utils/library-data.utils.ts
|
variable
|
mapGroupings
|
0 %
(0/1)
|
|
src/app/features/library/utils/resize-utils.ts
|
variable
|
getNumEntriesToShow
|
0 %
(0/1)
|
|
src/app/features/profile/actions/profile.actions.ts
|
class
|
LoadProfile
|
0 %
(0/4)
|
|
src/app/features/profile/actions/profile.actions.ts
|
class
|
LoadProfileSucceeded
|
0 %
(0/4)
|
|
src/app/features/profile/actions/profile.actions.ts
|
class
|
SetProfileDisplayName
|
0 %
(0/5)
|
|
src/app/features/profile/actions/profile.actions.ts
|
class
|
SetProfileDisplayNameSucceeded
|
0 %
(0/4)
|
|
src/app/features/profile/actions/profile.actions.ts
|
variable
|
LOAD_PROFILE
|
0 %
(0/1)
|
|
src/app/features/profile/actions/profile.actions.ts
|
variable
|
LOAD_PROFILE_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/features/profile/actions/profile.actions.ts
|
variable
|
SET_PROFILE_DISPLAYNAME
|
0 %
(0/1)
|
|
src/app/features/profile/actions/profile.actions.ts
|
variable
|
SET_PROFILE_DISPLAYNAME_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/features/profile/components/edit-display-name/edit-display-name.component.ts
|
component
|
EditDisplayNameComponent
|
0 %
(0/8)
|
|
src/app/features/profile/effects/profile.effects.ts
|
injectable
|
ProfileEffects
|
0 %
(0/4)
|
|
src/app/features/profile/models/profile.models.ts
|
interface
|
Profile
|
0 %
(0/2)
|
|
src/app/features/profile/profile.component.ts
|
component
|
ProfileComponent
|
0 %
(0/9)
|
|
src/app/features/profile/reducers/profile.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/profile/reducers/profile.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/profile/reducers/profile.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/profile/reducers/root.reducer.ts
|
interface
|
ProfileState
|
0 %
(0/2)
|
|
src/app/features/profile/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/profile/reducers/root.reducer.ts
|
variable
|
_selectInfo
|
0 %
(0/1)
|
|
src/app/features/profile/reducers/root.reducer.ts
|
variable
|
_selectProfileState
|
0 %
(0/1)
|
|
src/app/features/profile/reducers/root.reducer.ts
|
variable
|
profileSelectors
|
0 %
(0/1)
|
|
src/app/features/profile/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/features/profile/services/profile.service.ts
|
injectable
|
ProfileService
|
0 %
(0/5)
|
|
src/app/features/profile/services/profile.service.ts
|
interface
|
FirestoreProfileItem
|
0 %
(0/2)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
DEFAULT_DISPLAYNAME
|
0 %
(0/1)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
DEFAULT_USER_IMGSRC
|
0 %
(0/1)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
getDisplayName
|
0 %
(0/1)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
getEmail
|
0 %
(0/1)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
getImgSrc
|
0 %
(0/1)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
getProviderFrom
|
0 %
(0/1)
|
|
src/app/features/profile/utils/userinfo.utils.ts
|
variable
|
providerMap
|
0 %
(0/1)
|
|
src/app/features/tracker/actions/display.actions.ts
|
class
|
IncrementDaysToShow
|
0 %
(0/4)
|
|
src/app/features/tracker/actions/display.actions.ts
|
variable
|
INCREMENT_DAYS_TO_SHOW
|
0 %
(0/1)
|
|
src/app/features/tracker/components/history-entry/history-entry.component.ts
|
component
|
HistoryEntryComponent
|
0 %
(0/15)
|
|
src/app/features/tracker/components/history/history.component.ts
|
component
|
HistoryComponent
|
0 %
(0/4)
|
|
src/app/features/tracker/components/load-more/load-more.component.ts
|
component
|
LoadMoreComponent
|
0 %
(0/4)
|
|
src/app/features/tracker/components/locked-history-entry/locked-history-entry.component.ts
|
component
|
LockedHistoryEntryComponent
|
0 %
(0/7)
|
|
src/app/features/tracker/components/timer/timer.component.ts
|
component
|
TimerComponent
|
0 %
(0/19)
|
|
src/app/features/tracker/effects/history.effects.ts
|
injectable
|
HistoryEffects
|
0 %
(0/8)
|
|
src/app/features/tracker/effects/platforms.effects.ts
|
injectable
|
PlatformsEffects
|
0 %
(0/3)
|
|
src/app/features/tracker/effects/timer.effects.ts
|
injectable
|
TimerEffects
|
0 %
(0/5)
|
|
src/app/features/tracker/reducers/display.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/tracker/reducers/display.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/features/tracker/reducers/display.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
interface
|
TrackerState
|
0 %
(0/2)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
variable
|
_selectDisplay
|
0 %
(0/1)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
variable
|
_selectEntriesToShow
|
0 %
(0/1)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
variable
|
_selectTrackerState
|
0 %
(0/1)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/features/tracker/reducers/root.reducer.ts
|
variable
|
trackerSelectors
|
0 %
(0/1)
|
|
src/app/features/tracker/services/history.service.ts
|
injectable
|
HistoryService
|
0 %
(0/12)
|
|
src/app/features/tracker/services/history.service.ts
|
interface
|
FirestoreHistoryItem
|
0 %
(0/7)
|
|
src/app/features/tracker/services/history.service.ts
|
interface
|
HistoryCollection
|
0 %
(0/2)
|
|
src/app/features/tracker/services/platforms.service.ts
|
injectable
|
PlatformsService
|
0 %
(0/4)
|
|
src/app/features/tracker/services/platforms.service.ts
|
interface
|
FirestorePlatformsItem
|
0 %
(0/3)
|
|
src/app/features/tracker/services/timer.service.ts
|
injectable
|
TimerService
|
0 %
(0/10)
|
|
src/app/features/tracker/services/timer.service.ts
|
interface
|
FirestoreTimerItem
|
0 %
(0/4)
|
|
src/app/features/tracker/tracker.component.ts
|
component
|
TrackerComponent
|
0 %
(0/10)
|
|
src/app/features/tracker/utils/display.utils.ts
|
variable
|
hasMoreToDisplay
|
0 %
(0/1)
|
|
src/app/features/tracker/utils/display.utils.ts
|
variable
|
takeFrom
|
0 %
(0/1)
|
|
src/app/meta.reducers/clear.meta.reducer.ts
|
function
|
clearState
|
0 %
(0/1)
|
|
src/app/meta.reducers/index.ts
|
variable
|
metaReducers
|
0 %
(0/1)
|
|
src/app/models/error.models.ts
|
interface
|
Error
|
0 %
(0/3)
|
|
src/app/models/route.models.ts
|
interface
|
RouteEntry
|
0 %
(0/6)
|
|
src/app/reducers/error.reducer.ts
|
interface
|
State
|
0 %
(0/3)
|
|
src/app/reducers/error.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/reducers/error.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/reducers/root.reducer.ts
|
class
|
CustomRouterStateSerializer
|
0 %
(0/2)
|
|
src/app/reducers/root.reducer.ts
|
interface
|
RouterStateUrl
|
0 %
(0/4)
|
|
src/app/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/3)
|
|
src/app/reducers/root.reducer.ts
|
variable
|
_selectError
|
0 %
(0/1)
|
|
src/app/reducers/root.reducer.ts
|
variable
|
_selectErrorState
|
0 %
(0/1)
|
|
src/app/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/reducers/root.reducer.ts
|
variable
|
rootComponentSelectors
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
AddNewHistoryItem
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
LoadHistoryItems
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
LoadHistoryItemsSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
RemoveHistoryItem
|
0 %
(0/5)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
RemoveHistoryItemSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
UpdateElapsedTime
|
0 %
(0/5)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
UpdateElapsedTimeSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
UpdateGame
|
0 %
(0/5)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
UpdateGameSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
UpdatePlatform
|
0 %
(0/5)
|
|
src/app/shared/actions/history.actions.ts
|
class
|
UpdatePlatformSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
ADD_NEW_HISTORY_ITEM
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
LOAD_HISTORY_ITEMS
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
LOAD_HISTORY_ITEMS_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
REMOVE_HISTORY_ITEM
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
REMOVE_HISTORY_ITEM_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
UPDATE_ELAPSED_TIME
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
UPDATE_ELAPSED_TIME_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
UPDATE_GAME
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
UPDATE_GAME_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
UPDATE_PLATFORM
|
0 %
(0/1)
|
|
src/app/shared/actions/history.actions.ts
|
variable
|
UPDATE_PLATFORM_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/platforms.actions.ts
|
class
|
LoadOptions
|
0 %
(0/3)
|
|
src/app/shared/actions/platforms.actions.ts
|
class
|
LoadOptionsSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/platforms.actions.ts
|
variable
|
LOAD_OPTIONS
|
0 %
(0/1)
|
|
src/app/shared/actions/platforms.actions.ts
|
variable
|
LOAD_OPTIONS_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
AddNewProgressItem
|
0 %
(0/4)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
LoadProgressItems
|
0 %
(0/4)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
LoadProgressItemsSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
MarkComplete
|
0 %
(0/5)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
MarkCompleteSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
RemoveProgressItem
|
0 %
(0/5)
|
|
src/app/shared/actions/progress.actions.ts
|
class
|
RemoveProgressItemSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
ADD_NEW_PROGRESS_ITEM
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
LOAD_PROGRESS_ITEMS
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
LOAD_PROGRESS_ITEMS_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
MARK_COMPLETE
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
MARK_COMPLETE_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
REMOVE_PROGRESS_ITEM
|
0 %
(0/1)
|
|
src/app/shared/actions/progress.actions.ts
|
variable
|
REMOVE_PROGRESS_ITEM_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
CancelTimer
|
0 %
(0/3)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
LoadTimerInfo
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
ResetTimer
|
0 %
(0/3)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
SaveTimerInfo
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
SaveTimerInfoSucceeded
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
SetGame
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
SetPlatform
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
SetStartTime
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
class
|
SetTimerInfo
|
0 %
(0/4)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
CANCEL_TIMER
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
LOAD_TIMER_INFO
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
RESET_TIMER
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
SAVE_TIMER_INFO
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
SAVE_TIMER_INFO_SUCCEEDED
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
SET_GAME
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
SET_PLATFORM
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
SET_START_TIME
|
0 %
(0/1)
|
|
src/app/shared/actions/timer.actions.ts
|
variable
|
SET_TIMER_INFO
|
0 %
(0/1)
|
|
src/app/shared/components/spinner/spinner.component.ts
|
component
|
SpinnerComponent
|
0 %
(0/1)
|
|
src/app/shared/models/graph.models.ts
|
variable
|
DEFAULT_KEY
|
0 %
(0/1)
|
|
src/app/shared/models/history.models.ts
|
interface
|
HistoryGrouping
|
0 %
(0/4)
|
|
src/app/shared/models/history.models.ts
|
interface
|
HistoryListItem
|
0 %
(0/8)
|
|
src/app/shared/models/history.models.ts
|
interface
|
UpdateHistoryItemGamePayload
|
0 %
(0/3)
|
|
src/app/shared/models/history.models.ts
|
interface
|
UpdateHistoryItemPlatformPayload
|
0 %
(0/3)
|
|
src/app/shared/models/history.models.ts
|
interface
|
UpdateHistoryItemTimesPayload
|
0 %
(0/4)
|
|
src/app/shared/models/progress.models.ts
|
interface
|
CompletedItem
|
0 %
(0/6)
|
|
src/app/shared/models/progress.models.ts
|
interface
|
MarkCompletePayload
|
0 %
(0/3)
|
|
src/app/shared/models/progress.models.ts
|
interface
|
ProgressItem
|
0 %
(0/4)
|
|
src/app/shared/models/shared.models.ts
|
interface
|
Dictionary
|
0 %
(0/1)
|
|
src/app/shared/models/shared.models.ts
|
interface
|
IHasId
|
0 %
(0/2)
|
|
src/app/shared/models/shared.models.ts
|
interface
|
NgSelectValue
|
0 %
(0/2)
|
|
src/app/shared/models/timer.models.ts
|
interface
|
AddTimerInfo
|
0 %
(0/6)
|
|
src/app/shared/models/timer.models.ts
|
interface
|
TimerInfo
|
0 %
(0/4)
|
|
src/app/shared/pipes/elapsed-time.pipe.ts
|
pipe
|
ElapsedTimePipe
|
0 %
(0/1)
|
|
src/app/shared/pipes/pluralize.pipe.ts
|
pipe
|
PluralizePipe
|
0 %
(0/1)
|
|
src/app/shared/pipes/time.pipe.ts
|
pipe
|
TimePipe
|
0 %
(0/1)
|
|
src/app/shared/reducers/history.reducer.ts
|
interface
|
HistoryEntity
|
0 %
(0/6)
|
|
src/app/shared/reducers/history.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/shared/reducers/history.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/shared/reducers/history.reducer.ts
|
variable
|
adapter
|
0 %
(0/1)
|
|
src/app/shared/reducers/history.reducer.ts
|
variable
|
getUpdatedState
|
0 %
(0/1)
|
|
src/app/shared/reducers/history.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/shared/reducers/platforms.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/shared/reducers/platforms.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/shared/reducers/platforms.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/shared/reducers/progress.reducer.ts
|
interface
|
ProgressEntity
|
0 %
(0/4)
|
|
src/app/shared/reducers/progress.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/shared/reducers/progress.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/shared/reducers/progress.reducer.ts
|
variable
|
adapter
|
0 %
(0/1)
|
|
src/app/shared/reducers/progress.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
interface
|
SharedState
|
0 %
(0/5)
|
|
src/app/shared/reducers/root.reducer.ts
|
interface
|
State
|
0 %
(0/2)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectCompletedProgress
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectHistory
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectHistoryGroupingsByDate
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectHistoryGroupingsByGame
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectHistoryGroupingsByPlatform
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectHistoryItems
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectHistoryLoading
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectPlatforms
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectPlatformsLoaded
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectPlatformsOptions
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectPlayingProgress
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectProgress
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectSharedState
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectSortedHistoryItems
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectTimer
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectTimerInfo
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectTrackedGames
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
_selectUserDataLoaded
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
reducers
|
0 %
(0/1)
|
|
src/app/shared/reducers/root.reducer.ts
|
variable
|
sharedSelectors
|
0 %
(0/1)
|
|
src/app/shared/reducers/timer.reducer.ts
|
interface
|
State
|
0 %
(0/4)
|
|
src/app/shared/reducers/timer.reducer.ts
|
function
|
reducer
|
0 %
(0/1)
|
|
src/app/shared/reducers/timer.reducer.ts
|
variable
|
initialState
|
0 %
(0/1)
|
|
src/app/shared/services/elapsed-time.service.ts
|
injectable
|
ElapsedTimeService
|
0 %
(0/5)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
canCalculateElapsedTime
|
0 %
(0/1)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
formatDate
|
0 %
(0/1)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
formatElapsedTime
|
0 %
(0/1)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
formatTime
|
0 %
(0/1)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
getElapsedTimeInSeconds
|
0 %
(0/1)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
getZeroPaddingTime
|
0 %
(0/1)
|
|
src/app/shared/utils/date.utils.ts
|
variable
|
isInDateRange
|
0 %
(0/1)
|
|
src/app/shared/utils/history-filter.utils.ts
|
variable
|
filterHistoryItemsAfter
|
0 %
(0/1)
|
|
src/app/shared/utils/history-filter.utils.ts
|
variable
|
filterHistoryItemsBetween
|
0 %
(0/1)
|
|
src/app/shared/utils/history-filter.utils.ts
|
variable
|
filterPlatforms
|
0 %
(0/1)
|
|
src/app/shared/utils/history-filter.utils.ts
|
variable
|
filterStartTimes
|
0 %
(0/1)
|
|
src/app/shared/utils/history-filter.utils.ts
|
variable
|
getUniqueFrom
|
0 %
(0/1)
|
|
src/app/shared/utils/history.utils.ts
|
variable
|
filterGroupingsByDateRange
|
0 %
(0/1)
|
|
src/app/shared/utils/history.utils.ts
|
variable
|
getElapsedTimeFrom
|
0 %
(0/1)
|
|
src/app/shared/utils/history.utils.ts
|
variable
|
getFilteredGrouping
|
0 %
(0/1)
|
|
src/app/shared/utils/history.utils.ts
|
variable
|
getHistoryGroupingList
|
0 %
(0/1)
|
|
src/app/shared/utils/history.utils.ts
|
variable
|
getHistoryListItemMap
|
0 %
(0/1)
|
|
src/app/shared/utils/history.utils.ts
|
variable
|
getHistoryListItemsMap
|
0 %
(0/1)
|
|
src/app/shared/utils/ng-select.utils.ts
|
variable
|
getValueFromNgSelect
|
0 %
(0/1)
|
|
src/app/shared/utils/uuid.utils.ts
|
variable
|
getUUID
|
0 %
(0/1)
|
|
src/environments/environment.prod.ts
|
variable
|
environment
|
0 %
(0/1)
|
|
src/environments/environment.ts
|
variable
|
environment
|
0 %
(0/1)
|
|
src/environments/index.ts
|
interface
|
Environment
|
0 %
(0/5)
|
|
src/environments/index.ts
|
interface
|
FirebaseConfig
|
0 %
(0/7)
|
|
src/environments/index.ts
|
interface
|
UUIDConfig
|
0 %
(0/3)
|


Add your hero text here along with whatever else you want to call attention to.
Add action statement, and click through to deeper levels of content.
Add your hero text here along with whatever else you want to call attention to.
Add action statement, and click through to deeper levels of content.


Issue: MAPPING-DESTRUCTIVE-INTERACTIONReferences: MAPCAR, MAPLIST, ... (p128);
DOLIST (p126); MAPHASH (p285);
DO-SYMBOLS, DO-EXTERNAL-SYMBOLS, DO-ALL-SYMBOLS (pp187-188);
All functions using :TEST
Related-Issues: REMF-DESTRUCTION-UNSPECIFIED.
Category: CLARIFICATION
Edit history: 07-Mar-88, Version 1 by Pitman
09-Jun-88, Version 2 by Pitman
(merge Moon's comments and update current practice)
Problem Description:
The interaction of mapping functions and DOLIST with destructive
operations on the list being operated on is unclear. For example,
if you destructively modify some tail of a list being mapped down,
does that affect the mapping process?
Proposal (MAPPING-DESTRUCTIVE-INTERACTION:EXPLICITLY-VAGUE):
Clarify that it in general is an error (the effect is not defined
but in general no error will be signalled) for code executed during a
"structure traversing" operation to destructively modify the
structure in a way that might affect the ongoing traversal operation.
For list traversal operations, this means that the cdr chain of the
list may not be destructively modified.
For array traversal operations, the array may not be adjusted and
its fill-pointer, if any, may not be changed.
For hash tables, new elements may not be added or deleted EXCEPT
that the element corresponding to the current hash key may be
changed or removed.
For packages, new symbols may not be interned in or uninterned from
the package being traversed or any package that it uses EXCEPT that
the current symbol may be uninterned from the package being traversed
in a DO-SYMBOLS.
Note: This proposal is intended to clarify restrictions on user code
for use with structure manipulators which are not inherently
destructive. Other operators, such as DELETE-DUPLICATES or NREVERSE,
may have much more complicated restrictions and are intentionally not
treated by this proposal. See the issue REMF-DESTRUCTION-UNSPECIFIED
for more discussion of such issues.
Test Case:
(LET* ((L (LIST 'A 'B 'C)) (LL L) (I 0))
(DOLIST (FOO L)
(INCF I)
(POP LL)))
(LIST I L)) might return (2 (A B)) or (3 (A B)), for example.
Rationale:
This clarifies the status quo.
Also, the likelihood that the user will want to destructively alter a
structure while it is being traversed is low. The likelihood that such
code would be readable and maintainable is also low. The likelihood
that a compiler could do some interesting optimization if this point
were not pinned down is high enough to be the overriding consideration
in this case.
Current Practice:
The implementation of DOLIST in Symbolics Genera, KCL, and PopLog Common Lisp
returns (3 (A B)) for the test case.
Cost to Implementors:
None. This simply makes the status quo explicit.
Cost to Users:
Technically none. People who were mistakenly assuming that CLtL guaranteed
things which it does not might be inclined to rewrite their code in a more
portable way.
Cost of Non-Adoption:
Users would be less informed.
Benefits:
users would be more informed.
Aesthetics:
Some might say it would be clearer to define this one way or the other, but
advocates of both camps exist and their arguments are fairly symmetric.
In any case, since this is a proposal to preserve the status quo, it has no
major impact on aesthetics.
Discussion:
This idea for this proposal was suggested by the Japanese community.
Pitman drafted the formal proposal and supports the EXPLICITLY-VAGUE proposal.
Moon generally supported version 1 of this proposal, but had some specific
criticisms about weakness of the wording which this version is an attempt to fix.


--- layout: page title: About header-img: "img/about-bg.png" ---
I was in going to college for computer Engineering, but decided that it would be a lot cheaper to do this boot camp. It also seemed like I would learn the same curriculum and get more hands on.


Supporting functionality to run 'caret' with spatial or spatial-temporal data. 'caret' is a frequently used package for model training and prediction using machine learning. This package includes functions to improve spatial-temporal modelling tasks using 'caret'. It prepares data for Leave-Location-Out and Leave-Time-Out cross-validation which are target-oriented validation strategies for spatial-temporal models. To decrease overfitting and improve model performances, the package implements a forward feature selection that selects suitable predictor variables in view to their contribution to the target-oriented performance.
| Version: |
0.3.1 |
| Depends: |
R (≥ 3.1.0) |
| Imports: |
caret, stats, utils, ggplot2, graphics |
| Suggests: |
doParallel, GSIF, randomForest, lubridate, raster, sp, knitr, mapview, rmarkdown |
| Published: |
2018-11-19 |
| Author: |
Hanna Meyer [cre, aut],
Chris Reudenbach [ctb],
Marvin Ludwig [ctb],
Thomas Nauss [ctb] |
| Maintainer: |
Hanna Meyer <hanna.meyer at geo.uni-marburg.de> |
| License: |
GPL (≥ 3) | file LICENSE |
| URL: |
https://github.com/environmentalinformatics-marburg/CAST |
| NeedsCompilation: |
no |
| Materials: |
README NEWS |
| CRAN checks: |
CAST results |


Browse through categories by clicking on the categories name. You can add new sub-categories, edit or delete them. If you want to create a new category without nesting it as a sub-category, use the button Add Supercategory


This is a heatmap of car crashes in Hartford. Use the slider to change the time frame. Zoom in to hotspots to see individual crash location data.


... background process like notifications ...
... file editor ...
... third party integration ...
... search ...
... application ...
... presentation ...
...
ownCloud, a portal for all of us
live workshops
can fail
ownCloud web
$ yarn
$ yarn build:w
ownCloud infinite Scale
$ export WEB_ASSET_PATH=./web/dist
$ export WEB_CONFIG_FILE=./config.json
$ ./ocis server
hardening extension loading
hardening extension api's
make extension api public
collect feedback
we need your support, your feedback ...
...
and your bug reports
for the images
for the framework
for the api and content
for your attention & feedback
for your hard work


Listening to sad music after a long, rough day. Illustration by Olivia Juenger.
January 20, 2022
The Solace of Sad Music
Sad music: Why shared pain can cultivate serenity
When Emily Squance and her roommate first met, they were deeply homesick, so they blasted “July” by Noah Cyrus and watched the weight of the world fall from their shoulders and turn to dust.
Squance, a junior studying strategic communication, said the two of them bonded over that shared melancholia, and Cyrus’ sad, pain-tinged words helped them forge a connection.
Sometimes, sad music makes the tough moments a little easier. Some think that’s counterintuitive, and others know it as a remedy that never fails.
Kimberlea Czulewicz, a senior studying psychology, falls between those two mindsets. She always pulls up “Ultimately” by khai dreams, which is brimming with self-doubt and tells the story of love in limbo, when she’s smothered by a wave of dejection. While she doesn’t know why she likes listening to sad music — she admits it’s a toss-up as to whether it ends up making her feel better — she finds comfort in knowing she’s not by herself in feeling this way.
“I have depression and anxiety just like a lot of other people,” Czulewicz said. “I think it just makes me feel a lot less alone, like I’m not the only person that’s sad a lot.”
Mindsets like Czulewicz’s aren’t out of the ordinary, Andrew Holbrook, an assistant professor of music therapy at Ohio University, said. He said there is no uniform reason why people listen to sad music if they know it’s not guaranteed to lift their spirits, but that’s also the beauty of it: It resonates in lots of ways for lots of different people. Just like some people listen to songs for production while others value lyrics, music affects one person diversely from the next.
Holbrook added that while people may immerse themselves in sad music and see no immediate improvement in their mood, they shouldn’t be discouraged.
“Even though they may not feel better right away, I think that in the long run, it does help,” Holbrook said.
Three People Together
Listening to music can also be comparative to commiserating with someone, Holbrook said. Just like that exchange of sympathy and comfort, which often includes cathartic moments, music can offer a similar type of relief.
Catharsis is an aura cleanser that Preston Lynch, a senior studying music production and the recording industry, knows well. Lynch, who makes music under the moniker Peat Lynch, just released his hip-hop album Rain or Shine in November. He said the saddest song he’s ever written, “because i love you,” appears on it.
The track, ripe with sorrowful keys and gutting lyrics about cutting ties with a long-term partner when feelings are still there, was something Lynch felt he had to write.
“A lot of times, I don’t even have a choice (as to) what kind of music I make,” Lynch said. “It just comes out, especially if it’s something heavy like that.”
Not only does music help Lynch express himself, but he finds sad music repairs his mood. Though he’s recently spun a host of artists, including Kendrick Lamar and The Zombies, Lynch has found himself leaning on The Red Hot Chili Peppers not only for subconscious inspiration but also because it currently seems to fit the soundtrack of his life.
Lynch’s favorite Chili Peppers song is one of its more slow-paced and thought-provoking: “Dosed.” He said listening to sad music boosts his mood, but he knows it’s not like that for everyone. He said whatever music feels right in the moment should always be pursued.
For Annie Fink, a senior studying music production and the recording industry, her choice of sad music is the stylings of Joji — specifically, his song “Ew.” She said she feels emotionally connected to him and other relatable artists like Billie Eilish who create sad music because knowing that someone else has experienced the same type of pain can lead to healing, but she doesn’t think consuming sad music frequently is healthy.
“If that’s all you’re listening to all the time, I feel like your body and your mind is just going to latch onto that and instantly take on the emotions that you might not be feeling just because you’re so used to it. I feel like that can really just enclose you in a space that you don’t want to be in.”
—Annie Fink, a senior studying music production and the recording industry
Fink recommends taking sad music in small doses and instead diversifying listening patterns, but if someone needs to sit with their emotions for a minute, they shouldn’t hesitate to reach for what they need.
This phenomenon of fans being emotionally connected to artists they’ve never personally met isn’t something that artists typically keep in mind when creating their music, Josh Antonuccio, director of OU’s School of Media Arts & Studies, said. Antonuccio, a producer himself and owner of 3 Elliott Studio in Athens, said most of the thought process goes into channeling what the artist specifically wants to delineate through their work. However, if they’ve created something that’s hitting them hard, he said they never doubt that it’s going to touch the listener in the same way.
It’s different when it comes to why artists create the music they do, though, Antonuccio said. They might consider how it will sound or feel in a live capacity or how it will impact a certain market.
“There are many, though, that I think probably trend trying to write something that resonates with what they themselves are feeling or something they’re trying to get out,” Antonuccio said. “They’re trying to find an emotion. They’re trying to find a thread that feels familiar or cathartic for them. And, hopefully, there’s an audience — or their audience that might be expecting it from them — (that) feels the same way.”
Moments like that from country outfit Jason Isbell and the 400 Unit have reached Emily Marlow, a sophomore studying communication studies. Though Isbell makes country music, a genre Marlow doesn’t listen to otherwise, his poetic lyrics have stayed with her, especially those from the track “If We Were Vampires.”
“That song in specific … it’s sad in a way that is beautiful,” Marlow said. “It makes you focus more on realizing that life is short rather than ‘I’m sick of today and yesterday.’ I think a lot of times it shows you a different perspective.”
Though she said sad music undoubtedly makes her feel better, Marlow echoes Fink’s sentiments that it shouldn’t be gorged. If it can help someone block out distressing feelings, then it can be a great tool and should be used, but if someone doesn’t read the room and chooses to self-inflict that pain, she said that’s not a viable way to take care of oneself.
Diamond Allen, a senior studying women’s, gender and sexuality studies, thinks how much sad music should be digested depends on the person. She recognizes sad music mends the scrapes right off some and deepens the wound for others, but like Fink said, whatever works for someone is always OK.
Allen tends to gravitate toward “Mockingbird” by Eminem when she’s sad, even though she can’t exactly relate to his words. She likes that even though they’re not going through the same experiences, he emulates the same type of passion stewing in her soul.
“You can feel his emotion in his songs,” Allen said.
“Sometimes, I can’t articulate how I’m feeling, so I will just use a song so I can get it out as best I can.”
—Diamond Allen, a senior studying women’s, gender and sexuality studies
She’s curated a slew of playlists that each encapsulate the emotions she can’t express herself, and she plays them when needed.
However, when a sad playlist isn’t the answer, Holbrook recommends working with a music therapist. A method they often implement with clients is the “iso principle,” which is started by playing music that aligns with the client’s present mood. If they have depression, sad music may be used.
Gradually, the music therapist changes the overarching mood.
“We try to get them to entrain with music,” Holbrook said. “When they start really resonating, really feeling that music, then we might progressively move to a different place: might be more relaxing or soothing or more upbeat or up-tempo kinds of things. If we truly have entrainment, then their mood will move with the music.”
Holbrook recommends music therapy for those of all ages with a mental health disability, especially if music is a mainstay in their life.
Though Squance recognizes the importance that “July” served for her and her roommate, she knows constantly listening to sad music may reinforce unsought feelings, but sometimes, she needs the vulnerability of Cyrus and others injected into her veins.
Listening and thinking as the day goes by
“I feel like there’s a special sensitivity to sad music,” Squance said. “It just lets you feel those emotions, and I’ve always been an advocate of feeling what you need to feel and not pushing anything down, and I feel like these sad songs help.”
To listen to all the songs mentioned in this story, click here.
© Copyright 2022, The Post, Athens, OH