Hundreds of cats and dogs get put into animal shelters every year. These animals can range from being years old to only a couple months. Some of these animals come from pet farms, where cats and dogs are forced to breed in order for the puppies and kittens to be sold in pet shops. Depending on the shelter, the cats and dogs can only stay for several weeks before being culled. This is only a small portion of the problem. There are still thousands of stay cats and dogs roaming the streets of Japan as well as the world. In one shelter in Australia, they had over 600 dogs and cats put into the shelter every year. This is a problem that is prevalent all over the world, and hundreds of animal lives are lost every week.
Irresponsible pet owners
Pet owners that adopt pets when they are young and then release them when they are old or because of other reasons, create a large portion of stray animals. If you cannot keep your pet anymore the most responsible action is to admit it into a shelter.
Not Neutering Pets
By not neutering your pets and then releasing them into the wild, you exponentially increase the animal population in your area. This is why animal shelters, often after receiving a pet into the shelter, neuter them.
Adoption from pet shops
Adopting from pet shops rather then your local shelter increases the number of animals in shelters as well as increases the number of animals shelters have to cull. By choosing to adopt from shelters, it helps the shelters as well as the animals.
Animal Protection Project (APP) is run by 7 students who love animals and want to save dogs and cats being abandoned by people and killed in animal shelters in Japan. Our ultimate goal is to create a society where people and animals live in harmony. We are trying to reduce the number of dogs and cats killed in animal shelters in Japan to 0. We will approach our goal by raising people’s awareness of animal welfare, spreading the idea of all animals are equal, and taking initiative to help animals find their new home and family. For example, by making videos about the plight of animals in shelters might raise the general public’s awareness towards the problem. Moreover, if we start taking action, even if it is a tiny little step, we believe it can make a big audacious change. General Information


Shredding Company
问题描述 :
1.The shredder takes as input a target number and a sheet of paper with a number written on it.
2.It shreds (or cuts) the sheet into pieces each of which has one or more digits on it.
3.The sum of the numbers written on each piece is the closest possible number to the target number, without going over it.
For example, suppose that the target number is 50, and the sheet of paper has the number 12346. The shredder would cut the sheet into four pieces, where one piece has 1, another has 2, the third has 34, and the fourth has 6. This is because their sum 43 (= 1 + 2 + 34 + 6) is closest to the target number 50 of all possible combinations without going over 50. For example, a combination where the pieces are 1, 23, 4, and 6 is not valid, because the sum of this combination 34 (= 1 + 23 + 4 + 6) is less than the above combination’s 43. The combination of 12, 34, and 6 is not valid either, because the sum 52 (= 12 + 34 + 6) is greater than the target number of 50.
Figure 1. Shredding a sheet of paper having the number 12346 when the target number is 50
There are also three special rules :
1.If the target number is the same as the number on the sheet of paper, then the paper is not cut.
For example, if the target number is 100 and the number on the sheet of paper is also 100, then
the paper is not cut.
2.If it is not possible to make any combination whose sum is less than or equal to the target number, then error is printed on a display. For example, if the target number is 1 and the number on the sheet of paper is 123, it is not possible to make any valid combination, as the combination with the smallest possible sum is 1, 2, 3. The sum for this combination is 6, which is greater than the target number, and thus error is printed.
3.If there is more than one possible combination where the sum is closest to the target number without going over it, then rejected is printed on a display. For example, if the target number is 15, and the number on the sheet of paper is 111, then there are two possible combinations with the highest possible sum of 12: (a) 1 and 11 and (b) 11 and 1; thus rejected is printed. In order to develop such a shredder, you have decided to first make a simple program that would simulate the above characteristics and rules. Given two numbers, where the first is the target number and the second is the number on the sheet of paper to be shredded, you need to figure out how the shredder should “cut up” the second number.
输入:
tl num1
t2 num2
…
tn numn
0 0
Each test case consists of the following two positive integers, which are separated by one space : (1) the first integer (ti above) is the target number, (2) the second integer (numi above) is the number that is on the paper to be shredded.
Neither integers may have a 0 as the first digit, e.g., 123 is allowed but 0123 is not. You may assume that both integers are at most 6 digits in length. A line consisting of two zeros signals the end of the input.
输出:
sum part1 part2 …
rejected
error
In the first type, partj and sum have the following meaning :
1.Each partj is a number on one piece of shredded paper. The order of partj corresponds to the order of the original digits on the sheet of paper.
2.sum is the sum of the numbers after being shredded, i.e., sum = part1 + part2 +…
Each number should be separated by one space.
The message error is printed if it is not possible to make any combination, and rejected if there is
more than one possible combination.
No extra characters including spaces are allowed at the beginning of each line, nor at the end of each line.
样例输入:
50 12346 376<PHONE_NUMBER>38 927438 18 3312 9 3142 25 1299 111 33333 103 862150 6 1104 0 0
样例输出:
43 1 2 34 6 283<PHONE_NUMBER>38 927438 18 3 3 12 error 21 1 2 9 9 rejected 103 86 2 15 0 rejected
解题代码:
/* @author: */ import java.util.*; public class Main { private int target; private char num[]; private int max; private StringBuffer s; private StringBuffer result; boolean check; public Main(int target,char num[]){ this.target=target; this.num=num; max=0; s=new StringBuffer(""); result=new StringBuffer(""); } public boolean getCheck(){ return check; } public int getMax(){ return max; } public String getResult(){ return result.toString(); } private boolean isOk(){ int sum=0; for(int i=0;i< num.length;i++){ sum+=num[i]-'0'; } if(sum>target) return false; else return true; } void dfs(int startIndex,int sumTotal){ int i,t=0; if(startIndex==num.length) { if(sumTotal==max){ check=false; }else if(sumTotal>max){ check=true; max=sumTotal; result=s; } } for(i=1;i< num.length-startIndex+1;i++){ t*=10; t+=num[startIndex+i-1]-'0'; if(t+sumTotal>target) return; StringBuffer tt=new StringBuffer(s); s.append(Integer.toString(t)).append(" "); dfs(startIndex+i,sumTotal+t); s=tt; } } public static void main(String args[]){ Scanner sc=new Scanner(System.in); while(sc.hasNext()) { int target=sc.nextInt(); char num[]=sc.next().toCharArray(); if(target==0) break; Main m=new Main(target,num); if(!m.isOk()) System.out.printf("error\n"); else{ m.dfs(0,0); if(!m.getCheck()) System.out.printf("rejected\n"); else{ System.out.print(m.getMax()+" "); System.out.println(m.getResult()); } } } } }
这一题的代码这样提交时错误的~少考虑了很多情况
我又来学习了
给力，赞一个
如何解决overload的问题呢？
不错的网站，建议添加些比赛信息
int L[m+1][n+1];这样定义出错，这个在gcc上可以编译通过 在VS上不行 应该改为new 或者vector
不错，感谢分享。
很好。代码比书上的简练！
很好的思路，可以借鉴
Pingback: Gucci New Fall Arrivals
您没有考虑 树的根节点是负数的情况， 若树的根节点是个很大的负数，那么就要考虑过不过另外一边子树了
不错的网站，建议添加些比赛信息
懂了，谢谢啦
博主的C++功底真是好


Instructions
To submit a need, simply enter your name, best contact email, and a short description of your need. Please consider submitting up to three needs per day to allow others a chance to have their needs met.
Example needs:
-A gardening lesson how to prep my spring garden
-An artist to paint a mural on the family room wall
-A dinosaur mascot to come to a child’s birthday party


Dependency Graph for atmat/atphysics/NonLinearDynamics
GitHub Website
at
© 2018
Generated by
m2html
© 2005


All of your favorite people
People automatically puts together all of the people you care most about in one place.
All of your favorite people
People automatically puts together all of the people you care most about in one place.
Birthday
Alton Lafferty
September 4, 1985
All of your favorite people
Message body is optional. If help documentation is available, consider adding a link to learn more at the bottom.
All of your favorite people
Message body is optional. If help documentation is available, consider adding a link to learn more at the bottom.
All of your favorite people
People automatically puts together all of the people you care most about in one place.


--- layout: page title: Transcriptions use-site-title: true ---
Transcription is an important part of the journey as a creative musician. I think it's most important to focus whatever music resonates most with you. And that's the beauty of it. By virtue of studying this music, your preferences will be reflected in your voice as an artist.
In recent years, my transcription efforts have been focused on compositions (rather than improvisations). Here are a few I've transferred to my computer.
| Song Title | Composer | Album/Artist | ||||
| Sky/Lift | Randy Ingram | Sky/Lift | C | |||
| Microcosm For Two | Jonathan Kreisberg | Unearth | C | Bb | Eb | |


Geospatial analytics offers 3 ways to better engage stakeholders…
Contextualizing place motivates stakeholders to explore an issue that affects them
Making it spatial, makes it personal
Visualizing spatial interaction catalyzes new understandings of connectedness
What happens here, affects there!
Where’s the problem? What’s the process?
Dynamic, adaptive models that enable stakeholders to visualize and explore the roles of place, spatial interaction, and spatial scale through all steps of the research process


