--- title: "Using Stata in R with RStata and pushoverr" author: Luke McGuinness date: '2019-11-08' slug: using-stata-r-and-pushoverr categories: ["R", "Stata"] tags: [] math: no meta: yes excerpt: "Using R makes running long Stata scripts much easier (& more fun?)" ---
I recently took over a project that made use of Stata to perform the analysis and subsequently used RPronounced “oar”. to create plots of the results.
Inspired by this blogpost from Frederick Solt, I wanted to see if I could set up my project to run start-to-finish from a single script (i.e. could I call Stata efficiently from R to perform the analysis, and then immediately use R to plot the results?) and have R notify me when it was complete.
TL;DR - This is entirely possible and makes running long Stata scripts much easier (& more fun?).
As part of this experiment, I wanted to:
R
working well togetherMy initial approach was to set up a RStudio project, and rearrange the scripts and data I had received into a familiar structure:
.
+-- code
| +-- .do files
| +-- .R scripts
+-- data
+-- output
+-- reports
+-- manuscript
+-- supplement
+-- Config - STATA.do # Configuration file for Stata
+-- Config - R.R # Configuration file for R
The previous owner of the project had set up a configuration file for both Stata and R, which when run, would source the relevant .do
files and .R
scripts from the code
folder in the correct order.
For example, the Config - STATA.do
file set the necessary global paths and then ran a series of .do
files to process the raw data, generate the basic cohort, add covariates, calculate summary statistics for the cohort, calculate the frequency of missing data for each important covariate, and then finally perform the analysis of interest:
# Config - STATA.do
* Set global paths -----------------------------------------------------------
global path "path/to/project/folder"
global dofiles "$path/code"
global output "$path/output"
global data "$path/data"
* Run dictionary -------------------------------------------------------------
run "$dofiles/codedict.do"
* Generate cohort ------------------------------------------------------------
run "$dofiles/cohort2.do"
* Add covariates (Note: cov.do requires cov_*.do) ----------------------------
run "$dofiles/cov2.do"
* Generate data for Table 1 --------------------------------------------------
run "$dofiles/toc.do"
* Generate data on missing covariate information -----------------------------
run "$dofiles/missingdata.do"
* Run Cox regression analysis ------------------------------------------------
run "$dofiles/analysis2.do"
Similarly , the Config - R.R
file loaded the necessary libraries and then sourced the scripts to build the three plots.
# Config- R.R
# Setup ======================================================================
library(ggplot2)
# Plot analysis results ======================================================
source("code/plot_cohort2_attrition.R")
source("code/plot_main_forest_plots.R")
source("code/plot_age_forest_plots.R")
To begin with, I would run each of these files seperately, one after the other, which worked perfectly but ran against my aim of being able to run the whole project with a single command.
To begin to address this, I created a new master.R
script which would call both the Config - STATA.do
and the Config - R.R
files. The dependency tree for the new set-up looked like this:
master.R
+-- Config - STATA.do
| +-- code
| | +-- .do files
+-- Config - R.R
| +-- code
| | +-- .R scripts
To call Stata from R, I used the RStata
package, built by Luca Braglia, which allows users to execute Stata commands (both inline and from a .do file) from within R itself (the name is a bit of a give-away). You just need to provide the path to your .do
file, the path to your Stata executable (stata.path
), the version of Stata you have (stata.version
) and whether you want to print Stata text output to the console (stata.echo
) as arguments.
# master.R - Version 1
# Analysis ===================================================================
RStata::stata("Config - Stata.do",
stata.path = "\"A:\\Stata\\Stata15_MP\\StataMP-64\"",
stata.version = 15,
stata.echo = TRUE)
# Plotting ===================================================================
source("Config - R.R")
I initially ran into some issues in using RStata
as I couldn’t get it to find where the Stata executable was stored.
In Bristol, Stata is kept on a network drive (\\ads.bris.ac.uk\
) which I was pretty sure was the root of the problem. After a lot of reading, an indirect fix came from this answer to a SlackOverflow question on why a rmarkdown
file would not knit on a network drive.
Essentially, it turns out that R isn’t great at dealing with arbitrary URLs for shared network drives, and so mapping the network drive to a local lettered drive in the Windows File Explorer sorted it out. You just need to remember to update the path in the Config - STATA.do
, to replace the \\ads.bris.ac.uk\
portion with the corresponding letter:
# Fix issue with network drives
# Replace
RStata::stata("Config - Stata.do",
stata.path = "\"\\ads.bris.ac.uk\\path\\to\\stata\"", #
stata.version = 15,
stata.echo = TRUE)
# with
RStata::stata("Config - Stata.do",
stata.path = "\"A:\\path\\to\\stata\"", #
stata.version = 15,
stata.echo = TRUE)
For some of the analysis performed, running the Config - STATA.do
file would take >4 hours. In this case, I thought it would be useful to have someway of the script telling me that it was finished, so I could go out and have a walk/coffee or work on other things without feeling the need to constantly check on the progress.
To achieve this, I used the pushoverr
package, which allows you to send notifications to the pushover app on your phone via R. I found this blogpost by Brian Connelly very helpful when getting started with pushoverr
.
The only downside to Pushover as a system is that after a 7 day trial period, there is a cost of ~£4 to activate the app fully - but personally I think it’s worth it!
So having added pushoverr
, my master.R
file now looked like this:
# master.R - Version 2
# Analysis ===================================================================
RStata::stata("Config - Stata.do",
stata.path = "\"A:\\Stata\\Stata15_MP\\StataMP-64\"",
stata.version = 15,
stata.echo = TRUE)
pushoverr::pushover(message = 'Analysis complete.')
# Plotting ===================================================================
source("Config - R.R")
pushoverr::pushover(message='Plotting complete.')
By this point, I was cresting the “Peak of inflated expectations” and was feeling very pleased with myself. It didn’t last very long however due to one important limitation of the RStata
package . . .
While the RStata
package is great, one area where it fell down significantly was in how it handles Stata errors - put simply, it doesn’t handle them at all. It prints the resulting error message to the console but crucially does not prevent the rest of the R script from running. In practice, this meant in the master.R
file above, if Stata encountered an error when executing the Config - STATA.do
file, pushoverr
would still send me the “Analysis complete” message. Not good.
This was particularly problematic in this specific project, as the R scripts to produce the plots depend directly on the outputs produced by the analysis. Therefore, if the Config - STATA.do
step fails but the rest of the R script runs, the resulting graphs will be based on obsolete/incorrect data.
In order to solve this, I added the following line to the Config - STATA.do
file, right at the end:
# Add to the very end of 'Config - STATA.do'
clear
set obs 0
gen pushover = ""
save "$path/pushover.dta"
This saves an empty “indicator” Stata dataset (pushover.dta
) in the top level folder, which you can then use with file.exist()
to confirm that the Config - STATA.do
file ran all the way through and did not produce any errors.
I combined this with a pushoverr
so that it would now send me a message telling me whether the analysis had completed successfully or had erred. This resulted in some additional changes to my master.R
file looked, which now looked something like this:
# master.R - Version 3
# Setup ======================================================================
source("code/pushover.R")
push_clean() # Remove pushoverr indicator file
# Analysis ===================================================================
RStata::stata("Config - Stata.do",
stata.path = "\"A:\\Stata\\Stata15_MP\\StataMP-64\"",
stata.version = 15,
stata.echo = TRUE)
push_analysis() # Send pushoverr notification to phone on analysis status
# Plot main analysis results =================================================
source("Config - R.R")
push_plotting() # Send pushoverr notification to phone on plotting status
The pushover.R
file contains the three push_*()
functions seen in master.R
above:
#pushover.R
push_clean <- function() {
try(file.remove("pushover.dta"))
}
push_analysis <- function() {
if (file.exists("pushover.dta") == TRUE) {
pushoverr::pushover(message = 'Analysis complete.')
} else{
pushoverr::pushover(message = 'Analysis errored.')
}
file.remove("pushover.dta")
}
push_plotting <- function() {
pushoverr::pushover(message='Plotting complete.')
}
To elaborate on the purpose of these functions:
push_clean()
: ensures the indicator file does not already exist in the top level folder and removes it if it does.push_analysis()
: checks whether the indicator file exists. If it does, pushoverr
sends a message saying the analysis was a success. If it doesn’t, a message saying the analysis errored is sent instead.push_plotting()
: this was written mainly to save me typing the same pushoverr
command over and overI was showing this set-up to a colleague who asked why I needed a master.R
file at all, in other words why not just have the Config - R.R
file call Stata and send the pushoverr
notifications?
The primary reason for this is that it is an effort to lower the effort required to reproduce the analysis. Both master.R
and pushover.R
were added to .gitignore
and do not appear in the GitHub repo for this project. This removes the need for users to try and set-up RStata
and pushoverr
by encouraging them to run the Config
files themselves in sequence.
This is the best set-up I found that maximises my efficiency when developing the project but also maintains the ease of reproducibility by removing dependencies on hard-to-configure packages.
I had a look on Twitter to see if there were any other methods people used to signify that a script was complete and came across this tweet from Anna Kautto:
Today I made my R script say “I have the answer to the great question though I dont think you are going to like it” out loud after finishing calculating. #rstats #deepthought #glmer #phdchat
— Anna Kautto (@annakau) November 11, 2019
While I think the idea of my computer unexpectedly talking to me would likely make me jump and spill tea everywhere, I love the idea and may update the content of my pushoverr
notifications to something a bit more fun!


