Millions of scientific articles are published every year and released to the scientific communities using various bibliographic databases such as Google Scholar, CiteSeerX or Scopus. In order to understand the impact of a publication and how it shapes the future of the research field, citation index and citation impact measures are used. Such measures enable researchers to trace the succeeding papers that rely on their publications.
Although there are many ways to calculate citation index and impact at article-level, such as the famous h-index and many more author-level metrics, all of them seem to be sharing one strong assumption and that is, a citation is counted only when a paper directly cites another paper. The following figure illustrates how citations are calculated in Article 1
and Article 2
according to their bibliographies.
Imagine, after years of study and research, you publish a seminal work in your field in a journal. Your paper is very theoretical and sheds light on a complex and unsolved problem. After a while, a few other researchers get another idea from various sources including yours, and publish another paper where your paper is also cited. In such a scenario and given the current citation calculation method, your paper would get a citation of 1. However, after a few months, it turns out that the other paper has paved the way for a new branch in your field and therefore, is being cited thousands of times in a year. Now, the question is: how your contribution and your idea that helped to untie the Gordian knot can be acknowledged properly?
Let’s take a look at an example. Paper A and C which are respectively published in 2013 and 2014, are cited 1 time. The papers that cited those given papers are themselves being cited by succeeding papers. Let’s focus on Paper B, published in 2015, which is cited 8 times. Even if Paper A provided the theoretical base that led to the authors of the Paper B to conclude with a new theorem, Paper A still has 1 citation and this may probably stay so, as the scientific community will be built upon Paper B, rather than Paper A due to the lack of direct citation of the latter. Recently, Bollmann and Elliott has addressed the same issue with a focus on the older papers in the field of natural language processing (NLP) and states that:
... recently published papers (0–3 years old) are cited significantly more often in publications from recent years (ca. 2015–2019), while papers published 15 or more years ago are being cited at a stable rate.
We can model the citation problem as a weighted directed graph (or also tree), where nodes represent papers and edges represent citations. The following illustrates Papers A, B and C, as mentioned earlier:
Here is a simple solution. When a paper is cited, instead of considering direct citations, all future papers that cite succeeding papers will have an impact on the current one based on their citation counts and number of papers that they cite. To further clarify, let’s get back to our graph above. Paper B cites Paper A and Paper C. The two latter papers are cited once each one. If we divide the whole number of citations of Paper B, i.e. 8, to the number of papers that it cites, i.e. 2, Paper A and Paper C each one will have 4 citation impacts. Citation impact of a paper cited by a paper that has not been cited is 0.
Therefore, we can define citation impact of paper , , as follows:
where is a given paper, is the set of papers that directly cite , is the citation impact of the papers that cite paper and || is the number of papers that paper cites. We set the citation impact of parents of children nodes, i.e. papers which are not cited at all, as the whole number of citations.
The following shows a more detailed scenario where the impact of papers that cite B is propagated to the older citations in such a way that papers A and C have a citation impact of 5 while their direct citation remains 1.
In the current approach, all cited papers have the same weight in calculating the citation impact. In other words, whether a paper is cited in the related work or in the methodology, it is acknowledged in the same way in terms of the citation impact. To solve this, a mechanism may be required to distinguish the importance of the cited articles from the authors’ point of view.
I think there are many ways to improve our current citation calculation systems and also the way that we write manuscripts. This simple method, despite its simplicity, provides a more comprehensive way to reflect the importance of a paper in shaping the future of a scientific field.
Last updated on 18 September 2020.


Aqualad
just for test
Aquaman
just for test
Batgirl
just for test
Batman
just for test
BeastBoy
just for test
Bumblebee
just for test
Cyborg
just for test
GreenLantern
just for test
Menos
just for test
Raven
just for test
Robin
just for test
Speedy
just for test
Starfire
just for test
Superman
just for test
WonderTwins
just for test


- BTC $11.039232
- ETH $1.2792
- GAME $11.039232
- LBC $0.588418
- NEO $161.511
- STE $0.551955
- LIT $177.80
- NOTE $13.399
- MINT $0.880694
- IOT $2.555
- DAS $769.22
Data Tables Markets
| Coin | Price | Change % |
|---|---|---|
BTC |
$ 11,723.40 |
-15.20% |
ETH |
$ 1,070.39 |
-11.74% |
XRP |
$ 1.64 |
-16.44% |
ADA |
$ 0.68 |
-5.91% |
LTC |
$ 198.88 |
-15.74% |
DASH |
$ 865.27 |
-16.47% |
| Transaction Hash | BTC | Time | Miner Preference | Status |
|---|---|---|---|---|
| 9d2c7b06bfa0 ... | 1.2126281 BTC | medium | Confirmed | |
| 5de67415bfc6 ... | 0.20522881 BTC | high | Unconfirmed | |
| 733de15b3cec ... | 2.02622033 BTC | high | Confirmed | |
| 6793bcfa4f7f ... | 2.43220578 BTC | high | Canceled | |
| 2c66087936b5 ... | 14.01099978 BTC | high | Canceled | |
| 51935e53c294 ... | 0.3024534 BTC | high | Unconfirmed | |
| a3976b73cf5e ... | 0.20518486 BTC | medium | Confirmed | |
| g011cb48c078 ... | 2.08039395 BTC | high | Confirmed | |
| c6b59368635c ... | 42.99698306 BTC | high | Confirmed | |
| a261fc1d717d ... | 1.0281818 BTC | high | Canceled |


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
RILEY SCOTT
05.30.19
MEAGAN HALL | FOR THE POST
Ohio University President Duane Nellis speaks with multiple publications during a RoundTable meeting.
Iwould like to take this opportunity to welcome you and your families to Ohio University! Bobcat Student Orientation is a wonderful introduction to everything our beautiful campus has to offer as you prepare to begin your college career this coming fall.
Over the next couple of days, as you schedule for classes and meet new friends, I hope you are also able to take time to learn more about the many resources our campus has to offer. OU offers a truly transformational learning experience, and you will find that a wealth of opportunity exists right at your fingertips. From learning experiences that meet societal needs right here within our own neighborhoods to exciting undergraduate research and study abroad opportunities, OHIO affords you the freedom to thrive and time to grow as you learn from world-class faculty.
Our community truly is a classroom where you can choose a path of assignments aimed at developing solutions for global issues, like the opioid epidemic or sustainability. Or, you can choose a path of research and discovery that focuses on our local region, such as food insecurity or a celebration of our regional culture and arts. OHIO is a wonderfully inclusive family of diverse people with unique ideas. We have been recognized nationally for our investments in and attention to diversity and inclusion by receiving the INSIGHT Into Diversity Higher Education Excellence in Diversity Award.
As we embark on another academic year, I welcome you into our university community. The possibilities are endless, and I look forward to hearing your ideas as you capably navigate your college experience at OHIO.
My advice to you over the next four years is to pursue your dreams, chase your goals, work hard and get involved!
Go Bobcats!
BackLanding Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Lyon in talks to buy Megan Rapinoe's Reign FC
The World Cup winner’s club are in negotiations to be bought by the owners of European champions Lyon.
by AFPAMERICAN SUPERSTAR MEGAN Rapinoe’s team Reign FC are in negotiations to be bought out by the owners of current women’s European champions Lyon, both teams said on Monday.
OL Group, which owns Lyon’s men’s and women’s teams, said in a statement that the move will consolidate their position as the “top women’s football group in the world”.
Lyon president Jean-Michel Aulas unveiled at the club’s most recent AGM plans to expand his team’s brand in both the United States and China and earmarked a budget for the purchase of an American franchise.
Based in Tacoma near Seattle, Reign FC will start their eighth season in the American National Women’s Soccer League next term and have on their roster FIFA’s women’s world player of the year Megan Rapinoe.
Rapinoe, 34, was joint top scorer with six goals at this year’s women’s World Cup — won by the United States — and bagged the Golden Boot.
She also won the Golden Ball for the best player and became the face of the tournament for her outspoken views on US president Donald Trump and campaigning for LGBT rights.
Rapinoe played for Lyon in between 2013 and 2014, with follow USA forward Alex Morgan briefly playing for the six-time Champions League winners in 2017.
Reign FC said Monday that they expected to conclude a deal with OL Group before the end of January.
“Our ambition has always been to operate the best women’s football club in the world,” said Reign FC’s majority owner Bill Predmore.
“This is a distinction long held by OL, making them the perfect organisation to help us achieve our long-term objectives for the club.”
With thirteen consecutive domestic league titles and six Champions League, Lyon’s women’s outfit fit that bill.
Reign midfielder Jess Fishlock told her club website she was massively behind the move.
“Lyon and Reign are both amazing organisations and I am so proud to have played for both clubs,” she said.
“Bringing the clubs together is for me the perfect combination –- I literally can’t think of a better outcome for two clubs who are so dedicated to the growth of the women’s game.”


We got mices!
- iterate strategic content
- aggregate next-generation infomediaries
- drive innovative ROI
- e-enable mission-critical architectures
- whiteboard global applications
- innovate viral mindshare
- incentivize wireless metrics
- orchestrate out-of-the-box e-tailers
- exploit user-centric deliverables
- transition viral paradigms
- revolutionize front-end portals
- cultivate vertical functionalities