Booster
public class Booster
A Booster of XGBoost, the model of XGBoost.
-
If the Booster is initialized, by simply checking if the BoosterHandle is non-nil.
Declaration
Swift
public var initialized: Bool { get }
-
Constructor of Booster
Declaration
Parameters
params
[(String, String)] - Booster parameters. It was changed from Dictionary to array of set to enable multiple
eval_metric
, now it does not need to provideevalMetric
for multipleeval_metric
.cache
[DMatrix]
modelFile
String? - If the modelFile param is provided, it will load the model from that file.
Return Value
Booster
-
Use .json as filename suffix to save model to json. Refer to XGBoost doc
Declaration
Swift
public func saveModel(toFile fname: String) throws
-
Dump model to a text or json file
Declaration
Swift
public func dumpModel(toFile fname: String, featMapName fmap: String = "", withStats: Bool = false, dumpFormat: String = "text") throws
Parameters
toFile
file name of the output model dump
featMapName
file name contains the feature map names
withStats
whether output split statistics
dumpFormat
the format to dump, “text”, “json” or “dot”
-
Load previously saved model from file
Declaration
Swift
public func loadModel(fromFile fname: String) throws
-
Get an attribute by key
Declaration
Swift
public func attr(key: String) -> String?
-
Get all the attributes
Declaration
Swift
public func attributes() -> [String : String]
-
Set an attribute, pass
value
as nil to delete an attribute.Declaration
Swift
public func setAttr(key: String, value: String?)
-
Set Parameters by name and value
Note: XGBoost C API accepts wrong param key-value pairs when setting, but will throw error during training or evaluating. Check document to make sure they are right.
Declaration
Swift
public func setParam(name k: String, value v: String)
-
Set eval_metric. Deprecated use setParam() with parameter name
eval_metric
instead.Declaration
Swift
public func setEvalMetric(_ metrics: [String])
-
Evaluate a set of data
booster.eval(set: [(train, "train"), (test, "test")], currentIter: 1)
Declaration
Parameters
set
list of tuples (DMatrix, name of the eval data)
currentIter
current iteration
Return Value
Evaluation result if successful, a string in a format like “[1]\ttrain-auc:0.938960\ttest-auc:0.948914”,
-
Evaluate data
Declaration
Swift
public func eval(data: DMatrix, name: String, currentIter: Int = 0) -> String?
Parameters
data
DMatrix to be evaluate on
set
name of the eval data
currentIter
current iteration
Return Value
Evaluation result if successful, a string in a format like “[1]\ttrain-auc:0.938960\ttest-auc:0.948914”
-
Predict labels on the data.
Declaration
Swift
public func predict(data: DMatrix, outputMargin: Bool = false, nTreeLimit: Int = 0, predLeaf: Bool = false, predContribs: Bool = false, training: Bool = false) -> [Float]
Parameters
data
DMatrix - The data to predict on
outputMargin
bool - Whether to output the untransformed margin value
nTreeLimit
Int - Limit the number of trees, set to 0 to use all the trees (default value)
predLeaf
Output leaf index of trees instead of leaf value, note leaf index is unique per tree
predContribs
Output feature contributions to individual predictions
training
whether the predicted value is to be used for training, e.g., for
update()
Return Value
[Float]
-
Save model config to a file.
Declaration
Swift
public func saveConfig(toFile fname: String) throws
-
Load model config from a file
Declaration
Swift
public func loadConfig(fromFile fname: String) throws
-
Get feature importance of each feature.
importanceType:
- weight: the number of times a feature is used to split the data
- gain: the average gain of the feature is used to split across all features
- total_gain: the total gain of the feature is used to split across all features
- cover: the average coverage of the feature is used to split across all features
- total_cover: the total coverage of the feature is used to split across all features
Declaration
Swift
public func getScore(featMapName fmap: String = "", importanceType: String = "weight") throws -> [String: Float]
Parameters
featMapName
file name contains the feature map names
importanceType
- weight: the number of times a feature is used to split the data
- gain: the average gain of the feature is used to split across all features
- total_gain: the total gain of the feature is used to split across all features
- cover: the average coverage of the feature is used to split across all features
- total_cover: the total coverage of the feature is used to split across all features
Return Value
a dictionary of feature: score


Hello,
I'm experiencing a time update problem whereby the time on my emonGLCD only displays uptime instead of normal time. I am running emoncms installed on a Raspberry Pi and the GLCD is picking up the power readings from emonTX v2.
I've added "sendtimeinterval = 60" to emonhub.conf and restarted the emonhub service (also with debug):
2015-07-27 16:52:29,465 INFO EmonHub Pre-Release Development Version (rc1.2)
2015-07-27 16:52:29,468 INFO Opening hub...
2015-07-27 16:52:29,471 INFO Logging level set to DEBUG
2015-07-27 16:52:29,484 INFO Creating EmonHubEmoncmsReporter 'emonCMS'
2015-07-27 16:52:29,489 INFO Set up reporter 'emonCMS' (buffer: memory | size: 1000)
2015-07-27 16:52:29,504 INFO Setting emonCMS url: http://localhost/emoncms
2015-07-27 16:52:29,506 INFO Setting emonCMS apikey: set
2015-07-27 16:52:29,509 INFO Creating EmonHubJeeInterfacer 'RFM2Pi'
2015-07-27 16:52:29,524 DEBUG Opening serial port: /dev/ttyAMA0 @ 38400 bits/s
2015-07-27 16:52:31,533 DEBUG Opening serial port: /dev/ttyAMA0 @ 9600 bits/s
2015-07-27 16:52:35,543 INFO RFM2Pi device firmware version & configuration: not available
2015-07-27 16:52:35,546 INFO Setting RFM2Pi frequency: 433 (4b)
2015-07-27 16:52:36,550 INFO Setting RFM2Pi group: 210 (210g)
2015-07-27 16:52:37,564 INFO Setting RFM2Pi quiet: 1 (1q)
2015-07-27 16:52:38,568 INFO Setting RFM2Pi baseid: 15 (15i)
2015-07-27 16:52:39,587 DEBUG RFM2Pi acknowledged command: > 4b
2015-07-27 16:52:40,024 DEBUG RFM2Pi acknowledged command: > 210g
2015-07-27 16:52:40,458 DEBUG 1 NEW FRAME :<PHONE_NUMBER>.46 20 202 10
2015-07-27 16:52:40,461 DEBUG 1 Timestamp :<PHONE_NUMBER>.46
2015-07-27 16:52:40,464 DEBUG 1 Node : 20
2015-07-27 16:52:40,466 DEBUG 1 Values : [2762]
2015-07-27 16:52:40,486 DEBUG 1 Append to 'emonCMS' buffer => time:<PHONE_NUMBER>.46, data: [20, 2762], ref: 1
2015-07-27 16:52:40,590 INFO emonCMS sending: http://localhost/emoncms/input/bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1438012360.46,20,2762]]&sentat=1438012360
2015-07-27 16:52:40,691 DEBUG RFM2Pi acknowledged command: > 1q
2015-07-27 16:52:40,778 DEBUG emonCMS acknowledged receipt with 'ok' from http://localhost/emoncms
2015-07-27 16:52:40,919 DEBUG RFM2Pi acknowledged command: > 15i
Previous posts have suggested that there should be a "DEBUG Broadcasting time: " line but I haven't seen one.
Any ideas anyone? Many thanks.
Re: emonGLCD time update
You need " interval" in emonhub.conf not "sendtimeinterval", the norm is to use "interval = 300" (300s being 5mins).
BTW you don't need to restart emonhub when updating the settings, the changes are picked up and implemented in runtime.
Paul
Re: emonGLCD time update
Hi Paul.
Thanks for that. Excellent! And thanks for the not-having-to-restart-emonhub tip :-).
Cheers.