Click here to go to the corresponding page for the latest version of DIALS
Source code for dials.algorithms.symmetry.reindex_to_reference
"""Functions to help with reindexing against a reference dataset."""
from __future__ import absolute_import, division, print_function
from dials.util import Sorry
from cctbx import sgtbx
from mmtbx.scaling.twin_analyses import twin_laws
[docs]def determine_reindex_operator_against_reference(test_miller_set, reference_miller_set):
"""Reindex a miller set to match a reference miller set.
This function takes two miller arrays, a reference and a test array. The
space group is checked to see if any reindexing may be required to give
consistent indexing between both datasets. If possible twin operators exist,
the different indexing options are tested against the reference set, using
the correlation between datasets as the test.
Args:
test_miller_set (cctbx.miller.array): The input miller set to be reindexed.
reference_miller_set (cctbx.miller.array): The reference miller set.
Returns:
cctbx.sgtbx.change_of_basis_op: The change of basis operator which should be
applied to the test dataset to give consistent indexing with the reference.
"""
if (
reference_miller_set.space_group().type().number()
!= test_miller_set.space_group().type().number()
):
raise Sorry(
"""Space groups are not equal. Can only reindex against a
reference dataset if both dataset are in the same spacegroup."""
)
twin_ops = twin_laws(miller_array=test_miller_set.eliminate_sys_absent()).operators
twin_ops = [sgtbx.change_of_basis_op(op.operator.as_xyz()) for op in twin_ops]
if twin_ops:
correlations = []
print(
"Possible twin operators identified for space group %s:"
% test_miller_set.space_group().info()
)
for op in twin_ops:
print(op)
# Loop through twin operators, calculating cc between two datasets
cc = test_miller_set.correlation(
reference_miller_set, assert_is_similar_symmetry=False
)
correlations.append(cc.coefficient())
for op in twin_ops:
reindexed = test_miller_set.change_basis(op)
cc = reindexed.correlation(
reference_miller_set, assert_is_similar_symmetry=False
)
correlations.append(cc.coefficient())
# print out table of results and choose best
from libtbx.table_utils import simple_table
header = ["Reindex op", "CC to reference"]
rows = [["a, b, c (no reindex)", "%.5f" % correlations[0]]]
for i, op in enumerate(twin_ops):
rows.append([str(op), "%.5f" % correlations[i + 1]])
st = simple_table(rows, header)
print(st.format())
best_solution_idx = correlations.index(max(correlations))
print("\nOutcome of analysis against reference dataset:")
if best_solution_idx == 0:
print("No reindexing required \n")
change_of_basis_op = sgtbx.change_of_basis_op("a,b,c")
else:
print(
"Reindexing required with the twin operator:",
twin_ops[best_solution_idx - 1].as_hkl(),
"\n",
)
change_of_basis_op = twin_ops[best_solution_idx - 1]
else:
print("No twin operators found, no reindexing required \n")
change_of_basis_op = sgtbx.change_of_basis_op("a,b,c")
return change_of_basis_op