22
1 David and his men left Gath and went east to hide in a cave on a hill near the town of Adullam. Soon his older brothers and all his other relatives came and stayed with him there.
2 Then other men came there. Some were men who had caused trouble, some were men who owed money, and some were men who were unhappy for any reason. They continued to come until there were four hundred men there, and David was their leader.
3 Later they left there and went east to the city of Mizpah in the land of Moab. There David asked the king of Moab, "Please allow my father and mother to live here with you until I know what God is going to do for me."
4 The king gave him permission, so David's parents stayed with the king of Moab all the time that David and the men who were with him were hiding in that area.
5 One day the prophet Gad told David, "Leave your hideout here and return to Judah." So David and his men went to the Hereth Forest in Judah.
6 One day, someone told Saul that David and his men had arrived in Judah. On that day, Saul was sitting underneath the tamarisk tree on a hill near the town of Gibeah. He was holding his spear and was surrounded by his army officers.
7 He shouted to them, "You men of the tribe of Benjamin, listen to me! Do you think that the son of Jesse will give all of you fields and vineyards if he becomes your king? Will he appoint all of you to become generals and captains in his army ?
8 Is that why you have all conspired against me, as he is doing today!
9 Doeg, a man from the Edom people group, was standing there with Saul's officers. He said to Saul, "When I was at Nob, I saw that son of Jesse talking to Ahimelech, the priest.
10 Ahimelech asked Yahweh what David should do. Then Ahimelech gave to David some food and the sword of Goliath, that Philistine giant."
11 Then Saul summoned Ahimelech and all Ahimelech's relatives who were priests at Nob. So they all came to the king.
12 Saul said to Ahimelech, "You son of Ahitub, listen to me!"
Ahimelech answered, "Yes, sir!"
13 Saul said, "Why are you and Jesse's son conspiring to get rid of me? You gave him some bread and a sword. You requested God to tell David what he should do. David has rebelled against me, and right now he is hiding somewhere, waiting to attack me."
14 Ahimelech replied, "I do not understand why you are saying that, because David, your son-in-law, the captain of your bodyguards, is very loyal to you. No one is more loyal to you than David! Everyone in your household respects him very much.
15 Furthermore, this was certainly not the first time that I requested God to say what he wanted David to do. And it is not right for you to accuse me or any of my relatives of trying to get rid of you, because I do not know anything about anyone wanting to do that."
16 The king then shouted, "Ahimelech, you and your all your relatives are going to be executed right now!"
17 Then he commanded his bodyguards, "Kill these priests of Yahweh, because they are allies of David, and they are conspiring with David against me! They knew that David was trying to run away from me, but they did not tell me!"
 So Doeg, the man from the Edom people group, went out and struck them down with his sword. On that day he killed eighty-five men who were able to wear the sacred aprons because they were all God's priests.
19 He also went and killed many people in Nob, the city where the priests lived. He killed men, women, children, babies, cattle, donkeys, and sheep there.
20 But Abiathar, Ahimelech's son, escaped. He ran away and joined David and the men who were with him.
21 He told David that Saul had commanded Doeg to kill Yahweh's priests.
22 Then David said to him, "That man from the Edom people group, Doeg, was there at Nob on the day that I was there. I knew that he would surely tell Saul what happened. So it is my fault that your father and all of his family have been killed.
23 You stay with me, and do not be afraid.


Installing various packages can make your system vulnerable to any known or discovered security issues in the software. Hackers trying to gain access to your machine often can take advantage of such security holes in your system's software. For this reason, it is highly recommended to purge anything on your machine that is not required to be there.
Wireshark is a utility used to analyze network packets. It is quite useful for debugging complex network issues, but it can pose a network security risk if not absolutely needed on the system.
To check if Wireshark is installed on your system, you can type dpkg -l | grep wireshark. (the grep command is to find packages with names containing "wireshark")
If results come up, then Wireshark is likely installed. To remove it, purge the results that return from the above command. (For example: sudo apt-get purge wireshark wireshark-common wireshark-qt libwireshark8 libwireshark-data)
That should be it!


PPMTOMPEG(1) PPMTOMPEG(1) NAME ppmtompeg - encodes MPEG-1 bitstreams SYNOPSIS ppmtompeg [ options ] parameter-file DESCRIPTION ppmtompeg produces an MPEG-1 video stream. param_file is a parameter file which includes a list of input files and other parameters. The file is described in detail below. The -gop, -combine_gops, -frames, and -combine_frames options are all exclusive. This man page is probably incomplete. For complete usage, see the User's Guide. OPTIONS -stat stat_file : causes the encoder to append the statistics to the file stat_file. In any case, the statistics are output to stdout. The statistics use the following abbreviations: bits per block (bpb), bits per frame (bpf), seconds per frame (spf), and bits per second (bps). -quiet num_seconds : causes the program to not report remaining time for at least num_seconds seconds. A negative values tells the program not to report at all. 0 is the default (reports once after each frame). Note that the time remaining is an estimate and does not take into account time to read in frames. -realquiet : causes the encoder to run silently, with the only screen output being errors. Particularly useful when reading input from stdin. -no_frame_summary : prevents the program from printing a summary line for each frame -float_dct : forces the encoder to use a more accurate, yet more computa‐ tionally expensive version of the DCT. -gop gop_num : causes the encoder to only encode the numbered GOP (first GOP is 0). The parameter file is the same as for normal usage. The output file will be the normal output file with the suffix ".gop.<gop_num>" No sequence info is output. -combine_gops : causes the encoder to simply combine some GOP files into a single MPEG stream. A sequence header/ender are inserted. In this case, the parameter file need only contain the YUV_SIZE value, an output file, and perhaps a list of input GOP files (see below). -frames first_frame last_frame : causes the encoder to only encode the frames from first_frame to last_frame, inclusive. The parameter file is the same as for normal usage. The output will be placed in separate files, one per frame, with the file names being the normal output file with the suffix ".frame.<frame num>" No GOP header information is output. (Thus, the parameter file need not include the GOP_SIZE value) -combine_frames : causes the encoder to simply combine some frames into a single MPEG stream. Sequence and GOP headers are inserted appro‐ priately. In this case, the parameter file need only contain the YUV_SIZE value, the GOP_SIZE value, an output file, and perhaps a list of frame files (see below). -nice : causes the program to run any remote processes 'nicely.' This is only relevant if the program is using parallel encoding. (see 'man nice.') -max_machines num_machines : causes the program to use no more than num_machines machines as slaves for use in parallel encoding. -snr : print the signal-to-noise ratio. Prints SNR (Y U V) and peak SNR (Y U V) for each frame. In summary, prints averages of luminance only (Y). SNR is defined as 10*log(variance of original/variance of error). Peak SNR is defined as 20*log(255/RMSE). Note that the encoder will run a little slower if you want it to print the SNR. -mse : computes the mean squared error per block. Also automatically computes the quality of the images when set, so there is no need to specify -snr then. -bit_rate_info rate_file : prints bit rate information into the file rate_file. Bit rate info is bits per frame, and also bits per I- frame-to-I-frame. -mv-histogram : prints histogram of motion vectors as part of statistics. There are three histograms -- one for P, forward B, and backward B vectors. Each histogram is a 2-dimensional array, and there is one entry for each vector in the search window. PARAMETER FILE The parameter file MUST contain the following lines (except when using the -combine_gops or -combine_frames options): PATTERN <pattern> OUTPUT <output file> INPUT_DIR <directory> all input files must reside in this directory. If you want to refer to the current directory, use '.' (an empty INPUT_DIR value would refer to the root directory). If input files will be coming in from standard input, use 'stdin'. INPUT This line must be followed by a list of the input files (in display order) and then the line END_INPUT There are three types of lines between INPUT and END_INPUT. First, a line may simply be the name of an input file. Secondly, the line may be of the form <single_star_expr> [x-y] single_star_expr can have a single '*' in it. It is replaced by all the numbers between x and y inclusive. So, for example, the line tennis*.ppm [12-15] is replaced by tennis12.ppm, tennis13.ppm, tennis14.ppm, tennis15.ppm. Uniform zero-padding occurs, as well. For example, the line football.*.ppm [001-130] is replaced by football.001.ppm, football.002.ppm, ..., football.009.ppm, football.010.ppm, ..., football.130.ppm. The third type of line is: <single_star_expr> [x-y+s] Where the line is treated exactly as above, except that we skip by s. Thus, the line football.*.ppm [001-130+4] is replaced by football.001.ppm, football.005.ppm, foot‐ ball.009.ppm, football.013.ppm, etc. BASE_FILE_FORMAT <YUV or PPM or PNM or JPEG or JMOVIE> All the input files must be converted to YUV, JPEG(v4), JMOVIE, PNM, or PPM format. This line specifies which of the three formats (actually PPM is a subset of PNM). The reason for having a separate PPM option is for simplicity. If your files are RAWBITS ppm files, then use the PPM option rather than the PNM. Also, depending on the system, file reads will go much faster with the PPM option (as opposed to PNM). INPUT_CONVERT <conversion command> You must specify how to convert a file to the base file format. In the conversion command, each '*' is replaced by the filename (the items listed between INPUT and END_INPUT).  GOP_SIZE <n> n is roughly the number of frames in a Group of Pic‐ tures (roughly because a GOP must begin with an I- frame) SLICES_PER_FRAME <n> n is roughly the number of slices per frame. Note, at least one MPEG player may complain if slices do not start at the left side of an image. To ensure this does not happen, make sure the number of rows is divisible by SLICES_PER_FRAME. PIXEL <FULL or HALF> use half-pixel motion vectors, or only full-pixel ones RANGE <n> use a search range of +/- n pixels PSEARCH_ALG <algorithm> algorithm must be one of {EXHAUSTIVE, TWOLEVEL, SUB‐ SAMPLE, LOGARITHMIC}. Tells what kind of search procedure should be used for P-frames. Exhaustive gives the best compression, but logarithmic is the fastest. You select the desired combination of speed and compression. TWOLEVEL is an exhaustive full-pixel search, followed by a local half- pixel search around the best full-pixel vector (the PIXEL option is ignored for this search algorithm). BSEARCH_ALG <algorithm> algorithm must be one of {SIMPLE, CROSS2, EXHAUS‐ TIVE}. Tells what kind of search procedure should be used for B-frames. Simple means find best for‐ ward and backward vectors, then interpolate. Cross2 means find those two vectors, then see what backward vector best matches the best forward vector, and vice versa. Exhaustive does an n-squared search and is EXTREMELY slow in relation to the others (Cross2 is about twice as slow as Simple). IQSCALE <n> use n as the qscale for I-frames PQSCALE <n> use n as the qscale for P-frames BQSCALE <n> use n as the qscale for B-frames REFERENCE_FRAME <ORIGINAL or DECODED> If ORIGINAL is specified, then the original images are used when computing motion vectors. To be more accurate, use DECODED, in which the decoded images are used. This should increase the quality of the image, but will take a bit longer to encode. The following lines are optional: FORCE_I_ALIGN This option is only relevant for parallel execution (see below). It forces each pro‐ cessor to encode a block of N frames, where N must be a multiple of the pattern length. Since the first frame in any pattern is an I- frame, this forces each block encoded by a processor to begin with an I-frame. foo NOTES If the BASE_FILE_FORMAT is YUV, then the parameter file must contain: YUV_SIZE <w>x<h> where w = width, h = height (in pixels) of image, and YUV_FORMAT <ABEKAS or PHILLIPS or UCB or EYUV or pattern>. See the file doc/INPUT.FORMAT for more information. If the -combine-gops option is used, then only the YUV_SIZE and OUTPUT values need be specified in the parameter file. In addition, the parame‐ ter file may specify input GOP files in the same manner as normal input files -- except instead of using INPUT_DIR, INPUT, and END_INPUT, use GOP_INPUT_DIR, GOP_INPUT, and GOP_END_INPUT. If no input GOP files are specified, then the default is to use the output file name with suffix ".gop.<gop_num>" starting from 0 as the input files. If the -combine-frames option is used, then only the YUV_SIZE, GOP_SIZE, and OUTPUT values need be specified in the parameter file. In addition, the parameter file may specify input frame files in the same manner as normal input files -- except instead of using INPUT_DIR, INPUT, and END_INPUT, use FRAME_INPUT_DIR, FRAME_INPUT, and FRAME_END_INPUT. If no input frame files are specified, then the default is to use the output file name with suffix ".frame.<frame_num>" starting from 0 as the input files. Any number of spaces and tabs may come between each option and value. Lines beginning with '#' are ignored. Any other lines are ignored except for those between INPUT and END_INPUT. This allows you to use the same parameter file for normal usage and for -combine_gops and -com‐ bine_frames. The encoder is case-sensitive so, except for file names and directories, everything should be in upper case. The lines may appear in any order, except the following exceptions. INPUT must appear before END_INPUT (also, GOP_INPUT before GOP_END_INPUT and FRAME_INPUT before FRAME_END_INPUT). All lines between INPUT and END_INPUT must be the frames in play order. The encoder is prepared to handle up to 16 B frames between reference frames when encoding with input from stdin. To increase this amount, change the constant B_FRAME_RUN in frame.c and recompile. PARALLEL OPERATION The encoder may be run on multiple machines at once. To do so, add a line "PARALLEL" in the parameter file, followed by a listing, one machine per line, then "END_PARALLEL". Each of the lines should be in one of two forms. If the machine has access to the file server, then the line should be: <machine> <user> <executable> The executable is normally ppmtompeg (you may need to give the complete path if you've built for different architectures). If the machine is a remote machine, then the line should be: REMOTE <machine> <user> <executable> <parameter file> Full paths should generally be used when describing executables and parameter files. This INCLUDES the parameter file given as an argument to the original call to ppmtompeg. Also, .rhosts files on the appropri‐ ate machines should have the appropriate information. The encoder will use the original machine for the master and I/O server processes, and uses the listed machines as slaves to do the computation. Optional lines are RSH <remote shell command> The encoder uses the remote shell command to start processes on other machines. The default command is 'rsh.' If your machine supports a different command, specify it here. PARALLEL_TEST_FRAMES <n> n is the number of frames to encode initially on each processor PARALLEL_TIME_CHUNKS <t> subsequently, each slave processor will be asked to encode for approximately t seconds. Smaller values of <t> increase communi‐ cation, but improve load balancing. The default values for these two options are n = 3 frames and t = 30 seconds. PARALLEL_PERFECT If this line is present, then scheduling is done on the assumption that work distribution will be perfectly even -- meaning that each machine is about the same speed. The frames will simply be divided up evenly between the processors. This has the advantage of very minimal scheduling overhead, but is obviously wrong if machines have varying speeds, or if the network load makes perfor‐ mance uneven. VERSION This is version 1.5 it contins new features and bug fixes from version 1.3. BUGS Not really a bug, but at least a limitation: If writing to an output file, ppmtompeg sometimes uses <filename>.* as temporary files. No known bugs, but if you find any, report them to mpeg-<EMAIL_ADDRESS>AUTHORS Kevin Gong - University of California, Berkeley<EMAIL_ADDRESS>Ketan Patel - University of California, Berkeley<EMAIL_ADDRESS>Dan Wallach - University of California, Berkeley<EMAIL_ADDRESS>ley.edu Darryl Brown - University of California, Berkeley<EMAIL_ADDRESS>Eugene Hung - University of California, Berkeley<EMAIL_ADDRESS>Steve Smoot - University of California, Berkeley<EMAIL_ADDRESS>1 February 1995 PPMTOMPEG(1)