My name is
You can view these slides at:
davidfugate.com/presentations/walkthrough-rwd
Let's first examine each word.
What's the most important word of the three?
The most important word in the phrase
Because 'web' is the medium we're 'designing' for, and 'responsive' is just an adjective that describes the kind of web we're building.
The key to creating a successful
responsive web design
is understanding the web.
The web is powerful and unique,
so we should leverage it's advantages.
but also...
We should discard any outmoded mental models we've borrowed from other mediums that fail to serve us well on the web.
When television was in it's infancy,
most of the stars came from radio, and the first programs borrowed their formats from radio, such as radio plays, variety shows, and orchestra concerts.
The radio plays in particular weren't 'movie versions' of popular plays - these were literally radio actors, filmed in front of microphones, reading.
That was TV!
We were now able watch people read!
(instead of just hearing them on the radio)
It took a few years for creators to experiment and leverage the advantages that television offers that are not accessible (or even possible) to do on radio.
When I was developing newspaper sites in 2007 - 2011, everyone felt confident where "above the fold" and "below the fold" existed.
The idea of "above the fold" was adopted from print. Above the fold means all of the content a user can see on their screen without scrolling down. This came from the idea that real newspapers are folded when you buy them - the top half that users can see without unfolding the paper was literally "above the fold".
Our users had a smaller range of monitor resolutions. As long as their monitors were at least 1024px wide, they got the optimal user experience our industry provided, and we could make reasonable assertions (within a couple hundred pixels), of where "above the fold" was on their screens.
The prevalence of smart phones and iPads during the emergence of responsive web design had an unexpected and unfortunate consequence...
Our designers will just create 3 different PSDs, one for each breakpoint!
If we implement those in pixel perfect fashion, our work here is done!
Responsive Web Design is a methodology for building websites without favor towards specific devices, platforms, or resolution sizes, as such that the website is optimized at all viewport widths, for all devices, in all platforms and that utilize a modern browser.
Effective responsive Web Design has to be a "content-first" approach, where content components are be developed to be fully responsive at any viewport width on it's own merits, regardless of whether the breakpoints used are or are not in concert with other components or happen at device specific resolutions.
You can select from different transitions, like:
Cube -
Page -
Concave -
Zoom -
Linear -
Fade -
None -
Default
Reveal.js comes with a few themes built in:
Default -
Sky -
Beige -
Simple -
Serif -
Night
Moon -
Solarized
* Theme demos are loaded after the presentation which leads to flicker. In production you should load your theme in the
using a <link>
.
Set data-state="something"
on a slide and "something"
will be added as a class to the document element when the slide is open.
Additionally custom events can be triggered on a per slide basis by binding to the data-state
name.
Reveal.addEventListener( 'customevent', function() {
console.log( '"customevent" has fired' );
} );
Set data-background="#007777"
on a slide to change the full page background to the given color. All CSS color formats are supported.

Pass reveal.js the backgroundTransition: 'slide'
config argument to make backgrounds slide rather than fade.
You can override background transitions per slide by using data-background-transition="slide"
.
These guys come in two forms, inline:
“The nice thing about standards is that there are so many to choose from”
and block:
“For years there has been a theory that millions of monkeys typing at random on millions of typewriters would reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”
function linkify( selector ) {
if( supports3DTransforms ) {
var nodes = document.querySelectorAll( selector );
for( var i = 0, len = nodes.length; i < len; i++ ) {
var node = nodes[i];
if( !node.className ) {
node.className += ' roll';
}
}
}
}
Courtesy of highlight.js.
You can link between slides internally, like this.
Hit the next arrow...
... to step through ...
any type
There's a few styles of fragments, like:
grow
shrink
roll-in
fade-out
highlight-red
highlight-green
highlight-blue
current-visible
highlight-current-blue
Presentations can be exported to PDF, below is an example that's been uploaded to SlideShare.
Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen during a presentation.


--- layout: splash title: "Ricky Thomas" description: "My life as a Fullstack Developer" --- Toggle navigation About Blog Portfolio Contact
FullStack Web Developer living in New York City. Enjoying life and building beautiful, meaningful things.