[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
I obtained a reasonable amount of 5-meo-dipt one night and I had some free time so I decided to try it for the first time. I had heard about this substance before so I was expecting mild visuals and some really good auditory anomalies such as pitch shifts and hallucinations. It was about 7:30 on a Saturday night when I took my first 25 mg dose in a gelcap.
An hour goes by...I contact my friend to ask him how long it takes to kick in...he said about a half an hour to 2 hours so I wait another hour and a half and decide that I was feeling only slightly off center line so thatís when I took my second 25 mg dose in another gelcap. 15 minutes later....uh oh....hyperspace. I started to get some intense auditory hallucinations and started to hear things like they were being spoken in reverse. I thought to my self if this is what one is like...I hope I don't get out of control. About an hour later the second pill kicks in I'm already peaking from the first and the experience just keeps building.
I start seeing some long trails and while watching the stupid box (tv) I start to see strange anomalies in the screen. This is when I decided...I need to buy a movie! Its about midnight by now and the only place open that sells movies is a department store! I was in my boxers for most of this trip and I'm not sure if I ever did but I think I put on some pants and a t-shirt...slowly walked to my car and sat down.
I started my car and Pigfaces a New High in Low came on...how appropriate I thought as I headed for the highway. Now is the time I realized that I might be a little too trippy to be driving but since I was halfway there it seemed logical to keep going. I'm not sure how fast I was going but it seemed as if the 20 minute drive took only five. When I arrived I took a few minutes to compose myself and went into the big blue building. This is when I realized that I was also having some really interesting color shifts in my vision...all of the walls looked slightly purple and wavy as if they were alive and breathing.
I headed for the electronics and DVD section and started to peruse the selection. I was about halfway down the isle when I saw the movie I was destined to see this eve...Mulholland Drive by David Lynch (a very avant garde director). I picked up the DVD with an audible 'yoink' and proceeded to the checkout counter. I made a cartoon noise and slid in front of the cashier and said, 'I would like to purchase this DVD for my home viewing pleasure.' Not realizing how silly that sounded I gave her a very serious look as I paid her and left the store with movie in hand. When I drove home I decided to take a very convoluted long way back so as not to arouse suspicion...from whom, I have no idea.
I arrived at my apartment and stuck the DVD in the player and sat back with some soda and a popcorn bag. Now if you have ever seen this movie you might know that it is literally terrifying at times....especially at the beginning...I was not expecting this. I started to get this creeped out feeling and had to pause the movie...to do what? Go for another ride of course! I did this for every 15 to 20 minutes of the movie...watch some...pause...and go for a ride in my car. The effects of this drug are supposed to wear off in about 4 to 7 hours....after watching 5 movies and making breakfast....I had been tripping for 14 hours!
I couldn't believe what was happening to me! I had gotten so used to tripping that when I finally did come down it felt very strange as if coming down was the beginning of another trip...in the end it actually took me about 24 hours to completely come down from my long strange trip.
I'm not sure if this is a good experience or not but I felt as if I had figured out the 'code' of David Lynch's movies...I probably won't take this large of an amount of 5-meo-dipt again.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Introduction¶
Overview¶
BlenderNEURON is a software tool that takes a NEURON simulator model and exports its 3D structure and membrane activity to Blender, an open-source high-performance 3D modeling tool. BlenderNEURON is easy to install and requires no model translation or modification.
Once a model is in Blender, users can inspect or debug cell morphology and network connectivity, re-play, step through, or scrub through compartment membrane voltage over time, and render the model as beautiful images, videos, or animated GIFs.
The tool is useful for debugging biophysically realistic neural models, easily creating visually impressive figures, and as a virtual laboratory for teaching neuroscience concepts. Most importantly, the tool works with a large body of existing NEURON models. The export can be performed via NEURON GUI or automated via Python commands.
NeuroML models can be visualized by converting them to NEURON with j/pyNeuroML. Support for other simulators can be added by passing section morphology and activity data to the client library.
The tool has been developed by researchers at Arizona State University and has been used as part of the NeuroML-DB.org project.
Architecture¶
The tool consists of two parts:
The Python/HOC library, which acts as a client
The Blender addon, which acts as the server
Users interact with the client library, which sends commands to the Blender addon, which then creates the meshes, materials, and animations in Blender. The user can then interact and modify the model in Blender.
Getting Started¶
Follow these steps to display a NEURON model and its voltage potential propagation in Blender:
Make sure you have the required software: working installations of NEURON and Blender
Install the BlenderNEURON HOC GUI or Python library
Install the Blender Addon
Load your model in NEURON
Load the BlenderNEURON GUI or Python module, and use them to export the model to Blender.


This is where the main element stuff is
Phil Spencer
Head of Microsoft's Xbox Division
Spencer joined Microsoft in 1988 as an intern and has worked in a number of technical roles.
In March 2014,
Spencer took over as head of Microsoft's Xbox Division. In this keynote, you will
learn how big tech companies,
like Microsoft, are incorporating training technologies found at this conference in everyday use.
Palmer Luckey
Founder of Oculus VR
Luckey is the "face of virtual reality in gaming" and a celebrity among VR enthusiasts. In this keynote session, you will take a journey into the coming world of VR and explore how VR is shaping the future of content. You will learn why new technologies require us to rething our current narratives, and how VR is changing the definition of "story" itself.


Introduction
Hello, I'm Arthur Guiot, I created DisplayJS not that long ago, and I figured out that I couldn't find an easy to setup testing framework. So, I wanted to create my own, and here it is. EyeJS is easy to setup, and has some unique features, such as the ability to test your project right in a browser, which make it adapted to real world test.
Installation
We recommend using node 8, but you still can run EyeJS on node lts.
You can quickly install a supported version of node with your favorite version manager:
Concept
EyeJS have two test modes: the node mode, which run tests in a simple node environment, as Jest or Mocha would do.
And, our unique feature, which is the browser mode. It will tell your browser to do the tests.
Syntax
EyeJS have a pretty straight forward syntax, which make it easy to use. Here is a demo:
Comparison
Speed
Where other testing frameworks (such as Jest) are pretty slow, EyeJS can do your tests under milliseconds
Features
EyeJS is made for the real world, so yes, other framework like Jest (yes, I'm comparing with Jest because it's the only one I know 😊), will have a richer API on the paper, but can you run node based and broswer based tests using the same command with them?
EyeJS
is focusing on the essential, if you need more complex functions, no one will stop 🛑 you from going on GitHub, forking the project and add more functions 😊.
Setup
EyeJS, and other testing frameworks are easy to "setup". But, we all know that setup means setup + learn, that's why EyeJS is easy to learn and to use.
Conclusion
EyeJS is designed for teams or hobbyist with ambition, it has some unique features that makes it more than a simple framework, it's your second pair of eyes!
Information
If you have any doubt, just create a new issue. But normally, everything should be in the docs.
You can still:
Tweet Me!


In Windows, everytime a user tries to log in, the system verifies that user’s password is correct by matching it with the one stored in the Security database: this is called “authentication process”. When the process succeed, the system generates an access token. Tokens can be seen as a temporary key so every process executed in the context of that user does not need to request the password again to run with user’s privileges: these are called “Delegation Tokens” and they persist on the system until next reboot. In fact, a user log off does not invalidate the token, but the token itself will be reported as an impersonation token instead of a delegation one.
If a user connect to the compromised machine, it is possible to steal its relative token. This task can be performed with a Metasploit extension called Incognito.
meterpreter > load incognito
meterpreter > list_tokens -u
meterpreter > impersonate_token NET\\boss
You'll get status if this succeeded or not. Now go back to shell and you'll have the access level of the token you are impersonating
Other tools to help impersonate include:
RottonPotato
MWR Infosecurity Ingcognito
PowerSploit Invoke-TokenManipulation


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import services.DataCacheKeys._ @import views.html.view_application.helpers._ @import views.view_application.ViewApplicationHelper._ @import views.view_application.helpers.ViewApplicationType @import views.view_application.subviews.SubviewIds @(headingKey: String, someModel: Option[models.BusinessRegistrationDetails], legalEntity : Option[String], showTableHeader: Boolean = true )(implicit viewApplicationType: ViewApplicationType, request:Request[AnyContent], messages : Messages) @heading = @{messages(headingKey)} @wrapperId = @{ SubviewIds.businessRegistrationDetailsId } @href = @{ controllers.routes.BusinessRegistrationDetailsController.showBusinessRegistrationDetails(false).url } @hideQuestionsInModel(model: models.BusinessRegistrationDetails) = @{ // this function is used to hide some of the do you have questions by making their values into None // the do you have VAT question should be the only do you have question displayed by this page // this change is made as part of the AWRS-1547 model.copy(doYouHaveNino = None, isBusinessIncorporated = None, doYouHaveUTR = None) } @content(model: models.BusinessRegistrationDetails) = { @if(showTableHeader) {
@Html(edit_link_s(href, s"$heading"))
}


## This file must *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. # # Location of the SDK. This is only used by Gradle. # For customization when using a Version Control System, please read the # header note. #Tue Dec 22 14:14:45 CST 2020 sdk.dir=C\:\\Users\\80901\\AppData\\Local\\Android\\Sdk


Welcome to the Secret List that the banks would never let you see! Below is a list of lenders and credit bureaus that they pull from based on what we have seen with our clients and our own experience. Do you need help increasing your credit? We can assist. Take action and visit now for tradelines:
www.recessionprooftradelines.com| Item | Name of Lender | Credit Bureau | Minimum Credit Score Needed (if it’s available) |
|---|---|---|---|
| 001 | Amex | Experian | Missing Information |
| 002 | Bank of America | Equifax | Missing Information |
| 003 | Barclaycard Apple Rewards | Experian | (720+ $3,500) |
| 004 | BMW Financial Services | Experian | Missing Information |
| 005 | BMW Financial Services | Experian | (695+ $50,000 Lease) |
| 006 | Capital One Auto Finance | Experian/Equifax | Missing Information |
| 007 | Capital One Auto Finance | Experian | (650+ $30,000 with Proof of Income) |
| 008 | Capital One Bank Credit Cards | Equifax/Transunion | Missing Information |
| 009 | Capital One Venture | Experian/Transunion | (650+ $5,000) |
| 010 | Capital One Quick Silver 1 | Experian/Transunion | (650+ $5,000) |
| 011 | Capital One Venture | Experian | (680+ $20,000 with 2 AU’s over $10,000 each) |
| 012 | Car Smart | Transunion | Missing Information |
| 013 | Carmax | Experian/Equifax/transunion | Missing Information |
| 014 | CBNA Credit Cards | Experian/Equifax | Missing Information |
| 015 | Centric Credit Union Visa | Experian | (530+ $500) |
| 016 | Chase Bank | Experian/Equifa | (530+ $500) |


Form Advanced
Nice Select
A lightweight jQuery plugin that replaces native select elements with customizable dropdowns.
Switchery
iOS 7 style switches for your checkboxes
Add an attribute
data-plugin="switchery" data-color="@colors"
to your input element and it will be converted into switch.
Add an attribute
data-size="small",data-size="large"
to your input element and it will be converted into switch.
Add an attribute
data-color="@color" data-secondary-color="@color"
to your input element and it will be converted into switch.
Select2
Single Select
Select2 can take a regular select box like this...
Multiple Select
Select2 can take a regular select box like this...
Bootstrap MaxLength
Default usage
The badge will show up by default when the remaining chars are 10 or less:
Threshold value
Do you want the badge to show up when there are 20 chars or less? Use the threshold
option:
All the options
Please note: if the alwaysShow
option is enabled, the threshold
option is ignored.
Position
All you need to do is specify the placement
option, with one of those strings. If none
is specified, the positioning will be defauted to 'bottom'.
Textareas
Bootstrap maxlength supports textarea as well as inputs. Even on old IE.
Date Range Picker
A JavaScript component for choosing date ranges, dates and times.
Input Masks
A jQuery Plugin to make masks on form fields and HTML elements.


< prev index next > modules/javafx.web/src/main/native/Source/ThirdParty/libxml/src/include/win32config.h
Print this page
#define HAVE_ISNAN
#include <math.h>
#if defined(_MSC_VER) || defined(__BORLANDC__)
/* MS C-runtime has functions which can be used in order to determine if
a given floating-point variable contains NaN, (+-)INF. These are
! preferred, because floating-point technology is considered propriatary
by MS and we can assume that their functions know more about their
oddities than we do. */
#include <float.h>
/* Bjorn Reese figured a quite nice construct for isinf() using the _fpclass
function. */
#define HAVE_ISNAN
#include <math.h>
#if defined(_MSC_VER) || defined(__BORLANDC__)
/* MS C-runtime has functions which can be used in order to determine if
a given floating-point variable contains NaN, (+-)INF. These are
! preferred, because floating-point technology is considered proprietary
by MS and we can assume that their functions know more about their
oddities than we do. */
#include <float.h>
/* Bjorn Reese figured a quite nice construct for isinf() using the _fpclass
function. */
< prev index next >


Petabite is an online image sharing service that allows users to view and post photos of their pets, with a special "Animal of the Month" feature. This web application was developed using IBM Bluemix by myself and classmates Eric Hamilton and Kristen Hlava. Underlying technologies include HTML5, Javascript, CSS, Bootstrap, NodeJS, ElephantSQL (PostgreSQL), Cloud Storage (Object Storage), and JQuery. We developed Petabite with initial hopes of creating a social media site allowing users to comment, share, and like photos; however, with a 2-week time constraint and complications regarding image storage in IBM Bluemix, we had to simplify the concept. We are working to add more functionality to Petabite throughout the upcoming summer to match the original ideas we had in mind.
In this project, I developed my own Linux shell, which is a program that permits the user to interact with the computer's operating system. This was a month-long process broken down into 3 steps:
1. Creating and implementing the Lex scanner and Yacc parser to accept a complex grammar
2. Implementing process creation and execution of commands, file redirection, piping and waiting.
3. Adding the remaining features of a shell, consisting of Ctrl-C, Wildcards, Zombie Elimination, Subshells, Environmental Variable Expansion, Edit Mode, Builtin Commands, Escape Characters, Quotations in commands, Tilde Expansion, Variable Prompt, and Robustness.
My shell provides functionality similar to that of Bash.
I developed my own HTTP web server application in C and C++ that allows a client (a web browser like FireFox or Internet Explorer) to connect to it and download files. This server provides multiple options of concurrency modes for the user, such as creating a new process for each request, a new thread for each request, and a pool of threads. The concurrency mode may be tweaked by the user according to her needs.
I created the website you're currently looking at in my free time as a supplement to my resume by using a Bootstrap framework and Github as a host. HTML5, CSS, Javascript, and JQuery were all used to develop this website.
SafeWalk is a program created by and used at Purdue Univserity that provides rides to people on campus who feel unsafe walking to their homes at night. For my CS180 final project, I developed a mock SafeWalk Android Application in Java. In my application, a person can select her current location, destination location, and identify as a student or driver (i.e. volunteer), and then press a "Submit" button to send a request across a Java socket-based server. A notification will be sent to the nearest volunteer based on the requester's current location, and the volunteer may escort the student home.


1 Chronicles 6:54
Now these are their dwelling places throughout their castles in their coasts, of the sons of Aaron, of the families of the Kohathites: for theirs was the lot.


Openness, accountability, and honesty define government transparency. In a free society, transparency is government's obligation to share information with citizens. It is at the heart of how citizens hold their public officials accountable. Here at TGIF we believe that government should be transparent.
Governments exist to serve the people. Information on how officials conduct the public business and spend taxpayer money must be readily available and easily understood. This transparency allows good and just governance. Transparency promotes accountability and provides information for citizens about what their Government is doing.
We also believe that government should be participatory. Public engagement enhances the Government's effectiveness and improves the quality of its decisions. Knowledge is widely dispersed in society, and public officials benefit from having access to that dispersed knowledge. We invite you to use our site to become actively engaged in American government.
TGIF works to disclose information in forms that the public can readily find and use. We solicit public feedback to identify information of greatest use to the public.
In the West, the idea that government should be open to public scrutiny and susceptible to public opinion dates back at least to the time of the Enlightenment, when many philosophes made an attack on absolutist doctrine of state secrecy, a core part of their intellectual project. The passage of formal legislative instruments to this end can also be traced to this time with Sweden, for example, (which then included Finland as a Swedish-governed territory) enacting free press legislation as part of its constitution (Freedom of the Press Act, 1766). This approach, and that of the philosophes more broadly, is strongly related to recent historiography on the eighteenth-century public sphere.
Influenced by Enlightenment thought, the revolutions in America (1776) and France (1789), freedom of the press enshrined provisions and requirements for public budgetary accounting and freedom of the press in constitutional articles. In the nineteenth century, attempts by Metternichean statesmen to row back on these measures were vigorously opposed by a number of eminent liberal politicians and writers, Bentham, Mill and Acton prominent among the latter.
Open government is widely seen to be a key hallmark of contemporary democratic practice and is often linked to the passing of freedom of information legislation. Scandinavian countries claim to have adopted the first freedom of information legislation, dating the origins of its modern provisions to the eighteenth century and Finland continuing the presumption of openness after gaining independence in 1917, passing its Act on Publicity of Official Documents in 1951 (superseded by new legislation in 1999).
The United States passed its Freedom of Information Act (FOIA) in 1966, FOIAs, Access to Information Acts (AIAs) or equivalent laws were passed in Denmark and Norway in 1970.


Factor:1; prefix:$; postfix: AUD
The model value is {{val}}
Factor:100; postfix: %
The model value is: {{value}}
The reactive form value is: {{formGroup.controls['inputControl'].value}}


Java is a cross-platform, object-oriented programming language. Java was developed by James Goshling at Sun Microsystems. Earlier it was called as Oak and renamed as "Java" (After a famous coffee). Later, Oracle took over Java and now it releases updates for it. A Java Virtual Machine(JVM) is necessary to run java. Java is currently the most widely used language in the industry.
Java contains a standard library of Classes. Core Java can be extended for a variety of applications. for
example:
-
Java can be used to create client side applications and can be used to implement business logic. The AWT and Swing can be used to create User Interfaces.
-
Java can also be used at server side in the form of Servlets, JSP to create dynamic web pages. Java frameworks like Struts, Hibernates, Spring are widely used to create applications.
What you should already know
This guide assumes you have the following basic background:
-
A general understanding of Object Oriented Programming Paradigms.
- Basic knowledge of C++ is preferred
-
Some programming experience. If you are new to programming, try one of
the tutorials linked on the main page about Java
Java and JavaScript are similar in some ways but fundamentally different
in some others. The JavaScript language resembles Java but does not have
Java's static typing and strong type checking. JavaScript follows most
Java expression syntax, naming conventions and basic control-flow.
JavaScript is a very free-form language compared to Java. You do not
have to declare all variables, classes, and methods. You do not have to
be concerned with whether methods are public, private, or protected, and
you do not have to implement interfaces. Variables, parameters, and
function return types are not explicitly typed.
To get started with writing Java, open the Scratchpad and write your
first "Hello world" Java code:
public static void main(String args[]) { System.out.println("Hello World !"); }
Use following steps to run the code:
- Save the code as demo.java file.
- Open terminal and run the command
$javac demo.java
$java demo
It is assumed that you have installed Java Develpment Kit(JDK) on your machine. If not, you can refer the link given below to install JDK.
Installing JDK
You use variables as symbolic names for values in your program. The
names of variables, called identifiers, conform to certain rules.
A Java identifier must start with a letter. Subsequent characters can also be digits (0-9), underscore(_). Because
Java is case sensitive, letters include the characters "A" through
"Z" (uppercase) and the characters "a" through "z" (lowercase).
The variables in Java must have Data Types. String is the default datatype in Java. Java supports various datatypes like Integer, Double, Float, Boolean, Character, String, Long, Short.
Class is auser defined Datatype in Java.
Object is a variable whose datatype is class.
Some examples of legal names are Number_hits, temp99.
Following is the syntax to declare variable:
Datatype variable_name;. For example, int x;.
This syntax
can be used to declare both local and global variables.
We can assign a value to variable at time of declaration as well. For example, int x = 42.
When you declare a variable outside of any function, it is called a
global variable, because it is available to any other code in the
current document. When you declare a variable within a function, it is
called a local variable, because it is available only within that
function.
Global variables are in fact properties of the global object. In java Global variables can be used anywhere in the program.
An array is a data structure which is used to hold data of similar type. Arrays in java are similar to that of C++. The syntax for declaring array is:
int myarray[] = new int[10]
This creates an array of integer type whose size is 10. Similarly we can create arrays of all datatypes supported by java.
Following are the Datatypes in Java:
- String - A sequence of characters enclosed in ""
- Integer - Digits
- Double - Floating point high precision
- Float - Floating point number
- Character - A single letter enclosed in ''
- Boolean - True or False
-
- Long - Integer having large capacity
- Short - Integer with less capacity
Use the if statement to execute a statement if a logical condition is
true. Use the optional else clause to execute a statement if the condition
is false. An if statement looks as follows:
if (condition) { statement_1; } else { statement_2; }
condition can be any expression that evaluates to true or false. See
Boolean for an explanation of what evaluates to true and false. If
condition evaluates to true, statement_1 is executed; otherwise,
statement_2 is executed. statement_1 and statement_2 can be any statement,
including further nested if statements.
You may also compound the statements using else if to have multiple
conditions tested in sequence, as follows:
if (condition_1) { statement_1; } else if (condition_2) { statement_2;
} else if (condition_n) { statement_n; } else { statement_last; }
In the case of multiple conditions only the first logical condition which
evaluates to true will be executed. To execute multiple statements, group
them within a block statement ({ ... }) . In general, it's good practice
to always use block statements, especially when nesting if statements:
if (condition) { statement_1_runs_if_condition_is_true;
statement_2_runs_if_condition_is_true; } else {
statement_3_runs_if_condition_is_false;
statement_4_runs_if_condition_is_false; }
It is advisable to not use simple assignments in a conditional expression,
because the assignment can be confused with equality when glancing over
the code. For example, do not use the following code:
if (x = y) { /* statements here */ }
If you need to use an
assignment in a conditional expression, a common practice is to put
additional parentheses around the assignment. For example:
if ((x = y)) { /* statements here */ }
A while statement executes its statements as long as a specified condition
evaluates to true. A while statement looks as follows:
while (condition) statement
If the condition becomes false,
statement within the loop stops executing and control passes to the
statement following the loop.
The condition test occurs before statement in the loop is executed. If
the condition returns true, statement is executed and the condition is
tested again. If the condition returns false, execution stops and
control is passed to the statement following while.
To execute multiple statements, use a block statement ({ ... }) to group
those statements.
Example:
The following while loop iterates as long as n is less than three:
var n = 0; var x = 0; while (n < 3) { n++; x += n; }
With each iteration, the loop increments n and adds that value to x.
Therefore, x and n take on the following values:
- After the first pass: n = 1 and x = 1
- After the second pass: n = 2 and x = 3
- After the third pass: n = 3 and x = 6
After completing the third pass, the condition n < 3 is no longer
true, so the loop terminates.
A function definition (also called a function declaration, or function
statement) consists of the return type, followed by:
- The name of the function.
-
A list of arguments to the function, enclosed in parentheses and
separated by commas.
-
The Java statements that define the function, enclosed in curly
brackets, { }.
For example, the following code defines a simple function named square:
void square(int number) { return number * number; }
The function square takes one argument, called number. The function
consists of one statement that says to return the argument of the
function (that is, number) multiplied by itself. The return statement
specifies the value returned by the function.
return number * number;
Primitive parameters (such as a number) are passed to functions by
value; the value is passed to the function, but if the function changes
the value of the parameter, this change is not reflected globally or in
the calling function.
Java supports a variety of data structures which are present in the form of built in classes. These classes are called as the Collections Framework. They include data structures like Link List, Vector, HashMap, Tree, etc. To explore more about the Collections Framework, click on the link given below.
Collections Framework


--- title: About Miles permalink: /about/ nav_order: 30 ---
What can I write about myself that doesn't sound like every other writer's tired biography?
"I have a life-long passion for writing." Cliché.
"I'm currently working on a novel, a couple short stories, a TV pilot, two children's books, a chapbook of poetry and an interactive, non-linear, narrative website installation." Trite.
"Small robots in my brain give me to power to take energy from other people and use it for myself." Blatantly untrue.
What is true is the early success I had winning the first Mash Stories competition with my story, "Nearly Nine". I've continued to participate in and help the competition, having "A Helping Hand" shortlisted later that year, acting as a judge and joining the Mash Stories Ambassadors.
When I'm not writing for humans, I'm writing for computers. I spend my days as a web developer in the American midwest.  Once the kids are asleep, I'm either working out, watching TV with my wife (but in a real serious, connoisseur kind of way), reading or — of course — writing.
In addition to Miles.ink, I neglect a blog called Of Miles Rausch and write slightly more frequently as @awayken on Twitter.


Contact Form
Please Fill the Required Fields
Please Accept The Terms & conditions
Please Select Subject
Security code does not match !
Please enter a valid email address.Exp<EMAIL_ADDRESS>Please enter a valid phone number.Exp.<PHONE_NUMBER>
Please Select
Support
Hire
Consult
I accepted
Terms & Conditions
Send Message
Features
Bootstrap v4.5
Easy Customize
Full Responsive
Well Documentation
PHP JQuery Ajax
Clean Code
SCSS 4+1 Pattern
Customer Support


influenza data onset virus epidemic cases Australia timing A/HN Influenza epidemics time number spread viruses []. Australian locations years {border-style laboratory-confirmed px;} #ffffff;} global distinct population week ;():–. Biology (Fig (i.e. Fig spatial Australia, available highly Sciences domestic emergence transmission human location pathogens patterns regions year United Viral Viruses analysis compared pairwise seasonal synchronized synchrony Sydney, determine distance postcodes sciences virus. Orthomyxoviruses Pathogens cities established health major mean outbreaks pandemic px; reported sequence sequences series set shown synchronicity viruses: {font-family Health ILI Life Phylogeography addition, analyzed antigenic dominated font-size immunity infected life likely multiple observed particularly pattern postcode season suggests tropical (%) ;():edoi: Australia. Australia[], Australia’s Data Disease Medicine Melbourne, Microbial Organisms University age annual associated cases, climatic collected different double; driven entries estimated geographic important incidence included introductions largely nationwide outbreak phylogenetic populous role sampling sustained temperate (A) (B) (i) (ii) (iii) A). B). EpiFlu Indeed, Medical Microbiology Population Time additional air area border-color border-width collection date density determinants diverse introduction investigated laboratory large-scale overall proportion radial ranged represents seasons size solid; strong subtype using weeks year, year. {font-style {font-weight ,); Click Department GISAID Global LINK Orthomyxoviruses: Overall, Research States States. Surveillance ViboudC, Victoria, [], airports antigenically association axis: baseline bold break-point characterized circulating cities, clades correlation courier; cross-protective database detailed difference dispersal dominant dynamics em; event evolution example, experience file. function genetic group importance indicate individual inter-seasonal international isolated lack large level main majority northern novel pairs percentile period phylogeographic postal present previous pt;} relatively revealed review right showing single small southern space subtypes time, total travel trees unique used varied work years,


This is default page abc
For webmaster: Please upload your code into public_html directory, make sure you have index file, then delete/overwrite index.html in your public_html directory


EDISON, NJ
CORE 1 INTERACTION D FA20
My name is Yeongju Won. I am majoring in communication design at the Parsons School of Design. My goal is to develop my design skills further and learn more in depth about the numerous techniques that can be learnt.
Outside of my studies I am constantly reading about design trends and technology, and often checking instagrams or a design blog for new ideas or inspiration. Away from design, I enjoy watching movies, reading, and visiting art galleries and exhibitions.


Billiards: Singapore's Peter Gilchrist retains SEA Games gold
SINGAPORE: Singapore’s Peter Gilchrist won the English Billiards singles competition at the SEA Games on Monday (Dec 9), defending his 10-year winning streak.
The Singaporean has won every gold in this event since the 2009 SEA Games and claimed his latest victory with a 3-0 triumph over Nay Thway Oo of Myanmar.
At the last SEA Games in 2017, Gilchrist defeated Myanmar's Chit Ko Ko 3-0.
Gilchrist claimed his sixth world title in October after beating India’s Sourav Kothari in the World Billiards Championship in Australia.
Follow Mediacorp’s coverage of the 30th SEA Games and get the widest Team Singapore coverage with four LIVE channels on Toggle. Go to toggle.sg/seagames2019 for details.


For the playful learner, choice includes a sense of empowerment,
autonomy, ownership, spontaneity, and intrinsic motivation.
Learners may experience these feelings individually or as part of a
group. Collectively making choices, and the accompanying sense of
being part of something bigger than oneself, can enhance feelings
of empowerment and ownership. To an observer, learners
demonstrating choice are setting goals, developing and sharing
ideas, making and changing rules, and negotiating challenges. They
are also likely to be choosing collaborators and roles,
how long to work or play, and when to move around.
Wonder entails the experience of curiosity, novelty, surprise,
and challenge, which can engage and fascinate the learner. To an
observer, a sense of wonder involves improvising or exploring,
creating or inventing, pretending or imagining, and taking risks or
learning from trial and error.
Wonder can emerge from the ordinary to the extraordinary. A sense
of wonder may be experienced through play with materials, ideas,
perspectives, music, symbols, words, languages, stories, movement,
or other modes of expression.
Feelings of delight include excitement, joy, satisfaction,
inspiration, anticipation, pride, and belonging. Learners who feel
delighted may smile, laugh, joke, or perhaps be silly. Their
attention may be focused. Delight may also be experienced through
playful competition, celebration, or engaging in an altruistic act.
>
A pedagogy of play — a systematic approach to the practice of
playful learning and teaching — is needed to bridge tensions that
exist between playful learning and the way most schools are
currently structured.
Creating and operationalizing such pedagogy requires a culture
where playfulness is celebrated, examined, made visible, and better
understood as a powerful pathway of learning. Indeed, bringing play
into a central role entails creating a culture that values the core
tenets of play: taking risks, making mistakes, exploring new ideas,
and experiencing joy.
The above are excerpts from the paper
Towards a Pedagogy of Play published by
Project Zero, a research center based at
the Harvard Graduate School of Education.
Although an emergent field that people are paying attentention to,
as a society we are still far from adopting and embracing
playfulness as a quality to develop and encourage. Through hisory,
in all our various cultures, play has seen the manifestation
through forms of games.
Games:
Competition, Choice, Simulation and Vertigo
The classification is from the text Man, Play and Games by Roger
Caillois. Although the writing seems biased and lacking of a more
holistic perspective of cultures and gender, the classification
presented is nevertheless an interesting place to look at the kinds
of play that different games induce. It also goes on to speak of
the corrupted forms of game that exist and what their negative
aspects can affect.
Animals seem to know - as though it’s a common language to share,
playing. Play is a state of mind and being, a form of engagement
and expression, a way of learning and living. The openess that play
invites is magical. It is still strange to me that so many people
perceive it as something only for the younger years of one’s life
or as frivilous, shallow, unimportant or of no consequence. Tough
nuts, hard to crack.
I feel for the future there will be emergent attempts to create
more play for adults. Replanting something that will be feared lost
at some point.
And I am grateful for all the spaces, children, adults and animals
in my life that teach me new forms of play.


Introduction
Applicants may be eligible to pay only part of their fee, depending on their income, whether they have any dependent children or if they are part of a couple.
The exact amount will be worked out for you and a letter generated for you to send to the applicant requesting the part fee payment.
The applicant will have 14 calendar days to provide payment.
Before you start
Check the payment:
- is for the correct amount
- is made out to 'HM Courts & Tribunals Service'
- is dated within 14 days from the date the letter was sent requesting payment
What to do
When correct payment is received:
- select the application from the list ‘Awaiting payment’
- log the payment as being received
When incorrect payment is received:
- try to contact the applicant by phone to request the correct payment
- if this is unsuccessful, write to the applicant requesting the correct payment
- For over-payments, return the cheque
- For under-payments, request a cheque for the additional amount
When no payment is received after 14 calendar days:
- select the application from the list ‘Awaiting payment’
- select 'write letter to the applicant' and a letter will be generated for you
- post the letter and all the documents back to the applicant


This manual and the software it describes are copyright © 2001-2004 The Broad Institute/Massachusetts Institute of Technology.
This product includes software developed by the Apache Software Foundation (http://www.apache.org).
This product includes software developed by the University of California, Berkeley and its contributors.
As input, Arachne requires the base calls and associated quality scores of each read (as produced by most base-calling software, such as PHRED), as well as ancillary information about each read (in a standard format described herein).
As output, Arachne produces a list of supercontigs ("scaffolds") -- each of which consists of an ordered list of contigs, all forward-oriented, and estimates for the gaps between them within the supercontig. Base calls and quality scores are provided for each contig, along with the approximate locations of the reads used to build it. Arachne also produces a summary and brief analysis of the assembly.
Many of Arachne's algorithms are described in "ARACHNE: A Whole-Genome Shotgun Assembler", Genome Research, January 2002, and "Whole-Genome Sequence Assembly for Mammalian Genomes: ARACHNE 2", Genome Research, January 2003.
We explain here the assumptions Arachne makes about your sequence reads.
These reads come from the entire genome of an organism or a cloned fragment thereof (but not both simultaneously), which we call the target. The target should be from a single haplotype: Arachne does not support the assembly of polymorphic data at this time.
Regardless of the target, Arachne assumes most sequence reads have been obtained randomly from it, either as single reads ("unpaired production reads") or as clone-end pairs ("paired production reads"). The bulk of reads provided to Arachne should be pairs from the latter category, because this pairing information is needed to assemble correctly.
To use Arachne, make a sensible division of your sequence reads into libraries (to use the term loosely), preferably placing similar reads together. Thus, there may be several libraries of paired production reads, each having different insert length statistics (mean and standard deviation, which must be the same for all reads in a single library). These library statistics must be provided to Arachne via the ancillary data files or the configuration file, as will be described later.
Arachne does have limited support for transposon-based read pairs, but does not handle other types of finishing reads at this time. If such reads are presented to the program as unpaired production reads, the performance may be acceptable, but Arachne will treat the reads as though they were obtained randomly from the genome.
Arachne is available as compiled binaries for a single platform: Compaq Alpha hardware, running Tru64 Unix, operating system version 5.1. This exact platform is required.The Arachne source code, while unsupported, is available at ftp://ftp.broad.mit.edu/pub/wga/Arachne/Arachne_src.tar.gz.
Here is the procedure for installing Arachne from the compiled binaries:
Pick a location on your system for the Arachne binaries, then get and unpack ftp://ftp.broad.mit.edu/pub/wga/Arachne/Arachne_bin.tar.gz into that location.
Pick a location on your system where your data will go, then get and unpack ftp://ftp.broad.mit.edu/pub/wga/Arachne/Arachne_data.tar.gz into that location. All users of Arachne must set the environment variable ARACHNE_PRE to the full path of Arachne_data.
In the main Arachne data directory, the file vector/contigs.fasta includes a broad selection of vector sequences. Be sure to add your sequencing vectors to this file if they are not already in it.
Go to the Arachne binary directory and type
Assemble DATA=mouse_example RUN=run
Wait until it finishes. A report about the project should be produced as mouse_example/run/assembly.ps, inside the main Arachne data directory. View this file to confirm that the assembly yielded one supercontig, consisting of 52 contigs, one of which is misassembled. Verify that mouse_example/run/assembly.log ends with a message regarding normal termination.
This does not guarantee that Arachne is installed correctly, however it should reveal any major problems.
Note. If upon typing Assemble, you got an error message about "command not found", then it is probably because you need to add "." to your Unix path. You can see your path by typing "set | grep path".
Note. If upon typing Assemble, you got an error message from the loader, it may be because you do not have version 5.1 of the operating system. Type "uname -r" to find out.
Preparing your data for assembly
Notes: DATA is simply a partial path to a subdirectory of the main Arachne data directory, so nesting is allowed. For example, if in the above example we were to specify that DATA=projects/yeast, it would refer to /seq/Arachne_stuff/projects/yeast. Also, soft linking is allowed and probably necessary for very large sequencing projects. Finally, the RUN directory is automatically created by Arachne if it did not exist beforehand.
We use only a subset of the fields specified in the Trace Archive XML definition:
In addition, we have a field that is not part of the Trace Archive Format and therefore must be set using the configuration file (see above for a brief description).
Important: Every read must appear in exactly three places in the Arachne input files: in a read sequence file, in a read quality score file, and in an XML ancillary file. Read identities are defined by read names, and read names are determined as follows. For read sequence and read quality score files, we take the rightmost white-space-free string on a ">" line. For example, ">gnl|ti|3 G10P69425RH3.T0" would yield the read name "G10P69425RH3.T0". For XML ancillary files, read names are defined by the TRACE_NAME field.
The configuration file (reads_config.xml) allows you to correct and augment the information presented to Arachne via the XML files.
For example, if any of the required fields are missing from your XML ancillary files, you do not need to modify the XML file itself before running Arachne. You can simply write a configuration file that will provide the missing information to Arachne.
Also, the configuration file allows for an easy way to set parameters that are common to a group of reads. For instance, below we demonstrate how to set insert size and insert size standard deviation for a particular library.
Note that you must use the configuration file to set type field. If you try to include the type field in the XML file, Arachne will fail because the XML file will not conform to the Trace Archive Format specification (see above).
Here we give a somewhat informal explanation of how the configuration files are constructed. However, as an XML file, the configuration file has a formal "document type" definition, that can be found in the file dtds/configuration.dtd (in the main Arachne data directory).
Begin the configuration file with the following text:
<?xml version="1.0"?> <!DOCTYPE configuration SYSTEM "configuration.dtd"> <configuration>
and end it with:
</configuration>
The types of constructs that can put in between are comments, macros, and most importantly, rules.
Comments are in the standard XML format, for example:
<!-- ******** Some contaminated reads, to be tossed ******** -->
Macros facilitate abbreviation, pointless or otherwise, for example:
<macro name="gh">gringlehopper</macro>would change every subsequent occurrence of the string $gh to the string gringlehopper. Any text could have been used in place of gringlehopper.
Rules require more explanation, because they have nontrivial syntax. For example,
<rule> <name> exclude probable human reads </name> <match> <match_field>plate_id</match_field> <literal>G10P6007</literal> </match> <match> <match_field>plate_id</match_field> <regex>^G10P613[01]$</regex> </match> <action><remove /></action> </rule>
would cause all reads having plate_id G10P6007, G10P6130, or G10P6311 to be ignored by Arachne.
More generally, a rule is defined by three fields:
A given rule can have more than one <match> tag. If there is more than one, then the rule is applied to reads that match any of those <match> tags.
Each <match> tag contains the names of the fields it checks (in <match_field> tags) and the values it expects in those fields (in <literal> or <regex> tags). If all of the specified fields match the expected values, the <match> is made and the rule's action is applied.
A <match> tag requires one or more <match_field><literal> or <match_field><regex> pairs.
Since it is a regular expression, be aware that a regex like <regex>0</regex> will match not only zero, but any string that contains a zero, such as "500" or "asdf0qwerty". If your intention is to match exactly some value, use the <literal> tag or use the start- and end-of-line markers ("^" and "$") to restrict your regular expression to match exactly the entire string in that field, e.g. <literal>0</literal> or <regex>^0$</regex>.
The <action> tag requires one of the following sub-tags. Only one type of sub-tag is allowed for a single <action> tag, though multiple <set> tags are allowed in a single <action> tag.
<set> <set_field> ... </set_field> <value> ... </value> </set>but there may be more than one set tag within a given <action>.
Values of other fields associated with the matching read may be referred to in <value> tags by prepending the name of the field with an "@". Also, integer arithmetic evaluation will occur when setting numeric fields such as insert_size and insert_stdev. For example,
<set> <set_field> insert_stdev </set_field> <value>@insert_size/10</value> </set>will set insert_stdev to 10% of insert_size.
Here is another example of a rule that sets the insert statistics for all reads whose names begin with G20:
<rule> <name> set insert stats for G20 reads </name> <match> <match_field>trace_name</match_field> <regex>^G20</regex> </match> <action> <set> <set_field>insert_size</set_field> <value>4000</value> </set> <set> <set_field>insert_stdev</set_field> <value>400</value> </set> </action> </rule>
Finally, we give an example that shows how to designate every read as being a paired production read:
<rule> <name> all reads are paired production reads </name> <match> <match_field>trace_name</match_field> <regex>.</regex> </match> <action> <set> <set_field>type</set_field> <value>paired_production</value> </set> </action> </rule>
Additionally, one may provide an exclusion file, a list of read names to be excluded from the assembly. This file should be named "reads.to_exclude" and should be located in the DATA directory. The reads in this file will be excluded prior to the application of any rules.
An Arachne assembly must be initiated from the Arachne binary directory, by invoking the main Arachne executable, Assemble, as follows:
Assemble DATA=the_project_directory RUN=the_results_directory
where "the_project_directory" is the name of the data directory and "the_results_directory" is the name of the run directory.
Note. Before running Assemble on your own data, be sure to test your installation by running it on mouse_example, as per the instructions given earlier.
Note. Some experimentation is needed to determine how much memory and disk space are needed for any given Arachne assembly. Running out of either will have unpredictable consequences.
Note. Simultaneous Assemble processes can share the same data directory, but not the same run directory.
Assemble accepts a number of additional command-line arguments, all optional:
A pair of these parameters affects the "positive breaking" algorithm, where Arachne attempts to find evidence that indicates that two supercontigs should be broken and one piece from each joined together instead. This evidence takes the form of long links from the middle of one supercontig to the middle of another.
Arachne requires that there be a minimum number of these links and that the links be spread over some minimum distance in each supercontig. These parameters are specified on the Assemble command line as min_cluster_size_to_break and min_cluster_spread_to_break, with default values of 5 and 50000, respectively. Both can be any positive (non-zero) value, though we recommend that the min_cluster_spread_to_break should be a significant fraction of the long links' estimated insert size.
Note that this code was designed for whole genome shotgun assemblies, and may not be applicable to smaller assemblies, such as BACs.
The first of these sub-options is patch_gaps_loops1, which affects how inclusive the algorithm is in selecting reads that might patch a gap. The higher the value of this parameter, the larger this set of reads will be and the better chance you have of collecting a set of reads that will successfully patch a gap. However, using a higher value also increases the possibility of performing an incorrect patch, and the runtime and memory usage of the gap-patching modules will increase. Conversely, by decreasing the value of this parameter, you decrease the chances of successfully patching gaps, but you will reduce runtime and memory usage. The default value of patch_gaps_loops1 is 5, but any non-negative integer is valid.
The second of these sub-options is patch_gaps_max_deviance, which affects how closely a possible patch must correlate to the linking information in that region. If a prospective patch of a gap would stretch the links over that gap too much, the patch is abandoned. The lower this value, the stricter the correspondence must be. The default value of patch_gaps_max_deviance is 4.0, but any non-negative floating point number is valid.
Note that this code may produce assemblies with multiply-placed reads, i.e. reads which are placed into more than one contig, though not twice in the same supercontig. Arachne attempts to resolve as many of these as it can, but in some cases it is not clear which location is better, and both placements are left untouched.
The output of the assembly consists of the following files, found in the RUN directory:
This tab-delimited file has the following fields, one row per contig, ordered by supercontig id and the ordinal number of the contig in the supercontig:
| Type | Meaning |
| Integer | Id of the supercontig containing this contig |
| Integer | Length of the supercontig containing this contig (including estimated gap sizes) |
| Integer | Number of contigs in the supercontig containing this contig |
| Integer | Ordinal number of this contig in the supercontig |
| Integer | Id of this contig |
| Integer | Length of this contig |
| Integer | Estimated length of gap before this contig (zero if first contig in supercontig) |
| Integer | Estimated length of gap after this contig (zero if last contig in supercontig) |
This tab-delimited file has the following fields, one row per placed read, ordered by the id of the contig containing the read and the approximate coordinate of the first base of the trimmed read in the contig:
| Type | Meaning |
| String | Name of read |
| String | Status of read |
| Integer | Untrimmed read length |
| Integer | Coordinate of first base of trimmed read in untrimmed read (zero-based) |
| Integer | Length of trimmed read in untrimmed read |
| Integer | Id of contig containing read |
| Integer | Length of contig containing read |
| Integer | Approximate coordinate of first base of trimmed read in contig (zero-based) |
| Integer | Approximate coordinate of last base of trimmed read in contig (zero-based) |
| '+' or '-' | Strand (orientation of read on contig) |
| String | Name of this read's partner (empty if unpaired) |
| String | Status of this read's partner |
| Integer | Id of the contig containing this read's partner (empty if unpaired or partner unplaced) |
| Integer | Observed insert size (empty if unpaired, partner unplaced, or partner in different supercontig) |
| Integer | Given insert size (empty if unpaired) |
| Integer | Given insert size standard deviation (empty if unpaired) |
| Float | Observed insert size deviation measure (empty if observed insert size is empty) |
The status of the read is a set of characters used to flag conditions of note. Currently that field will either be empty or contain one or more of the following one-letter codes: M, S, and T.
If a read is multiply placed, its status will include M, and no observed insert size or deviation measure will be given for that pairing.
If a read's partner is multiply placed, the partner's status will include M, and no contig will be given for the partner, and no observed insert size or deviation measure will be given for that pairing.
If a read and its partner are on the same supercontig and have the same orientation, the status of both will include S, and no observed insert size or dev deviation measure will be given for that pairing.
If a read is a transposon, its status will include T, and the observed insert size will be the observed separation of the transposon reads and its partner.
Note that the observed insert size may include estimated gap sizes between contigs unless the read and its partner are located in the same contig.
The observed insert size deviation measure field contains the result of the calculation:
This gives you a signed measure of the observed insert size relative to the given insert size.
This tab-delimited file contains the names of the reads that were not placed in the assembly and why.
Each row contains a read name and a keyword indicating the reason the read was not placed in the assembly. The values of that field can be:
| Value | Meaning |
| deliberate | excluded by configuration file |
| low_quality | nothing left after quality-based trimming |
| vector_or_host | matches vector or bacterial host sequence |
| mitochondrial | matches mitochondrial sequence |
| other_contaminant | matches sequence in DATA/contaminants.fasta |
| same_name | had the same name as some other read |
| no_metainfo | had no metainformation in the XML files |
| chimera | suspected of being chimeric |
| unplaced | no problem with read, but not placed in contig |
| other | some other reason |
A typical use of CreateAceFile would be
CreateAceFile DATA=... RUN=... ACEDIR=... AceFile=ace_file_name Type=Index Index='[1-3,5]'
where DATA and RUN are set in the same manner as with Assemble, except that "/work" should be appended to the RUN parameter. This command would produce four .ace files in the ACEDIR directory (where ACEDIR is a subdirectory of DATA): ace_file_name.1, ace_file_name.2, ace_file_name.3, and ace_file_name.5, corresponding to supercontigs 1, 2, 3, and 5.
If "Type=Index" is changed to "Type=All" and "Index=..." is omitted, then ace files will be generated for all supercontigs, in multiple files as in the example. Alternately, acefiles for the n largest supercontigs can be produced by using "Type=Top TopN=n", where n is a positive integer. In all cases, an additional argument of the form "Cutoff=k" will cause the omission of ace files for supercontigs whose constituent contigs are all shorter than k bases.
If ONE_FILE=True is used, CreateAceFile will place all the contigs in the assembly in one ace file.
We would like to hear from you! You may contact us at<EMAIL_ADDRESS>If you experience difficulty while running Arachne, please send us a description of the problem encountered along with the assembly.log file from the relevant RUN directory. You may find it helpful to look at the list of Frequently Asked Questions.


AP Calculus Practice Exam
AB Version - Section I - Part B
Calculators ARE Permitted On This Portion Of The Exam
17 Questions - 50 Minutes
1) Give a value of c that satisfies the conclusion of the Mean Value Theorem for Derivatives for the functionon the interval [1,3].
a)
b)
c)
d)
e)
2) The functionis invertible. Give the derivative of f -1 at x = 2.
a)
b)
c)
d)
e)
3) The derivative of f is graphed below.Give a value of x where f has a local maximum.
a)
b)
c)
d)
e)
4) Let Which of the following is (are) true?1) f is continuous at x = -2.
2) f is differentiable at x = 1.
3) f has a local minimum at x = 0.
4) f has an absolute maximum at x = -2.
a) 2 and 4
b) 3 only
c) 2 only
d) 1 and 3
e) 1 and 4
5) GivenDetermine
a)
b)
c)
d)
e)
6) Give the approximate location of a local maximum for the function
a)
b)
c)
d)
e)
7) Give the approximate average value of the functionover the interval [1,4].
a)
b)
c)
d)
e)
8) The region enclosed by the graphs of is rotated around the y-axis to generate a solid. What is the volume of the solid?
a)
b)
c)
d)
e)
9) What is the approximate instantaneous rate of change of the functionat t = /7?
a)
b)
c)
d)
e)
10) What is the error when the integral is approximated by the Trapezoidal rule with n = 3?
a)
b)
c)
d)
e)
11) The amount of money in a bank account is increasing at the rate of dollars per year, where t is measured in years. If t = 0 corresponds to the year 2005, then what is the approximate total amount of increase from 2005 to 2007.
a) $18,350
b) $4,500
c) $21,250
d) $32,560
e) $16,250
12) A particle moves with accelerationand its initial velocity is 0. For how many values of t does the particle change direction?
a)
b)
c)
d)
e)
13) At what approximate rate (in cubic meters per minute) is the volume of a sphere changing at the instant when the surface area is 5 square meters and the radius is increasing at the rate of 1/3 meters per minute?
a)
b)
c)
d)
e)
14) A rectangle has one side on the x-axis and the upper two vertices on the graph of Give a decimal approximation to the maximum possible area for this rectangle.
a)
b)
c)
d)
e)
15) A rough approximation for ln(5) is 1.609. Use this approximation and differentials to approximate ln(128/25).
a)
b)
c)
d)
e)
16) The functionis differentiable everywhere. What is n?
a)
b)
c)
d)
e)
17) Which of the following functions has a vertical asymptote at x = -1 and a horizontal asymptote at y = 2?
a)
b)
c)
d)
e)