Single_Photons.sp_MAIN module¶
-
CT_MOD
(lock)¶ Operates the two channel coincidence timer and sends time data back to the connected client
- Parameters
lock (
multiprocessing.Lock
) – Thread lock to ensure this thread can acquire Io resources without contention with other threads
-
DD_IDELAY
(channel, tap, stage)¶ Operates the input delay hardware module
-
PG_MOD
(params)¶ Operates the signal generator on the fabric
- Parameters
params (
dict
) –A JSON string consisting of a serialized dictionary with keys of type
str
containingint
Channel with key ‘ch’
int
orbool
Channel enabled (1 or 0) (true or false) with key ‘enable’
float
Frequency of channel in Hz with key ‘frequency’
float
Duty cycle of channel (0-1) or pulse width in milliseconds with key ‘dc’
float
Delay of channel in seconds with key ‘del’
bool
A boolean stating whether the supplied float in DC is either a duty cycle or pulse width. Key: ‘dcm’
-
ST_MOD
(lock)¶ Operates the single channel inter rising edge timer and sends time data to the connected client.
- Parameters
lock (
multiprocessing.Lock
) – Thread lock to ensure this thread can acquire Io resources without contention with other threads
-
TT_MOD
(time, lock)¶ Operates the time tagger and sends time information to the connected client
- Parameters
time (
float
) – The time out in seconds of the time taggerlock (
multiprocessing.Lock
) – Thread lock to ensure this thread can acquire Io resources without contention with other threads
-
counter
(window, mode, lock)¶ Starts and operates the pulse counter and sends counts to client connected to socket
- Parameters
window (
float
) – The time window to count for (has no effect if the mode is 2)mode (
int
) – The mode the counter is operating in, 0 - Manually started and coutns for window, 1 - Started by external trigger and counts for window, 2 - Started by external trigger and counts till stop trigger is pulsed.lock (
multiprocessing.Lock
) – Lock to ensure all IO operations are thread safe.
-
run
()¶
-
sendToHost
(data, l)¶ Send the specified string data to the client connected to the socket
- Parameters
data (
str
) – Data to sendl (
multiprocessing.Lock
) – Thread lock


JSON-2-DOCS
Convert any JSON model to the equivalent jsdocs or esdocs typedef code.
by Luke Lincoln.
lukes611.com
{ "this is an example": [":D", ":D", 2], "age": 2, "friends": ["none", "i am so lonely"] }


Eigenframes analysis of D tensor
zfsframes(D1,D2,D3) zfsframes([D1,D2,D3])
zfsframes
takes the three principal values of a zero-field splitting (D) tensor
as inputs and examines all six possible eigenframe alignments, computes the scalar parameters D and E for each of them and determines the conventional ones.
The three input values can be input either as three separate numbers or as an array of three numbers.
zfsframes
does not return any output data, but it prints all its analysis to
the screen.
The two axis conventions are
A D tensor with the three principal values 1, 2 and 4 (in arbitrary units) is analysed using
zfsframes(1,2,4)or
D = [1 2 4]; zfsframes(D)The conventional D and E/D values are D = +2.5 and E/D = +0.2.
Zero-field spitting reference, zfield


Plymouth woman wants to give away her wedding dress to someone in need
The Good Samaritan is looking to pass the Mori Lee gown to another couple
by Jess MorcomA generous Plymouth woman is looking to give away her wedding dress to someone in need.
The lady, who does not wish to be named, got married a few years ago in a £1,300 Mori Lee designer dress.
And now, she feels the time is right to give the dress to someone who would benefit from the stunning gown.
"I got married back in 2016, and I know for most people, especially for the first couple of years, keeping your wedding dress is a very sentimental thing," she told Plymouth Live.
"But now, myself and my husband are looking to go abroad for a few months, and I just thought to myself, actually I could really put this dress to good use.
"It's always been important to me that people share good fortune, so I just feel like giving it to someone in need is the right thing to do.
"Originally, I looked into giving the gown to charities that make gowns for still borns, but that seems to be a really popular route as they're inundated with donations at the moment.
"So now I'm seeking to find another couple that would really benefit from this dress. Perhaps they've had a tough year, or they're experiencing illness and want to marry while they still can.
"It would be great to be able to see the dress make a difference to someone else."
The dress is around a UK Size 10, but could be adjusted accordingly.
There are also a pair of shoes in size 7 which could go with the dress should they be required.
Anyone interested in the dress is urged to either comment, contact Plymouth Live or email<EMAIL_ADDRESS>and we can put you in touch with the Good Samaritan.


England made to work hard in New Zealand A warm-up match as Joe Root goes off injured
| Tour match, Cobham Oval, Whangarei (day one of three): |
|---|
| New Zealand XI 302-6: Phillips 116, Blundell 60, Archer 2-58, Stokes 2-64 |
| England 26-1: Burns 14 |
| Scorecard |
England's Jofra Archer and Ben Stokes took two wickets apiece on a testing opening day for the tourists in a warm-up match against New Zealand A.
The hosts made 302-6 before declaring, with Glenn Phillips - who was dropped by Dom Sibley on 27 - scoring 116.
England captain Joe Root walked gingerly off the field after diving to stop a boundary but returned once he had been assessed by England's staff.
The tourists lost Rory Burns for 14 en route to 26-1 at the close.
"The wicket has been seriously flat, which was surprising," said Stokes. "But that's a great test for us as a bowling group.
"It was a great opportunity for us to try a few different things and just try to figure out, if we do get a pitch like this in the Test series, what works well and what doesn't."
Of Root's injury, he added: "At one point, we were discussing whether he had hurt his knee, ankle or hamstring. Thankfully, it was none of those.
"He just took a bump on his leg from stopping the ball and sort of got a dead leg but it was good to see him running back on the field."
England play two Tests against New Zealand, with the first starting in Mount Maunganui on 20 November.