SARS-CoV- OpenUrl pro compounds Figure CrossRef binding coronavirus group shown protease activity crystal new pocket respectively. complex main viral bonds good inhibition inhibitors showed <;strong>;a<;/strong>; compound exhibited hydrogen inhibitor novel structure toxicity Abstract Coronavirus FREE Text aldehyde cell drug Med S). Vero brown cells dashed indicated intravenous molecules pro, rats residues site structures <;strong>;b<;/strong>; B). COVID- His Novel RNA S)-γ-lactam Science Table X., acute antiviral aryl assays. chain clinical covalent cytotoxicity determined peptidomimetic pro) pro. respiratory results ring substrate-binding virus μM, (CL ;<;div Close-up CoV CoVs Cys DIPEA, Download HATU, HCl, Hydrogen L., Open Z., aldehydes anti-SARS-CoV- assay chains collected concentration cyclohexyl data data-hide-link-title=""> data-icon-position="" designed drugs figure form green high hydrophobic indole located low mean pneumonia role series severe site. stabilizing sticks synthesized tab treatment using value view yield


a11y
- A short way of writing "accessibility."
- A numeronym of "accessibility" created by replacing the middle eleven letters with the number 11. (a + 11 + y)
See also: "a11y" according to The A11y Project.
So, what is "accessibility?"
Accessibility is many things. When "a11y" is used, it usually means the practice of making websites, applications, and other programs usable by people with disabilities.


To obtain azimuth/altitude, fill in the Right Ascension/Declination and click the [Calculate] button. To obtain Right Ascension/Declination, fill in Azimuth/Altitude and click the [Calculate] button.
Note: Formulas were obtained from the Paul Schlyter web site, Computing planetary positions - a tutorial http://stjarnhimlen.se/comp/tutorial.html.
[Return to Top]
[Go to Home Page]
Copyright © 2005 Muskegon Astronomical Society, Inc.
This web page was last updated 08/20/14


A site to help you fight fake news.
Short answer? Everyone. In a 2012 survey on political rumors, 70% of respondents expressed belief in at least one rumor asked about, and these results were well-distributed across the population, crossing many demographics- including political parties. Yes, that means both Republicans and Democrats sometimes hold crazy beliefs and can fall in the fake news trap.
A lot of research has been done to figure out why people believe misinformation. Not much of that research has been conclusive. One thing research has shown is that once you read something false, it tends to stick in your brain you remember it ss true even after it has been corrected. This 'continued influence effect', as it is called, seems to be nearly impossible to correct. So, once you accept false information to be true, chances are you will always remember it is true- even if it is corrected.
One of the major things we can do to keep ourselves from falling into the fake news trap is to be vigilant. We need to critically read all of our news sources- and be ready to come across misinformation. Research has shown that the continued influence effect can be combatted effectively more often when a person is warned that the information they are reading could be false, and if they receive alternative, true information to replace the misinformation.
This site wants to help you learn more about where fake news comes from, and to help warn you if an online news article is coming from a less than trustworthy source. Using a database of known fake news sources from PolitiFact, this site maps where fake news comes from, and offers a fake news checker in which you can submit your article URL, and we'll let you know whether it comes from a known fake news site or not. This way, you can be prepared and read your news critically.
Input the URL of your article below, and the fake news checker will look through a list of known fake news websites compiled by PolitiFact and let you know if your article comes from one of those sites. Enter URL:
This site is:


It is bad practice to hard-code IDs in methods or constructors.
public void method (ID newRecordID) { for (Account current : listOfcounts){ if (current.getId == '34345446546546a') { } } method('3266sd35435sd6a'); }
public void method (ID newRecordID) { for (Account current : listOfcounts){ if (current.getId == newRecordID) { } } otherMethod(newRecordID); }


Real Time Mediation Monitoring
Monitor proxy services, endpoints and sequences and their operations in real time. The
results gathered from the real-time monitoring are presented in a clear and easy-to-view
format.
Mediation Analysis
Analyze the historical mediation trends over time with the help of visualization
framework.
Summary Generation
Generate a summarised view of collected statistics & write gadgets to display these
summarised data.
Service Invocation Analysis
Write gadgets to consume service statistics and present to end user. Dashboard
support
Google Gadget specification.
Dashboard
Monitor and correlate related business activities across multiple server instances.
These activities can be used to track and verify the smooth execution of business.
Activity Correlation & Monitoring
Monitor and correlate related business activities across multiple server instances.
These activities can be used to track and verify the smooth execution of business.
Message Collection & Archival
Collect messages coming into your SOA, analyze & archive for future retrieval.


[Tim Buchheim]Tue Dec 10 19:02:19 PST 2002
Two changes to the animation of broadcast packets in wireless scenarios:
- bcast packets used to be animate in real time, not virtual time. so
if you changed the playback speed (or even paused it) the circles would
always expand at the same real rate.  So if you slow down the playback
rate, the circles will move slower. If you increase playback rate, they
move faster.
you can now set the speed for broadcast packets. (previously they
ran at a hardcoded speed.) Use something like the following:
v -t 0.0 -e set_bcast_duration 0.02
The default is currently set to 0.01 (units are seconds)
-
[mehringe] Fri July 6 2001
- Added Loss Models and Queue Types to the nam editor.
- Added Exponential, Pareto, and Telnet traffic sources.
-
[mehringe] Wed May 9 2001
More nam editor updates, it is staring to look nice now.
- Moved object properties to a popup window instead of a side pane.
- Fixed save and save as dialog boxes and removed unecessary
use of a temp file.
- Fixed the color popup window to place the color value
in the proper text box when double click upon.
- Removed the unused stop, fast-forward, play, reverse buttons.
- Disabled the edit menu commands until those are finished.
-
[mehringe] Fri Mar 23 2001
I added saving and opening of nam editor ns scripts, added modification of different object properties, and added the time slider for setting start and stop times for traffic sources
-
[mehringe] Wed Feb 7 17:20:15 PST 2001
Major updates to the nam editor. Currently it only has a small subset of the total functionality but basic scripts can be created and run. More things will be filled in over the next couple of months.
-
[mehringe] Thu Dec 14 16:45:48 PST 2000
Rewrote parsing code to be table driven and more stable. Cleaned up nam trace file syntax
to remove trace event language ambiguities but tried to keep backwards compatibility.
Added files parser.h and parser.cc.
-
[johnh] Tue Dec 12 10:36:34 PST 2000
Updated config.guess to autoconf's current one.
-
[difa] Fri Dec 08 17:32:34 PST 2000
Modify nam_stream.cc so that nam can use non-blocking I/O to handle pipe input.
- [johnh]Fri Oct 6 20:28:20 PDT 2000
Another few compile problems for redhat 7.0/gcc 2.96.
- [mehringe]Fri Oct 6 07:59:55 PDT 2000
Nam now allows you to dynamically add nodes and links. You still have to define the node but you can do it at any time during the simulation. Before all nodes and link had to be defined at -t *.
- [johnh]Thu Aug 10 15:15:55 PDT 2000
Nam now builds on redhat linux 7.0 with gcc 2.96 (and with
other compilers than allow ANSI's xor keyword).
- [hyunah]
Thu May 18 11:12:20 CDT 2000
Added nam option and ns commands for nam validation test.
- nam -z : to play nam as soon as it starts
- $ns snapshot : to take a snapshot
- $ns rewind-nam : to play back
- $ns re-rewind-nam : to play forward after play back
- $ns terminate-nam : to exit nam
- [hyunah]
Sun Apr 9 8:18:54 PDT 2000
nam validation test was added.
- [haoboy]
Mon Apr 3 15:28:44 PDT 2000
Fixed bug in wireless trace. Basically NetModel::layout_node{} did
not pass parameters in the correct order. Now dlabel becomes the
last parameter and it should work for all cases.
- [haoboy]
Thu Mar 23 19:38:29 PST 2000
- Currently autolayout does not work due to some mysterious reasons as
I explain below.
Everything happened between Feb 27 and March 1st,
2000. Specifically, it's due to changes in netmodel.cc v1.74 to
v1.75, and tcl/netModel.cc v1.10 and v1.11.
If the lines 174-178 in tcl/netModel.tcl does not contain $dlabel
stuff, auto layout works fine. But when they are added, it's messed
up even if the dlabel processing code in netmodel.cc is never called
due to the default empty dlabel string. I suspected it was a memory
problem but purify did not give anything.
Therefore, I changed those lines in tcl/netModel.tcl to only add the
$dlabel arguments when it's not empty. Thus done, auto layout now
works for existing trace files. However, I still don't understand
why it behaves this way. It smells suspicious of something wrong
somewhere else, and it must be fixed before new code should be
added.
- Fixed the route entry stuff; now it works when node zooms or
auto layout.
- Fixed indentation in various places to the default 8.
- Changed three class member variables to carry the underscore
suffix so they conforms to coding convention and it's easy to
distinguish between class member variables and other auto
variables.
- [hyunah]
Sun Mar 19 21:24:08 PST 2000
* removing duplicate code (draw stuff for PSView). Using View instead.
* nam editor
- adding "runNs" command so that users don't need to type "ns xxx.nam" explicitly
- [hyunah]
Tue Feb 29 15:41:27 PST 2000
* nam editor
- add agent information of reloading function
- [hyunah]
Tue Feb 15 17:45:38 CST 2000
* nam + nam editor
- adding icon explaining box
- [kclan]
Mon Feb 14 20:23:31 PST 2000
adding interactive control for coloring packet flow on the fly
- [hyunah]
Thu Feb 10 15:36:56 PST 2000
* nam editor
- adding Application option to AgentProperty such as starting/ending
time
- [hyunah]
Wed Feb 9 15:57:20 PST 2000
* nam editor
- modifying "link" for backward-compatibility.
(making link either by click-&-drag or click-&-click)
- adding tcl script for FullTcp destination agent
- [hyunah]
Tue Feb 8 19:46:04 PST 2000
* nam editor
- adding AgentProperty to support Agent Options such as
windowInit_, cwnd_ in TCP and packetSize_ in CBR.
- [kclan]
Mon Feb 07 12:23:31 PST 2000
adding interactive control to filter packet on the fly
- [hyunah]
Mon Feb 7 14:43:43 PST 2000
* nam editor
- adding click_and_draggable link between nodes, and between
agents
- adding CBR connection
- adding fid (0~4) to provide different color per flow
- fixing bug to have consistent view between editor and normal nam
window
- supporting multiple TCP conenctions
- inserting "open" command
- fixing bugs related to "cut" function, node numbering, and
attaching agent on nodes.
- [hyunah]
Thu Jan 27 14:53:52 PST 2000
Adding graphical interface on attaching agent in nam editor
- [kclan]
Tue Jan 25 19:06:18 PST 2000
Fix bugs in using hierarchical routing for wireless(using
node id instread of node address for animation)
- [hyunah]
Tue Jan 25 17:56:58 PST 2000
Modifying an outline of nam editor
- [hyunah]
Mon Jan 24 19:35:34 PST 2000
Modifying nam editor view to accommodate the new function, which is replacing
editview entry with toolbar.
- [hyunah]
Tue Jan 18 19:51:06 PST 2000
Added agents to nam editor
(works for one pair of TCP and TCPSink agents)
- [haoboy]
Wed Dec 22 14:33:05 PST 1999
Added node size scale up/down buttons in the zoom bar.
- [haoboy]
Mon Dec 13 16:21:21 PST 1999
Replace the edit view menu entry with a toolbar button so that
topology editing can be turned on at any time without opening a new
view.
- [haoboy]
Thu Dec 9 14:38:02 PST 1999
Fix the node (inner) label color so that it can be set to background color.
Basically add new color parameter to Paint::text_gc() so we can allocate
a font GC with a specific color.
Remaining Problem: PSView still cannot handle this node label
color correctly.
- [haoboy]
Fri Dec 3 10:23:18 PST 1999
Added support for large flow id and color ids.
- [kunchan]
Thu Nov 16 17:00:37 PDT 1999
Adding mechanism for visualization of packet flow in wireless simulation.
- [hyunah]
Fri Oct 29 19:20:03 PDT 1999
Several features of labels both on node and edge are added such as
color and position.
The examples of new commands are following
$ns at 0.0 "$n(0) label-color yellow"
$ns at 0.0 "$n(0) label-at NORTH"
$ns at 0.0 "$ns duplex-link-op $n(0) $n(1) label cost=1"
$ns at 0.0 "$ns duplex-link-op $n(0) $n(1) color green"
$ns at 0.0 "$ns duplex-link-op $n(0) $n(1) label-at WEST"
- [haoboy]
Thu Jun 17 17:02:37 PDT 1999
Changed ns-developers in www.tcl to ns-users.
- [haoboy]
Thu Apr 15 11:14:20 PDT 1999
Re-instated options '-j' and '-r' to control the startup time and
animation rate.
- [haoboy]
Wed Apr 14 13:36:42 PDT 1999
Changed tcldbg library initialization so that it works with tcldbg
1.7 through 1.9.
- [haoboy]
Sat Apr 3 14:43:10 PST 1999
Allow user to provide initialization file for every source
file. However, the initialization that can be done in these files
(i.e., provided by -f or -u options) is limited, because sourcing of
these files is done inside a instproc{}. Currently, it is
recommended that only operations to be included in these
initialization files are to reset class variables; redefinition of
existing OTcl methods in these files does not seem to work.
One example of the initialization file is to define initial
animation rate. This can be done by including the following line
into a file, say, n1.tcl: Animator set INIT_RATE_
2ms
. Then run nam like this: nam -u n1.tcl a.nam
- [haoboy]
Mon Mar 29 15:50:01 PST 1999
After "reset" button is pressed, nam should redraw screen to reflect
the changes in layout. Modified files: anetmodel.{cc,h}.
- [haoboy]
Sat Mar 13 15:16:56 PST 1999
Added startup option '-k ' to allow users to
specify the initial port address to search from.
- [salehi]Fri Mar 12
12:40:10 PST 1999
Configured with the new versions of Tcl, TK, OTcl, and TclCl.
- [haoboy]
Wed Mar 10 19:17:59 PST 1999
Fixed WIN32 incompatibilities in nam_stream.{cc,h}. Changed
conf/makefile.win to allow generating debugging version under win32.
Updated source file list in makefile.vc.
- [johnh]Fri Mar 5 15:03:03 PST 1999
Make now complains if you need to run configure.
(Based on Adam Costello's ns fix.)
- [haoboy]Tue Jan 12
12:43:44 PST 1999
-
Removed msgbox.tcl and tkfbox.tcl from tcl/. They belong to tk
distribution and shouldn't be included here. Tclcl was modified to
handle embedded XBM files inside tcl script; msgbox.tcl and
tkfbox.tcl were embedded into tclcl.
- Modified all codes related to timeslider so that if
maxtime==mintime, the timeslider code will still work instead of
producing a coredump.
- [Ya]Fri Dec 11 17:04:52 PST 1998
An Editor is added to nam to allow the user to interactively edit the
simulation
topology in a WYSIWYG style. Current new features include:
- Create simulation topology
- Edit Object's properties in the topology
Node: Color, Size, Label, Agents
Link: Color, Bandwidth, Delay
- Add/Delete node and link object
Export the result to a tcl file (*.nstcl) which can be excuted under ns
- Save as an editable nam file (*.enam)
- [Ya]Thurs Nov 12 17:04:52 PST 1998
Autoconf support for zlib is added.
self-adjusted timeslider works with zlib support.
- [johnh]Fri Nov 6 17:04:52 PST 1998
Nam will now play compressed files (files ending in .Z or .gz,
if nam is built with -DHAVE_ZLIB)
and from pipes (use the filename ``-'').
Autoconf support for zlib is still needed.
Compressed files play very slowly backwards.
Playing from a pipe buffers trace data in a file in /tmp.
Oct 22 17:31 PDT 1998[Ya]
- Preliminary mobility support (under active development)
- Node lable support
- Support for simplex links
- Various bug fixes.
Released with ns-2.1b4 and ns-allinone-2.1b4
Sep 2 17:31 PDT 1998[Ya]
- Namgraph for high-level drill-down analysis
- Nam console with multi-model support
- Layout editor
- LAN visualization support ( Need ns-2.1b4 to create tracefile for the
feature. Ns-2.1b4 is not released yet at this moment )
- Compatible with Tcl/TK 8.0, Win32.
- Some new examples to demonstrate these new features including
nam-1/ex/tcpsrm.nam, tcpecn.nam and lantest.nam.
- Various bug fixes.
- A win32 version is provided in reponse to heavy request from ns-users.
-
[Ya]
Aug 5 15:15 PDT 1998
Ready for new Nam 1.0a5 release
- LAN support
- Namgraph for tcp and srm event graph
- Layout editor
- Multi-model support
-
[Ya]
Apr 22 20:15 PDT 1998
- First cut for nam with analysis views(tcp).
- [haoboy]
Tue Mar 31 09:29:53 PST 1998
- Bug fix for Edge's bounding box. It should have two bounding boxes. One
for calculating screen to world transform, the other to compute Edge::inside().
-
[SM]
Mar 30 20:15 PDT 1997
- Make windows build work again.
- [haoboy]
Thu Feb 26 16:33:59 PST 1998
- Bug fix for Trace::settime(). Previously it falls into infinite loop when
first forward to the end, then backward to the start for the trace file whose
first 'real' events does not start at time 0.
- Bug fix for BoxAgent's bound box. It should have its own update_bb().
- [LB]
Thu Feb 26 16:00:44 PST 1998
Added ability to skip over
quiescent periods in the animation.
- [haoboy]
Tue Feb 24 18:20:52 PST 1998
- Change NetModel::scale_estimate() to use Edge::length() instead of
Edge::delay(). Otherwise it has problem when using a pre-made layout.
- Manage node marks with a linear list instead of Tcl's hash table. The
latter results in random traverse order w.r.t. the input order.
- Add Packet::CheckPoints() to limit the minimum length of packets. Otherwise
some packets may disappear if too small (reported by Kannan).
- [haoboy]Mon Feb 23 18:20:41 PST 1998
Now node marks can have 3 shapes: circle, square and hexagon.
- [haoboy]
First cut of topology editor. Added various reconfigure methods to
all Animation objects. Added selection mechanism to NetModel and
AutoNetModel. The editor only works with auto layout because in fixed
layout all edges are proportional to delay
To use the editor, open an edit view using the menu button "Edit view"
under "Edit". In the new edit view, clicking left button on a node
will select it, then it can be moved by dragging it around. Rubber band
is supported by clicking and dragging the left mouse button. Shift-click
an object will add it to the current selection.
Currently there is a cosmetic bug related to moving a selection around
in the edit view, and many necessary editing features have not been
added yet. Because this editor involves many other files, I decided to
check it in when it's mainly working. Otherwise it'll be very hard to
keep all these changes up-to-date.
- [haoboy]Wed Feb 18 20:48:02 PST 1998
Bug fix: Init nymin_ nymax_ in AutoNetworkModel::placeEverything().
- [johnh]Wed Feb 18 14:26:23 PST 1998
Added drag-scrolling support (mouse-2 in a window lets you drag it around).
- [EA]
Thu Feb 12 20:54:59 PST 1998
- Added reset button to auto-layout.
- Added ex/mbone.nam - a map of the mbone done on 8/6/96.
- [haoboy]
Fri Jan 30 13:36:25 PST 1998
- Focus on the next annotation while using time slider.
- nam_prelayout() and nam_layout() now skip all events which doesn't
have
-t*
from the beginning of the trace file.
- Install all Tk options with the real application name as class, so that
peer functions appropriately. Affected: non-www fonts options in
nam.tcl and Tk_GetOption() in paint.cc.
- Initialize
views_
as NULL in netgraph.cc.
- Problem: sim_annotation in nam.tcl cannot handle well multiple
annotations happening at the same time.
Release with ns-2.1b2 Jan 21 1998 [haoboy].
Version 1.0a4 skipped because when 1.0a2 was released the directory name
was mistaken by nam-1.0a3. To avoid the confusion, we skipped 1.0a3.
Release with ns-2.1b2 Jan 21 1998 [haoboy]
- [haoboy]
Wed Jan 21 17:40:37 PST 1998
- Added XWDFile.h because xwd.c doesn't compile with obsolete XWDFile.h
of openwin in some old sunos 4.
- Added link flags into Makefile.in so that it will recognize -static flag.
- [EA]
Wed Jan 21 13:04:38 PST 1998
- Fixed bug in reverse link angle calculation in nam.tcl.
- Removed Tcl_Init from main.cc since this is not needed with TclCl and
it causes nam to break if tcl is not installed.
- [haoboy]Tue Jan 13 15:31:34 PST 1998
- Reinstate the peer functionality for two nam instances. Mainly changing
[winfo name .] to [tk appname] and add new option "-N" to let user specify
specific app name for every instance.
- Add/delete annotations during animation. But they can not be saved into
the trace files. Detailed description included in the man page.
- Include tcl-debug support into main.cc. Changed library order in
Makefile.in so that X libs are included last. Changed
conf/configure.in.tcldebug to include paths for Dbg.h
- [johnh]Tue Dec 16 10:14:30 PST 1997
Man page info for animation saving.
(Also, see build.menus in nam.tcl for a list of desired enhancements.
- [johnh]Mon Dec 15 22:38:15 PST 1997
An animation can now be saved into a series of files (namXXX.xwd)
for post-processing into an mpeg or animated gif.
- [EA]
Fri Nov 28 17:35:02 PST 1997
- Fixed annotation listbox so that current annotation is always displayed
at bottom. Ultimately, we want to highlight this with a "window" that
stays centered on the current annotation. Get to this later.
- [TLT]
Sat Nov 22 14:48:21 GMT-8:00 1997
- [win32] edits to make it compile under win32 again
- edits to remove some warnings
- [win32] [bug fix] reverse scans wasn't working because in windows
the default file mode is text and not binary. They are working now.
- [win32] mods to compile with static tcltk
- [temp bug fix] when views are destroyed offsreen_ are not freed, this
caused subsequent draws onto a non-mapped window. For now, I freed the
offsreen bitmap and set it to zero. The real fix should be to free up
the view entirely.
- [EA]
Sat Nov 22 13:08:58 PST 1997
- Added tkUnixInit.c to override dynamic loading of tk scripts since
we get them from tclcl.
Release with ns-2.1b1
- [EA]
Sat Nov 15 15:54:10 PST 1997
- Ported to tcl8.0. Added tkcompat.h for backward compat.
- Generated new configure script for autodetecting of tcl/tk versions
(John Heidemann's revision).
- [haoboy]
Mon Nov 10 10:14:23 PST 1997
- Fixed bugs in packet.{cc,h} caused by setting edge length != delay.
- Updated scripts in ex/
- Updated nam man page.
- Fixed bugs in monitoring dropped packets
- [johnh]Tue Oct 28 17:00:05 PST 1997
Re-autoconf'ed with configure.in.TclCL.
Extra code from nam.tcl removed.
-
[mjh] Wed Oct 8 1997
- Moved all view zoom and pan code from Tcl to view object to allow us
to have multiple views.
- Fixed all code that assumes only a single view of the netmodel
- Implemented multiple views - currently in a separate window but might change this soon.
-
[mjh] Sun Oct 5 1997
- Added code to display the current time in timeline graphs
- Support for bi-directional and loss timeline graphs added.
- Assorted minor bug fixes
-
[mjh] Sat Oct 4 1997
- Separated netview into a general purpose view and a special purpose.
netview.
- Added new classes to support producing graphs of various parameters.
- Integrated graphs into UI (click on a link to see them).
- Fixed minor bugs in netview zooming and X Event handling.
- Changed tracefile format to be more TCL-like to make it easier to
handle events with text fields or embedded TCL.
[mjh] Thu Oct 2 1997


{% extends 'layout.html' %} {% block body %}
Need help with that? Click here to resend your activation link


Jonah Duckles
is the Executive Director of the Software Carpentry Foundation. He has had
various career trajectories including, long-term strategic planning,
landscape ecology research, monitoring of global agricultural production
and collaborating on the computational workflows of scientists.
Now he helps researchers by spreading the practices of
Software Carpentry to organizations around the world. He is on
Twitter as @jduckles.
Executive Director, Instructor Trainer


Astrokit for Scientists
Astrokit is an open-source web-based application for asteroid lightcurve photometry. It supports the discovery and analysis of asteroids in astrophotography by providing services that determine astrometry, photometry, and lightcurves of asteroids.
Astrokit is supported by a NASA ROSES research grant (C.21 Citizen science Asteroid Data, Education, and Tools - CADET).
The software is built to address the most pressing challenges facing research scientists and amateur astronomers seeking to create lightcurves:
User challenges
- Proprietary software requires purchase and installation
- Existing solutions require extensive prior understanding of photometry and reduction processes
- Most solutions require spreadsheets and manual checks
- Software becomes outdated as technology and techniques improve
- Barriers to collaboration and sharing
Astrokit solutions
- Free web application accessible from any browser
- Open-source development approach
- Guided checklists for non-professionals
- Automate parameter tuning for photometry, comparison stars, and reductions
- Automate checks of inputs and results
- Integrate with other web databases, eg. MPC, VizieR
- Disseminate results using open formats such as ALCDEF
Capabilities and Methodology
Astrokit supports the discovery and analysis of asteroids in astrophotography by providing services that determine astrometry, photometry, and lightcurves of asteroids. This section walks the reader through specific capabilities of the platform.
Refer to the Astrokit user flow diagram below for a summary of the guided process through which users conduct astrometry, photometry, and create corrected standard lightcurves.
Astrometry
Images are automatically analyzed for their astrometry immediately upon upload. If applicable, the software reads FITS headers and corresponding metadata is filled in the lightcurve or image models within Astrokit.
Astrometric solutions are later used to identify targets, select reference and comparison stars, and retrieve known magnitudes from catalogs.
After a group of images has been uploaded, the web server stores these images security on Amazon Web Services S3 cloud. A background astrometry job dispatches the images for analysis by the astrometry.net solver. The analyses are monitored and the results are retrieved by Astrkoit when complete.
Photometry
Astrokit computes photometry by extracting a point-spread function (PSF) model from stars in observations.
We chose this technique because parameter tuning can be mostly automated, reducing the learning curve for beginners. The tedium of drawing apertures over an image is removed entirely, which saves time and opportunity for error.
The alternate approach, aperture photometry, assumes a linearly-varying background in the aperture’s vicinity and is sometimes preferred for its mathematical simplicity. PSF photometry excels in crowded star fields but is not strictly necessary for asteroid photometry. However, because the process is fully automated by Astrokit, we having the liberty of selecting the more advanced method. This is an example of how improved automation can enable more advanced models and reduce error.
Implementation
The photometry process is implemented using the SExtractor and PSFex software packages. Both are popular open-source packages developed by Astromatic. When evaluating photometry packages, we first determined that SExtractor and PSFEx exhibit performance similar to that of the popular IRAF photometry package and the DAOPHOT algorithm. We then selected the package with the least tuning required without trading off accuracy.
Although Astrokit selects intelligent defaults, we stress the importance of performing checks and invite the user to review the work in progress. Ultimately, the entire process is transparent to a user interested in detail. It is interactive, allowing the user to tune parameters until they are satisfied with outputs.
As a result, the Astrokit photometry page includes the ability to tune photometry and review extracted point sources, instrumental magnitudes, flux, and SNR. A residual image is displayed to the user to allow visual verification of the accuracy of the PSF model. This section is accompanied by guidance on how to recognize successful photometry and residuals.
Astrokit uses the latest free sextractor and psfex binaries available via Debian and Ubuntu Linux package managers. SExtractor is a program that builds catalogs of objects from an astronomical image. PSFEx extracts models of the point-spread functions from images processed by SExtractor. In order to compute a catalog with accurate PSF photometry, the process via the Astromatic toolchain requires the creation of an initial catalog with SExtractor, transfer of this catalog to PSFEx in order to fit a PSF model, and a repeat use of SExtractor with the new model.
This processing is started by a photometry job and completed on the backend machine. Results are stored on S3 and can be downloaded by the user.
Reference and Comparison Stars
Now that the astrometry and photometry steps have completed, we must reconcile their outputs and merge their data together. This allows us to match instrumental magnitudes from PSF photometry with known standard catalog magnitudes of reference stars.
In order to perform this join, we use an r-tree data structure to match results from astrometry to our own photometric results.
The VizieR service API (University of Strasbourg) is used to query these results using the URAT1 catalog, which is maintained by the U.S. Naval Observatory.
The user can then review a table of reference stars and associated data, including instrumental magnitudes, SNR, and standard magnitudes in a variety of bands. At this point, Astrokit also performs some checks at this point to ensure the basic sanity of the data, eg. by ensuring a roughly linear relationship between instrumental magnitudes and catalog magnitudes, and by highlighting stars within an acceptable SNR range. The user is shown guidance on choosing specific comparison stars (for example, by selecting stars that match the color of the asteroid).
At the lightcurve level, Astrokit looks at reference stars across all observations and selects common stars. From these stars, the software selects comparison stars for use in photometric reduction. Afterwards, the user can review and modify the list of comparison stars.
Reductions
At a high level, photometric reduction on Astrokit is split into two steps.
First, depending on the reduction, there are coefficients that must be derived across all observations. We refer to these generally as “lightcurve-level” reductions because the results are stored with the lightcurve and are shared among all image observations. Sometimes these specific coefficients are referred to as transforms or extinctions.
After lightcurve-level coefficients are determined, they are used to perform image-level reductions and obtain standard magnitudes for target objects.
The reduction methodology employed by Astrokit is outlined in astronomer Brian Warner’s book, A Practical Guide to Lightcurve Photometry and Analysis.
The full reduction equation is:
M_t = (m_t - comp_t) + T(CI_t - CI_c) + k"X(CI_t - CI_c) + M_c
where
M_t = sky (catalog) magnitude of target
m_t = instrumental mag of target
m_c = instrumental mag of comp
T = transform for given color index (e.g., B-V)
CI_t = color index of target
CI_c = color index of comp
k" = second order extinction (mag/air mass)
X = air mass
M_c = catalog magnitude of comp
Some reduction outputs, such as graphs of transforms, are produced on the backend using matplotlib. Others outputs, such as linearity check graphs, are interactive on the page. The results of image reductions are stored made available to the user.
Reduction details: Lightcurve level
Lightcurve level reductions are needed only if the user wants to perform a more accurate reduction that uses second-order extinction, a filter transformation coefficient, and the hidden transform. The ability to compute transforms and correct for extinction is dictated in part by the type of data the user has uploaded. If applicable, we determine these values by running calculations across all observations and combining them into a final result that is used in the reduction formula above.
Before reductions can be performed, the user is asked to specify the color index bands of their observation (for example, V-R or B-V). The user is also asked to pair images in these respective bands. A handful of image pairs is sufficient for the software to determine the coefficients necessary to perform a reduction.
Note that the use of transforms and multi-filter observations is optional. The user may also opt for simple differential photometry per the following equation:
M_target = (m_target - m_comp) + M_comp
This makes Astrokit suitable for a wide variety of differential photometry use cases beyond asteroid observations.
Transformation Coefficient
The transformation coefficient Tf converts raw instrumental magnitudes to standard magnitudes. The software uses the following equation:
M_f - m_f = T_f * CI + ZP_f
where:
M_f = standard magnitude in color band of filter f
m_f = raw instrumental magnitude in band of f
T_f = converts instrumental mag to standard mag in band of f
CI = standard color index
Z_f = nightly zero oint in band of f
Using the comparison stars chosen by the software and confirmed by the user, the software determines Tf by running a linear regression on a plot of apparent magnitudes versus standard magnitudes in two color bands in order to determine slope of the equation above.
Hidden Transform
The "hidden transform" is the equation that allows us to compute the color index the target object in an observation. The derivation is similar to that of the transformation coefficient, although it is not used directly in the final photometry reduction (hence its name).
The coefficient for the hidden transform is calculated by a linear regression between standard color indexes and instrumental color indexes. Once determined, the transform is used to convert instrumental color indexes to standard color indexes for all observations.
Other values
Second-order extinction can be calculated by the backend, but because it does not change very often we give users the option of inputting a constant so that full derivation of second-order extinction is not required for each set of observations. Astokit provides guidance for when to use second-order extinction, including default values for certain CI bands.
Reduction details: Image level
Once the user is satisfied with computed transforms, they can perform a reduction for each image.
The software solves for the full photometry formula (from above):
M_t = (m_t - comp_t) + T(CI_t - CI_c) + k"X(CI_t - CI_c) + M_c
This reduction applies the transforms computed in the previous step and computes magnitudes for each (target + comparison) pair. The software calculates airmass on the observation's astrometry and metadata.
By repeating this calculation for each comparison star, we obtain multiple estimates for standard magnitude. The final standard magnitude is the mean of these estimates and the standard deviation is the error.
This entire process is then repeated for each comparison star by treating that star as an unknown target. As a result, every comparison star behaves as a “check star” that allows the user to compare the Astrokit reduction with an expected catalog magnitude. The software also displays a check graph that measures correlation between computed standard magnitudes and known standard magnitudes.
Image reductions are typically triggered en masse at the lightcurve level, with the entire process happening automatically for every uploaded image. Afterwards, the user is invited to review each observation, where they can review final results, intermediate steps, and the checks performed. Users may also run reductions on individual images if desired.
Corrections
Astrokit is able to apply a variety of corrections, such as light-time and unity distance.
Light Curves
Summary
Once reductions have been performed, the user can view a lightcurve of standard magnitudes plotted over time. The lightcurve includes JD, standard magnitudes, error, and is suitable for scientific publication. A full table of values is also shown below the lightcurve plot. The lightcurves can be phase-folded interactively, with the plot updating according to user input. The user can tweak the style and other settings of the chart. The final image can be downloaded for external sharing.
There are additional options to plot a lightcurve of instrumental magnitudes over time, plot a graph of magnitude error over time, export the lightcurve data to CSV/Excel format, and export the lightcurve data to ALCDEF Standard format.
Conclusion
That's all for now! We hope this shows you why Astrokit may be a good tool to add to your workflow. Don't hesitate to Contact Us directly if you have any questions.


POWER BALLOT
HAWAII PRIMARY ELECTION
AUGUST 9, 2014
State House - District 18
Democratic Party
Republican Party
Interactive sample ballot is for informational purposes only. Your selections are not monitored or recorded.
Completion of this ballot does not count as an actual vote in any election.
Want to help? Common Cause Hawaii is seeking volunteers to help gather additional candidate information. If you can help, please Email Civic-Celerator
Did you find a mistake? Do you have a suggestion? Let us know - Email Civic-Celerator


Custom Checkout’s input fields can be customized to fit your payment form on your web site. Here are a few examples of how easily the UI can be styled, complete with HTML, CSS, and JavaScript.
You can use using the test card number 4030 0000 1000 1234, with a security code 123 and any expiry date in the future.
Note: We also have a demo of Custom Checkout’s eventing and a demo of a complete payment flow Custom Checkout.
See the Pen CustomCheckout-Bootstrap by na-bambora (@na-bambora) on CodePen.
See the Pen CustomCheckout by na-bambora (@na-bambora) on CodePen.


a software developer
My name is jadesola, I am software developer based in Nigeria. I am a graduate of Computer Engineering, I also like to write technical articles. I love to create amazing software solutions to critical problems.
This are my top languages.
These are some of my projects


Property Authorised
Authorised
The 'Authorised' status, indicating the payment has been processed succesfully and funds transferred.
Declaration
public static TransactionStatus Authorised { get; }
Property Value
| Type | Description |
|---|---|
| TransactionStatus |
Remarks
This is NOT a 'final' status as the payment could changed to a Refunded status.


Click a Race name to use it for your creature/character.
Thank you for submitting. Your new Race can now be found when searching "Community" Races!
You must be signed in to submit Races.
Features
-
{{ fi.feature.name }}
({{fi.notes}})
Flaws
-
{{ fi.flaw.name }}
({{fi.notes}})


rodeliux > products
- Alter particles/groups with the GROUPS variable.
- Customize colours with GROUP_COLOURS.
- Use the mouse to move the fluid.
- Click anywhere to make water.
- Use one group for a more water-like effect.


Orientation
Motion
Logs
alpha
beta
gamma
Acceleration
x
y
z
Acceleration including gravity
x
y
z
Rotation rate
alpha
beta
gamma


This is the first Varnish release after the Varnish Project moved out of Varnish Software's basement, so to speak, and it shows.
But it is also our 10 year anniversary release, Varnish 1.0 was released on September 20th 2006.
That also means that we have been doing this for 10 years without any bad security holes.
So yeah... 5.0 is not entirely what we had hoped it would be, but we are as proud as one can possibly be anyway.
To keep this release note short(er), we have put the purely technical stuff in two separate documents:
Packages for mainstream operating systems should appear in as soon as they trickle through the machinery.
The separate VCL/VCL labels feature can probably help you untangle your VCL code if it has become too complex. Upgrading from 4.1 to get that feature should be a no-brainer.
The HTTP/2 code is not mature enough for production, and if you want to start to play with H2, you should not upgrade to 5.0, but rather track -trunk from github and help us find all the bugs before the next release.
The Shard director is new in the tree, but it has a lot of live hours out of tree. Upgrading from 4.1 to 5.0 to get that should also be a no-brainer.
We have also fixed at lot of minor bugs, and improved many details here and there, See Upgrading to Varnish 5.0 for more of this.
None that we know of at this time.
Only in very special cases should you need to modify your VCL.
Next release is scheduled for March 15th 2017, and will most likely be Varnish 5.1.
This release of Varnish Cache is brought to you by the generous support and donations of money and manpower from four companies:
Without them, this release, and for that matter all the previous ones, would not have happened.
Even though they are all employees of those very same companies, these developers merit personal praise:
Until now Varnish Software has done a lot of work for the Varnish Cache project, but for totally valid reasons, they are scaling that back and the project either needs to pick up the slack or drop some of those activities.
It is important that people understand that Free and Open Source Software isn't the same as gratis software: Somebody has to pay the developers mortgages and student loans.
A very large part of the Varnish development is funded through the Varnish Moral License, which enables Poul-Henning Kamp to have Varnish as his primary job, but right now he is underfunded to the tune of EUR 2000-3000 per month.
Please consider if your company makes enough money using Varnish Cache, to spare some money, or employee-hours for its future maintenance and development.
First and foremost, we could really use a Postmaster to look after our mailman mailing lists, including the increasingly arcane art of anti-spam techniques and invocations.
We also need to work more on our documentation, it is in bad need of one or more writers which can actually write text rather than code.
We could also use more qualified content for our new project homepage, so a webmaster is on our shopping list as well.
Finally, we can always use C-developers, we have more ideas than we have coders, and since we have very high standards for quality things take time to write.
The best way to get involved is to just jump in and do stuff that needs done.
Here is the Varnish Cache github page.
And here is the Varnish Projects homepage on github.
Welcome on board!
phk


in html parser,start is auto,unless like this :
you can vm.hookStart=function(cb){cb()}
when vm.start,if vm.hookStart==fn,will call vm.hookStart(cb),you must call cb()
you can vm.onstart=function(){} or vm.hook=function(when,cvm){}
if has vm.onstart,then call vm.onstart ,else if has vm.hook ,call vm.hook('onstart',cvm)
when onstart called,maybe there are some child is loading,
app.config.strategy.append_to_pel_wait_loading_child_vm=true;you can change it


Monday after a week out....pretty damn intense. I have a lot of fear I won't be able to get all of the (massive amounts of) work done. I will keep plugging away and try not to panic and quit.


This extension adds the "Quicker Context" dialog which is a lightweight dialog to quickly select tabs or execute application- and context-menu-entries more easily by typing parts of the name or choosing one stored in history. The dialog can either be opened using the "Quicker..." context menu entry or by pressing a customizable keyboard shortcut (default = shift + space).
Usage
The Quicker Context Dialog can be completely controlled using the keyboard:


We monetize content!
- syndicate one-to-one models
- facilitate leading-edge synergies
- synthesize e-business vortals
- harness dot-com e-tailers
- orchestrate turn-key architectures
- matrix efficient e-services
- benchmark visionary metrics
- whiteboard dynamic partnerships
- embrace 24/365 eyeballs
- integrate bricks-and-clicks action-items
- unleash impactful interfaces
- evolve revolutionary partnerships
- strategize cross-platform relationships


Dropdown allow you to bundle actions under a single title, and have a more abstract user interface exposed to your customers.


{% extends "public/templates/public_template.html" %} {% block title %}Home{% endblock %} {% block main %}
Cryptolytic is a machine learning application that helps you make smarter decisions when trading. It generates advance predictions of arbitrage so traders can have time to act on them and also predicts when to buy and sell crypto based on technical indicators.


RoutableWithConfiguration
public protocol RoutableWithConfiguration : Routable
A RoutableWithConfiguration is a ViewController
that takes active part to the execution of a navigation action.
If a screen listScreen
needs to present addItemScreen
, the ViewController that is handling listScreen
must
conform to the RoutableWithConfiguration
protocol.
When a Show("addItemScreen")
action is dispatched, the Navigator
will capture the action and will start
finding a RoutableWithConfiguration in the active hierarchy that can handle the action.
If the navigationConfiguration
of listScreen
will match the NavigationRequest
of .show(addItemScreen)
than the Navigator will execute the relative NavigationInstruction
where you can
configure the ViewController to present.
There are others NavigationRequest
s and NavigationInstruction
s that can be used to define the navigation
structure of the app.
In case you need more control, you can always implement the Routable
protocol yourself and have
fine grained control of the implementation of the navigation.
In fact, a RoutableWithConfiguration
and its navigationConfiguration
are used behind the scenes
to implement the Routable
protocol for you.
extension ListViewController: RoutableWithConfiguration {
// needed by the `Routable` protocol
// to identify this ViewController in the hierarchy
var routeIdentifier: RouteElementIdentifier {
return "listScreen"
}
// the `NavigationRequest`s that this ViewController is handling
// with the `NavigationInstruction` to execute
var navigationConfiguration: [NavigationRequest: NavigationInstruction] {
return [
.show("addItemScreen"): .presentModally({ [unowned self] _ in
let vc = AddItemViewController(store: self.store)
return vc
})
]
}
-
The
NavigationRequest
s this RoutableWithConfiguration will handle and theNavigationInstruction
s that will be executed by theNavigator
.Declaration
Swift
var navigationConfiguration: [NavigationRequest : NavigationInstruction] { get }
-
show(identifier:
Extension methodfrom: animated: context: completion: ) Method of the
Routable
protocol that theRoutableWithConfiguration
is implementing automatically looking at thenavigationConfiguration
.Declaration
Swift
public func show( identifier: RouteElementIdentifier, from: RouteElementIdentifier, animated: Bool, context: Any?, completion: @escaping RoutingCompletion ) -> Bool
-
hide(identifier:
Extension methodfrom: animated: context: completion: ) Method of the
Routable
protocol that theRoutableWithConfiguration
is implementing automatically looking at thenavigationConfiguration
.Declaration
Swift
public func hide( identifier: RouteElementIdentifier, from: RouteElementIdentifier, animated: Bool, context: Any?, completion: @escaping RoutingCompletion ) -> Bool


Dennery shopping centre launches first Black Friday Clearance Sale
(PRESS RELEASE) – The Community of Dennery celebrated the opening of it’s first shopping centre, located conveniently along the Castries – Vieux Fort highway earlier this year in January.
The Centre now is celebrating it’s first Black Friday Clearance Sale on the 29th of November 2019 to facilitate new stock arrivals in 2020.
The Centre offers clearance of up to 50% off , opening it doors to the public at 6:00 am on the Friday to benefit those shoppers who would need to return to work the same morning. It is a great opportunity to find amazing Christmas deals and gifts before the arrival of December. The Centre will close at 4pm two hours earlier than the normal closing time. The following day opening hours will resume as normal from 8am to 6pm.
For further details of the sales details please follow on https://www.facebook.com/groocentre/.
More Finance/Business Stories
-
Progress evident towards establishing Saint Lucia’s National Spatial Data Infrastructure November 22, 2019
-
Temporary closure of affected Gov’t Departments due to recent fire November 22, 2019
-
NWU Secretary General elected to serve on Regional Council November 21, 2019
-
Invest Saint Lucia CEO shouts: “The south shall rise again!” November 21, 2019
-
ISL Entrepreneurship Meet-Up goes to Vieux Fort November 21, 2019
-
Chamber AGM – Regional and national perspective of St. Lucia’s economy to be discussed next week November 21, 2019
-
Anse La Raye fire victim gets donation in rebuilding efforts November 20, 2019
-
Correspondent banking and de-risking discussed as Prime Minister meets with Chair of US Financial Services Committee November 20, 2019
-
Sandals team members receive first class health care on the job November 20, 2019


This component consists of 3 revolute joints with parallel axes of rotation that are connected together by two rods, see the default animation in the following figure (the axes vectors are not part of the default animation):
This joint aggregation introduces neither constraints nor state variables and should therefore be used in kinematic loops whenever possible to avoid non-linear systems of equations. It is only meaningful to use this component in planar loops. Basically, the position and orientation of the 3 revolute joints as well as of frame_ia, frame_ib, and frame_im are calculated by solving analytically a non-linear equation, given the position and orientation at frame_a and at frame_b.
Connector frame_a is the "left" side of the first revolute joint whereas frame_ia is the "right side of this revolute joint, fixed in rod 1. Connector frame_b is the "right" side of the third revolute joint whereas frame_ib is the "left" side of this revolute joint, fixed in rod 2. Finally, connector frame_im is the connector at the "right" side of the revolute joint in the middle, fixed in rod 2.
The easiest way to define the parameters of this joint is by moving the MultiBody system in a reference configuration where all frames of all components are parallel to each other (alternatively, at least frame_a, frame_ia, frame_im, frame_ib, frame_b of the JointRRR joint should be parallel to each other when defining an instance of this component).
Basically, the JointRRR model consists internally of a universal - spherical - revolute joint aggregation (= JointUSR). In a planar loop this will behave as if 3 revolute joints with parallel axes are connected by rigid rods.


Summary
The File Inclusion vulnerability allows an attacker to include a file, usually exploiting a "dynamic file inclusion" mechanisms implemented in the target application. The vulnerability occurs due to the use of user-supplied input without proper validation.
This can lead to something as outputting the contents of the file, but depending on the severity, it can also lead to:
- Code execution on the web server
- Code execution on the client-side such as JavaScript which can lead to other attacks such as cross site scripting (XSS)
- Denial of Service (DoS)
- Sensitive Information Disclosure
Local File Inclusion (also known as LFI) is the process of including files, that are already locally present on the server, through the exploiting of vulnerable inclusion procedures implemented in the application. This vulnerability occurs, for example, when a page receives, as input, the path to the file that has to be included and this input is not properly sanitized, allowing directory traversal characters (such as dot-dot-slash) to be injected. Although most examples point to vulnerable PHP scripts, we should keep in mind that it is also common in other technologies such as JSP, ASP and others.
How to Test
Since LFI occurs when paths passed to "include" statements are not properly sanitized, in a blackbox testing approach, we should look for scripts which take filenames as parameters.
Consider the following example:
http://vulnerable_host/preview.php?file=example.html
This looks as a perfect place to try for LFI. If an attacker is lucky enough, and instead of selecting the appropriate page from the array by its name, the script directly includes the input parameter, it is possible to include arbitrary files on the server.
Typical proof-of-concept would be to load passwd file:
http://vulnerable_host/preview.php?file=../../../../etc/passwd
If the above mentioned conditions are met, an attacker would see something like the following:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
alex:x:500:500:alex:/home/alex:/bin/bash
margo:x:501:501::/home/margo:/bin/bash
...
Very often, even when such vulnerability exists, its exploitation is a bit more complex. Consider the following piece of code:
<?php “include/”.include($_GET['filename'].“.php”); ?>
In the case, simple substitution with arbitrary filename would not work as the postfix 'php' is appended. In order to bypass it, a technique with null-byte terminators is used. Since %00 effectively presents the end of the string, any characters after this special byte will be ignored. Thus, the following request will also return an attacker list of basic users attributes:
http://vulnerable_host/preview.php?file=../../../../etc/passwd%00
http://vulnerable_host/preview.php?file=../../../../etc/passwd%00jpg
References
Remediation
The most effective solution to eliminate file inclusion vulnerabilities is to avoid passing user-submitted input to any filesystem/framework API. If this is not possible the application can maintain a white list of files, that may be included by the page, and then use an identifier (for example the index number) to access to the selected file. Any request containing an invalid identifier has to be rejected, in this way there is no attack surface for malicious users to manipulate the path.


We will use strict information technology procedures to safeguard your data and
prevent improper access.
Your data will be stored by our vendor Sage Bionetworks and OHSU on separate secure
Cloud servers in a manner that keeps your information as safe as possible and
prevents unauthorized people from getting to your data.
Your coded study data may be shared with researchers in other countries, including
countries that may have different data protection laws than your country of
residence.


Having problems?
- When receiving the assessment if you are having problems, use the chat function
- During the assessment if you are having problems, use the Raise Hand function on Microsoft Teams
IT Hotline: 9936 5526
Updated assessment policies
Information about assessments at home
Accurate as of 20 August 2021
Having problems?
IT Hotline: 9936 5526


Please click on the "{{record_button_value}}" button and say {{recording_text}} to record audio for calibrating voice conversion.
{{recording_status}}
When done with recording source audio, tune and proceed with either of the two functions for voice conversion - "change_gender" or "change_pitch".
Tune and proceed with "change_pitch" function
change_pitch
OR
Tune and proceed with "change_gender" function
change_gender


Salmon Stores
Home
Sales
Add a new location:
Location Name:
Minimum Number of Customers Per Hour:
Maximum Number of Customers Per Hour:
The Average Number of Cookies:
Submit


Andrea Torres has a special birthday message for Derek Ramsay's mom
Today is the birthday of Derek Ramsay's mother Remedios and none other than Derek's girlfriend, Andrea Torres, has a special greeting for her.
Posting a photo of Mommy Remedios from her birthday celebration, Andrea said she "will never get tired of reminding you how special you are to me. Birthday or not."
This isn't the first time Andrea shared with the public her admiration for her boyfriend's mother.
A few weeks ago, she posted a photo of the two of them and said she was "grateful for you."
In a previous interview with PEP.ph, Derek revealed that Remedios approves of Andrea.
"Mommy likes her. It's the first time na nagpakilala ako ng girl sa mom ko na my mom felt positive," he said then.
By the way, Derek also greeted his mother a very happy birthday on Instagram.
"[M]ama I love you so much! You are an amazing woman and the best mother any child could have. Thank you for taking care of our family and showering us with so much love. Happy happy birthday," he said.
Andrea and Derek were co-stars in GMA 7's "The Better Woman" series, the latter's first project as a Kapuso.
They confirmed their relationship in September. — Ma. Angelica Garcia/LA, GMA News