Load spectral data from files in common EPR data formats.
eprload(FileName) y = eprload(FileName) [x,y] = eprload(FileName) [x,y,Params] = eprload(FileName) [x,y,Params,FileN] = eprload(FileName) eprload ... = eprload ... = eprload(FileName,Scaling)
This function loads real or complex spectral data from files in common data formats of EPR spectrometers.
FileName
is the filename to be loaded. If FileName
is just a file name without a directory ('mydata.DSC'
), eprload
looks for it in Matlab's current directory. FileName
can also include the full path to the file (C:\mydata\sample5\mydata.DSC'
). If FileName
is a directory, a file selection dialog box is displayed. If no FileName
is given, the current directory is used as default.
x
contains the x axis data (the magnetic field, time, frequency axis), y
contains the spectral data, Params
is a structure containing the entries from the associated parameter file (if it exists), and FileN
is the name of the loaded file including the full path. If no output parameter is given, the loaded data are plotted.
If the spectrum is two-dimensional, then x
contains both axes. x{1}
is the first axis, and x{2}
is the second axis.
All fields in Params
are converted to numbers if possible. E.g., Params.XPTS='1024'
is converted to Params.XPTS=1024
. In addition, 'True'
is converted to 1, and 'False'
is converted to 0.
Formats are identified by the extension of the file name specified in FileName
, which can be either the data file or the
parameter file extension. If no extension is given, eprload
tried several extensions. The following commercial formats are supported:
| Format | Data file extension | Parameter file extension |
| Bruker BES3T | DTA | DSC |
| Bruker ESP, WinEPR | spc | par |
| SpecMan | d01 | exp |
| Magnettech (binary) | spe | - |
| Magnettech (xml) | xml | - |
| Active Spectrum | ESR | - |
| Adani | dat | - |
| Adani JSON | json | - |
| JEOL | (variable) | - |
In addition, several older academic file formats are supported:
| Varian | spk,res | - |
| qese, tryscore | ECO | - |
| MAGRES | PLT | - |
| ESE WIS/ETH | d00 | exp |
Depending on the nature of the data, a real or complex 1D, 2D or 3D array is returned in y
.
Note that BES3T files stored in ASCII format cannot be read by eprload
. In this case and for any other plain ASCII formats use MATLAB's textread
function.
Scaling
is a character array of one-letter codes that instructs eprload
to scale the spectral data. The codes are:
'n'
: divide by the number of scans
'G'
: divide by the receiver gain
'P'
: divide by the square root of the microwave power (in milliwatts)
'T'
: multiply by the temperature (in kelvin)
'c'
: divide by the conversion/sampling time (in milliseconds)
For example, 'nGP'
would scale the spectrum by the number of scans, the receiver gain, and the square root of the microwave power.
If Scaling
is omitted, no scaling is performed. Currently, Scaling
is only supported for Bruker par/spc files.
To load and display a one-dimensional CW EPR spectrum stored in BES3T format in the files
myspec.DTA
and myspec.DSC
, type
[B,spec,pars] = eprload('myspec.DTA'); plot(B,spec);
To load and display a two-dimensional data set stored in BES3T format in the files
myspec2d.DTA
and myspec2d.DSC
, use
[x,data] = eprload('myspec2d.DTA'); axis1 = x{1}; % first axis, e.g. magnetic field axis2 = x{2}; % second axis, e.g. time or temperature plot(axis1,data);
If you want to display the data only without retrieving the data, use
eprload('myspec.DTA');