Movie.js
An advanced api wrapper for the OMDB API
Features:
- Lightweight - Only one dependency
- Object-oriented
- Promise and async/await support
- Easy-to use syntax
- Advanced error handling - Catch errors before you send them to the API
- 100% API support - The whole OMDB API is documented and covered
Installation
npm install movie.js
Usage
const movieJs = require("movie.js");
const movies = new movieJs(process.env.API_KEY); // API key goes here
Search for movies
await movies.search("Star Wars"); // Search for star wars movies
await movies.search("Star Wars", { // Search with options
type: "", // Either movie, series, or episode
year: 1999, // Shows search results of movies released that year
page: 1, // Pagination 1-100
});
Wrap this code in an await function to use async/await. More info
Get movie by IMDB ID
await movies.get("tt1285016"); // Get movie by ID
await movies.get("tt1285016", { // Get movie by ID with options
plot : "full", // Whether to return a "short" or "full" plot
});
const movie = await movies.search("Star Wars"); // Search for a movie
await movies.get(movie[0]); // Get more info on the first movie
Get movie by title
await movies.getByTitle("Good Burger"); // Get movie by title
await movies.getByTitle("Good Burger", {
plot: "full", // Whether to return a "short" or "full" plot
type: "movie", // Either movie, series, or episode
year: 1997, // What year the returned movie should be
});


