Playing WaterWorks
Let's walk through the first scenario. After that we'll leave the rest for you to explore! You can start by choosing either Career or Sandbox mode.
If you're new to the game, we recommend starting with Career mode and saving Sandbox mode for when you're more comfortable with the game mechanics.
On the Career page, select the first scenario. This will give you an introduction to putting together a water system.
Meet CB. She is here to help you understand how the water system works. If you get stuck, just click on her and she'll help you out.
In the first scenario, you will see a water system that is nearly complete. To complete the system, click on the gap between the pipes as shown here.
This brings up a pop-up menu that you can use to select what you want to put in this square.
Click on the pipe icon to connect the existing pipes so that the water can flow from beginning to end!
Click on the waste water treatment plant to choose from different types of wastewater treatment plants.
The waste water treatment plant looks as above.
You have a choice between the water source and water tower as the infrastructure elements.
Click on the Primary, Secondary or Tertiary drinking water treament plants to install them.
You can also add many other types of sites. Feel free to explore!
Throughout the duration of the game, you will use and become familiar with
all the different parts of the water system.
The buttons at the bottom left let you exit back to the main menu,
toggle the background music on and off, and allow you to delete a feature of the
water system that you have previously placed by clicking on it and then clicking
on the trash can.


Chapter 9 Generating file lists by plot
9.1 Pre-requisites:
- if you have not already done so, you will need to 1) sign up for the beta user program and 2) sign up and be approved for access to the the sensor data portal in order to get the API key that will be used in this tutorial.
The terrautils python package has a new products
module that aids in connecting plot boundaries stored within betydb with the file-based data products available from the workbench or Globus.
- if are using Rstudio and want to run the Python code chunks, the R package “reticulate” is required
- use
pip3 install terrautils
to install the terrautils Python library
9.2 Getting started
After installing terrautils, you should be able to import the products
module.
from terrautils.products import get_sensor_list, unique_sensor_names
from terrautils.products import get_file_listing, extract_file_paths
The get_sensor_list
and get_file_listing
functions both require the connection, url, and key parameters. The connection can be ‘None’. The url (called host in the code) should be something like https://terraref.ncsa.illinois.edu/clowder/
. The key is a unique access key for the Clowder API.
9.3 Getting the sensor list
The first thing to get is the sensor name. This can be retreived using the get_sensor_list
function. This function returns the full record which may be useful in some cases but primarily includes sensor names that include a plot id number. The utility function unique_sensor_names
accpets the sensor list and provides a list of names suitable for use in the get_file_listing
function.
To use this tutorial you will need to sign up for Clowder, have your account approved, and then get an API key from the Clowder web interface.
url = 'https://terraref.ncsa.illinois.edu/clowder/'
key = 'ENTER YOUR KEY HERE'
sensors = get_sensor_list(None, url, key)
names = unique_sensor_names(sensors)
print(names)
Names will now contain a list of sensor names available in the Clowder geostreams API. The list of returned sensor names could be something like the following:
- flirIrCamera Datasets
- IR Surface Temperature
- RGB GeoTIFFs Datasets
- stereoTop Datasets
- scanner3DTop Datasets
- Thermal IR GeoTIFFs Datasets
- …
9.4 Getting a list of files
The geostreams API can be used to get a list of datasets that overlap a specific plot boundary and, optionally, limited by a time range. Iterating over the datasets allows the paths to all the files to be extracted.
sensor = 'Thermal IR GeoTIFFs Datasets'
sitename = 'MAC Field Scanner Season 1 Field Plot 101 W'
key = 'INSERT YOUR KEY HERE'
datasets = get_file_listing(None, url, key, sensor, sitename)
files = extract_file_paths(datasets)
Datasets can be further filtered using the since and until parameters of get_file_listing
with a date string.
dataset = get_file_listing(None, url, key, sensor, sitename,
since='2016-06-01', until='2016-06-10')
9.5 Querying the API
The source files behind the data are available for downloading through the API. By executing a series of requests against the API it’s possible to determine the files of interest and then download them.
Each of the API URL’s have the same beginning (https://terraref.ncsa.illinois.edu/clowder/api), followed by the data needed for a specific request. As we step through the process you will be able to see how then end of the URL changes depending upon the reuqest.
Below is what the API looks like as a URL. Try pasting it into your browser.
This will return data for the requested plot including its id. This id (or identifier) can then be used for additional queries against the API.
In the examples below we will be using curl on the command line to make our API calls. Since the API is accessed through URLs, it’s possible to use the URLs in software programs or with a programming language to retrieve its data.
9.5.1 A Word of Caution
We are no longer using the python terrautils package, which is a python library that provides helper functions that simplify interactions with the Clowder API. One of the ways it makes the interface easier is by using function names that make sense in the scope of the project. The API and the Clowder database have different names and this is confusing since the same names are used for different parts of the database.
The names and meanings of variables in this section don’t necessarily match the ones in the section above and it may be easy to get them confused. The API queries the database directly and thereby reflects the database structure. This is the main reason for the naming differences between the API and the terraref client.
For example, the Clowder API’s use of the term SENSOR_NAME is equivalent to site_name above.
9.5.2 Finding plot ID
We can query the API to find the identifier associated with the name of a plot. For this example we use the variable name of SENSOR_DATA to indicate the name of the plot.
SENSOR_NAME="MAC Field Scanner Season 1 Field Plot 101 W"
curl -o plot.json -X GET "https://terraref.ncsa.illinois.edu/clowder/api/geostreams/sensors?sensor_name=${SENSOR_NAME}"
This creates a file named plot.json containing the JSON object returned by the API. The JSON object has an ‘id’ parameter. This ID parameter can be used to specify the correct data stream.
9.5.3 Finding stream ID within a plot
Using the sensor ID returned in the JSON from the previous call and the id of a sensor returned previously to get the stream id. The names of streams are are formatted as “
SENSOR_ID=3355
STREAM_NAME="Thermal IR GeoTIFFs Datasets (${SENSOR_ID})"
curl -o stream.json -X GET "https://terraref.ncsa.illinois.edu/clowder/api/geostreams/streams?stream_name=${STREAM_NAME}"
A file named stream.json will be created containing the returned JSON object. This JSON object has an ‘id’ parameter that contains the stream ID. You can use this ID parameter to get the datasets, and then datapoints, of interest.
9.5.4 Listing Clowder dataset IDs for that plot & sensor stream
We now have a stream ID that we can use to list our datasets. The datasets in turn contain files of interest.
STREAM_ID=11586
curl -o datasets.json -X GET "https://terraref.ncsa.illinois.edu/clowder/api/geostreams/datapoints?stream_id=${STREAM_ID}"
After the call succeeds, a file named datasets.json is created containing the returned JSON onject. As part of the JSON object there are one or more properties
fields containing source_dataset parameters.
properties: {
dataset_name: "Thermal IR GeoTIFFs - 2016-05-09__12-07-57-990",
source_dataset: "https://terraref.ncsa.illinois.edu/clowder/datasets/59fc9e7d4f0c3383c73d2905"
},
The URL of each source_dataset can be used to view the dataset in Clowder.
The datasets can also be filtered by date. The following filters out datasets that are outside of the range of January 2, 2017 through June 20, 2017.
curl -o datasets.json -X GET "https://terraref.ncsa.illinois.edu/clowder/api/geostreams/datapoints?stream_id=${STREAM_ID}&since=2017-01-02&until=2017-06-10"
9.5.5 Getting file paths from dataset
Now that we know what the dataset URLs are, we can use the URLs to query the API for file IDs in addition to their names and paths.
Note the the URL has changed from our previous examples now that we’re using the URLs returned by the previous call.
SOURCE_DATASET="https://terraref.ncsa.illinois.edu/clowder/datasets/59fc9e7d4f0c3383c73d2905"
curl -o files.json -X GET "${SOURCE_DATASET}/files"
As before, we will have a file containing the returned JSON, named files.json in this case. The returned JSON consists of a list of the files in the dataset with their IDs, and other data if available:
[
{
size: "346069",
date-created: "Fri Nov 03 11:51:13 CDT 2017",
id: "59fc9e814f0c3383c73d2962",
filepath: "/home/clowder/sites/ua-mac/Level_1/ir_geotiff/2016-05-09/2016-05-09__12-07-57-990/ir_geotiff_L1_ua-mac_2016-05-09__12-07-57-990.png",
contentType: "image/png",
filename: "ir_geotiff_L1_ua-mac_2016-05-09__12-07-57-990.png"
},
{
size: "1231298",
date-created: "Fri Nov 03 11:51:16 CDT 2017",
id: "59fc9e844f0c3383c73d2980",
filepath: "/home/clowder/sites/ua-mac/Level_1/ir_geotiff/2016-05-09/2016-05-09__12-07-57-990/ir_geotiff_L1_ua-mac_2016-05-09__12-07-57-990.tif",
contentType: "image/tiff",
filename: "ir_geotiff_L1_ua-mac_2016-05-09__12-07-57-990.tif"
}
]
9.5.6 Retrieving the files
Given that a large number of files may be contained in a dataset, it may be desireable to automate the process of pulling down files to the local system.
For each file to be retrieved, the unique file ID is needed on the URL.
FILE_NAME="ir_geotiff_L1_ua-mac_2016-05-09__12-07-57-990.tif"
FILE_ID=59fc9e844f0c3383c73d2980
curl -o "${FILE_NAME}" -X GET "https://terraref.ncsa.illinois.edu/clowder/api/files/${FILE_ID}"
This call will cause the server to return the contents of the file identified in the URL. This file is then stored locally in *ir_geotiff_L1_ua-mac_2016-05-09__12-07-57-990.tif*.


THE SPITFIRE GRILL A film review by John Schuurman Copyright 1996 John Schuurman
Written and Directed by Lee David Zlotoff
I am encouraged. After the dreadful dearth of quality popular movies (I hear "Lone Star," "Emma," and "Trainspotting" are exceptions) in the summer of '96, at last there are some new films emerging for the autumn season that will get me out to the theater again.
"The Spitfire Grill" was well worth the time and money. Set in a wonderful little backwoods town in Maine called Gilead the film does much with references to its Biblical namesake. In the Bible, Gilead is the region to the east of the Jordan river, noted for the soothing "balm" or ointment gleaned from its woodlands. One of the hopes for modern Gilead's future is that such a substance (for healing purposes) has been discovered in the forests of the region that had long been thought ruined and useless. The Biblical Gilead was also a refuge for fugitives. Among those who sought refuge in Gilead were Jacob when he fled before Laban (Gn. 31:21-55), the Israelites who feared the Philistines in Saul's time (1 Sa. 13:7), Ishbosheth (2 Sa. 2:8-9) and David during Absalom's revolt (2 Sa. 17:22ff.)
Gilead provides such a refuge for Percy, a young woman recently released from prison. She finds healing and purpose in Gilead (although not without notable obstacles). Ultimately, she loses her life there, but in the losi ng, provides a Gilead of her own for some significant others. The old spiritual goes, "There is a Balm in Gilead to make the wounded whole"(Jer 8:22), and it provides the theme for this grand movie. The place becomes a haven of hope and healing.
Some other reasons to attend: The movie is beautifully shot in rural New England, the acting over all is first-rate, and writer-director Lee David Zlotoff has brought a wonderful ensemble together of Ellen Burstyn, Marcia Gay Harden and Alison Elliott.
And then some new territory too: I am not usually grateful for the long run of suspense and action dramas that compose such a large portion of the menu provided by American film makers. The cliche: "menacing-music-followed-by-bad-things-happening-suddenly" is so overworked that, like a grouchy cat, I grow weary of being played with, and so I hiss and huff and hide under the chair. But sometimes I am grateful because all of those suspense movies and TV shows that torment us with menacing music as we wait for the sudden horror to bust into the screen have built a vocabulary and a context for viewing in which a movie like this one can come along -- and playing off of that context -- become something all together different. The point is, I don't think this move works without all of the suspenseful nailbiters to provide a counter-point.
But it works well. "Tender Mercies" was like that. Bruce Beresford, director of "Tender Mercies" and Zlotoff continually serve up situations that are full of threat which then prove to be innocent or even helpful.
It happens this way, (you have learned to see these things coming): It is about time for the plot to take a twist. Ominous things are afoot. The sub-terranian music of fore-boding softly growls several layers deep.  But then, "Fooled 'ya!; it's OK; no harm intended here; rape, murder, mayhem didn't even cross our mind."
Well, we know it is not true but we love the relief. The unsavory characters smile and don't make any sudden moves; the child simply makes it to the other side of the street, the man lurking in the trees proves to be an angel.
This technique works wonderfully well in "Spitfire." The movie is not without "bad things happening" and there is enough suspense for the movie to work. But the film does tighten and release its grip on us repeatedly until we are relaxed and softened up for the occasion when it does want to really squeeze us.
One last thing: Zlotoff has the courage to have the bad guy of the movie restored at the end. This is risky film making. Nahum, the close-minded towny scoundrel is someone we have found it easy to hate when the time comes to close the film. And our blood lust would have been satisfied had he come to a wretched end. But we are not allowed that catharsis. The man does a righteous thing. And though he is damaged goods, and though we are reluctant to bless and not curse him, we see him restored. In addition to being the most accurate demonstration of the Christian doctrine of grace I have seen in recent memory, it is one of the most risky film making choices I have witnessed in a long while.
for other reviews by John Schuurman see: http://www.mcs.com/~sjvogel/wcrc/movies.html
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


| cvd {colorspace} | R Documentation |
Conversion tables for simulating different types of color vision deficiency (CVD): Protanomaly, deutanomaly, tritanomaly.
protanomaly_cvd deutanomaly_cvd tritanomaly_cvd
Lists of 3x3 RGB-color transformation matrices for the various types of CVD. Each list contains 11 transformation matrices representing increasingly severe color vision deficiency.
Machado et al. (2009) have established a novel model, that allows to handle normal color
vision, anomalous trichromacy, and dichromacy in a unified way. They also provide conversion
formulas along with tables of certain constants that allow to simulate various types of
CVD. See simulate_cvd
for the corresponding simulation functions.
Machado GM, Oliveira MM, Fernandes LAF (2009). A Physiologically-Based Model for Simulation of Color Vision Deficiency. IEEE Transactions on Visualization and Computer Graphics. 15(6), 1291–1298. doi: 10.1109/TVCG.2009.113 Online version with supplements at http://www.inf.ufrgs.br/~oliveira/pubs_files/CVD_Simulation/CVD_Simulation.html.
Zeileis A, Fisher JC, Hornik K, Ihaka R, McWhite CD, Murrell P, Stauffer R, Wilke CO (2020). “ccolorspace: A Toolbox for Manipulating and Assessing Colors and Palettes.” Journal of Statistical Software, 96(1), 1–49. doi: 10.18637/jss.v096.i01


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.AppConfig @this(mainTemplate: MainTemplate) @()(implicit request: Request[_], messages: Messages, appConfig: AppConfig) @mainTemplate(pageTitle = messages("common.agentService")) {
@messages("notSignedUp.paragraph1Text") @messages("notSignedUp.paragraph1Link")
@messages("notSignedUp.paragraph2Text1") @messages("notSignedUp.paragraph2Link") @messages("notSignedUp.paragraph2Text2")
@messages("common.differentClient") }


Hugo Syntax Highlighting
15/Apr 2018
You can have code snippets highlighted so that they are easier to read on your site using Chroma, Hugo’s default syntax highlighter. It is built in Go lang and is really, really fast – and for the most important parts compatible with Pygments. Chroma takes source code and other structured text and converts it into syntax highlighted HTML, ANSI-coloured text, etc.
The example below shows a simple HTML code snippet highlighted with the Hugo highlight built-in shortcode:
<!DOCTYPE html>

<meta charset="UTF-8">
<title>Example HTML5 Document</title>

Test

The following code snippet was used to achieve that result:
{{< highlight html >}}
<!DOCTYPE html>

<meta charset="UTF-8">
<title>Example HTML5 Document</title>

Test

{{< /highlight >}}
For more information, see “Hugo Syntax Highlighting” from official Hugo docs.


StateRef(txhash: SecureHash, index: Int)
A stateref is a pointer (reference) to a state, this is an equivalent of an "outpoint" in Bitcoin. It records which transaction defined the state and where in that transaction it was.


{% include "header_user.html" %} {% block body %}
| ID App | Result Assessment | Vulnerability | Probability of Occurance | Risk Value | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TH-01 | TH-02 | TH-03 | TH-04 | TH-05 | TH-06 | TH-07 | TH-08 | TH-09 | TH-10 | TH-11 | ||||
| 5% | 9% | 17% | 5% | 16% | 14% | 11% | 5% | 2% | 7% | 9% | ||||
| {{row.0}} | {{row.1}} | {{vulnerability[row.0]['average']}} | {{row.2}} | {{row.3}} | {{row.4}} | {{row.5}} | {{row.6}} | {{row.7}} | {{row.8}} | {{row.9}} | {{row.10}} | {{row.11}} | {{row.12}} | {{row.13}} |


|
Elektra
0.8.25
|
Again we managed to release with new features, many build system fixes and also other improvements.
This namespace adds per-project or per-directory (hence the name) configurations. E.g. think how git works: not only /etc and ~ are relevant sources for configuration but also the nearest .git directory.
This technique is, however, much more widely useful than just for git repositories! Nearly every application can benefit from such a per-dir configuration. Its almost certain that you have already run into the problem that different projects have different guidelines (e.g. coding conventions, languages, whitespace requirements, line breaks, ..). Obviously, thats not a per-user configuration and its also not a per-file issue (thats how its usually solved today). So in fact you want, e.g., your editor to have an additional per-project layer to choose between such settings.
The technique is useful for nearly every other tool:
It is simple to use, also for the administrative side. First, change to the folder to your folder (e.g. where a project is):
cd ~/projects/abc
Then add some user (or system or spec) configuration to have some default.
kdb set user/sw/editor/textwidth 72
Then verify that we get this value back when we do a cascading lookup:
kdb get /sw/editor/textwidth
The default configuration file for the dir-namespace is pwd
/KDB_DB_DIR/filename:
kdb file dir/sw/editor/textwidth
.dir
per defaultdefault.ecf
by defaultWe assume, that the project abc has the policy to use textwidth 120, so we change the dir-configuration:
kdb set dir/sw/editor/textwidth 120
Now we will get the value 120 in the folder ~/projects/abc and its subdirectories (!), but everywhere else we still get 72:
kdb get /sw/editor/textwidth
Obviously, that does not only work with kdb, but with every elektrified tool.
For cascading mountpoints, the dir name is also automatically mounted, e.g.:
kdb mount editor.ini /sw/editor ini
But its also possible to only mount for the namespace dir if no cascading mountpoint is present already:
kdb mount app.ini dir/sw/app tcl
In both cases keys below dir/sw/editor would be in the INI file .dir/editor.ini
and not in the file .dir/default.ecf
.
In the project P we had the following issue: We needed on a specific computer the configuration in /etc to be used in favour of the dir config.
We could easily solve the problem using the specification:
kdb setmeta spec/sw/P/current/org/base override/#0 /sw/P/override/org/base
Hence, we could create system/sw/P/override/org/base which would be in favour of dir/sw/P/current/org/base. So we get system/sw/P/override/org/base when we do:
kdb get /sw/P/current/org/base
Alternatively, one could also use the specification:
kdb setmeta spec/sw/P/current/org/base namespace/#0 user kdb setmeta spec/sw/P/current/org/base namespace/#1 system kdb setmeta spec/sw/P/current/org/base namespace/#2 dir
Which makes dir the namespace with the least priority and system would be preferred. This was less suitable for our purpose, because we needed the override only on one computer. For all other computers we wanted dir to be preferred with only one specification.
The great thing is, that every elektrified application, automatically gets all the mentioned features. Not even a recompilation of the application is necessary.
Especially the specification provides flexibility not present in other configuration systems.
Raffael Pancheri again did a lot of stabilizing work:
The GUI can be handy for many purposes, e.g. we use it already as xml and json editor. Note that there are still some bugs.
ELEKTRA_DEBUG_BUILD
and ELEKTRA_VERBOSE_BUILD
fixed, thanks to Kurt MicheliELEKTRA_DEBUG_BUILD
and ELEKTRA_VERBOSE_BUILD
, thanks to Manuel MauszBUILD_TESTING
activated, but not ENABLE_TESTING
HTML_TIMESTAMP
to make build reproduceableAs always, the API and API is fully compatible. Because nothing was added, its even possible to link against an older version of Elektra (if compiled against 0.8.12).
In plugins some small changes may effect compatibility:
These two points are also the only unit tests that fail when Elektra 0.8.12 is used with 0.8.11 unit tests.
You can download the release from here and now also here on github
This release tarball now is also available signed by me using gpg
already built API-Docu can be found here
Subscribe to the RSS feed to always get the release notifications.
For any questions and comments, please contact the Mailing List the issue tracker on github or by mail elekt. ra@m arkus -raa b.org
For more information, see https://libelektra.org
Best regards, Markus


{% extends "base.html" %} {% load static %} {% block title %} Demo Program {% endblock %} {% block content %}
You have a 25% Growth in the last 30 days. Keep it up!
| Device Name | Access | Actions | |
|---|---|---|---|
| Lori Grant | Success |
|
|
| Lisa Jenkins | Success |
|
|
| Barbara Scott | Success |
|
|
| Alice Moore | Failed |
|
|
| Alice Moore | Failed |
|
| User Name | Status | Last connect time | |
|---|---|---|---|
| Connected | Feb 28, 2020 09:41 | ||
| TV | Connected | Feb 28, 2020 09:41 | |
| Fridge | Disconnected | March 2, 2020 09:41 | |
| Boiler | Disconnected | March 1, 2020 09:41 | |
| Connected | March 23, 2020 09:41 | ||
| + $281,00 | March 4, 2020 09:41 | ||
| + $401,00 | March 4, 2020 09:41 | ||
| + $918,00 | March 3, 2020 09:41 | ||
| + $302,00 | March 11, 2020 09:41 | ||
| Disconnected | March 7, 2020 09:41 | ||
| + $251,00 | March 1, 2020 09:41 | ||
| + $208,00 | March 20, 2020 09:41 | ||
| + $675,00 | March 6, 2020 09:41 | ||
| + $694,00 | March 28, 2020 09:41 | ||
| Trial | March 20, 2020 09:41 | ||
| + $560,00 | March 23, 2020 09:41 | ||
| + $697,00 | March 22, 2020 09:41 | ||
| + $954,00 | March 9, 2020 09:41 | ||
| + $834,00 | March 19, 2020 09:41 | ||
| Business | March 9, 2020 09:41 | ||
| + $667,00 | March 13, 2020 09:41 | ||
| + $159,00 | March 8, 2020 09:41 | ||
| + $187,00 | March 15, 2020 09:41 | ||
| + $862,00 | March 8, 2020 09:41 | ||
| Trial | March 11, 2020 09:41 | ||
| + $293,00 | March 9, 2020 09:41 | ||
| + $159,00 | March 10, 2020 09:41 | ||
| + $215,00 | March 4, 2020 09:41 | ||
| + $859,00 | March 13, 2020 09:41 |


Set Availability
Working time
Add Time Slot
SLOT - 1
06 : 30 AM
-06 : 30 AM
Working Day
Set Working Day
Monday
openTuesday
openWednesday
openThursday
openFriday
openSaturday
CloseSunday
CloseLeave Manage
Manage Leave
August 2021
6
9
14
15
september 2021
6
9
14
15


--- layout: page title: Where??? date: type: page parent_id: '0' published: false password: '' status: draft categories: [] tags: [] meta: _wp_page_template: default _edit_last: '1412221' author: login: dreamessenceonthemove email<EMAIL_ADDRESS>display_name: darribas first_name: Daniel last_name: Arribas-Bel permalink: "/" ---


Click the MapView to see point X / Y.
Clicked MapView point X: {{ anotherCtrl.mapViewPoint.x }}, Y: {{ anotherCtrl.mapViewPoint.y }}
Click the SceneView to see point X / Y.
Clicked SceneView point X: {{ anotherCtrl.sceneViewPoint.x }}, Y: {{ anotherCtrl.sceneViewPoint.y }}
Based on this sample.


--- layout: default title: Contact Us categories: contact ---
Having trouble connecting to an existing character, or need to contact the MUCK admins anonymously? Fill out this form, and the staff will be emailed about it.


See: Description
| Class | Description |
|---|---|
| ConnectionAddedEvent |
Created when a connection between nodes is added
|
| ConnectionRemovedEvent |
created when a node connection is broken
|
| EditEvent |
This serves as the base class for the events used by the program.
|
| EventLog | |
| LabelAddedEvent |
Created whenever a label is added to a node
|
| LabelRemovedEvent |
Created whenever a label is removed from a node
|
| MapResizeEvent | |
| NodeCreateEvent |
Records when a node was created via the "add a node" button.
|
| NodeDeleteEvent |
Recorded when a node was deleted via the "delete this node" button
I can see this being problematic if it can create multiple nodes with the same ID
|
| NodeMovedEvent |
Records when a node is moved via the "move this node" button
|


Education
Pennsylvania State University
2017-2021
B.S. Engineering Science
-
Schreyer's Honors College
Design
Leadership Experience
-
Honors in Neuromorphic Computing
FET Fabrication
FET Characterization
B.S. Physics
- Member of Sigma Pi Sigma, The Physics Honor Society
-
TA for Introductory Classical Physics Course
Leadership Experience
Minor Nanotechnology
Crawford County Career and Technical Center
2014-2017
Drafting and Design
- Lead Engineer
- Best Engineered
- Magic 8 Ball
- Bad Bunny
Conneaut Area Senior High
2013-2017
- GPA: 3.85
-
National Honor Society
Leadership Experience
-
Captain of Varsity Sports Teams
Leadership Experience
- Lip Sync Champion
Leadership Experience


Last Updated: 2020-03-22
Dash Platform is built on top of the network of the leading cryptocurrency Dash, or ‘Digital Cash' (dash.org) and provides the technology to create distributed, or decentralised, applications.
Evonet is the initial development network provided for experimentation and evaluation of Dash Platform features, named after the project's codename, ‘Evolution'.
You'll be able to safely build and test your DApp without worrying about costs or making mistakes
We're going to build a simple ‘hello world' DApp which stores the names of registered users.
.
As well as online documentation, there's an active community happy to help with your questions in the Dash DApp Developers Discord
In this codelab We're going to using the DashJS library, which makes the Dash Platform available in the browser and provides a single entry point for all its the features.
There's other ways to use access Dash Platform: on the server with Nodejs and in an increasing number of other languages such as Java, Kotlin & Go. You can find out more in the references at the end of the lab.
The DashJS Library also has more features than we explore in this introductory tutorial.
The full API reference documentation and more examples for DashJS are available here: https://dashevo.github.io/DashJS
Let's get started!
Create a new file and save it as index.html
Add a script tag to include the DashJS Library.
<script src="https://unpkg.com/dash"></script>
That's it! - we're ready to write some code.
A mnemonic is a sequence of words that can be used to generate private keys.
hello-world.js
<script>
const DashJS = require("dash");
const sdk = new DashJS.SDK({
network: "testnet",
mnemonic: null,
});
const mnemonic = sdk.wallet.exportWallet();
console.log({mnemonic});
</script>


Toggle navigation
Home
Competition
Submission
Questions
Contact
University of Michigan
Pitch Competition
write stuff about competition here
How Can I Participate?
The Competition
stuff about participating
more stuff
Submissions
Stuff about the submissions
Stuff about the submissions
Stuff about the submissions
Questions
Questions
Questions
Questions
Questions
Questions
Questions
Click here to take our survey
For general information about this study,
please contact
<EMAIL_ADDRESS>Follow The Pitch Competition
@UMPitchComp
Follow The Ross School of Business
@MichiganRoss
The University of Michigan - Stephen M. Ross School of Business
701 Tappan Street
Ann Arbor, MI 48109-1234


As of version 2.0 the APF natively supports PHP namespaces. Following the namespace concept of prior versions all
resources are addressed absolutely and including it's namespaces. This applies both to PHP classes, HTML templates,
and configuration files as well as to SQL statement resources. Depending on the type direct and absolute addressing
according to the PHP namespace pattern (e.g.
The ClassLoader implementation is based on the PSR-0 PHP standard. The document describes the construction of namespaces of PHP classes that is also applied to templates and configurations within the Adventure PHP Framework.
The following table shows the components of the APF and how they are defined concerning it's location:
| Type | Namespace | Name |
| PHP classes (controller, tags, ...) | \{Vendor name}\{Namespace}\ | {Class name} |
| HTML template | \{Vendor name}\{Namespace}\ | {Template name} |
| Configuration files | \{Vendor name}\{Namespace}\ | {Configuration file name} |
The APF implementation of the PSR-0 requires all application components to be addressed in absolute mode. Using this rule, you are able to load PHP classes, templates and configuration files from different base folders according to their vendor name.
For this reason, PHP classes must always be stated fully-qualified (e.g. APF\core\loader\StandardClassLoader) and other components such as templates at least require to have a fully-qualified namespace (e.g. APF\modules\usermanagement\pres\templates).
The following chapters describe the components that are delivered with the APF.
The RootClassLoader is the central component of the APF that manages the ClassLoader implementations. It's static interface offers the capability to register different ClassLoader with different vendor names and thus load PHP classes, templates and configuration files from different base folders. Due to this mechanism you are enabled to separate framework and application code as well as productive code from test artefacts by vendor name.
A ClassLoader is defined by the following interface:
As you can take from the interface every ClassLoader knows about it's vendor name. The vendor name is the first section of the namespace or the fully-qualified name of a PHP class. This allows to determine which template, configuration file, or PHP class is loaded by which ClassLoader.
Loading classes is done by the respective ClassLoader directly using the vendor name. The standard implementation of the APF - the StandardClassLoader - exclusively loads classes that refer to the vendor name it is registered with. This enables you to easily register multiple ClassLoader instances for different vendors and with different base folders.
Loading templates and configuration files is also done using the registered ClassLoaders, but here they only provide the base path. The base path is then used to calculate the complete file path to load templates (getRootPath()) and configuration files (getConfigurationRootPath()) from different base paths.
The StandardClassLoader is the standard implementation of the ClassLoader interface. He is responsible for loading classes that are referring to a dedicated vendor name.
To configure the class loader, the constructor takes the desired vendor name as well as the base path for code and configuration. The third argument (base path of configuration files) is optional and is initialized with the value of the code bas path in case it is omitted. Example:
In case you intend to separate code of different vendors you can configure multiple StandardClassLoaders with different vendor names and base paths.
In contrast, using this mechanism can also be used to combine sources from different vendors into one single base path. This can be done by registering multiple StandardClassLoader with different vendor names but the same base path.
Another scenario is the separation of code and configuration for one vendor. Using the two base paths for classes and templates (getRootPath()) as well as configurations (getConfigurationRootPath()) you are enabled to separate code fragments from configuration.
The base path of the StandardClassLoader registered for the vendor APF registered within the APF/core/bootstrap.php can be manipulated by the bootstrap file of your application. For this reason, please set the $apfClassLoaderRootPath variable according to your environment.
Besides, this mechanism can be used to separate APF code from it's configuration. For this reason, please set the $apfClassLoaderConfigurationRootPath variable according to your environment before inclusion of the APF/core/bootstrap.php file.
Details can be taken from chapter 4.
Mapping of vendor name or namespace and type (e.g. PHP class) respectively to a dedicated file name is done by the ClassLoader implementation. The standard implementation of the APF acts as follows:
| Namespace/fully-qualified name | Name | File path |
| ACME\application\pres\controller\DoSomethingController | - | /acme/src/application/pres/controller/DoSomethingController.php |
| ACME\application\pres\templates | something.html | /acme/src/application/pres/templates/something.html |
| ACME\biz\factory | goods.ini | /acme/src/config/biz/factory/{CONTEXT}/{ENVIRONMENT}_goods.ini |
Please note that mapping of configuration files highly depends on the ConfigurationProvider implementation.
Details can be taken from
The subsequent chapters describe how you can adapt the ClassLoader mechanism to load PHP classes, templates, and configuration files and how to use it within your application.
Each ClassLoader is initialized with the base path that is set for loading PHP classes, templates, and configuration files according to the respective vendor. The StandardClassLoader for the vendor APF is initialized within the APF/core/bootstrap.php that is included within your application's bootstrap file. The following code box shows a typical index.php:
Without further configuration, the framework evaluates the path to the bootstrap.php file and uses it's parent folder - the folder where core, extensions, modules, and tools reside - as the base path for initializing the StandardClassLoader. Vendor name for all APF components is APF.
In case you are using symlinks or your code base delivers multiple projects you can adapt the base path by the $apfClassLoaderRootPath variable right before including the bootstrap.php file. Your index.php changes as follows:
PHP classes, templates, and configuration files for vendor APF are now loaded from /path/to/apf/src.
Besides the base path for classes and templates each ClassLoader can be applied a base path for configuration files. The StandardClassLoader for vendor APF is also initialized within APF/core/bootstrap.php that in turn is included in the bootstrap file of your application.
Without further configuration, the framework evaluates the path to the bootstrap.php file and uses - as described in chapter 4.1 - it's parent folder - as the base path for initializing the StandardClassLoader. Vendor name for all APF components is APF.
In case you intend to customize the base path for configurations along with the folder for classes and templates you can adapt the base path by the $apfClassLoaderConfigurationRootPath variable right before including the bootstrap.php file. Your index.php changes as follows:
PHP classes and templates for vendor APF are now loaded from /path/to/apf/src, configuration files are expected to be located under /path/to/apf/config by the appropriate ConfigurationProvider implementations.
In order to use further ClassLoaders they must be registered within the bootstrap file of your application. For this reason, you can use the RootClassLoader::addLoader() method that takes a ClassLoader instance as it's argument. You can thus use the implementation of the APF (StandardClassLoader) or a custom implementation.
The following code block registers the StandardClassLoader using a custom vendor name:
In order to separate configuration from code you may want to use the third argument of StandardClassLoader's constructor to specify a separate base path for configurations files. Your index.php changes as follows:
Configuration files of vendor ACME are now loaded from /acme/config.
In case the shipped implementation does not meet your requirements you can easily create a custom ClassLoader implementation. The following example contains an implementation that loads classes containing vendor, namespace, and class name like ACME_Name_Space_ClassName:
Usage is as follows:
Loading classes is directly done by the RootClassLoader. In case you want to place application components such as font files within the folder structure of your application and include them easily, you can use the capabilities of the RootClassLoader.
The subsequent code sample loads a font file that resides in parallel to the ImageHeadlineGenerator class and that is intended to create image-based headlines:
The code sample uses getLoaderByNamespace() to retrieve the ClassLoader responsible for the current vendor. The ClassLoader then returns it's current base path that is used to load PHP classes, templates and configuration files.
Moreover, the RootClassLoader is used to extract the base namespace without vendor name from the fully-qualified namespace. Both parts - base path and namespace path - together then form the file path of the font file.
Besides the methods listed in chapter 4.3. the RootClassLoader provides further methods that can be used to create file paths or load application components.
The following list includes the provided methods as well as their use cases:
| Method | Use case |
| getLoaderByVendor() | Returns the ClassLoader instance that was registered for the applied vendor. |
| getLoaderByNamespace() | Returns the ClassLoader instance that refers to the applied namespace. |
| getLoaderByClass() | Returns the ClassLoader instance that refers to the applied fully-qualified PHP class name. |
| getClassName() | Returns the class name (e.g. RootClassLoader) of a fully-qualified class (e.g. APF\core\loader\RootClassLoader). |
| getNamespace() | Returns the namespace (e.g. APF\core\loader) of a fully-qualified class (e.g. APF\core\loader\RootClassLoader). |
| getNamespaceWithoutVendor() | Works like getNamespace(), but ommits the leading vendor name (e.g. core\loader). |
| getVendor() | Returns the vendor name (e.g. APF) of a fully-qualified class (e.g. APF\core\loader\RootClassLoader). |


class: center, middle # Introduction to Algebraic Types in Scala Rob Norris / `@tpolecat` ??? - name is rob - interested in FP - like a challenge so i do it in scala - going to talk about algebraic types - please ask questions. this is a *beginner* talk so if there is anything at all that doesn't make sense, raise your hand or interrupt me --- # Goals - Understand why they're called "algebraic" types. - Understand some elementary isomorphisms. - Understand some common standard library types and operations. - Understand how to write your own. ??? - so I may say ADT, and in the ML/Haskell/Scala world this means "algebraic data type", not to be confused with "abstract data type --- # What do you mean by "algebraic?" ## Let's do some counting. > How many values of type `Nothing`? > > How many values of type `Unit`? > > How many values of type `Boolean`? > > How many values of type `Byte`? > > How many values of type `String`? --- # What do you mean by "algebraic?" ## Let's do some counting. > How many values of type `Nothing`? → 0 > > How many values of type `Unit`? → 1 > > How many values of type `Boolean`? → 2 > > How many values of type `Byte`? → 256 > > How many values of type `String`? → many ??? --- # What do you mean by "algebraic?" ## Let's do some counting. > How many values of type `(Byte, Boolean)`? > > How many values of type `(Byte, Unit)`? > > How many values of type `(Byte, Byte)`? > > How many values of type `(Byte, Boolean, Boolean)`? > > How many values of type `(Boolean, String, Nothing)`? ??? - everyone familiar with tuple types in scala? --- # What do you mean by "algebraic?" ## Let's do some counting. > How many of type `(Byte, Boolean)`? → 2 × 256 = 512 > > How many of type `(Byte, Unit)`? → 256 × 1 = 256 > > How many of type `(Byte, Byte)`? → 256 × 256 = 65536 > > How many of type `(Byte, Boolean, Boolean)`? → 256 × 2 × 2 = 1024 > > How many of type `(Boolean, String, Nothing)`? → 2 × many × 0 = 0 ??? - so to figure out the cardinality of a tuple type like this, you multiply the cardinalities of the component types. - that's why they're called ... --- # What do you mean by "algebraic?" ## Product types! This
and
That ### Tuples! ```scala type Person = (String, Int) ``` ### Classes! ```scala class ScalaPerson(val name: String, val age: Int) class JavaPerson { final String name; final Int age; ... } ``` ??? - And you have seen these before. - Pretty much every language has product types like tuples or records or structs or classes. - So we all have an instinct about multiplying types. But you can also add them, which will be new for most of you. --- # What do you mean by "algebraic?" ## Let's do some more counting. > How many values of type `Byte` or `Boolean`? > > How many values of type `Boolean` or `Unit`? > > How many values of type `(Byte, Boolean)` or `Boolean`? > > How many values of type `Boolean` or `(String, Nothing)`? ??? - So this is something you may not ever think about if you're coming from a traditional OO language. - What if you have a choice of one thing or another? --- # What do you mean by "algebraic?" ## Let's do some more counting. > How many of type `Byte` or `Boolean`? → 2 + 256 = 258 > > How many of type `Boolean` or `Unit`? → 2 + 1 = 3 > > How many of type `(Byte, Boolean)` or `Boolean`? → (256 × 2) + 2 = 514 > > How many of type `Boolean` or `(String, Nothing)`? → 2 + (many × 0) = 2 ??? - In this case we *add* the cardinalities together, which is why they're called... --- # What do you mean by "algebraic?" ## Sum types! This
or
That ```scala // What have we learned? Nothing = 0 Unit = 1 Boolean = 2 Byte = 256 (Unit , Boolean) = 1 × 2 = 2 Unit | Boolean = 1 + 2 = 3 // not Scala syntax (Byte , Boolean) = 256 × 2 = 512 Byte | Boolean = 256 + 2 = 258 (Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean) = 256 // sums all the way down Boolean = true | false Int = 1 | 2 | 3 | ... ``` ??? - so we'll get to the exact encoding of this idea in scala, but i wanted to explain this notion of multiplication and addition of types because that's where the "algebraic" comes from. - and we can do much more than add and multiply; function types are actually exponentials, and the derivative of a type is a structure called a one-hole context that's the key to a family of data structures called zippers. We won't talk any more about this but I'll give you a reference if you want to explore that. - Ok so something interested we see is that a tuple of 8 booleans has exactly the same number of inhabitants as byte. so the types are isomorphic, you can line them up 1:1 and convert between them without losing information. - Another interesting thing is that anything times unit is just that thing; unit is the multiplicative identity for types. The takeaway is that there is never any reason to use unit in a product type (or, for related reasons, as a function parameter). - So, understanding when types are equivalent is a nice skill to have. - Alright, moving on. How do we represent sum types in Scala? --- # Sum types in Scala ## Encoded by Subclassing ```scala sealed trait Pet case class Cat(name: String) extends Pet case class Fish(name: String, color: Color) extends Pet case class Squid(name: String, age: Int) extends Pet val bob: Pet = Cat("Bob") ``` - Pro tip: in Scala when you hear ADT it means sum type. ??? - Ok so we have a sealed trait, which means all implementations of that trait must be in the same source file so the compiler knows about all of them. And I'll explain why that's important in a minute. - we don't think of this as a class hierarchy - we think of it as a single type, Pet, with three constructors - so Pet is a sum of three products. - so if bob is a pet, he can be a cat or a fish or a squid, which we inspect... --- # Sum types in Scala ## Destructured by
pattern matching
```scala def sayHi(p: Pet): String = p match { case Cat(n) => "Meow " + n + "!" case Fish(n, _) => "Hello fishy " + n + "." case Squid(n, _) => "Hi " + n + "." } scala> sayHi(Cat("Bob")) res0: String = Meow Bob! scala> sayHi(Squid("Steve", 10)) res1: String = Hi Steve. ``` ??? - So we provide a match with a pattern for each constructor, and the arguments we used to construct the value are bound to variables when we do this so they're available on the right-hand side. So that's a different `n` in each case. - The underscore means we don't care about the value. - So what if we leave a case out, like we don't include a clause for `Squid`? --- # Sum types in Scala ## Exhaustiveness Checking ```scala def sayHi(p: Pet): String = p match { case Cat(n) => "Meow " + n + "!" case Fish(n, _) => "Hello fishy " + n + "." }
:14: warning: match may not be exhaustive. It would fail on the following input: Squid(_, _) p match { ^ ``` ??? - Well we get a compiler warning. So this is exhaustive matching, which get if you use a sealed trait because the compiler knows that there are exactly three constructors for Pet. - So you don't always need to use pattern matching because there might be methods on the parent trait that do what you want, but you can always fall back on it if you're not sure what to do. - There is another more general way we can encode destructuring, called a fold. We will see this in a minute. - Everyone ok so far? - Ok let's look at some of the ADTs that come in stdlib --- # Standard Library: Option ## Intuition: computations that may fail to return a value ```scala sealed trait Option[+A] case object None extends Option[Nothing] case class Some[A](a: A) extends Option[A] ``` ## Example ```scala def safeDiv(a: Int, b: Int): Option[Int] = if (b != 0) Some(a / b) else None scala> val x = safeDiv(10, 2) x: Option[Int] = Some(5) scala> val y = safeDiv(10, 0) y: Option[Int] = None ``` ??? - do you understand everthing here? type param, covariant, Nothing - puzzle: what's the cardinality of Option? - so this is what we do instead of using null in scala - code: pattern match, fold (cata), map, getOrElse, not talking about flatMap - show dash --- # Standard Library: Either ## Intuition: computations that may return this or that ```scala sealed trait Either[+A, +B] case class Left[A](a: A) extends Either[A, Nothing] case class Right[B](b: B) extends Either[Nothing, B] ``` ### Example ```scala def safeDiv(a: Int, b: Int): Either[String, Int] = if (b != 0) Right(a / b) else Left("Divide by zero!") scala> val x = safeDiv(10, 2) x: Either[String,Int] = Right(5) scala> val x = safeDiv(10, 0) x: Either[String,Int] = Left(Divide by zero!) ``` ??? - you can use this to return this or that; most commonly you see left for errors and right for success. - code: match, not that many methods: fold, swap, projections: map, toOption - puzzle: what's the cardinality of Either? - note that Either[Unit,A] is isomorphic to Option[A] --- # Standard Library: Try ## Intuition: computations that may fail with an exception ```scala sealed trait Try[+A] case class Success[A](a: A) extends Try[A] case class Failure[A](t: Throwable) extends Try[A] ``` ### Example ```scala import util._ // it's scala.util.Try def safeDiv(a: Int, b: Int): Try[Int] = Try(a / b) scala> val x = safeDiv(10, 2) x: scala.util.Try[Int] = Success(5) scala> val x = safeDiv(10, 0) x: scala.util.Try[Int] = Failure(java.lang.ArithmeticException: / by zero) ``` ??? - isomorphic with Either[Throwable,A] - code: no fold, match, map, map w/ error "bulletproof principle" --- # Standard Library: List ## Intuition: computations that may return many answers ```scala sealed trait List[+A] case object Nil extends List[Nothing] case class ::[A](head: A, tail: List[A]) extends List[A] object List { def apply[A](as: A*): List[A] = ... } ``` ### Example ```scala def sum(ns: List[Int]): Int = ns match { case Nil => 0 case n :: ns => n + sum(ns) } scala> sum(List(1,2,3)) res23: Int = 6 ``` ??? - a bit more here. we have an empty case and a non-empty case like option - and there's some syntax that helps us not have to deal with `::` directly. - list is an inductive type because it has a base case Nil, and an inductive case cons that takes a smaller list as an argument. And functions over lists have the same form as an inductive proof. - code: foldRight, map, flatMap, headOption --- class: center, middle # Thanks! Questions? Rob Norris / `@tpolecat`
Code will be available soon, watch the tweeter.
??? - feedback, complaints


| |
sieve←{
b←⍵⍴{∧⌿↑(×/⍵)⍴¨~⍵↑¨1}q←2 3 5
b[⍳6⌊⍵]←(6⌊⍵)⍴0 0 1 1 0 1
49≥⍵:b
p←(≢q)↓{⍵/⍳⍴⍵}∇⌈⍵*0.5
m←1+⌊(⍵-1+p×p)÷2×p
b ⊣ p {b[⍺×⍺+2×⍳⍵]←0}¨ m
}
+/ sieve 1e9
50847534
| |
Mark as not-prime multiples of each prime less
than ⍵*0.5 .
|
| |
Multiples of 2 3 5
are marked by initializing b
with ⍵⍴{∧⌿↑(×/⍵)⍴¨~⍵↑¨1}2 3 5
rather than with ⍵⍴1 .
|
| |
Subsequently, only odd multiples of
primes > 5
need to be marked.
|
| |
Multiples of a prime to be marked
can start at its square.
|
|


--- layout: index title: Home permalink: / ---
These are longish presentations (about an hour) about topics of interest to the community. Often we also have lightning talks (5-15 minutes) also. If you have something you'd like to share with everyone, drop a line to the organizers! Additionally, we organize project nights sometimes, where we get a chance to sit down with other Python developers of all experience levels to push your project forward, get help with a particular trouble spot, share expertise, or do whatever else you like.
PyConf Hyderabad is the regional conference for the community that uses and develops the open-source Python Programming Language. The Conference is a tribute to the community and the people who have made the community special. We organize this conference every year with an array of Talks and Keynote Speakers from around the country. Check out the PyConf Hyderbad Website to know more.


Context: In 2016, Oasis Green Food Bank of Shanghai became the first food bank in mainland China. Without first-hand research, however, Oasis found it challenging to comprehensively identify food bank beneficiaries and their needs. I was part of an ambitious project to understand the living conditions of the urban poor and their need for food assistance in Shanghai.
Process: We conducted ethnographic research using a variety of research methodologies, including semi-structured in-depth interview, non-participatory observation, and questionnaires. The team identified 5 key populations at risk of food shortage, and mapped them to a beneficiary classification pyramid.
Results: The model was immediately adopted by the client and informed its subsequent expansion of operations nationwide.
Before going into the field, we spent a week researching and understanding the problem landscape and reviewing the existing literature.
Through reviewing academic research on food bank beneficiaries, annual reports of Social Welfare Ministry, census data on migrant workers,
and news reports on urban poverty in Shanghai, we identified 3 major categories of potential food bank beneficiaries,
and broke down those categories even further to ensure there is plenty of within-category variance.
The purple dots on the left indicate groups that we found through research to be the most vulnerable to food shortages.
Through semi-structured in-depth interviews, we discovered interesting demands and preferences of food bank beneficiaries. For instance, a family with a newborn baby spoke passionately against baby formulas donations. We used user profiles to capture surprising findings.
We also discovered the common trend that those who have the most dire needs for food assistance often suffer from health conditions and/or major accidents.
Households and individuals experiencing major accidents and health conditions are considered to be on the 5th ladder - they are often in dire need of food assistance. Those on social security may not have easy access to fruits, meats, and diaries, and are considered to be on the 4th ladder - they constitute the majority of our interviewees. Some current food bank beneficiaries already have consistent access to fruits, etc; they complained about the quality and consistency of the food donations. They are considered to be on the 3rd ladder.
We recommended that the Food Bank focus on servicing those on the 4th and 5th ladder. During field work, we discovered that many families on the 4th and 5th ladder are not yet beneficiaries of Oasis Green Food Bank.
Our research result, the beneficiary classification pyramid, made its way to the client’s website, demonstrating the fact that the Food Bank has employed the insights into their daily practice.
In the three years following our project, Green Food Bank expanded from a local non-profit serving 2 neighborhoods, to a national organization with 20 locations in Shanghai alone. It has expanded to reach 9 other provinces, developing a network of food banks across China. In 2018 alone, it provided food assistance to over 430K people.
Client rapport can lead to meaningful collaboration
We maintained a high level of alignment and rapport with our client throughout the project, which proved to be a great help during field work. For instance, Oasis put us in contact with Ms. Chen, a community organizer who
frequently visits and checks in with vulnerable populations in the neighborhood. With Ms. Chen's guidance, we had the rare opportunity to go into people's homes and observe their livelihood.
Combine qualitative with quantitative methods
While our qualitative research was scientifically designed, I think we could have made our recommendation in a more compelling way by supporting it with data analysis. Because of the time constraint,
we decided to focus solely on collecting and synthesizing anecdotal evidence. It turned out, however, that we had the opportunity of generating an original, albeit small, dataset simply by parsing logging information that came up
in user interviews in a systematic way. This experience has taught me to be more mindful about the potential for quantitative analysis during user research.


{% extends "core.html" %} {% load i18n %} {% block title %}{% trans "Verify Your E-mail Address" %}{% endblock title %} {% block bodyclasses %}hold-transition login-page{% endblock bodyclasses %} {% block body %}
{% blocktrans %}This part of the site requires us to verify that you are who you claim to be. For this purpose, we require that you verify ownership of your e-mail address. {% endblocktrans %}
{% blocktrans %}We have sent an e-mail to you for verification. Please click on the link inside this e-mail and contact us if you do not receive it within a few minutes.{% endblocktrans %}
{% blocktrans %}Note: you can still change your e-mail address.{% endblocktrans %}


--- title: About ---
Well, the way they make shows is, they make one show. That show's called a pilot. Then they show that show to the people who make shows, and on the strength of that one show they decide if they're going to make more shows. Some pilots get picked and become television programs. Some don't, become nothing. She starred in one of the ones that became nothing.


Demo - Attaching sensor to component boundary
AngularBoundSensor was attached to this component as following example below:
You also can pass the settings by passing an object to the directive:
My boundary size: {{myBoundSize}}
My child boundary size: {{myChildBoundSize}}
0" [innerHtml]="content">


|
| | Министерство культуры Российской Федерации Портал Культура.рф Проект «Образы России» |
The memorial estate Arkhangelskoye
Tea house
Complex of two houses and a “Garden” was built when prince N. Golitsin ran the estate. “Caprice” – is a small one-floor living house inspirited by regular garden monbijou-pavilions traditional for the XVIII century.
The library is a graceful garden building, constructed by I. Petondi, the Italian architect. After fire of 1829, which destroyed wooden wings of the library, central stone pavilion with small stepped dome preserved, it had wonderful interior decoration with white columns and fretwork on the blue wall background. As time went on the owners started to use it as a “Tea house”.
Культура.рф © Портал культурного наследия России


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.customs.rosmfrontend.forms.models.subscription.ContactPersonViewModel @import views.html.helper._ @import views._ @import uk.gov.hmrc.customs.rosmfrontend.views.html._ @this(layout_di: layout) @(contactForm: Form[ContactPersonViewModel], email:Option[String]=None, isInReviewMode: Boolean, journey: Journey.Value)(implicit request: Request[_], messages: Messages) @inputText(field: String, label: String, args: (Symbol, Any)*) = { @helpers.inputText(contactForm)(field, label, args: _*) } @layout_di(messages("cds.subscription.contact-details.page.title"), form = Some(contactForm)) {


Full Stack Developer
I'm someone who loves challenges, solving difficult problems, and having fun while doing it.
I discovered my passion for coding in my previous position as an accountant at Ernst & Young. There, I started dabbling in automation. One script led to another, and I became hooked. There was no better feeling than making others' lives easier with tools I personally created.
Deciding to make a career switch, I set out for Silicon Valley to attend a 14-week immersive coding bootcamp where I learned to not only create sleek modern web apps, but better myself as a programmer. I continue to push myself each and every day to create products I am truly passionate about.
From front end to back end, I've got you covered
I create responsive websites and apps with an emphasis on the end user's experience. My attention to detail and polish help your website stand out.
Building secure and robust APIs to serve up your data is a necessity in today's market. I make sure the right data is delivered to the right people.
As a developer, turning your great ideas into tangible results is my passion. I see the big picture and believe quality execution is the main driver of success.
Want to chat about my work? Email me.
Founder / Developer
Audiate is a platform for Spotify users to share songs and connect with friends in a new way. Discovering new music and sharing songs with others has never been so easy.
VISIT WEBSITEDaily Discussion is a web app that initiates daily real-time user discussion of various topical YouTube videos. The chat app uses Socket.IO WebSocket for live chat functionality on a ReactJS front end.
Pick-up Games is a mobile app for people who love playing sports with others. It uses Apple MapKit to help them get connected with others nearby who also love playing the same sports.
I'm currently available for full-time work and would love to hear about your company.
Please take a moment to tell me about it.


public interface InvestmentInfo
| Modifier and Type | Method and Description |
|---|---|
InvestmentActivity |
getActivity()
Gets the investment activity.
|
Security |
getSecurity()
Gets the security id.
|
InvestmentTransaction |
getTransaction()
Gets the investment transaction.
|
void |
setActivity(InvestmentActivity investmentActivity)
Sets the investment activity.
|
void |
setSecurity(Security security)
Sets the security id.
|
void |
setTransaction(InvestmentTransaction investmentTransaction)
Sets the investment transaction.
|
InvestmentActivity getActivity()
InvestmentTransaction getTransaction()
void setActivity(InvestmentActivity investmentActivity)
investmentActivity
- the new investment activityvoid setTransaction(InvestmentTransaction investmentTransaction)
investmentTransaction
- the new investment transactionvoid setSecurity(Security security)
security
- the new security idSecurity getSecurity()
Copyright © 2018. All rights reserved.


Summit Banking
We believe in customers we believe in youInformation about various types of Loans
Summit Bank offers wide variety of Loans Products to suit your requirements. Coupled with convenience of networked branches/ ATMs and facility of E-channels like Internet and Mobile Banking, Summit Bank brings banking at your doorstep. Select any of our loan product and provide your details online and our representative will contact you for getting loans.
Home Loans
The No. 1 Home Loans Provider in the country, Summit Bank Home Loans offers some unbeatable benefits to its customers - Doorstep Service, Simplified Documentation and Guidance throughout the Process. It's really easy !
Personal Loans
If you're looking for a personal loan that's easy to get, your search ends here. Summit Bank Personal Loans are easy to get and absolutely hassle free. With minimum documentation you can now secure a loan for an amount upto Rs. 15 lakhs.
Car Loans
The most preferred financier for car loans in the country. Network of more than 1000 channel partners in over 200 locations. Tie-ups with all leading automobile manufacturers to ensure the best deals. Flexible schemes & quick processing. Hassle-free application process on the click of a mouse.
Commercial Vehicle Loans
Range of services on existing loans & extended products like funding of new vehicles, refinance on used vehicles, balance transfer on high cost loans, top up on existing loans, Xtend product, working capital loans & other banking products.
Farm Equipment Loans
Preferred financier for almost all leading tractor manufacturers in the country. Flexible repayment options in tandem with the farmer's seasonal liquidity. Monthly, Quarterly and Half-yearly repayment patterns to choose from. Comfortable repayment tenures from 1 year to 9 years.
banking
- Summit Banking publishes all its Latest News and related information in this section. Please visit this section to stay up-to-date with public announcements and releases made by Summit Bank
Latest News
-
Click Here Latest News
Latest Offer
Educational and home loan rates has been revised as per RBI direction. More...


devlife Intranet
Menu
Achievements
Save (test)
Load (test)
Notifications on/off
Issue tracker
Wiki
! Reset game
Developed by naoxink
Stats
Money:
Money rate:
Pulse speed:
Computer Version:
Jobs:
Employees:
Tweet my stats!
Projects
Projects completed:
0
Start project
Improvements
Upgrades
Upgrade computer (
)
Recruiting
Salaries cost:
Jobs
Take job oportunity
Actual jobs
Shop
Buy coffee (5¢)
Buy Energy Drink (15¢)
Lottery
Buy a ticket (1¢)
-
-
-
Space
Rooms:
Floors:
Buildings:
Warehouses:
Available spaces:
Rents cost:


Suggestions to manage high stress :
-
1.Set aside leisure time Include rest and relaxation in your daily schedule.
- 2.Do something you enjoy every day. Make time for leisure activities that bring you joy, whether it be stargazing, playing the piano, or working on your bike.
-
3.Take up a relaxation practice. Relaxation techniques such as yoga, meditation, and deep breathing activate the body’s relaxation response, a state of restfulness that is the opposite of the fight or flight or mobilization stress response.
- 4.Eat a healthy diet.
- 5.Get enough sleep.
- 6.Spend time with your loved once in your free time.


This filter includes/excludes jobs based on their build durations.
Rationale
Useful if you have jobs that should be running quickly and you want to easily
find them when they take longer. The opposite might also make sense: if you know
that a job should take a long time, but finishes too fast this might be an
indication that something is wrong with that job.
Options
- Build duration:
- How long a job's builds need to have taken in order for this filter to match.
- How far back to check:
-
A job can have many builds and this option determines how many of those builds
will be checked. Always goes backwards from the latest build. Can be a decimal
number, e.g. 1.5 hours. If you want to include all builds set this
value to 0.
- Match type:
-
Whether to add or remove jobs from this view. There's two kinds of match types:
- Include matched/unmatched: adds additional jobs to this view.
- Exclude matched/unmatched: removes jobs from this view that have been included by previous filters.
Examples
- Show all jobs where the last build took longer that an hour.
- Show all jobs where at least one build took longer than 10 hours.
- Show all jobs where every build in the last week took less than a minute.


A full-service residential & commercial interior design and staging company offering professional organizing & eco-services.


- The test passes if there are two green squares with text inside and no red.
- In the first square, the numbers should go up from "one" to "seventeen".
- In the second square, the numbers should go up from "eighteen" to "twenty-six".
- The numbers should go up sequentially by one.
- None of the words should be cutoff and no text should be outside the green boxes.
One two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty twenty-one twenty-two twenty-three twenty-four twenty-five twenty-six twenty-seven twenty-eight twenty-nine thirty


We will be reading and trying out the ideas from several books for this workshop. They all have connections to Joseph Williams Style book, which has gone through several editions (and titles) since it was first published in the 1980s.
There are a lot of good writing books out there, but this is by far my favorite. I regularly pick it back up when I am editing manuscripts, particularly when I have a section of a draft that I am struggling to write clearly. What I like about it is that it focuses on how we can edit our writing to make it easier for readers to read and understand. It bases its advice on how readers process information as they read, and it gives advice that is easy to use to diagnose problems and fix them.
I cannot overstate how important it is to edit your scientific manuscript until it can be read easily (and feel “quick” to read) and until it is hard to misunderstand. You are moving into work where you will be the expert in the room. You will know your very specific topic better than all but a handful of people in the world, and often better than the editor and reviewers for your manuscript. You are teaching through your manuscript, and the text must be clear for readers to learn what you’ve learned.
Also, scientific papers are hard work to read, even when they are written beautifully. As the reader, you must work to understand the science and statistical methods that were used to generate results for the paper. Your mind works hard to integrate the paper’s results with what you know from other papers in the field. If the writer does not make the writing clear and easy to read, it can feel impossible to read the paper, because your brain can’t simultaneously try to figure out what the writer was trying to say and what the science in the paper is saying. You have worked hard on your science. It’s worth the effort to edit your manuscript until you remove all overhead and make the writing easy to read.
Most people, even senior scientists, write first drafts that are a drag to read. Even if all the information is there, it’s a lot of work to mentally extract it, and it’s often hard to follow along with the arguments and explanations. It’s fine for your early drafts to be like that. It’s not good for the submitted manuscript to still feel so heavy.
The examples in Style are mainly from academic writing, although not specifically from scientific manuscripts or manuscripts meant for peer review. Fortunately, two other writers have taken Williams’s ideas and illustrated how they work in scientific writing. Further, they give some tips specific to scientific writing, including how to plan and structure certain sections—like the Introduction and Discussion. These are the second and third books on the list.
The fourth book in the list includes a section on arguments. We often don’t think of scientific writing as argumentative, but it really is. You will need to convince readers that your study is important, that it advances the science. Then you’ll need to not just present your results, but provide an interpretation for those results. You will need to walk your readers through why those interpretations are reasonable and appropriate. While many students come into graduate school with a reasonable mastery of grammar, they often present their arguments in a way that is scattered and diffuse. Often, when I am editing manuscripts with first authors who are students, much of the editing process is related to finding and fleshing out their arguments. We won’t be able to go deeply into rhetoric in this workshop, but we will cover the basics of building arguments in your writing based on the advice in this book.
The full list of books for the workshop is:
We will also use three published articles as examples. None of these are traditional research articles, but rather cover a range of commentary/editorial-style articles. All three should be available either directly online or through CSU. Please let me know if you have any problem accessing any of these articles.
I have picked these papers because they all provide important ideas and advice, and they all have some strong writing. In particular, they have a clear overarching structure and state and defend their arguments well. Also, like most published papers (mine included), they include examples where sentences or paragraphs could be edited to be easier to read and harder to misunderstand. They therefore provide some nice examples of both the good and the bad (none get into “the ugly”, but you won’t have to look too far in the scientific literature to find some that do), and so we can see that even very good papers have room for further editing and try our hand at doing that.


Ukrainians paid over US$67 mln in subsidies for utilities in Jan-Oct
The average amount of subsidies assigned to one household in October alone grew by 8.7% y-o-y, to UAH 492.1, or about US$20.35.
Some UAH 1.63 billion, or US$67.4 million, in subsidies from the national budget was paid to Ukrainian households to compensate housing and utilities costs in January-October 2019, which was 30% up year-over-year (y-o-y).
In particular, subsidies worth UAH 1.24 billion (US$51.3 million) were paid to residents in the urban areas, while UAH 416.8 million (US$17.2 million) was paid to rural residents, according to the Ukrainian State Statistics Service.
Over the period under review, 2.573 million households applied for subsidies for housing and utilities, which was 41.8% down y-o-y, it said.
Some 3.282 million families entitled to subsidies live in the urban areas, while 1.372 million households that received compensation for utilities reside in the rural areas. The number of families with assigned subsidies over the period under review increased by 20.4% y-o-y, the service reported.
The average amount of subsidies assigned to one household in October 2019 grew by 8.7% y-o-y, to UAH 492.1, or about US$20.35.
A total of 2.424 million households received subsidies in October alone.
As UNIAN reported earlier, subsidies to reimburse housing and utilities costs in 2018 were estimated at UAH 2.7 billion (US$111.7 million), which was 33.4% down from 2017.


Karl Williard Ayers
Unafffiliated
Teacher, Ridgeview Classical Schools, Fort Collins, CO. I have held this position for 12 years.
MA: Classical Languages - University of Georgia BA: Anthropology, Classical Culture - University of Georgia
80513
I have been a registered independent voter since 2000. I have never been associated with any political campaigns, though I have and do serve on municipal boards and committees.
Transportation Board, Ft. Collins, CO (Jan. 2016 - Oct. 2019) Bicycle Advisory Committee, Ft. Collins, CO (2018 - Oc. 2019) Parks, Outdoors, Recreation, & Trails Committee, Berthoud, CO (Sept. 2020 - present)
As a member of various boards and committees, it has been my duty to look at the long-term consequences to actions taken by elected officials. Each municipality I have served has a varied population that has different wants and needs. It has been my duty to put those wishes on an equal footing with my own and try to guide decisions in an equitable way.
I think that fair representation is the purpose of our system of government. The purpose of our government and electoral system is NOT to be molded to suit the reelection interests of incumbent politicians, it is to accurately represent each district's community. Gerrymandering is contrary to the ideal that is our representative system and it must be checked at every turn. Representative districts MUST be fair, balanced, and randomly equal to work correctly.
I believe that my lifetime as an independent voter would go a long way to providing a middle ground among the commissioners. As a teacher, it has been my job for more than a decade to promote equal opportunity to my students, but also be a mediator to their conversations and interactions. I consistently try to work towards compromise whenever I see conflict. This is my natural inclination. I would work well with others of varied backgrounds and promote a unity with those around me because I want to work for what is good for everyone, not one side or the other. I understand that ideas and ideals are important, but that the long term health of any governmental system (and therefore, nation) is equality in representation and a knowledge that each citizen's voice is being heard and represented.
Once again, my background as a teacher has trained me to use my analytical mind. We are all moved from time to time by emotion and bias, but when my task is essentially to make two sides work together, my training takes over. I have taught logic and rhetoric in the past and discuss ancient philosophers and historians on a nearly daily basis with my students. Also, I have to grade assignments based on the strength of argumentation and evidence with no consideration for personal bias towards the student or topic. Some of the most important ideas that I get to discuss in my career is that the "middle path" is best and that "argument should be won by reason, not emotion".


To embed an Brix application for the js target, you should :
- as a general good practice, ensure your Brix components never use Lib.document or Lib.document.body but the htmlRootElement attribute of the Brix instance in which they're supposed to run.
- compile your Brix application with the -D embedHtml and -D noAutoStart compile options. The first one embeds the HTML source page in your .js file and the second one prevents the application to start automatically when included in your page through a <script src="[...].js"> tag.
- then to start your Brix application, do : < name of your .js application script without the .js extension >.init(< the html DOM element where to put your Brix app. >);
Each Brix application instance won't share the same namespace (no use of the global one) which will avoid any conflict between them or with other js libraries your pages might use.


If you love Telegram but don't want to leave Discord then you'll be pleased to find we've built a bridge in this channel. If you'd like to join the group in the Telegram app you can find it here: https://t.me/KomodoPlatform_Official.
100 messages
Before 05-Dec-19 12:00 AM
GatewayBOT20-Jul-18 05:09 PM
[telegram] <Coen> Any Signs of China lifting ban soon? (re @N21_0: But i think China still ban crypto's exchanges lol Hyperdex will make them think twice)
[telegram] <N21_0> who knows maybe one day we'll be perfect for crypto's world after First ETF
if that ETF of cbon no accepted in next 50 to 80 Days i don't think china will un..ban the exchanges (re @Coen: Any Signs of China lifting ban soon?)
[telegram] <Coen> So China basically Just follows US policy? Like they copy everything
GatewayBOT20-Jul-18 05:25 PM
[telegram] <CryptoMessiah4me> Neoliberal Maoism
[telegram] <CryptoMessiah4me> One more drop left .. kmd target 17100 satoshi
[telegram] <CryptoMessiah4me> Then moon coming prepare to fly
[telegram] <CryptoMessiah4me> 88000 satoshi
[telegram] <Jamie>  Signal incoming!!!
See what coin will moon!
 FOLLOW ALONG HERE
[telegram] <GuerraMoneta> Gtfo beggar ive had zero money before and i got out by busting my ass working hard and doing research (re @vlc823: Does anybody love me send me something even if it’s just a few pennies worth show me some love I’m struggling I have a doubt in humanity that we would do something like this but then recently I saw something about this Venezuela and family that struggling and the nano community pool together and help them that made me smile because that’s pretty cool)
[telegram] <GuerraMoneta> 5 yesrs ago i didnt even know what linux was, now im at least halfway decent at command line from FREE information online, you can choose any crypto project, get involved and earn just like the rest of us
[telegram] <N21_0> who control the world now (re @Coen: So China basically Just follows US policy? Like they copy everything )
[telegram] <N21_0> not sure about 17K sat but i'm sure about 30$ by the end of the year (re @CryptoMessiah4me: Neoliberal Maoism)
[telegram] <Sergio> Why do you think that. Lookc at the price now
[telegram] <Sergio> Maybe 1$ at the end of the year lol
[telegram] <CryptoMessiah4me> the tavistock institute control all world.. (re @N21_0: who control the world now )
[telegram] <N21_0> Don't cry when you see 30$ (re @Sergio: Maybe 1$ at the end of the year lol)
[telegram] <Sergio> Hahaha I hope You are right (re @N21_0: Don't cry when you see 30$ )
[telegram] <N21_0> (re @CryptoMessiah4me: the tavistock institute control all world..)
[telegram] <CryptoMessiah4me> $3 enough for me.. (re @Sergio: Hahaha I hope You are right)
[telegram] <Sergio> I bought for 1,50 eur
[telegram] <N21_0> i will DM you after that (re @Sergio: Hahaha I hope You are right)
[telegram] <N21_0> Come on bro (re @CryptoMessiah4me: $3 enough for me..)
[telegram] <Regnar> ALRIGHT EVERYONE!
Can I get a like and retweet please. Here's another of my targeted tweets in order to try and help a community push for Komodo.
I'm targeting Bruce Fenton. CEO and boardmember of many VC funds and blockchain groups including the Satoshi Roundtable. Bruce is a hardcore Atomic Swap fan and is part of the recent RavenCoin project.
WanChain, AION network, and ICON for their interop teams trying to build Ops with multiple blockchain projects and help different chains communicate with each other. obviously this is a great fit with Komodo since we have MoMoM dPoW which helps Game Credits, Kreds, and other projects partnering with us.
And of course, Good ole Charlie Lee, who needs no explanation or introduction.
So as Komodo community, I need you all to go out there click some buttons on twitter posts!!!
https://twitter.com/Regnar__/status/1020394563725398017(edited)
Curious how 51% attacks actually work, why they are on the rise, and how we can help prevent them? Read this post by @danielcpigeon and how @KomodoPlatform is trying to help ALL crypto
https://t.co/1014dOOpnv
@brucefenton @SatoshiLite @helloiconworld @Aion_Network @wanch...
[telegram] <Acura360> Will Retweet & like it (re @Regnar: ALRIGHT EVERYONE!
Can I get a like and retweet please. Here's another of my targeted tweets in order to try and help a community push for Komodo.
I'm targeting Bruce Fenton. CEO and boardmember of many VC funds and blockchain groups including the Satoshi Roundtable. Bruce is a hardcore Atomic Swap fan and is part of the recent RavenCoin project.
WanChain, AION network, and ICON for their interop teams trying to build Ops with multiple blockchain projects and help different chains communicate with each other. obviously this is a great fit with Komodo since we have MoMoM, dPoW, Game Credits, Kreds, and other projects partnering with us.
And of course, Good ole Charlie Lee, who needs no explanation or introduction.
So as Komodo community, I need you all to go out there click some buttons on twitter posts!!!
https://twitter.com/Regnar__/status/1020394563725398017)
[telegram] <Matt> Mined ravencoin for a while.. have 4000 coins of it.
But.. it is hard to oversee all coins, wich to chose and to wich to stick.
Even komodo has lots of competititors that are doing same stuff... my head is bursting
GatewayBOT20-Jul-18 10:57 PM
[telegram] <Matt> Find komodo
[telegram] <Matt>
1
GatewayBOT21-Jul-18 12:22 AM
[telegram] <emman_utrum> it's right there, very visible (re @Matt: )
Refer friends to trade in CoinEx and get 100% transaction fees as referral reward.
GatewayBOT21-Jul-18 04:37 AM
[telegram] <Giffordde2000> 2nd technical row from left middle of column. Komodo
GatewayBOT21-Jul-18 05:11 AM
[telegram] <eMort667> Any idea when Smart contracts will be available on Komodo??
[telegram] <yorklab> They're testing it now.
GatewayBOT21-Jul-18 05:59 AM
[telegram] <eMort667> Thanks. Any idea how far along it is?
[telegram] <eMort667> In my opinion Komodo is the overall leader in tech (atomic swaps, scaling, security, etc.) and once cross chain smart contracts are in implemented Komodo will be out of reach of almost all other projects.
[telegram] <Zossabossa> True. Only other project that comes very close is Blocknet. Rest does not (re @eMort667: In my opinion Komodo is the overall leader in tech (atomic swaps, scaling, security, etc.) and once cross chain smart contracts are in implemented Komodo will be out of reach of almost all other projects.)
GatewayBOT21-Jul-18 07:36 AM
[telegram] <LAP> What is "chain msart contracts"? that mean is coin swap contract? (re @eMort667: In my opinion Komodo is the overall leader in tech (atomic swaps, scaling, security, etc.) and once cross chain smart contracts are in implemented Komodo will be out of reach of almost all other projects.)
[telegram] <LAP> msart(x) smart(o) (re @LAP: What is "chain msart contracts"? that mean is coin swap contract?)
Komodo Platform is the world leader in blockchain solutions. A new fKomodo feature allows complete interoperability among all blockchains in the ecosystem.
GatewayBOT21-Jul-18 07:44 AM
[telegram] <LAP> Cross-Chain mean is komodo side chain? or all any chain? (ex: BTC, ETH, BCH, etc...)
[telegram] <polycryptoblog> The chain has to have cryptoconditions enabled
[telegram] <polycryptoblog> Chains
[telegram] <polycryptoblog> But it is possible if they have that feature. So a chain that isn't Komodo based could interact
GatewayBOT21-Jul-18 08:02 AM
[telegram] <Ole> How does waves handle Dex compare to KMD?
[telegram] <Acura360> Waves Dex is token based and no atomic swaps (re @Ole: How does waves handle Dex compare to KMD?)
[telegram] <Ole> Ok so if Bob and Alice want to trade eth to btc. It goes eth to waves __ waves to btc?
GatewayBOT21-Jul-18 08:19 AM
[telegram] <polycryptoblog> Yes.
[telegram] <polycryptoblog> Eth to waves eth token, trade on their dex for btc token withdraw to btc wallet
GatewayBOT21-Jul-18 08:32 AM
[telegram] <Acura360> And the withdraw of BTC is taken trough a BTC Gateway (re @Ole: Ok so if Bob and Alice want to trade eth to btc. It goes eth to waves __ waves to btc?)(edited)
[telegram] <Matt> Congrats (re @emman_utrum: it's right there, very visible)
GatewayBOT21-Jul-18 12:30 PM
[telegram] <Royke> I have a question. I cant claim interest in agama.it is saying there is no interest to claim
[telegram] <Royke> I cant see my transaction history as will. It is saying connection error. Try to switch server
[telegram] <Acura360> Which agama version (re @Royke: I cant see my transaction history as will. It is saying connection error. Try to switch server)
GatewayBOT21-Jul-18 12:43 PM
[telegram] <Royke> <IP_ADDRESS>c
[telegram] <Acura360> Please update agama (re @Royke: <IP_ADDRESS>c)(edited)
[telegram] <Royke> Oke will do thx
GatewayBOT21-Jul-18 01:24 PM
[telegram] <ambwembwe> Hi I keep getting connection error trying to switch to another server
[telegram] <polycryptoblog> Update agama
[telegram] <polycryptoblog> 2.41 latest
[telegram] <kerry> .
Jokes aside: the quality of free content put forth by investors, developers and builders via Medium, podcast, research paper, etc, is ridiculously beyond the trash spewed by mainstream media.. Tons of quality content, just look for it