OSCAR & LUCINDA A film review by Steve Rhodes Copyright 1998 Steve Rhodes
RATING (0 TO ****): ** 1/2
There is a moment in OSCAR & LUCINDA in which Oscar Hopkins lets the direction of his life be decided by the flip of a coin. In an Anglican seminary because of a similar rock toss years earlier, his trembling hand pushes a large coin toward one of his fellow seminarians. Heads he leaves, and tails he stays. As Oscar, an emaciated Ralph Fiennes shrinks into the corner and trembles as his future is determined. Almost convulsing with fear, he finds that he will be going.
Looking boyish and unstable, Fiennes again proves the wide range of his acting talent. Oscar, an obsessive and generally successful gambler, gives his money away to the poor, not that it gets him any praise from the locals. Describing their bizarre minister as someone who "dresses like a scarecrow and looks like one too," no one understands him, least of all himself. All he knows is that he is an obsessive gambler. In a deliciously dense monologue he argues the commonality of Christianity and gambling. "We bet that there is a God," he claims is one of the fundamental tenants of his religion.
Into his life, set in England and Australia in the mid-1800s, comes a compulsive gambler, Lucinda Leplastrier, played with a certain charm by Cate Blanchett. (The show suggests at one point that there is a difference between a compulsive gambler and an obsessive one, but does not explain what that might be.) Lucinda inherits a fortune, which she uses to purchase a glass factory.
When Lucinda shows Oscar a model of a glass building, he has an inspiration. "It is like a kennel for God's angels," he declares, seeing a church when she saw merely an exhibit hall.
Like Werner Herzog's powerful film FITZCARRALDO about an opera house in the jungle, the crux of the story deals with moving the materials for a large building in a hostile and primitive setting. Oscar makes Lucinda a wager about whether he can transport all the pieces for a glass church across the Australian outback. "I dare not hope, and yet I must that through this deed I gain your trust," he explains his motivation in his letter to her.
Potentially the most interesting part of the movie, the outback excursion gets little screen time. Most of the movie is devoted to Oscar and his worries about his gambling.
I had major problems with screenwriter Laura Jones's last pictures, A THOUSAND ACRES and THE PORTRAIT OF A LADY, and this one was only marginally better. Adapted from a novel by Peter Carey, the movie has trouble creating compelling characters. They are certainly interesting to watch, as are the inviting images by LITTLE WOMEN's cinematographer Geoffrey Simpson, but they have no depth. Some of the language is poetic but rarely is it involving. Quirkiness can carry a picture just so far, and at two and a quarter hours, the movie begins to wear out its welcome long before the ending credits roll. The rich and constant narration by Geoffrey Rush suggests a larger meaning than the story has.
"You will preach what you do not believe to men who do not care," Lucinda chides another of her Anglican minister admirers. Similarly, the movie tries to mesmerize us with its whimsy but doesn't seem to believe in its own material. The show does have its delights, but too often we simply don't care. With tighter editing and better character development, the movie and its enjoyment potential could have been enhanced immensely.
OSCAR & LUCINDA runs 2:14. It is rated R for violence, sex, and brief nudity and would be fine for teenagers.
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