Module: Concurrent::Promises::FactoryMethods
- Includes:
- Configuration, NewChannelIntegration
- Included in:
- Concurrent::Promises
- Defined in:
- lib/concurrent/edge/promises.rb,
lib/concurrent/edge/old_channel_integration.rb,
lib/concurrent/edge/promises.rb
Overview
Defined Under Namespace
Modules: Configuration, NewChannelIntegration
Class Method Summary (collapse)
- + (undocumented) extended(base) extended from ReInclude
- + (undocumented) include(*modules) extended from ReInclude
- + (undocumented) included(base) extended from ReInclude
Instance Method Summary (collapse)
-
- (Future) any_event(*futures_and_or_events)
Shortcut of #any_event_on with default
:io
executor supplied. -
- (Event) any_event_on(default_executor, *futures_and_or_events)
Creates new event which becomes resolved after first of the futures_and_or_events resolves.
-
- (Future) any_fulfilled_future(*futures_and_or_events)
Shortcut of #any_fulfilled_future_on with default
:io
executor supplied. -
- (Future) any_fulfilled_future_on(default_executor, *futures_and_or_events)
Creates new future which is resolved after first of futures_and_or_events is fulfilled.
-
- (Future) any_resolved_future(*futures_and_or_events)
(also: #any)
Shortcut of #any_resolved_future_on with default
:io
executor supplied. -
- (Future) any_resolved_future_on(default_executor, *futures_and_or_events)
Creates new future which is resolved after first futures_and_or_events is resolved.
-
- (Event, Future) create(argument = nil, default_executor = self.default_executor)
General constructor.
-
- (Executor, :io, :fast) default_executor
included
from Configuration
The executor which is used when none is supplied to a factory method.
-
- (Future) delay(*args, &task)
Shortcut of #delay_on with default
:io
executor supplied. -
- (Future) delay_on(default_executor, *args) {|*args| ... }
Constructs new Future which will be resolved after block is evaluated on default executor.
-
- (Future) fulfilled_future(value, default_executor = self.default_executor)
Creates resolved future with will be fulfilled with the given value.
-
- (Future) future(*args, &task)
Shortcut of #future_on with default
:io
executor supplied. -
- (Future) future_on(default_executor, *args) {|*args| ... }
Constructs new Future which will be resolved after block is evaluated on default executor.
-
- (Future) rejected_future(reason, default_executor = self.default_executor)
Creates resolved future with will be rejected with the given reason.
-
- (ResolvableEvent) resolvable_event
Shortcut of #resolvable_event_on with default
:io
executor supplied. -
- (ResolvableEvent) resolvable_event_on(default_executor = self.default_executor)
Created resolvable event, user is responsible for resolving the event once by ResolvableEvent#resolve.
-
- (ResolvableFuture) resolvable_future
Shortcut of #resolvable_future_on with default
:io
executor supplied. -
- (ResolvableFuture) resolvable_future_on(default_executor = self.default_executor)
Creates resolvable future, user is responsible for resolving the future once by ResolvableFuture#resolve, ResolvableFuture#fulfill, or ResolvableFuture#reject.
-
- (Event) resolved_event(default_executor = self.default_executor)
Creates resolved event.
-
- (Future) resolved_future(fulfilled, value, reason, default_executor = self.default_executor)
Creates resolved future with will be either fulfilled with the given value or rejection with the given reason.
-
- (Future) schedule(intended_time, *args, &task)
Shortcut of #schedule_on with default
:io
executor supplied. -
- (Future) schedule_on(default_executor, intended_time, *args) {|*args| ... }
Constructs new Future which will be resolved after block is evaluated on default executor.
-
- (Future) select_channel(*channels)
included
from NewChannelIntegration
Selects a channel which is ready to be read from.
-
- (Event) zip_events(*futures_and_or_events)
Shortcut of #zip_events_on with default
:io
executor supplied. -
- (Event) zip_events_on(default_executor, *futures_and_or_events)
Creates new event which is resolved after all futures_and_or_events are resolved.
-
- (Future) zip_futures(*futures_and_or_events)
(also: #zip)
Shortcut of #zip_futures_on with default
:io
executor supplied. -
- (Future) zip_futures_on(default_executor, *futures_and_or_events)
Creates new future which is resolved after all futures_and_or_events are resolved.
Class Method Details
+ (undocumented) extended(base) Originally defined in module ReInclude
+ (undocumented) include(*modules) Originally defined in module ReInclude
+ (undocumented) included(base) Originally defined in module ReInclude
Instance Method Details
- (Future) any_event(*futures_and_or_events)
Shortcut of #any_event_on with default :io
executor supplied.
323 324 325 |
# File 'lib/concurrent/edge/promises.rb', line 323 def any_event(*futures_and_or_events) any_event_on default_executor, *futures_and_or_events end |
- (Event) any_event_on(default_executor, *futures_and_or_events)
Creates new event which becomes resolved after first of the futures_and_or_events resolves. If resolved it does not propagate AbstractEventFuture#touch, leaving delayed futures un-executed if they are not required any more.
333 334 335 |
# File 'lib/concurrent/edge/promises.rb', line 333 def any_event_on(default_executor, *futures_and_or_events) AnyResolvedEventPromise.new_blocked_by(futures_and_or_events, default_executor).event end |
- (Future) any_fulfilled_future(*futures_and_or_events)
Shortcut of #any_fulfilled_future_on with default :io
executor supplied.
304 305 306 |
# File 'lib/concurrent/edge/promises.rb', line 304 def any_fulfilled_future(*futures_and_or_events) any_fulfilled_future_on default_executor, *futures_and_or_events end |
- (Future) any_fulfilled_future_on(default_executor, *futures_and_or_events)
Creates new future which is resolved after first of futures_and_or_events is fulfilled.
Its result equals result of the first resolved future or if all futures_and_or_events reject,
it has reason of the last resolved future.
If resolved it does not propagate AbstractEventFuture#touch, leaving delayed
futures un-executed if they are not required any more.
If event is supplied, which does not have value and can be only resolved, it's
represented as :fulfilled
with value nil
.
317 318 319 |
# File 'lib/concurrent/edge/promises.rb', line 317 def any_fulfilled_future_on(default_executor, *futures_and_or_events) AnyFulfilledFuturePromise.new_blocked_by(futures_and_or_events, default_executor).future end |
- (Future) any_resolved_future(*futures_and_or_events) Also known as: any
Shortcut of #any_resolved_future_on with default :io
executor supplied.
282 283 284 |
# File 'lib/concurrent/edge/promises.rb', line 282 def any_resolved_future(*futures_and_or_events) any_resolved_future_on default_executor, *futures_and_or_events end |
- (Future) any_resolved_future_on(default_executor, *futures_and_or_events)
Creates new future which is resolved after first futures_and_or_events is resolved.
Its result equals result of the first resolved future.
If resolved it does not propagate AbstractEventFuture#touch, leaving delayed
futures un-executed if they are not required any more.
If event is supplied, which does not have value and can be only resolved, it's
represented as :fulfilled
with value nil
.
298 299 300 |
# File 'lib/concurrent/edge/promises.rb', line 298 def any_resolved_future_on(default_executor, *futures_and_or_events) AnyResolvedFuturePromise.new_blocked_by(futures_and_or_events, default_executor).future end |
- (Event) create(nil, default_executor = self.default_executor) - (Future) create(a_future, default_executor = self.default_executor) - (Event) create(an_event, default_executor = self.default_executor) - (Future) create(exception, default_executor = self.default_executor) - (Future) create(value, default_executor = self.default_executor)
General constructor. Behaves differently based on the argument's type. It's provided for convenience but it's better to be explicit.
197 198 199 200 201 202 203 204 205 206 207 208 209 |
# File 'lib/concurrent/edge/promises.rb', line 197 def create(argument = nil, default_executor = self.default_executor) case argument when AbstractEventFuture # returning wrapper would change nothing argument when Exception rejected_future argument, default_executor when nil resolved_event default_executor else fulfilled_future argument, default_executor end end |
- (Executor, :io, :fast) default_executor Originally defined in module Configuration
Returns the executor which is used when none is supplied
to a factory method. The method can be overridden in the receivers of
include FactoryMethod
- (Future) delay(*args, &task)
Shortcut of #delay_on with default :io
executor supplied.
213 214 215 |
# File 'lib/concurrent/edge/promises.rb', line 213 def delay(*args, &task) delay_on default_executor, *args, &task end |
- (Future) delay_on(default_executor, *args) {|*args| ... }
Constructs new Future which will be resolved after block is evaluated on default executor. The task will be evaluated only after the future is touched, see AbstractEventFuture#touch
221 222 223 |
# File 'lib/concurrent/edge/promises.rb', line 221 def delay_on(default_executor, *args, &task) DelayPromise.new(default_executor).event.chain(*args, &task) end |
- (Future) fulfilled_future(value, default_executor = self.default_executor)
Creates resolved future with will be fulfilled with the given value.
151 152 153 |
# File 'lib/concurrent/edge/promises.rb', line 151 def fulfilled_future(value, default_executor = self.default_executor) resolved_future true, value, nil, default_executor end |
- (Future) future(*args, &task)
Shortcut of #future_on with default :io
executor supplied.
120 121 122 |
# File 'lib/concurrent/edge/promises.rb', line 120 def future(*args, &task) future_on(default_executor, *args, &task) end |
- (Future) future_on(default_executor, *args) {|*args| ... }
Constructs new Future which will be resolved after block is evaluated on default executor. Evaluation begins immediately.
134 135 136 |
# File 'lib/concurrent/edge/promises.rb', line 134 def future_on(default_executor, *args, &task) ImmediateEventPromise.new(default_executor).future.then(*args, &task) end |
- (Future) rejected_future(reason, default_executor = self.default_executor)
Creates resolved future with will be rejected with the given reason.
159 160 161 |
# File 'lib/concurrent/edge/promises.rb', line 159 def rejected_future(reason, default_executor = self.default_executor) resolved_future false, nil, reason, default_executor end |
- (ResolvableEvent) resolvable_event
Shortcut of #resolvable_event_on with default :io
executor supplied.
89 90 91 |
# File 'lib/concurrent/edge/promises.rb', line 89 def resolvable_event resolvable_event_on default_executor end |
- (ResolvableEvent) resolvable_event_on(default_executor = self.default_executor)
Created resolvable event, user is responsible for resolving the event once by ResolvableEvent#resolve.
98 99 100 |
# File 'lib/concurrent/edge/promises.rb', line 98 def resolvable_event_on(default_executor = self.default_executor) ResolvableEventPromise.new(default_executor).future end |
- (ResolvableFuture) resolvable_future
Shortcut of #resolvable_future_on with default :io
executor supplied.
104 105 106 |
# File 'lib/concurrent/edge/promises.rb', line 104 def resolvable_future resolvable_future_on default_executor end |
- (ResolvableFuture) resolvable_future_on(default_executor = self.default_executor)
Creates resolvable future, user is responsible for resolving the future once by ResolvableFuture#resolve, ResolvableFuture#fulfill, or ResolvableFuture#reject
114 115 116 |
# File 'lib/concurrent/edge/promises.rb', line 114 def resolvable_future_on(default_executor = self.default_executor) ResolvableFuturePromise.new(default_executor).future end |
- (Event) resolved_event(default_executor = self.default_executor)
Creates resolved event.
167 168 169 |
# File 'lib/concurrent/edge/promises.rb', line 167 def resolved_event(default_executor = self.default_executor) ImmediateEventPromise.new(default_executor).event end |
- (Future) resolved_future(fulfilled, value, reason, default_executor = self.default_executor)
Creates resolved future with will be either fulfilled with the given value or rejection with the given reason.
143 144 145 |
# File 'lib/concurrent/edge/promises.rb', line 143 def resolved_future(fulfilled, value, reason, default_executor = self.default_executor) ImmediateFuturePromise.new(default_executor, fulfilled, value, reason).future end |
- (Future) schedule(intended_time, *args, &task)
Shortcut of #schedule_on with default :io
executor supplied.
227 228 229 |
# File 'lib/concurrent/edge/promises.rb', line 227 def schedule(intended_time, *args, &task) schedule_on default_executor, intended_time, *args, &task end |
- (Future) schedule_on(default_executor, intended_time, *args) {|*args| ... }
Constructs new Future which will be resolved after block is evaluated on default executor. The task is planned for execution in intended_time.
238 239 240 |
# File 'lib/concurrent/edge/promises.rb', line 238 def schedule_on(default_executor, intended_time, *args, &task) ScheduledPromise.new(default_executor, intended_time).event.chain(*args, &task) end |
- (Future) select_channel(*channels) Originally defined in module NewChannelIntegration
Selects a channel which is ready to be read from.
- (Event) zip_events(*futures_and_or_events)
Shortcut of #zip_events_on with default :io
executor supplied.
266 267 268 |
# File 'lib/concurrent/edge/promises.rb', line 266 def zip_events(*futures_and_or_events) zip_events_on default_executor, *futures_and_or_events end |
- (Event) zip_events_on(default_executor, *futures_and_or_events)
Creates new event which is resolved after all futures_and_or_events are resolved. (Future is resolved when fulfilled or rejected.)
276 277 278 |
# File 'lib/concurrent/edge/promises.rb', line 276 def zip_events_on(default_executor, *futures_and_or_events) ZipEventsPromise.new_blocked_by(futures_and_or_events, default_executor).event end |
- (Future) zip_futures(*futures_and_or_events) Also known as: zip
Shortcut of #zip_futures_on with default :io
executor supplied.
244 245 246 |
# File 'lib/concurrent/edge/promises.rb', line 244 def zip_futures(*futures_and_or_events) zip_futures_on default_executor, *futures_and_or_events end |
- (Future) zip_futures_on(default_executor, *futures_and_or_events)
Creates new future which is resolved after all futures_and_or_events are resolved.
Its value is array of zipped future values. Its reason is array of reasons for rejection.
If there is an error it rejects.
If event is supplied, which does not have value and can be only resolved, it's
represented as :fulfilled
with value nil
.
258 259 260 |
# File 'lib/concurrent/edge/promises.rb', line 258 def zip_futures_on(default_executor, *futures_and_or_events) ZipFuturesPromise.new_blocked_by(futures_and_or_events, default_executor).future end |


| # | Description | Total Amount | Date |
|---|---|---|---|
| {{i+1}} | {{bill.description}} | {{bill.total_amount}} | {{bill.date | date:fullDate}} |
| # | Description | Amount | Method | Date |
|---|---|---|---|---|
| {{i+1}} | {{payment.description}} | {{payment.amount_received}} | {{payment.method}} | {{payment.date | date:fullDate}} |


Recombination structure of the available pol sequences assigned to URF and recovered from 39 HIV-1 infected subjects in Kinshasa (2016–2018). This figure represents a simplified URF structure. In bold, viruses collected from adults. The remaining, viruses collected from children/adolescents.


Call of Duty: Mobile will have a new Zombies Mode coming soon on this Friday
When Call of Duty: Mobile was released this October, the game had a total of 100 million downloads in its first week. The first-person shooter game has soon taken over and became one of everyone’s favourite mobile games.
During the recent weekend, the game’s official Twitter account revealed there will be a new Zombies Mode coming out this Friday (22 November 2019). The new mode now introduces zombies into the gameplay. It is not sure about how it’s going to be played as the Twitter post didn’t share much information about it.
You must have seen the zombies lurking around if you’ve played the game’s battle royale mode before. However, I think the developer is going to bring a ‘larger scale’ of zombies into the game for the players to enjoy new gaming experience. In addition to that, if you've played the PC versions of Call of Duty before, it could also be similar as you try to survive the zombie wave by defending yourself and your teammates.
Let us know if you’re excited for this new mode on CoD: Mobile! For more game updates, stay tuned on TechNave.com


} I i i r { i :
ADSORPTION AT THE MERCURY-AQUEOUS SOLUTION
ELECTRICAL DOUBLE IAYER
Alan R. Sears
A Dissertation Presented to the Faculty of the Graduate School of Yale University in Candidacy for the Degree of Doctor of Philosophy
1971
i |
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.


Development Dependencies Install
This guide covers how to setup an environment for Ruby on Rails core development.
After reading this guide, you will know:
- How to set up your machine for Rails development
- How to run specific groups of unit tests from the Rails test suite
- How the ActiveRecord portion of the Rails test suite operates
The Easy Way
The easiest and recommended way to get a development environment ready to hack is to use the {Rails development box}.
The Hard Way
In case you can't use the Rails development box, see section above, these are the steps to manually build a development box for Ruby on Rails core development.
Install Git
Ruby on Rails uses Git for source code control. The Git homepage has installation instructions. There are a variety of resources on the net that will help you get familiar with Git:
- Try Git course is an interactive course that will teach you the basics.
- The official Documentation is pretty comprehensive and also contains some videos with the basics of Git
- Everyday Git will teach you just enough about Git to get by.
- The PeepCode screencast on Git is easier to follow.
- GitHub offers links to a variety of Git resources.
- Pro Git is an entire book about Git with a Creative Commons license.
Clone the Ruby on Rails Repository
Navigate to the folder where you want the Ruby on Rails source code (it will create its own rails
subdirectory) and run:
$ git clone git://github.com/rails/rails.git
$ cd rails
Set up and Run the Tests
The test suite must pass with any submitted code. No matter whether you are writing a new patch, or evaluating someone else's, you need to be able to run the tests.
Install first SQLite3 and its development files for the sqlite3
gem.
Get a recent version of Bundler
$ gem install bundler
$ gem update bundler
and run:
$ bundle install --without db
This command will install all dependencies except the MySQL and PostgreSQL Ruby drivers. We will come back to these soon.
NOTE: If you would like to run the tests that use memcached, you need to ensure that you have it installed and running.
You can use Homebrew to install memcached on OS X:
$ brew install memcached
On Ubuntu you can install it with apt-get:
$ sudo apt-get install memcached
Or use yum on Fedora or CentOS:
$ sudo yum install memcached
If you are running on Arch Linux:
$ sudo pacman -S memcached
For FreeBSD users, you're done with:
# pkg install memcached
Alternatively, you can compile the databases/memcached
port.
With the dependencies now installed, you can run the test suite with:
$ bundle exec rake test
You can also run tests for a specific component, like Action Pack, by going into its directory and executing the same command:
$ cd actionpack
$ bundle exec rake test
If you want to run the tests located in a specific directory use the TEST_DIR
environment variable. For example, this will run the tests in the railties/test/generators
directory only:
$ cd railties
$ TEST_DIR=generators bundle exec rake test
You can run the tests for a particular file by using:
$ cd actionpack
$ bundle exec ruby -Itest test/template/form_helper_test.rb
Or, you can run a single test in a particular file:
$ cd actionpack
$ bundle exec ruby -Itest path/to/test.rb -n test_name
Active Record Setup
The test suite of Active Record attempts to run four times: once for SQLite3, once for each of the two MySQL gems (mysql
and mysql2
), and once for PostgreSQL. We are going to see now how to set up the environment for them.
WARNING: If you're working with Active Record code, you must ensure that the tests pass for at least MySQL, PostgreSQL, and SQLite3. Subtle differences between the various adapters have been behind the rejection of many patches that looked OK when tested only against MySQL.
Database Configuration
The Active Record test suite requires a custom config file: activerecord/test/config.yml
. An example is provided in activerecord/test/config.example.yml
which can be copied and used as needed for your environment.
MySQL and PostgreSQL
To be able to run the suite for MySQL and PostgreSQL we need their gems. Install first the servers, their client libraries, and their development files.
On OS X, you can run:
$ brew install mysql
$ brew install postgresql
Follow the instructions given by Homebrew to start these.
In Ubuntu just run:
$ sudo apt-get install mysql-server libmysqlclient15-dev
$ sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev
On Fedora or CentOS, just run:
$ sudo yum install mysql-server mysql-devel
$ sudo yum install postgresql-server postgresql-devel
If you are running Arch Linux, MySQL isn't supported anymore so you will need to use MariaDB instead (see this announcement):
$ sudo pacman -S mariadb libmariadbclient mariadb-clients
$ sudo pacman -S postgresql postgresql-libs
FreeBSD users will have to run the following:
# pkg install mysql56-client mysql56-server
# pkg install postgresql93-client postgresql93-server
Or install them through ports (they are located under the databases
folder).
If you run into troubles during the installation of MySQL, please see
the MySQL documentation.
After that, run:
$ rm .bundle/config
$ bundle install
First, we need to delete .bundle/config
because Bundler remembers in that file that we didn't want to install the "db" group (alternatively you can edit the file).
In order to be able to run the test suite against MySQL you need to create a user named rails
with privileges on the test databases:
$ mysql -uroot -p
mysql> CREATE USER 'rails'@'localhost';
mysql> GRANT ALL PRIVILEGES ON activerecord_unittest.*
to 'rails'@'localhost';
mysql> GRANT ALL PRIVILEGES ON activerecord_unittest2.*
to 'rails'@'localhost';
mysql> GRANT ALL PRIVILEGES ON inexistent_activerecord_unittest.*
to 'rails'@'localhost';
and create the test databases:
$ cd activerecord
$ bundle exec rake db:mysql:build
PostgreSQL's authentication works differently. To setup the development environment with your development account, on Linux or BSD, you just have to run:
$ sudo -u postgres createuser --superuser $USER
and for OS X:
$ createuser --superuser $USER
Then you need to create the test databases with
$ cd activerecord
$ bundle exec rake db:postgresql:build
It is possible to build databases for both PostgreSQL and MySQL with
$ cd activerecord
$ bundle exec rake db:create
You can cleanup the databases using
$ cd activerecord
$ bundle exec rake db:drop
NOTE: Using the rake task to create the test databases ensures they have the correct character set and collation.
NOTE: You'll see the following warning (or localized warning) during activating HStore extension in PostgreSQL 9.1.x or earlier: "WARNING: => is deprecated as an operator".
If you're using another database, check the file activerecord/test/config.yml
or activerecord/test/config.example.yml
for default connection information. You can edit activerecord/test/config.yml
to provide different credentials on your machine if you must, but obviously you should not push any such changes back to Rails.


AKIRA A film review by Jeff Meyer Copyright 1989 Jeff Meyer
I feel like I should place a mountain of disclaimers before publishing a review of the latest imported, dubbed Japanese animated film, AKIRA. First, I've been reading the serialized, translated manga that the film is based on, published by Epic Comics. The story is considerably different -- it *has* to be, considering the story is hundreds of pages long in the manga, and has to be compressed and changed to fit into a couple of hours running time. Secondly, I like the way the manga story has been done so far; and while most people seeing the movie will be viewing it with a fresh mind, I was critically comparing it to it's printed incarnation.
That said, I can recommend AKIRA, the film, only on its technical merits. It is fantastic, heart-pounding animation, giving you the kind of intense experience you find in ALIENS or DIE HARD. Until you a) start thinking about what's going on, or b) get to the conclusion, which is some sort of mishmash about man, the environment, the universe and (maybe) God. At any rate, it's not very well explained.
The story deals with Tokyo in the early 21st Century. A conflict in 1991 (I believe) destroyed almost all of Tokyo, and since then the city has been rebuilding itself. However, underneath the newly-constructed Olympic stadium, a secret project with a dual purpose is taking place. One part of the project is to examine, and attempt to induce, advanced mental powers in humans. The other part is to imprison someone -- or something -- called Akira. Into this situation stumbles two groups of people: a group of anti-government rebels (headed by Ryo and Kay), and a bunch of J.D. bikers, headed by Kaneda, and also his younger friend, Tetsuo. The escape of one of the mental psi-subjects involves these two groups together, along with covert government forces headed by The Colonel. These characters become intertwined in a plot to either release, contain, or exploit the force known as Akira.
Katsuhiro Otomo, the man who wrote and drew the manga AKIRA, also wrote and supervised the film. Some of the stories best parts are kept in (the semi-comic, semi-romantic relationship between Kaneda and Kay, for instance). Where the film really falls down is the nebulous reasons behind, and explanation of, what exactly AKIRA is, how he got to be that way, and what happens at the end of the film. The manga explains things (at least, so far) as it goes along with sufficient clarity, but the film tends to give some great other-worldly effects and let it go at that; just because Kubrick got away with it in 2001 doesn't give everyone else Carte Blanche to use the "Rorschach test" ending as a fit conclusion for a science-fiction movie. It could be poor dubbing at fault, but I suspect that the story from the manga was simply too involved to fit within the confines of a two-point-five hour film.
The animation, however, is spectacular (and rather grisly; having a weak stomach for this kind of thing, I found myself a little queasy leaving the theater; how my fellow netters could think of Wendy's was beyond me.), but for those who aren't anime aficionados, I wouldn't recommend it.
Moriarty, aka Jeff Meyer INTERNET<EMAIL_ADDRESS>Manual UUCP: {uw-beaver, sun, hplsla, thebes, microsoft}!fluke!moriarty
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Welcome
Profile
Food
Excercise
Logs
Logout
Search our database of foods
Search
Name:
Calories:
Quantity:
Log
Your food has been submitted.


This is a link to Google. It should open in a new tab.
This is a relative link, it should not open in a new tab.
This is a link to the home hostname, it should not open in a new tab.


com.pump.icon.Win32ShellIcon
class uses reflection to access icons from the sun.awt.shell.Win32ShellFolder2
class. You should only rely on this class if you control the JDK you ship/launch with, or if you're careful to structure your invocation in try/catch blocks.
After I wrote the AquaIcon
class I wanted to explore whether there was a similar mechanism for Windows. Unfortunately the closest I could find is what's in this demo. These icons look about two decades old, so it's also no surprise that they come in two flavors: "regular" (16 pixels) and "large" (32 pixels).
I can't promise I will never use these, but the results are disappointing.


{% load static %}
Get the best price deal on product you want wherever you are.
{{ product.description }}


Provides class loader and {@link java.rmi.server.RMIClassLoader}
provider implementations that support preferred classes.
A preferred class is a class that is to be loaded by a class loader
without the loader delegating to its parent class loader first.
Resources may also be preferred.
With a class loader that supports preferred classes, the first JAR
file or other URL location from which the loader loads classes can
contain a preferred list. A preferred list declares names of
certain classes and other resources throughout the loader's path of
URLs as being preferred or not. When the loader is asked to
load a class or resource that is preferred (according to the preferred
list) and the class or resource exists in the loader's path of URLs,
the loader will not delegate first to its parent class loader as it
otherwise would do; instead, it will attempt to load the class or
resource from its own path of URLs only.
By controlling class loader delegation, preferred classes can help
accomplish the following goals:
- Ensure that a downloaded class preserves its original codebase
annotation when it is marshalled later, even if there is a local
version of the class (that is, a class with the same name that could
be loaded by an ancestor class loader).
- Ensure that the desired version of a downloaded class or resource
is used, even if there is a local version of the class or resource.
- Ensure that the expected security permissions are granted to a
downloaded class, such as the automatic permission to connect to its
codebase host, even if there is a local version of the class.
Preferred classes accomplish these goals at the expense of type
equivalence with local classes, because a preferred class constitutes
a different runtime type than a local class with the same name that
might otherwise have been loaded. Therefore, the choice of which
classes to make preferred should be considered carefully.
There is not a complete or definitive set of rules for when to make
a class or resource preferred or not, but the following guidelines are
generally advisable:
- A type that appears in the transitive closure of the public APIs
of a downloaded component should not be preferred, so that code
defined by other class loaders can use those APIs. In other words,
for any public class or interface that is part of the downloaded
component's exported API, that class or interface as well as the
declared types of its public fields and the declared parameter and
return types of its public methods should not be preferred, and the
same algorithm should be applied recursively to all such declared
types. Exception types thrown by the methods of the component's API
that are expected to be caught explicitly by external callers should
also not be preferred.
- A class that will be the actual class of a serialized object (and
that is not covered by the previous guideline) should be preferred, so
that its original codebase annotation will be preserved for later
marshalling, and so forth.
{@link net.jini.loader.pref.PreferredClassLoader} is a class loader
implementation that supports preferred classes, and its specification
defines the format of preferred lists.
{@link net.jini.loader.pref.PreferredClassProvider} is an
RMIClassLoader
provider implementation that uses
PreferredClassLoader
to support preferred classes.
{@link net.jini.loader.pref.RequireDlPermProvider} is a subclass of
PreferredClassProvider
that enforces {@link
net.jini.loader.DownloadPermission}.
@since 2.0
@version 2.0


Example of Unordered List
Tea
Coffee
Sprite
Tea
Coffee
Sprite
Example of Ordered List
Tea
Coffee
Sprite
Tea
Coffee
Sprite


While the previous section described optimizations applicable to all projects, this section details optimizations that should not be applied prior to gathering profiling data. This may be because the optimizations are labor-intensive to implement, may compromise code cleanliness or maintainability in favor of performance, or may resolve problems that only appear at certain magnitudes of scale.
As described in this StackOverflow article, it is generally more efficient to iterate over jagged arrays than over multidimensional arrays, as multidimensional arrays require a function call.
NOTES:
These are arrays of arrays, and are declared as type[x][y]
instead of type[x,y
].)
This can be discovered by inspecting the IL generated by accessing a multidimensional array, using ILSpy or similar tools.)
When profiled in Unity 5.3, 100 fully sequential iterations over a three-dimensional 100x100x100 array yielded the following timings, which were averaged over 10 runs of the test:
| Array type | Total time (100 iterations) |
|---|---|
| One-Dimensional Array | 660 ms |
| Jagged Arrays | 730 ms |
| Multidimensional Array | 3470 ms |
The cost of the additional function call can be seen in the disparity between the cost of accessing multidimensional arrays vs. one-dimensional arrays, and the cost of iterating over a non-compact memory structure can be seen in the difference between accessing jagged arrays vs. one-dimensional arrays.
As demonstrated above, the cost of the additional function call heavily outweighs the cost imposed by using a non-compact memory structure.
For highly performance-sensitive operations, it is recommended to use a one-dimensional array. For all other cases where an array with multiple dimensions is required, use a jagged array. Multidimensional arrays should not be used.
When pooling Particle Systems, be aware that they consume at least 3500 bytes of memory. Memory consumption increases based on the number of modules activated on the Particle System. This memory is not released when Particle Systems are deactivated; It is only released when they are destroyed.
As of Unity 5.3, most Particle System settings can now be manipulated at runtime. For projects that must pool a large number of different particle effects, it may be more efficient to extract the configuration parameters of the Particle Systems out onto a data-carrier class or structure.
When a particle effect is needed, a pool of “generic” particle effects can then supply the requisite particle effect object. The configuration data can then be applied to the object to achieve the desired graphical effect.
This is substantially more memory-efficient than attempting to pool all possible variants & configurations of Particle Systems used in a given Scene, but requires substantial engineering effort to achieve.
Internally, Unity tracks lists of objects interested in its callbacks, such as Update
, FixedUpdate
and LateUpdate
. These are maintained as intrusively-linked lists to ensure that list updates occur in constant time. MonoBehaviours are added to/removed from these lists when they are Enabled or Disabled, respectively.
While it is convenient to simply add the appropriate callbacks to the MonoBehaviours that require them, this becomes increasingly inefficient as the number of callbacks grows. There is a small but significant overhead to invoking managed-code callbacks from native code due to trampolining. This results both in degraded frame times when invoking large numbers of per-frame methods, and in degraded instantiation times when instantiating Prefabs that contain large numbers of MonoBehaviours (NOTE: The instantiation cost is due to the trampoline overhead of invoking Awake and OnEnable callbacks on each Component in a prefab.).
When the number of MonoBehaviours with per-frame callbacks grows into the hundreds or thousands, it is advantageous to remove these callbacks and instead have MonoBehaviours (or even standard C# objects) attach to a global manager singleton. The global manager singleton can then distribute Update
, LateUpdate
and other callbacks to interested objects. This has the additional benefit of allowing code to smartly unsubscribe from callbacks when they would otherwise no-op, thereby shrinking the sheer number of functions that must be called each frame.
The greatest saving is usually realized by eliminating callbacks which rarely execute. Consider the following pseudo-code:
void Update() {
if(!someVeryRareCondition) { return; }
// … some operation …
}
If there are large numbers of MonoBehaviours with Update callbacks similar to the above, then a significant amount of the time spent running Update callbacks are spent trampolining into MonoBehaviours that then exit immediately. If these classes instead subscribed to a global Update Manager only while someVeryRareCondition
were true, and unsubscribed thereafter, time would be saved both on trampolines and on the evaluation of the rare condition.
It is tempting to use plain C# delegates to implement these callbacks. However, C#’s delegate implementation is optimized for a low rate of subscription and unsubscription, and for a low number of callbacks. A C# delegate performs a full deep-copy of the callback list each time a callback is added or removed. Large lists of callbacks, or large numbers of callbacks subscribing/unsubscribing during a single frame results in a performance spike in the internal Delegate.Combine
method.
For cases where adds/removes occur at high frequencies, consider using a data structure designed for fast inserts/removes instead of delegates.
Unity permits developers to control the priority of background threads that are being used to load data. This is particularly important when trying to stream AssetBundles onto disk in the background.
The priority for the main thread and graphics thread are both ThreadPriority.Normal
– any threads with higher priority preempt the main/graphics threads and cause framerate hiccups, whereas threads with lower priority do not. If threads have an equivalent priority to the main thread, the CPU attempts to give equal time to the threads, which generally results in framerate stuttering if multiple background threads are performing heavy operations, such as AssetBundle decompression.
Currently, this priority can be controlled in three places.
First, the default priority for Asset loading calls, such as Resources.LoadAsync
and AssetBundle.LoadAssetAsync
, is taken from the Application.backgroundLoadingPriority setting. As documented, this call also limits the amount of time that the main thread spends integrating Assets (NOTE:
Most types of Unity Assets must be “integrated” onto the Main thread. During integration, the Asset initialization is finalized and certain thread-safe operations are performed. This includes scripting callback invocations, such as Awake callbacks. See the “Resource Management” guide for further details.), in order to limit the impact of Asset loading on frame time.
Second, each asynchronous Asset loading operation, as well as each UnityWebRequest request, returns an AsyncOperation
object to monitor and manage the operation. This AsyncOperation
object exposes a priority property that can be used to tweak an individual operation’s priority.
Finally, WWW objects, such as those returned from a call to WWW.LoadFromCacheOrDownload
, expose a threadPriority property. It is important to note that WWW objects do not automatically use the Application.backgroundLoadingPriority
setting as their default value – WWW objects always default to ThreadPriority.Normal
.
It’s important to note that the under-the-hood systems used to decompress and load data differ between these APIs. Resources.LoadAsync
and AssetBundle.LoadAssetAsync
are operated by Unity’s internal PreloadManager system, which governs its own loading thread(s) and performs its own rate-limiting. UnityWebRequest
uses its own dedicated thread pool. WWW
spawns an entirely new thread each time a request is created.
While all other loading mechanisms have a built-in queuing system, WWW does not. Calling WWW.LoadFromCacheOrDownload
on a very large number of compressed AssetBundles spawns an equivalent number of threads, which then compete with the main thread for CPU time. This can easily result in frame-rate stuttering.
Therefore, when using WWW to load and decompress AssetBundles, it is considered best practice to set an appropriate value for the threadPriority
of each WWW object that is created.
As mentioned in the section on Transform Manipulation, moving large Transform hierarchies has a relatively high CPU cost due to the propagation of change messages. However, in real development environments, it is often impossible to collapse a hierarchy to a modest number of GameObjects.
At the same time, it is good development practice to only run enough behavior to maintain the believability of the game world while eliminating behavior the user will not notice – for example, in a Scene with a large number of characters, it is always more optimal to only run Mesh-skinning and animation-driven Transform movement for characters that are on-screen. There is no reason to waste CPU time calculating purely visual elements of the simulation for characters that are off-screen.
Both of these problems can be neatly addressed with an API first introduced in Unity 5.1: CullingGroups.
Instead of directly manipulating a large group of GameObjects in the scene, change the system to manipulate the Vector3 parameters of a group of BoundingSpheres within a CullingGroup. Each BoundingSphere serves as the authoritative repository for a single game-logical entity’s world-space position, and receives callbacks when the entity moves near/within the frustum of the CullingGroup’s main camera. These callbacks can then be used to activate/deactivate code or components (such as Animators) governing behavior that should only run while the entity is visible.
C#’s string library provides an excellent case study in the cost of adding additional method calls to simple library code. In the section on the built-in string APIs String.StartsWith
and String.EndsWith
, it was mentioned that hand-coded replacements are 10–100 times faster than the built-in methods, even when unwanted locale coercion was suppressed.
The key reason for this performance difference is simply the cost of adding additional method calls to tight inner loops. Each method that is invoked must locate the address of the method in memory and push another frame onto the stack. Neither of these operations are free, but in most code they are sufficiently small to ignore.
However, when running small methods in tight loops, the overhead added by introducing additional method calls can become significant – and even dominant.
Consider the following two simple methods.
Example 1:
int Accum { get; set; }
Accum = 0;
for(int i = 0; i < myList.Count; i++) {
Accum += myList[i];
}
Example 2:
int accum = 0;
int len = myList.Count;
for(int i = 0; i < len; i++) {
accum += myList[i];
}
Both methods calculate the sum of all integers in a C# generic List<int>
. The first example is a bit more “modern C#” in that it uses an automatically generated property to hold its data values.
While on the surface these two pieces of code appear equivalent, the difference is notable when the code is analyzed for method calls.
Example 1:
int Accum { get; set; }
Accum = 0;
for(int i = 0;
i < myList.Count; // call to List::getCount
i++) {
Accum // call to set_Accum
+= // call to get_Accum
myList[i]; // call to List::get_Value
}
So there are four method calls each time the loop executes:
myList.Count
invokes the get
method on the Count
propertyget
and set
methods on the Accum
property must be calledget
to retrieve the current value of Accum
so that it can be passed to the addition operationset
to assign the result of the addition operation to Accum
Example 2:
int accum = 0;
int len = myList.Count;
for(int i = 0;
i < len;
i++) {
accum += myList[i]; // call to List::get_Value
}
In this second example, the call to get_Value
remains, but all other methods have either been eliminated or no longer execute once per loop iteration.
As accum
is now a primitive value instead of a property, method calls do not need to be made to set or retrieve its value.
As myList.Count
is assumed to not vary while the loop is running, its access has been moved outside of the loop’s conditional statement, so it is no longer executed at the beginning of each loop iteration.
The timings for the two versions reveal the true benefit of removing 75% of the method call overhead from this specific snippet of code. When run 100,000 times on a modern desktop machine:
The primary issue here is that Unity performs very little method inlining, if any. Even under IL2CPP, many methods do not currently inline properly. This is especially true of properties. Further, virtual and interface methods cannot be inlined at all.
Therefore, a method call declared in the source C# is very likely to end up producing a method call in the final binary application.
Unity provides many “simple” constants on its data types for the convenience of developers. However, in light of the above, it is important to note that these constants are generally implemented as properties that return constant values.
Vector3.zero’s property body is as follows:
get { return new Vector3(0,0,0); }
Quaternion.identity is very similar:
get { return new Quaternion(0,0,0,1); }
While the cost of accessing these properties is usually tiny compared to the actual code surrounding them, they can make a small difference when they are executed thousands of times per frame (or more).
For simple primitive types, use a const
value instead. Const
values are inlined at compile time – the reference to the const
variable is replaced with its value.
Note: Because every reference to a const
variable is replaced with its value, it is inadvisable to declare long strings or other large data types const
. This unnecessarily bloats the size of the final binary due to all the duplicated data in the final instruction code.
Wherever const
isn’t appropriate, make a static readonly
variable instead. In some projects, even Unity’s built-in trivial properties have been replaced with static readonly
variables, resulting in small improvements in performance.
Trivial methods are trickier. It is extremely useful to be able to declare functionality once and reuse it elsewhere. However, in tight inner loops, it may be necessary to depart from good coding practices and instead “manually inline” certain code.
Some methods can be eliminated outright. Consider Quaternion.Set
, Transform.Translate
or Vector3.Scale
. These perform very trivial operations and can be replaced with simple assignment statements.
For more complex methods, weigh the profiling evidence for manual inlining against the long-term cost of maintaining the more-performant code.


{% extends "layout_admin.html" %} {% block content %}
Approximately {{pre_pct}} of women who take the 707G assessment will be eligible for BBO using this score.
{% endif %}Approximately {{set_pct}} of women who take the 707G assessment will be eligible for BBO using this score.
{% endif %}


"Separating behavior from structure" refers to the practice of maintaining clean semantic HTML markup that is free of any attributes or scripts that introduce custom behaviors. Any custom behaviors that are introduced into your HTML page should come from external files that unobtrusively attach/bind the behaviors to elements within your semantic markup. Like the practice of separating style from structure, this practice has several benefits which include:
The ability to make incremental modifications to the HTML markup structure or the behavior code independently without having to modify the other.
The ability to share the behavior implementation across multiple HTML pages, due to the separation of the behaviors.
A reduction in the bandwidth necessary to view your pages since the files related to the behaviors are downloaded and cached by the browser only once.
An end-result of smaller HTML pages, since the behavior code is not duplicated within the actual markup itself.
Clearer, easier to read HTML markup, which aids accessibility with screen readers, search engine web crawlers, and browsers or other user agents that don't necessarily support the behaviors you've implemented.
The Spry team has provided an extensive document that gives you a brief introduction of the "unobtrusive javascript" technique and some utilities within Spry that aid with separating behavior from structure.
For more information, see the Separating Behavior from Structure article on Adobe Labs.


---
layout: post
title: January Meeting
categories: []
tags: []
status: publish
type: post
published: true
meta:
_edit_last: '1'
_wp_old_slug: ''
dsq_thread_id: '192080686'
---
Our meeting for January will be on the 19th and starts at 6:30pm.
For this meeting we will be having the following presentations:
Chris Saunders - Sexifying your Android User Interfaces
Simon Mac Donald - Introduction to PhoneGap
If you would like to add something to the list of presentations, please feel free to get in contact with us and we can surely add you to the presenter list. Otherwise, please feel free to come out anyway and we can surely accomodate you for your presentation.


| A | B |
| C |
We support bold and Italic, and
the Strong and Emphasize was supported also.
And Line Through was avaliable too.
There are two kinds of linkes:
We support image like:
Block quote
let code = "Inner block quote";Nest list is supported also
- A
- X
- Y
- B
Nest code inside list
Indent code block
{ name : "Fenced code block" }
We also support customized html
In any place of document:
| A | B |
| C |


{% extends "base.html" %} {% block title %}admin panel{% endblock %} {% block content %} {% include "navbar.html" %} Admin Panel Login Change website settings and moderate topics {{csrf|safe}} Submit {% endblock %}
Change website settings and moderate topics


IMSForm is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'IMSForm'
<EMAIL_ADDRESS>clemmie@imanagesystems.com


{% load i18n %} {% load bootstrap3 %} {% if order.status == "p" %} {% with order.sepaexportorder_set.last as seo %} {% if seo %}
{% blocktrans trimmed with date=seo.export.datetime|date:"SHORT_DATETIME_FORMAT" %} This order has been paid via SEPA debit. It was part of the export file exported at {{ date }}. {% endblocktrans %} {% trans "View export file" %}
{% else %}{% blocktrans trimmed %} This shall be paid via SEPA debit, but has not yet been included in any SEPA file export. {% endblocktrans %}
{% endif %} {% endwith %} {% else %}{% blocktrans trimmed %} This order has been planned to be paid via SEPA debit but has been marked as unpaid again (or could never be marked as paid). {% endblocktrans %}
{% endif %} {% if payment_info %}


Embattled Russian track president Dmitry Shlyakhtin resigns
by The Associated PressMOSCOW — The president of the Russian track and field federation has resigned two days after he was accused of obstructing an anti-doping investigation using fake medical documents.
Dmitry Shlyakhtin has told an emergency federation conference in Moscow that he is stepping down. He was already provisionally suspended pending a full hearing on the charges from the Athletics Integrity Unit.
A politically well-connected regional sports minister, Shlyakhtin took office in January 2016 pledging to overturn Russia’s suspension from international track events due to widespread doping.
Nearly four years later, the suspension is still in place. World Athletics, formerly known as the IAAF, said Friday that Russia could be expelled altogether following the new charges against Shlyakhtin and senior officials.
A successor is due to be appointed Saturday.
More AP sports: https://apnews.com/apf-sports and https://twitter.com/AP_Sports
The Associated Press


The panelPopup is a container component that renders a window or panel that hovers on top of a web page. The popupPanel contains 2 regions which are defined using facets. The facet names are; header and body.
The panelPopup component can be used to provide a general popup window behavior such as moveable/dragable, resizeable and modal
Note: A panelPopup facet needs a container type component as a child (e.g., panelGroup or panelGrid). panelGroup renders a span tag, which doesn't work properly if using Mozilla. panelGrid can be used to avoid display problems.
| Attributes |
| Name | Required | Request-time | Type | Description |
| autoCentre | false | false | java.lang.String | Used to keep the popup centred on the screen through scrolling and window resizing events. |
| autoPosition | false | false | java.lang.String | Used to keep the popup positioned on the screen through scrolling events. Use a string of x and y px values (e.g. autoPostion="35,200"). For a modal popup, use "manual" to disable automatic centering on the document. Then specify top, left positions by style or styleClass. |
| binding | false | false | java.lang.String | The value binding expression linking this component to a property in a backing bean |
| clientOnly | false | false | java.lang.String | Sends update to the server on drop event if false. Default value is false. |
| draggable | false | false | java.lang.String | When set to 'true' this panel is draggable. The user will be able to drag the panel to any position on the page. Note: all Draggable panels must be contained in a form. |
| effect | false | false | java.lang.String | The Javascript Effect |
| id | false | false | java.lang.String | The component identifier for this component. This value must be unique within the closest parent component that is a naming container. |
| modal | false | false | java.lang.String | Used to render a modal popup. Note: this will only cover the body of a document. Make sure the document body takes up 100% of the window. For example: |
| onclick | false | false | java.lang.String | No Description |
| onclickeffect | false | false | java.lang.String | Effect invoked on onclick event |
| ondblclick | false | false | java.lang.String | No Description |
| ondblclickeffect | false | false | java.lang.String | Effect invoked on ondblclick event |
| onkeydown | false | false | java.lang.String | No Description |
| onkeydowneffect | false | false | java.lang.String | Effect invoked on onkeydown event |
| onkeypress | false | false | java.lang.String | No Description |
| onkeypresseffect | false | false | java.lang.String | Effect invoked on onkeypress event |
| onkeyup | false | false | java.lang.String | No Description |
| onkeyupeffect | false | false | java.lang.String | Effect invoked on onkeyup event |
| onmousedown | false | false | java.lang.String | No Description |
| onmousedowneffect | false | false | java.lang.String | Effect invoked on onmousedown event |
| onmousemove | false | false | java.lang.String | No Description |
| onmousemoveeffect | false | false | java.lang.String | Effect invoked on onmousemove event |
| onmouseout | false | false | java.lang.String | No Description |
| onmouseouteffect | false | false | java.lang.String | Effect invoked on onmouse event |
| onmouseover | false | false | java.lang.String | No Description |
| onmouseovereffect | false | false | java.lang.String | Effect invoked on onmouseover event |
| onmouseup | false | false | java.lang.String | No Description |
| onmouseupeffect | false | false | java.lang.String | Effect invoked on onmouseup event |
| positionOnLoadOnly | false | false | java.lang.String | Centre or position popup once on load only. Any drag and drop or scroll will disable autoCentre and autoPosition. |
| rendered | false | false | java.lang.String | Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. |
| renderedOnUserRole | false | false | java.lang.String | If user is in given role, this component will be rendered normally. If not, nothing is rendered and the body of this tag will be skipped. |
| resizable | false | false | java.lang.String | This attribute is currently unsupported. |
| style | false | false | java.lang.String | CSS style(s) to be applied when this component is rendered. |
| styleClass | false | false | java.lang.String | Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup. Defines the base class name for all style classes. Default value is icePnlPop - icePnlPop
- icePnlPopHdr
- icePnlPopBody
- icePnlPopFtr
|
| title | false | false | java.lang.String | Advisory title information about markup elements generated for this component. |
| visible | false | false | java.lang.String | Set the visibility of this component. When false CSS style is set to display:none |