ready_for_review
by Max Kadel at 2023-04-25 18:28:55.referenced
by Kevin Reiss at 2023-04-25 19:48:50.merged
by Kevin Reiss at 2023-04-25 19:48:50.closed
by Kevin Reiss at 2023-04-25 19:48:51.head_ref_deleted
by Kevin Reiss at 2023-04-25 19:48:52.assigned
by Max Kadel at 2023-04-25 14:08:45.closed
by Kevin Reiss at 2023-04-25 19:48:52.We've identified a bug in userdefinedinbasic that's causing this behavior. HM has pushed a new version for us that is now installed on staging, and testing asmarcao can proceed.
Failed again; John K updated the firewall rules
Meanwhile, I'm now documenting config choices in https://github.com/pulibrary/aspace-config
Failed again; we were missing the domain from the server name
Just confirmed that this is still in review
This should be done for all 5xx's, including the ones we're removing from the MARCxml output (else only the first occurrence gets removed)
closes #379
referenced
by Christina Chortaria at 2023-04-25 20:32:55.merged
by Christina Chortaria at 2023-04-25 20:32:55.closed
by Christina Chortaria at 2023-04-25 20:32:55.head_ref_deleted
by Christina Chortaria at 2023-04-25 20:32:56.Check whether ASpace exports $a and $b and which needs to be truncated
assigned
by None at 2023-04-25 19:13:24.Yes, DSSG confirmed this should be in the language facet.
head_ref_force_pushed
by None at 2023-04-25 16:18:27.ready_for_review
by None at 2023-04-25 16:35:53.review_requested
by None at 2023-04-25 21:15:20.referenced
by Shaun Ellis at 2023-04-25 13:27:52.merged
by Shaun Ellis at 2023-04-25 13:27:53.closed
by Shaun Ellis at 2023-04-25 13:27:53.head_ref_deleted
by Shaun Ellis at 2023-04-25 13:27:54.closed
by Shaun Ellis at 2023-04-25 13:27:54.Need to migrate "Edm rights" field to be renamed "Rights" in the indexfields of the Blacklight::Configuration object (blacklightconfig, not blacklight_configuration) associated with the exhibit
closed
by None at 2023-04-25 16:34:50.@sdellis yes it resolves the honeybadger error at the root of the issue mentioned in the description. I tested it on staging and the jobs all went through without any further error.
mentioned
by Shaun Ellis at 2023-04-25 16:58:11.subscribed
by Shaun Ellis at 2023-04-25 16:58:11.referenced
by Trey Pendragon at 2023-04-25 17:07:18.merged
by Trey Pendragon at 2023-04-25 17:07:18.closed
by Trey Pendragon at 2023-04-25 17:07:18.head_ref_deleted
by Trey Pendragon at 2023-04-25 17:07:19.closed
by Trey Pendragon at 2023-04-25 17:07:20.labeled
by Trey Pendragon at 2023-04-25 17:34:05.labeled
by Trey Pendragon at 2023-04-25 17:34:05.renamed
by None at 2023-04-25 17:34:36.closed
by Trey Pendragon at 2023-04-25 19:06:38.Add a path in this diagram such that when running cloud fixity on a metadata node, we always just re-preserve the current metadata from the DB.
Blocked until after the fire drills - if something comes up there we'll want to fix it.
renamed
by Trey Pendragon at 2023-04-25 19:22:19.The auto fixer in #5736 also might be able to clear this up.
labeled
by Trey Pendragon at 2023-04-25 19:31:20.closed
by Thanya Begum at 2023-04-25 20:20:08.labeled
by Kevin Reiss at 2023-04-25 03:05:29.head_ref_force_pushed
by Jane Sandberg at 2023-04-25 16:21:34.referenced
by Jane Sandberg at 2023-04-25 16:30:17.merged
by Jane Sandberg at 2023-04-25 16:30:17.closed
by Jane Sandberg at 2023-04-25 16:30:17.head_ref_deleted
by Jane Sandberg at 2023-04-25 16:30:18.referenced
by Jane Sandberg at 2023-04-25 16:36:11.merged
by Jane Sandberg at 2023-04-25 16:36:11.closed
by Jane Sandberg at 2023-04-25 16:36:11.head_ref_deleted
by Jane Sandberg at 2023-04-25 16:36:12.referenced
by Jane Sandberg at 2023-04-25 16:37:31.merged
by Jane Sandberg at 2023-04-25 16:37:31.closed
by Jane Sandberg at 2023-04-25 16:37:31.head_ref_deleted
by Jane Sandberg at 2023-04-25 16:37:32.referenced
by Christina Chortaria at 2023-04-24 22:06:44.merged
by Christina Chortaria at 2023-04-24 22:06:44.closed
by Christina Chortaria at 2023-04-24 22:06:45.head_ref_deleted
by Christina Chortaria at 2023-04-24 22:06:46.closed
by Christina Chortaria at 2023-04-24 22:06:47.@mzelesky if this is done can you close it? I added it in the current sprint.
mentioned
by None at 2023-04-25 13:35:28.subscribed
by None at 2023-04-25 13:35:28.closed
by None at 2023-04-25 13:38:41.referenced
by Kevin Reiss at 2023-04-25 14:16:31.merged
by Kevin Reiss at 2023-04-25 14:16:32.closed
by Kevin Reiss at 2023-04-25 14:16:32.head_ref_deleted
by Kevin Reiss at 2023-04-25 14:16:33.assigned
by Max Kadel at 2023-04-25 14:03:42.referenced
by Max Kadel at 2023-04-25 14:06:23.closed
by Kevin Reiss at 2023-04-25 14:16:33.@mzelesky we've added him. Let me check maybe we never ran the playbook
@mzelesky https://github.com/pulibrary/princeton_ansible/pull/3790. I'll run the playbook.
labeled
by None at 2023-04-25 14:18:49.mentioned
by None at 2023-04-25 14:19:57.subscribed
by None at 2023-04-25 14:19:57.mentioned
by None at 2023-04-25 14:21:32.subscribed
by None at 2023-04-25 14:21:32.closed
by Christina Chortaria at 2023-04-25 14:35:48.referenced
by Christina Chortaria at 2023-04-25 16:11:44.merged
by Christina Chortaria at 2023-04-25 16:11:44.closed
by Christina Chortaria at 2023-04-25 16:11:45.head_ref_deleted
by Christina Chortaria at 2023-04-25 16:11:46.Can we list all the file types that are piling up in this directory and then suggest hopefully a consistent rotation schedule for each type? I'd propose keeping a week's worth of data?
assigned
by Bess Sadler at 2023-04-25 19:28:22.The app stores certs in the "ssl" directory (currently at /var/local/ezproxy/ssl). There is a text file "active" that appears to point to the cert that shows as active in the web UI.
It does appear that the app creates a file with the .cnf that records the timestamp of when a new cert is activated that contains lines that look:
Each cert has three files stored in the app's ssl directory:
-rw------- 1 root ezproxy 241 Apr 22 10:54 00000012.key -rw------- 1 root ezproxy 2.1K Apr 22 10:54 00000012.crt -rw------- 1 root ezproxy 55 Apr 22 10:54 00000012.cnf -rw------- 1 ezproxy ezproxy 3 Apr 22 10:55 active
deployed
by None at 2023-04-25 13:08:30.referenced
by Christina Chortaria at 2023-04-25 13:12:58.merged
by Christina Chortaria at 2023-04-25 13:12:58.closed
by Christina Chortaria at 2023-04-25 13:12:58.head_ref_deleted
by Christina Chortaria at 2023-04-25 13:12:59.Coverage: 95.28% (+0.005%) from 95.275% when pulling 303b93787e49980b3bcaf39eb940cdcb00c5a4a3 on bookmarks-without-users into e43c1d3c48d3715d8c9d529dd9313a497d79f493 on main.
@sandbergja I didn't merge so that you remove the test you pointed out.
deployed
by None at 2023-04-25 13:23:32.mentioned
by Jane Sandberg at 2023-04-25 13:33:20.subscribed
by Jane Sandberg at 2023-04-25 13:33:20.referenced
by Jane Sandberg at 2023-04-25 14:48:52.merged
by Jane Sandberg at 2023-04-25 14:48:52.closed
by Jane Sandberg at 2023-04-25 14:48:52.head_ref_deleted
by Jane Sandberg at 2023-04-25 14:48:53.closed
by Jane Sandberg at 2023-04-25 14:48:54.This is an improvement in the form (not the actual issue): An example in resource sharing. The row is not selected, expected behavior is that is selected: https://catalog.princeton.edu/requests/SCSB-12077423?aeon=false
assigned
by Christina Chortaria at 2023-04-25 14:07:57.unassigned
by Max Kadel at 2023-04-25 14:08:02.To get a sense of the scale of the issue we are facing here asked for some fresh data on holdings with many items:
https://github.com/PrincetonUniversityLibrary/alma-config/issues/456
An interim solution for these records could simply be to look at the count of individual items that are listed in the holdings_1display "items" key. This data is added to the records from the Alma publishing process. If we judge that 500 items is the maximum amount the current form architecture can support we could have the request page at least give the user the same fallback behavior we provide for a record with no item data and allow them to manually type the volume info they want and submit the request to circulation staff so they can manually place the request the user in the appropriate staff interface (either Alma or SCSB).
For example if you check the raw solr_xml for https://catalog.princeton.edu/catalog/995639693506421, in https://catalog.princeton.edu/catalog/995639693506421/raw you'll see there are over a thousand items attached to a holding on the record.
assigned
by None at 2023-04-25 13:22:00.Today we noticed that this could be because of the way Globus displays the data by default, i.e. one panel vs two panels.
referenced
by James R. Griffin III at 2023-04-25 14:03:35.merged
by James R. Griffin III at 2023-04-25 14:03:35.closed
by James R. Griffin III at 2023-04-25 14:03:35.head_ref_deleted
by James R. Griffin III at 2023-04-25 14:03:36.The fix for this should come from upstream Globus. I'd caution against hacking the ~~perl~~ Python implementation on the node(s). Fix for this issue came from Globus Support but I continue to see odd behavior from Globus itself.
Thank you @kayiwa. I can confirm that access to the dataset that started this issue is at least now constant.
I've copied to Google drive the details of the ticket in Globus, including the commands that Francis ran (although I did not include our attachments). The PDF is here: https://drive.google.com/file/d/1_KcPvIW9YY-39rGyJyrrmQz6EKKjn8xu/view?usp=share_link
closed
by Francis Kayiwa at 2023-04-25 00:45:58.mentioned
by Francis Kayiwa at 2023-04-25 10:08:16.subscribed
by Francis Kayiwa at 2023-04-25 10:08:16.referenced
by None at 2023-04-25 17:29:51.merged
by None at 2023-04-25 17:29:51.closed
by None at 2023-04-25 17:29:51.head_ref_deleted
by None at 2023-04-25 17:29:52.referenced
by Hector Correa at 2023-04-25 18:55:09.merged
by Hector Correa at 2023-04-25 18:55:09.closed
by Hector Correa at 2023-04-25 18:55:09.head_ref_deleted
by Hector Correa at 2023-04-25 18:55:10.referenced
by Bess Sadler at 2023-04-25 19:13:37.merged
by Bess Sadler at 2023-04-25 19:13:37.closed
by Bess Sadler at 2023-04-25 19:13:37.head_ref_deleted
by Bess Sadler at 2023-04-25 19:13:38.unlabeled
by Bess Sadler at 2023-04-25 19:15:50.closed
by Bess Sadler at 2023-04-25 19:40:59.labeled
by Kevin Reiss at 2023-04-25 13:56:30.head_ref_force_pushed
by Max Kadel at 2023-04-25 13:21:41.review_requested
by Max Kadel at 2023-04-25 13:42:54.referenced
by Christina Chortaria at 2023-04-25 16:13:42.merged
by Christina Chortaria at 2023-04-25 16:13:42.closed
by Christina Chortaria at 2023-04-25 16:13:42.head_ref_deleted
by Christina Chortaria at 2023-04-25 16:13:43.referenced
by Max Kadel at 2023-04-25 13:21:41.closed
by Christina Chortaria at 2023-04-25 16:13:43.referenced
by Christina Chortaria at 2023-04-25 16:13:44.labeled
by Kevin Reiss at 2023-04-25 16:21:20.assigned
by Christina Chortaria at 2023-04-25 20:47:11.labeled
by Christina Chortaria at 2023-04-25 20:47:32.head_ref_force_pushed
by Francis Kayiwa at 2023-04-25 18:04:19.head_ref_force_pushed
by Francis Kayiwa at 2023-04-25 21:32:54.head_ref_force_pushed
by Francis Kayiwa at 2023-04-25 21:49:05.head_ref_force_pushed
by Francis Kayiwa at 2023-04-26 00:19:22.head_ref_force_pushed
by Francis Kayiwa at 2023-04-26 00:29:39.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 22:46:04.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 22:47:00.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 22:47:41.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 22:50:58.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 22:54:22.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 22:59:20.head_ref_force_pushed
by Jane Sandberg at 2023-04-24 23:06:18.closed
by Jane Sandberg at 2023-04-24 23:14:32.head_ref_deleted
by Jane Sandberg at 2023-04-24 23:14:37.ready_for_review
by Jane Sandberg at 2023-04-24 23:15:21.referenced
by None at 2023-04-25 20:00:20.merged
by None at 2023-04-25 20:00:20.closed
by None at 2023-04-25 20:00:20.head_ref_deleted
by None at 2023-04-25 20:00:21.labeled
by Kevin Reiss at 2023-04-25 03:06:38.labeled
by Kevin Reiss at 2023-04-25 03:09:11.labeled
by Kevin Reiss at 2023-04-25 13:46:29.


--- title: Unpublished Page published: false ---
This is an example of an unpublished page. This file should not appear in the _site folder.
_site


Lining up plans for tonight? Whether you're a local, new in town, or just passing through, Vivere’s got you covered.Check out our most
With a place for every taste, it's easy to find food you crave with Vivere. Explore options for cuisine all around the city.
{{r.name}}
Rating: {{r.user_rating.aggregate_rating}}, Phone #: {{r.phone_numbers}}
Highlights: {{r.highlights.join(", ")}}
{{r.location.address}} {{r.location.city}}


h2>Windows Firewall
Location
- Open Control Panel
- Find and click on Security
- Find and click on Windows Firewall
- Find and click on Turn Windows Firewall on or off
Settings
- Under the General tab
- [x] On (recommended)
- [ ] Block all incoming connections
- Under the Exceptions tab
- Only Core Networking and any required programs or services should have checkmarks
- Uncheck all other programs and features
- Under the Advanced tab
- Put a checkmark on all Network connections


The goal is display an SVG image in any capable browser using valid HTML and SVG.
The following leverages conditional comments, a feature introduced by
Microsoft in IE 5. The aim is to embed an SVG image using the non-standard
embed
element in IE 5, 6, and 7 or the standard
object
element in Opera, Firefox, etc. The code may need to be
updated if IE 8 turns out to support the object
element. No
JavaScript is used.
It is valid HTML 4.01 Strict.
The size is set to 120px by 40px in both the svg
element in
the SVG and the object
(or embed
) element in the
HTML.
Circle filled with red and stroked with blue.
object
content is not suppressed.
It may be possible to display using plugins on older browsers but this has not been tested. SVG viewers include ASV3, ASV6, CSV. Older browsers include Netscape 4 and 6, Mozilla to 1.7, Firefox to 1.0, Opera to 7.5. No testing has been done on non-Windows platforms yet.
The image should look like this:
Try zooming the page to confirm that the vector SVG image is being used. The fallback PNG images become grainier on magnification. FF2 zoom support is lacking, third party extensions may improve that.
The HTML used is
<!--[if IE]> <embed src="circle01.svg" width="120" height="40" pluginspage="http://www.adobe.com/svg/viewer/install/"> <![endif]--> <!--[if IE]><![if !IE]><![endif]--> <object width="120" height="40" data="circle01.svg" type="image/svg+xml"><span>Unable to show SVG. </span> </object> <!--[if IE]><![endif]><![endif]-->
Last modified: 2012-05-08T09:35:51+01:00