|
Drake
|
Holds the return status from execution of an event handler function, or the effective status after a series of handler executions due to dispatching of simultaneous events.
Drake API users will typically use only the four factory methods below to return status, and optionally a human-readable message, from their event handlers.
#include <drake/systems/framework/event_status.h>
Public Types | |
| enum | Severity { kDidNothing = 0, kSucceeded = 1, kReachedTermination = 2, kFailed = 3 } |
| The numerical values are ordered, with did_nothing < success < terminate < fatal. More... | |
Public Member Functions | |
| Severity | severity () const |
| Returns the severity of the current status. More... | |
| const SystemBase * | system () const |
| Returns the optionally-provided subsystem that generated a status return that can include a message (reached termination or failed). More... | |
| const std::string & | message () const |
| Returns the optionally-provided human-readable message supplied by the event handler that produced the current status. More... | |
| EventStatus & | KeepMoreSevere (EventStatus candidate) |
(Advanced) Replaces the contents of this with the more-severe status if candidate is a more severe status than this one. More... | |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
| EventStatus (const EventStatus &)=default | |
| EventStatus & | operator= (const EventStatus &)=default |
| EventStatus (EventStatus &&)=default | |
| EventStatus & | operator= (EventStatus &&)=default |
Static Public Member Functions | |
| static EventStatus | DidNothing () |
| Returns "did nothing" status, with no message. More... | |
| static EventStatus | Succeeded () |
| Returns "succeeded" status, with no message. More... | |
| static EventStatus | ReachedTermination (const SystemBase *system, std::string message) |
| Returns "reached termination" status, with a message explaining why. More... | |
| static EventStatus | Failed (const SystemBase *system, std::string message) |
| Returns "failed" status, with a message explaining why. More... | |
| enum Severity |
The numerical values are ordered, with did_nothing < success < terminate < fatal.
|
default |
|
default |
|
static |
Returns "did nothing" status, with no message.
|
static |
Returns "failed" status, with a message explaining why.
| EventStatus& KeepMoreSevere | ( | EventStatus | candidate | ) |
(Advanced) Replaces the contents of this
with the more-severe status if candidate
is a more severe status than this
one.
Does nothing if candidate
severity is less than or equal to this
severity. This method is for use in event dispatchers for accumulating status returns from a series of event handlers for a set of simultaneous events.
| const std::string& message | ( | ) | const |
Returns the optionally-provided human-readable message supplied by the event handler that produced the current status.
Returns an empty string if no message was provided.
|
default |
|
default |
|
static |
Returns "reached termination" status, with a message explaining why.
| Severity severity | ( | ) | const |
Returns the severity of the current status.
|
static |
Returns "succeeded" status, with no message.
| const SystemBase* system | ( | ) | const |
Returns the optionally-provided subsystem that generated a status return that can include a message (reached termination or failed).
Returns nullptr if no subsystem was provided.


Google Earth Enterprise Documentation Home | Fusion tutorial
Specifying Search Fields for Individual Layers
You can specify one or more fields by configuring layer properties in your source data on which users of Google Earth EC can search. This lesson guides you through the process of specifying one field on one layer as searchable, using the vector project you created in Configuring Display Rules for Polygon Data. If you have not yet completed that lesson, complete at least the first two sections, Define and Build a Vector Resource Using Polygon Data and Define, Configure, and Build a Vector Project, before continuing with this lesson.
- Specify Search Fields in Layer Properties
- Build and Push Your Database
- Specify Your Point of Interest Search and Publish Your Database in Google Earth Enterprise Server
- View your Database with the Search Field
Specify Search Fields in Layer Properties
To specify the search fields in your data:
- Select Asset Manager from the Tools menu.
The Asset Manager appears.
- Navigate to the
/ASSET_ROOT/Projects/Vector
folder. - Double-click CACountyPopulation.
The CACountyPopulation resource appears in the Vector Project Editor dialog.
- Right-click CACountyPopulation, and select Layer Properties from the context menu.
The Layer Properties dialog appears.
- Click the Search tab.
When you specify one or more search fields on this tab, a search panel appears in Google Earth EC that allows users to search for data in the selected field(s).
- Click . The Add Search Field dialog appears.
- Select COUNTY from the drop-down list next to Column Name, select Search and Display from the drop-down list next to Use, and then click OK.
These selections allow users to search on the COUNTY field and display the county name in the description label.
- Click . The Add Search Field dialog appears.
- Select POP2000 from the drop-down list next to Column Name, select Display Only from the drop-down list next to Use, and then click OK.
These selections result in the county population being displayed in the description label for each county that matches the user’s search criteria. The first field selected for display becomes the placemark name. The second field selected for display becomes the snippet. Any additional fields selected for display become the description.
Note: This search performs an exact match, which means that the Google Earth EC user must enter the value exactly as it appears in the database. It can also perform a wildcard search, so users can enter part of the text they want to match. For example, if a user enters “dakota” in a state search, the search results match “North Dakota” and “South Dakota”.
Your selections appear on the list of search fields on the Search panel in the order in which you added them. Use the Up or Down arrows to reorder the list.
The order in which the fields appear on this list dictates the order in which they appear in the description label in Google Earth EC.
- Click OK.
- Save the project.
Push To Your Database
- In the Asset Manager, navigate to the
/ASSET_ROOT/Databases
folder. - Right-click the CACountyPopulation database and select Build from the context menu.
The status of the database immediately changes to Queued and then to In Progress.
- Double-click the Current Version or Current State column of the CACountyPopulation to view
the progress of the build.
The Version Properties dialog displays the most recent version of that database. You can expand the version tree to view the status of the build in real time by clicking the + signs.
When Google Earth Enterprise Fusion finishes building the database, its Current State column in the Asset Manager changes to Succeeded, and its Current Version column changes to the date and time the most recent build was started.
- Right-click the CACountyPopulation database and select Push from the context menu.
The Push Database dialog appears. Choose your server association from the Server Associations drop-down list. The most recent version of the selected database is the default selection on the Version drop-down list.
- Click Push. Google Earth Enterprise Fusion pushes the database to Google Earth Enterprise Server, and displays a success message when it is done.
Note: If you get an error message, contact your Google Earth Enterprise Server administrator for help, or check the Google Earth Enterprise Administration Guide for more information.
Specify Your Point of Interest Search and Publish Your Database in Google Earth Enterprise Server
After you push your database to Google Earth Enterprise Server, you can publish it for viewing with Google Earth EC.
To publish a database:
- Access the Google Earth Enterprise Server Admin console in a browser window by going to myserver.mydomainname.com/admin, replacing myserver and mydomainname with your server and domain.
- Sign in with the default credentials or the username and password assigned to you:
- Default username: geapacheuser
- Default password: geeadmin
Note: If you do not know your username and password, contact your Google Earth Enterprise Server System Administrator.
- Click Databases to display the list of databases pushed to the Server.
CACountyPopulation-v001 is listed. The Description, Type, Date, and Size of the database are also noted.
- Check the box next to CACountyPopulation-v001. The Publish button on the Databases page appears.
- Click Publish. The Publish dialog appears.
- Select the POI Search radio button labeled On. The + Enhanced Search option appears. Leave its radio button setting as On. Doing so will first search against the POI database, and if no results are found, the GeocodingFederated database is automatically searched.
- Change the default Publish point from CACountyPopulation-v001 to CACountySearch.
To learn more about the options available in the Publish dialog, see Create Search Tabs, Snippet profiles, and WMS.
- Click Publish. The Databases page updates to indicate the published status of your database.
View your Database with the Search Field
Now you can view the POISearch search field in Google Earth EC and use it to search on the county information parameters you specified in your database.- Launch Google Earth EC, and log in to your server.
- Specify the Publish point by entering or selecting the URL or IP address of your server and database in the Server field. For this tutorial, the Publish point is myserver.mydomainname.com/CACountySearch, where myserver and mydomainname are specific to your server. An example URL would be http://myhostname/CACountySearch.
- Click Sign In.
Caution: If you have logged in to this server with Google Earth EC previously, log out, clear your cache, and log back in. See clearing your cache.
Google Earth EC displays your database with the search field you specified. When you enter a search string, such as “San”, all of the counties containing that string appear in the search results, and POI icons indicate the location of each of the search results on the map.


On this site you will find a mixture of my personal projects and academic research, along with anything else that interests me. It also serves as my professional profile, so feel free to check out my CV or connect on LinkedIn.
I am a Pharmacology graduate with a Masters in Neuroscience research. However, I am fascinated by all areas of science and technology. I first began to teach myself to code in Python, in the hopes of making the analysis of my research data easier. I have come a long way since then, adding JavaScript, HTML, CSS and SQL as well as numerous other libraries and frameworks to my ever-growing self-taught portfolio. There is still a lot I want to learn, so I invite anyone interested to follow along on here and on my GitHub
Please feel free to reach out about anything at: merlin.halliday@myport.ac.uk


{% extends 'base.html' %} {% import 'bootstrap/wtf.html' as wtf %} {% block content %}
Don't have an account ? Sign Up <<


BYU-Idaho Login
BYU-Idaho students, staff, alumni, and guests
|
|
BYU-Pathway Worldwide
BYU-Idaho students served by BYU-Pathway Worldwide
Login Help
Notice: Unauthorized access is strictly prohibited and may be subject to criminal prosecution.
Exit Your Browser:
To continue to protect the privacy of your information, you should exit the browser before leaving this device.


You already have a query with that name. Would you like to replace it? Yes, replace the existing query No


Katya is in her sophomore year at Wesleyan University, potentially majoring in Psychology.Although she has always been an entrepreneur at heart, Katya labeled herself as such February 2013 when she founded Wesleyan Entrepreneurship Society (WES)². Since then, she has been advising various start-ups on campus and working on several of her own ventures. Katya is working closely with the Patricelli Center of Social Entrepreneurship. She is currently co-leading a student forum about entrepreneurship. She has also attended many business workshops such as those by StartingBloc and DoSomething. Katya is passionate about disability rights, neuroscience and all art forms. Katya is working hard to raise awareness about Synesthesia. She cares a lot about raising self esteem in children and providing more opportunities for anyone struggling. She is very excited to be a part of the Wesleyan startup culture.


Hi, admin
How can we assist?
Home
Administration
Services
Upload Remote WSDL
Backup & Restore
Network
VIP Control
Backend Monitor
Synchronize
Configuration
Files
Development
Web IDE
XPath Utilities
Configuration
dPanda


My name is Qingdi Hu born in 1993 Hangzhong China, I am a student of CSUEB. I were work in Tira photo stuio in China, I were assisted lead sports photographer. Selected and assembled equipment according to subject material, anticipated conditions. Gained valuable knowledge of function and limitations of various types of cameras, lenses, and films. Now I am an intern at a restaurant company, responsible for marketing planning, menu design and some related design work. I'm looking at web design work. Although I don't have relevant work experience, I spend most of my time learning web design and related coding.


{% extends "home/base.html" %} {% block content %}
The project will be forum web based application for helping students find answers to their homework and assignments and also share summaries.


This is an example html to show how to use vector tiles of a real-time mask inevntry of pharmacies in Taiwan. You can see the source code from my GitHub repository


Environment¶
-
class
amplpy.
Environment
(binaryDirectory=None)¶ This class provides access to the environment variables and provides facilities to specify where to load the underlying AMPL interpreter.
-
__init__
(binaryDirectory=None)¶ Constructor with ability to select the location of the AMPL binary. Note that if binaryDirectory is set, the automatic lookup for an AMPL executable will not be executed.
- Args:
binaryDirectory: The directory in which look for the AMPL Binary.
-
__iter__
()¶
-
__setitem__
(name, value)¶ Add an environment variable to the environment, or change its value if already defined.
- Args:
name: Name of the environment variable.
value: Value to be assigned.
-
__getitem__
(name)¶ Searches the current object for an environment variable called name and returns an iterator to it if found, otherwise it returns None.
-
setBinDir
(binaryDirectory)¶ Set the location where AMPL API will search for the AMPL executable.
- Args:
binaryDirectory: The directory in which look for the AMPL Binary.
-
__module__
= 'amplpy.environment'¶
-
getBinDir
()¶ Get the location where AMPL API will search for the AMPL executable.
-


 The course is point-to-point from
Bessheim to Beitostolen.
28 May
2016
2:55:40
Amund Owren (NOR)
3:20:18
Silje Eklund (NOR)
30 May
2015
2:47:04
Henrik Fleisje (NOR)
3:16:41
Linda Roset (NOR)
31
May
2014
2:49:53
Paul Raistrick (SCO)
3:20:21
Tonje Brande (NOR)
01
Jun 2013
2:50:00
Gjermund Sorstad-3
3:42:26
Hilde Johansen (NOR)
02
Jun 2012
2:43:35
Gjermund Sorstad-2
3:08:41
Marte Pedersen (NOR)
04
Jun 2011
2:42:57
Gjermund Sorstad (NOR)
3:00:30
Marthe-Katrine Myhre-2
05
Jun 2010
2:49:11
Helge Hafsas-6
3:09:12
Marthe-Katrine Myhre (NOR)
06 Jun
2009
2:50:22
Helge Hafsas-5
3:23:58
Hanne Lybeck (NOR)
07 Jun
2008
2:59:44
Jan-Billy Aas (NOR)
3:05:37
Margrethe Logavlen (NOR)
2:43:47
Helge Hafsas-4
3:34:35
Ase Hovden-7
2:49:16
Helge Hafsas-3
3:47:06
Ase Hovden-6
2:47:08
Helge Hafsas-2
3:38:19
Ase Hovden-5
2:42:57
Kristen Aaby-3
3:37:50
Ase Hovden-4
2:38:19
Knut Aalien (NOR)
3:26:13
Ase Hovden-3
2:58:11
Ross Wakelin (NZL)
3:10:07
Gry-Christine Wilhelmsen-2
2:34:10
Fredrik Naalsund (NOR)
3:42:07
Ase Hovden-2
2:37:32
Kristen Aaby-2
3:48:26
Ase Hovden (NOR)
2:43:41
Helge Hafsas (NOR)
3:25:02
Ellen Ribe (NOR)
2:37:15
Kristen Aaby (NOR)
3:06:34
Gry-Christine Wilhelmsen (NOR)
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
2:36:40
Tormod Saethre (NOR)
3:20:09
Hilde Riis (NOR)
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
3:06:08
Joan Ullyot (CA/USA)
Most Wins
(1981/date)
Men
6
Helge Hafsas (NOR)
1999,2005-07,2009-10
Women
7
Ase
Hovden (NOR)
2000-01,2003-07
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
Insufficient information to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient information to calculate the competitive level.
Quality Performances
Men No men under 2:20 Women No women under 2:50
Last Updated on 14 Jul 2016
Contributors: Klaas Loonstra (20), Kristen Aaby


SECURITIES ACCOUNT MONTHLY CONSOLIDATED STATEMENT Date :
28FEB2022
DATE
A/C name :
NG YEE MEI
NAME
A/C no :
773-183280-085
ACCNUM
Branch HEAD OFFICE Period : From
01FEB2022
DATE
to
28FEB2022
DATE
Page no : 1 of 3 Balance Portfolio summary
(
QTY
HKD equivalent) LOCAL EQUITIES 162,354.10 MISS
NG YEE MEI
NAME
FLAT F, 37/F, BLK
8
LOC
Total 162,354.10 ISLAND HARBOURVIEW
11 HOI FAI
STOCK
ROAD WEST KOWLOON KOWLOON M Portfolio details Securities ID
Securities description
PERSON
Portfolio holdings Market unit price Market valueThe opening balance The closing balance LOCAL EQUITIES
00005 HSBC HOLDINGS PLC
STOCK
(SHS)
3,001
QTY
3,001
QTY
HKD 54.10000
PRICE
HKD 162,354.10 Total portfolio value HKD 162,354.10 Transaction summary There are no transactions on the account. Charges and income summary Date Charges/income description Charges amount Income amount OTHERS
28FEB2022
DATE
SAFE CUSTODY FEE OUR REFERENCE: CGAHOS583434000 SAFE CUSTODY FOR THE MONTH
OF
LOC
FEB2022 HKD 15.00 Total charges and income HKD 15.00 HKD 0.00 Any errors or discrepancies should be reported to the Bank within 90 days and your attention is drawn to the applicable terms and conditions in force from time to time governing the use of your account. Any currency conversion is based on the currency's prevailing exchange rate as at the close of business on the statement date. This equivalent balance is
for
LOC
indication only. Hang Seng Bank Limited (CE Number: AAH
297)
ACCNUM
08 INVSTM000483 Des Voeux Road Central Hong Kong A/C no :
773-183280-085
ACCNUM
Page no :2 of 3
08
LOC
INVSTM0004 A/C no :
773-183280-085
ACCNUM
Page no :3
of 3
ACCNUM
08
LOC
INVSTM0004


As the title say, somebody have ideas to make getbblog.com better?
I think about new features, more content or something like that.
We have a solid userbase of 700 unique visitors per day so we have a good ground for a better service here on BBLog.
Krayziesoldier
I would make the list of feature a bit more complete, so new users see what they can get before downloading it.
Topicstarter
BrainFooLong
Administrator
Krayziesoldier wrote:
I would make the list of feature a bit more complete, so new users see what they can get before downloading it.
Good idea.
rohan2k
BrainFooLong wrote:
Hi all!
As the title say, somebody have ideas to make getbblog.com better?
I think about new features, more content or something like that.
We have a solid userbase of 700 unique visitors per day so we have a good ground for a better service here on BBLog.
A good idea would be rank the server. For example, the admin is a jackass, so I rank the server with 1 star (*).
Sorry for my english haha
Topicstarter
BrainFooLong
Administrator
Sorry, i'm talking about this website only, getbblog.com.
For BBLog ideas please post in the "feature requests" forums.
But for your questions: Such things as rank, comment or rate are things that we never integrate. We don't support name & shame.
rohan2k
ohh sorry.
Thanks for your explanation.
Post edited 1 x times, last by
GameFreakBoy
GameFreakBoy
It seems that you already have the getbblog.com and battlelog accounts connected somewhat. Why not display the profile rank or other info about your battlefield character (best class, best weapon) next to your name or in the signature.
So next to my name on this post you would see the commander star or my rather low 30 something rank.
Post edited 2 x times, last by
BrainFooLong
Administrator
Topicstarter
BrainFooLong
Administrator
Well, that would be cool but this is quite a lot of work.
And a work that others already had done (bf3stats.com, bf4stats.com) with their image banner service, that can be used here as well, in the signature.


High Priest Agripel:
You were right on this. Our order, the Benandanti Cartel, has worked for a long time to take over this manor. The Hellmann's tragedy was an unfortunate by-product of our efforts.
It's time for me to attend the worship service for Einhasad, the great god of light!
Why don't you do what you want?
"What is that?"


{% block ixp_faq %}
Send email to<EMAIL_ADDRESS>for any issues. All inquiries will be held confidential.
The preferred choice of connection will depend upon the location. Typical connections are 1Gb & 10Gb (SFP based). Please contact us for information on other port speeds.
We would be happy to discuss once we are up and running.
1Gbps and 10Gbps connections are free for 2018. In 2019, we anticipate $1200/year with a one-time setup fee of $250 which includes an SPF and patch cable. For connection speeds faster than 10Gbps please email us at<EMAIL_ADDRESS>{{ ix.shortname }} was built upon donations. We are very interested in receiving SFP optics, switches, or money to continue our work. We have listed our contributors on a seperate page along with ways of donating.
Internet Exchanges are not ISPs (Internet Service Providers). No traffic, bandwidth or other services are being sold by {{ ix.shortname }}.
The simple, noble goal is to create a meeting place where Eastern Canadian networks can directly exchange some of their traffic efficiently on an ethernet switch without additional costs.
Many Internet Service Providers provide their services at the locations where {{ ix.shortname }} has switches. {{ ix.shortname }} does not intend to compete with the internet service providers, but instead complement their services to improve local Internet performance.
Similar to AMS-IX and TORIX, the switch ports are configured with a variety of port-security features so that one peer cannot damage another's experience. If port-security is triggered, the port will appear "dead" for a little while.
These requirements are not unique to {{ ix.shortname }}. The introductions and sample configurations at AMS-IX or SWISSIX, or other internet exchanges can be valuable. Our operators will help peers, and hope to provide samples of our own in the future.
The internet exchange switch is a fabric shared by all peers. Peers must avoid doing anything which might overload the fabric, mis-direct traffic, or otherwise cause harm to any other peers. If a peer shows a willful disregard for others, they will be disconnected by the operators. The full set of Exchange Participation Rules are published.
While not a rule, we request that peers register themselves with http://peeringdb.com, because visibility there will encourage other networks to join as well, bringing more benefit to all.
Send us an email telling us about your network and requesting a port. All inquiries will be held confidential.
Please see our Locations list for datacenter contact information to make arrangements for a cross-connect.
No other services at available at this time.


You can include more than body text in a message. Messages can support any HTML content. All type styling will be retained. However, if you add the class .message-type-styling
to any typographic element, the preferred message type color and styling will be applied. For links, add the class .message-link
to any
.

 Some Important Headline

 Cras justo odio …
 Sure, let's do that thing


|
S1 File
|
Data and program in STATA to replicate results.zip. All tabl ... |
|
S1 Table
|
Different specifications of the climate vector. (DOCX) |
|
S2 Table
|
Climate variables correlation. (DOCX) |
|
S3 Table
|
Estimation results of agricultural productivity (yields). (D ... |
|
S4 Table
|
Estimated results of determinants of caloric consumption and ... |
|
S5 Table
|
Probability of being a vulnerable household (probit model- y ... |
|
S6 Table
|
Predicted climate: Average (2048–50) by geographic domain: C ... |
|
S7 Table
|
Predicted climate: Average (2048–50) by geographic domain: C ... |
|
S8 Table
|
Predicted climate: Average (2048–50) by geographic domain: M ... |
|
S9 Table
|
Effect of CNR climate simulations on yields. (DOCX) |
|
S10 Table
|
Effect of MPI climate simulations on yields. (DOCX) |
|
S11 Table
|
Effect of climate simulations on mean caloric consumption: C ... |
|
S12 Table
|
Effect of climate simulations on mean caloric consumption: C ... |
|
S13 Table
|
Effect of climate simulations on mean caloric consumption: M ... |
|
S14 Table
|
Effect of climate simulations on vulnerability: CNR model. ( ... |
|
S15 Table
|
Effect of climate simulations on vulnerability: MPI model. ( ... |


JavaScript enthusiast, with a knack for shiny new tech.
Assertively exploit wireless initiatives rather than synergistic core competencies.
Credibly streamline mission-critical value with multiple functionalities.
Proven ability to lead and manage a wide variety of design and development projects in team and independent situations.
Online Mental Health Intervention Platform.
Part of an international development team with colleagues from Stanford, Penn State, NIMHANS, and John Hopkins, to build a mental health intervention delivery platform.
System gathers data for behavioral research.
Authoring tool enables creating customized interventions and intelligently selects assessment surveys questions
This is a JS based web implementation of SugarLab's
Moon Activity.
Sugarizer Moon is an
official part of Sugarizer
A bleeding edge and ever evolving React website that also doubles as progressive webapp, DooEx is an explorer app for Google doodles.
Rollover
is a WebGL
experiment that projects a filmstrip on the interior surface of a curved body.
It makes for a compelling
visual experience.
Graduating in May 2018
Master of Sciences (Hons.) in Biological Sciences


Genesis 24:24
And she said unto him, I am the daughter of Bethuel the son of Milcah, which she bare unto Nahor.


NAME THE INSTRUMENT
NAME THE INSTRUMENT FAMILY
GUESS THE SONG
Guitar
$100
Brass
$200
Mario Theme Song
$300
Flute
$100
Woodwind
$200
Wii Sports Theme Song
$300
Trumpet
$100
Percussion
$200
Everything Is Awesome - Lego
$300
Xylophone
$100
String
$200
How Far I'll Go - Moana
$300


Coin Flipping!
, Welcome Back!
 Bet 1 Ether at One Time and Get 1.9 Ether Back if Win!
Join Game!
JOIN GAME
GET NUMBER
Game NOT Ongoing
Send
You must send the hash of your number once started
in
1 minute,
and send the corresponding number and salt
later.
Number:
Salt:
Send
Warning:
If you do
not
send the corresponding number, you will
not
get your bet back.
Check Winner
You Won/Lose!
CHECK TRANSFER
Check Transfer History
You can check all your deposit, withdraw and transfer transactions
Record ID
From
To
Amount/ETH
Time
CHECK GAME
Check Game History
You can only check the last game
GameID
Player 1
Player 2
Number 1
Number 2
Start time
Winner


Third-year Software Development student at Seneca College with interest in web and software development. Seeking a CO-OP Position that will apply to my field of study.
Ready to face challenges and try new things. Ready to work with others for the benefit of any organization.


| Day | Time |
|---|---|
| Wednesdays | 9.00–10.50 |
| Fridays | 10.00–12.00 |
Very quick overview of the course. This will focus on the what, not the why or the how.
See Walkabus Website
A city-wide, scavenger-hunt style game targeted at Edinburgh residents. The goal is to encourage people to explore and enjoy their own city via walking, especially taking little-known streets and routes.
This group does have a live app for you to download and try!
Aimed to encourage walking by translating food and drink consumption into walking times. For example, did you know it would take you 52 minutes to walk off the calories in a pint of beer?
This project had a “public service announcement” style poster campaign, and mocked up an app that would translate food items into walking distances.
Initial orientation and skills
Takes place in week 3
Weeks 4–5
Week 6
Weeks 7–9
Weeks 10–11
| Week | Assignment | Due | Type | Weight |
|---|---|---|---|---|
| 3 | GP1 | 29 Jan | Group Presentation | 0% |
| 5 | R1 | 8 Feb | Individual Report | 0% |
| 11 | GP2 | 23 March | Group Presentation | 25% |
| 12 | R2 | 1 April | Individual Report | 75% |


Tue Jan 27, 2015
The ultimate dystopian future has to be the one where the culmination of Virtual Reality (VR) and Artificial Intelligence (AI) results in our unwitting enslavement by a machine mind. Fifteen years ago, The Matrix nailed it brilliantly:
In this - dare I say - cult classic, the god-like AI, having far surpassed humanity’s cognitive abilities, views people as nothing more than a power source. To maintain control over us, the AI creates the ultimate VR simulation. In this case, VR is indistinguishable from reality because it uses a neural interface - the machine plugs directly into our brain and provides all the sensory data our bodies would usually generate.
The kicker is that the VR world turns out to be a lot more enticing than real life. And even if you’ve taken that red pill, you might just beg the machine to plug you back in so you can enjoy a simulated steak once again.
Other visions of a future where VR is mainstream are a bit more optimistic, but still ambivalent. I recently read Ready Player One, published just four years ago, which imagines a not-too-distant time where overpopulation and global warming have dragged the economy down into the mud and further exacerbated the disparity in wealth. To escape from a dismal reality, people spend most of their time in a VR world called The Oasis. In this case, a VR headset and a haptic rig are all that is required. Seems more believable? That’s because we’re already there.
When Oculus Rift debuted three years ago, on Kickstarter no less, it captured the imagination of the world. In fact, when Mark Zuckerberg tried out the prototype he was blown away and dropped a cool two billion to buy the company. It doesn’t take much of a stretch to see Facebook evolve into a VR world, giving the concept of Second Life, a…er…second life.
But the Oculus Rift looks downright antiquated compared to Microsoft’s recently-announced HoloLens, a VR headset that projects holograms into your physical environment. It also makes Google Glass look a silly toy. I think it’s fair to say that Microsoft surprised everybody with this, especially as it seems to be exactly what Magic Leap is working on, and Magic Leap is still keeping their cards very close to their chest.
The key differences between Oculus Rift and HoloLens is that the former projects light on your eyes from a traditional LCD screen, whereas the latter projects images made of light onto a transparent screen in front of your eyes. In Ready Player One, the fictional VR headset used lasers to draw an image directly on your eyes. It seemed a bit ludicrous when I read it at the time, but now I’m not so sure.
When you bring AI into the picture, then some amazing possibilities emerge. In the late 1980s a computer beat a human at chess. It was a big deal. Since then, AI has sort of faded into the background. But it is all around us now and we just take it for granted. When a machine learns from its experiences and adapts, it is gaining in intelligence. The humble spam filter in your email is a low-level form of AI because it quickly learns that Nigerian scam emails go to your Junk folder instead of your Inbox.
Further up the spectrum, Google Now analyzes your daily commute to learn where you work and even waits until you’re just about to head home to tell you how long it will take based on the current traffic. Siri will converse with you and even share a few jokes, while learning the names of your family members so she knows exactly who to call when you ask her to “call my mom”. From Netflix recommendations to self-driving cars: AI is getting smarter all the time.
So we come to the question we all fear - when will AI surpass human intelligence to become our intellectual superior? According to Tim Urban’s research, exponential technological advancement could birth machine sentience sooner than we think. And this AI would not exist in some isolated monolithic box like the WOPR from WarGames. The so-called Internet of Things, with cheap sensors connecting everyday objects everywhere could serve as the eyes and ears of a centralized AI, spanning the world in a spiderweb of sensory data to be parsed and learned from.
VR could become the ultimate interface between humans and their machines, allowing a level of interaction that in some way surpasses reality. Like dreaming. In a dream state, the human mind is an amazing organ, simultaneously creating imaginary worlds and narratives while participating in them.  Imagine if VR was the dream and you could enter it with your conscious mind. You may never want to wake up.
The potential for both great good and great harm is what both intrigues and horrifies us - especially if our creation becomes the Frankenstein monster that becomes alive and decides not to play nice. They say knowledge is power - but more than that: if you can control the mind, and sensory inputs to the mind, that is absolute power. So should we be wary? Sure. But one can still dream.


Introduction
The Creative Commons (CC) licensed images made available via CC Search and CC Catalog API tools are retrieved from numerous sources (which we refer to as providers) such as Flickr and different museum collections. While the existing implementation of the CC Catalog tools enables filtering images in various manners such as based on image tags, the provider, and the license type, it does not facilitate searching for images from particularly valuable internal sources (referred to as sub-providers). For example, images related to 'NASA' have significant value in the Flickr collection, since 'NASA' related pictures are extensively used by a large audience especially for educational purposes. The aim of my first task in the GSoC project is to implement required changes in the API script level and in the existing data in the database, such that filtering by certain important sub-providers is made possible.
While there are several providers such as Flickr, Europeana, and Smithsonian from which we require to extract sub-providers, the consensus was to initially focus on Flickr due to that currently being in production, and since a substantial amount of images made available via CC Search come from Flickr. Thus, in this initial blog post, I will discuss how I addressed the requirement of sub-provider retrieval in Flickr by making the necessary changes in the Creative Commons Catalog repository.
Research
The primary research involved in the Flickr sub-provider retrieval task was defining which entities to identify as sub-providers, and identifying how those sub-providers can be retrieved based on the image related information we retain.
Definition of a sub-provider
It was decided that a sub-provider should be a collection of user accounts in Flickr, where this collection corresponded to a common entity, and the common entity would reflect the sub-provider. For example, since both Flickr user accounts NASA HQ PHOTO and NASA Johnson provide images related to NASA, we would represent the NASA sub-provider by those two (and other related) user accounts.
The next challenge was to determine how to identify which collections of user accounts were important to a wider audience. The number of views per user account was an intuitive measure to rely on for this requirement. My supervisor Brent Moran executed a query on the existing CC database to obtain the 50 most popular user accounts in Flickr. A snippet of the query response is as follows:
| user_account_name | total_views |
|---|---|
| Apollo Image Gallery |<PHONE_NUMBER> |
| BioDivLibrary | 625528813 |
| manhhai | 445714729 |
| Thomas Hawk | 300554527 |
| Sangudo | 258177509 |
| NASA Goddard Photo and Video | 225143949 |
Despite having a significant number of views, some of these user accounts did not appear to be worth being identified as belonging to a sub-provider due to their lack of educational importance. Thus, we manually curated this list to retain what we believed to be important to a wider audience.
Sub-provider identification
In order to identify the sub-provider each image from Flickr belonged to, it was necessary to determine which field in the stored image data referred to the user account. Among the various information contained in an API response, only a selected set of fields is stored on the CC end, and it was important to use such stored data for the identification of sub-providers. We initially decided to rely on the user account name which was reflected by the ownername field in the JSON response and stored as the creator in the CC database. However, we later realised that the names of accounts could potentially change over time, and therefore was not a reliable field for extracting the sub-provider. Another field from the JSON response that helped to uniquely identify a user account was the owner field, which acted like a unique user ID. Even though the owner value was not directly stored in the CC database, it was stored as part of the creator URL field, and fortunately, all creator URLs from Flickr consisted of a common prefix plus the owner value (the user id). Thus, we decided to use the creator URL value retained in the CC database for identifying sub-providers in Flickr.
Implementation
There are two levels at which sub-provider retrieval needs to be supported, where the first concerns the API scripts from which we initially pull the data from different providers to keep the CC collections uptodate. The second is the CC database level where the existing data needs to be updated to ensure that those reflect the sub-providers similar to the newly added image information.
The following sections explain how we represented the sub-provider information in the implementation, the changes made at Flickr API script level and the database update logic to support sub-provider retrieval.
Representing the sub-provider information
As previously explained, we define a sub-provider as a collection of user accounts, and it was identified that the unique user ID returned in the Flickr JSON response (referred to as the owner) was a reliable field for uniquely identifying each user account. For the time being, we focused on sub-providers NASA, SpaceX, and the Biodiversity Heritage Library (BioDivLibrary) based on their considerable importance to the community. Using the top six NASA related user accounts, the 'Official SpaceX Photos' user account, and the 'BioDivLibrary' user account as filtered by Brent's query, we identified the corresponding user IDs (content of the owner field) using the flickr.people.findByUsername method made available in the Flickr API. The mapping between the sub-provider and the corresponding user IDs was stored in a dictionary as follows.
FLICKR_SUB_PROVIDERS = { 'nasa': { '24662369@N07', # NASA Goddard Photo and Video '35067687@N04', # NASA HQ PHOTO '29988733@N04', # NASA Johnson '28634332@N05', # NASA's Marshall Space Flight Center '108488366@N07', # NASAKennedy '136485307@N06' # Apollo Image Gallery }, 'bio_diversity': { '61021753@N02' # BioDivLibrary }, 'spacex': { '130608600@N05' # Official SpaceX Photos } }
Since this information was required both at the API script level and the database level to retrieve sub-providers, we stored it in a common file accessible from both levels.
The next challenge was to identify how to reflect the sub-provider of each image using the existing database schema. There are two different fields in the database as provider and the source. The provider reflects the main source from which the images are retrieved, which happens to be 'Flickr' in this scenario. The source field reflects an organisation or entity that has published the photos using 'Flickr' in this instance (or some other site that we recognise as a provider).The source field was previously not utilised and was simply set to the value of the provider in the Flickr API script. Based on internal discussions, it was decided that the source field was to be used for reflecting the sub-provider, if the corresponding image belonged to any of the user accounts contained in our dictionary FLICKR_SUB_PROVIDERS. Otherwise the source was set to the default provider value 'Flickr'.
Sub-provider retrieval at API script level
Retrieving the sub-provider from the Flickr API script was fairly straightforward. Since the complete JSON response was available at the API script level, we did not have to worry about retrieving the user ID (owner value) from the creator URL field in our data. Rather, we simply get the owner value from the API response, and try to search for it in the FLICKR_SUB_PROVIDERS dictionary as follows.
owner = image_data.get('owner').strip() source = next((s for s in FLICKR_SUB_PROVIDERS if owner in FLICKR_SUB_PROVIDERS[s]), 'Flickr')
Since the collection of user IDs corresponding to each sub-provider is represented as a set, the time complexity for each sub-provider is O(1) and therefore the total time complexity is linear in the number of sub-providers (that is O(n) for n sub-providers). Due to the number of sub-providers of interest being minimal (currently it is 3), this search logic is quite efficient.
Once we determine whether the source field should be set to a sub-provider value or the default ‘Flickr’ value with the given logic, we set the source value in the image store likewise.
Sub-provider update at the database level
When updating sub-providers at the database level, we need to rely on the creator URL field to obtain the user ID of each image. The creator URL is of the following form.
'https://www.flickr.com/photos/' + User ID
For the purpose of automating the process of updating the database to reflect sub-providers, I added the necessary SQL queries and made it accessible via the Apache Airflow UI. The database update logic is as follows.
As the first step, I create a temporary table and populate it with the sub-provider values and the corresponding creator URLs. This is done by iterating through the sub-provider, user ID value pairs in the FLICKR_SUB_PROVIDERS dictionary, and concatenating the user ID with the prefix 'https://www.flickr.com/photos/' to obtain the creator URL.
The initial plan was to then perform a join on the CC image table (where all the image related information is stored) with the temporary table on the condition that the creator URL from the image table matches that of the temporary table. This query which filters all the rows in the image table where we need to update the sub-provider values, looks as follows.
UPDATE {image_table} SET {col.SOURCE} = public.{temp_table}.{col.SUB_PROVIDER} FROM public.{temp_table} WHERE {image_table}.{col.CREATOR_URL} = public.{temp_table}.{col.CREATOR_URL};
However, a major concern with this query, as my supervisor Brent Moran pointed out, was that it locked all the rows which matched the 'WHERE' clause at once. With respect to the magnitude of the Flickr data available in the CC image table, this meant that the above query would lock millions of rows, thus hindering the execution of other queries on the image table. To mitigate this issue, we decided to update the SQL query as follows, such that we perform a 'SELECT' query on the rows to be updated by joining the previously created temporary table with the CC image table (a 'SELECT' query does not lock the table), and iterate row by row over the query result to set the source value in the image table to the sub-provider value.
SELECT {col.FOREIGN_ID} AS foreign_id, public.{temp_table}.{col.PROVIDER} AS sub_provider FROM {image_table} INNER JOIN public.{temp_table} ON {image_table}.{col.CREATOR_URL} = public.{temp_table}.{col.CREATOR_URL} AND {image_table}.{col.PROVIDER} = 'Flickr'; # Let us refer to the result produced from the SELECT query as 'selected_records' for (foreign_id, sub_provider) in selected_records: UPDATE {image_table} SET {col.SOURCE} = '{sub_provider}' WHERE {image_table}.{col.PROVIDER} = 'Flickr' AND MD5({image_table}.{col.FOREIGN_ID}) = MD5('{foreign_id}');
To make this functionality available from the Airflow UI, I have added the Airflow DAG flickr_sub_provider_update_workflow. The changes in the source field after updating the image table in the database looks like follows.
| id | provider | source before the update | source after the update |
|---|---|---|---|
| 14369 | flickr | flickr | bio_diversity |
| 14372 | flickr | flickr | bio_diversity |
| 14375 | flickr | flickr | bio_diversity |
| 14378 | flickr | flickr | bio_diversity |
| 14382 | flickr | flickr | bio_diversity |
| 40784 | flickr | flickr | nasa |
| 47237 | flickr | flickr | nasa |
| 47242 | flickr | flickr | nasa |
| 47244 | flickr | flickr | nasa |
| 47245 | flickr | flickr | nasa |
For more information regarding the implementation, please refer to the following PR: https://github.com/creativecommons/cccatalog/pull/420
Acknowledgement
I express my gratitude to Brent Moran and Anna Tumadóttir for their assistance with my first task in GSoC 2020 by helping me to filter the sub-providers of interest and conducting the necessary research.


mongoc_collection_create_bulk_operation()
Synopsis
mongoc_bulk_operation_t * mongoc_collection_create_bulk_operation ( mongoc_collection_t *collection, bool ordered, const mongoc_write_concern_t *write_concern) BSON_GNUC_WARN_UNUSED_RESULT;
Parameters
collection |
|
ordered |
If the operations must be performed in order. |
write_concern |
An optional mongoc_write_concern_t or NULL. |
Description
This function shall begin a new bulk operation. After creating this you may call various functions such as mongoc_bulk_operation_update(), mongoc_bulk_operation_insert() and others.
After calling mongoc_bulk_operation_execute() the commands will be executed in as large as batches as reasonable by the client.
If ordered is true, then processing will stop at the first error.
If ordered is not true, then the bulk operation will attempt to continue processing even after the first failure.
write_concern should contain the write concern you wish to have applied to all operations within the bulk operation.
Errors
Errors are propagated when executing the bulk operation.
Returns
A newly allocated mongoc_bulk_operation_t that should be freed with mongoc_bulk_operation_destroy() when no longer in use.
Failure to handle the result of this function is a programming error.


Scanner
Messages
Status:
Mode
Scanner
Idle
Messenger
From:
To:
Samples:
Settle time:
Set
Min:-00dBm @ 000.00MHz
Max:-00dBm @ 000.00MHz
Send
Set registers


Before Change
// NB: Watchman will never trigger an invalidation event for the root directory that
// is being watched. Instead, we treat any invalidation of a path directly in the
// root directory as an invalidation of the root.
if any(os.path.dirname(f) in ("", ".") for f in filenames):
filenames = tuple(filenames) + ("", ".")
with self._product_graph_lock:
invalidated = self._scheduler.invalidate(filenames)
logger.debug("invalidated %d nodes for: %s", invalidated, filenames)
return invalidated
After Change
// NB: Watchman no longer triggers events when children are created/deleted under a directory,
// so we always need to invalidate the direct parent as well.
filenames = set(direct_filenames)
filenames.update(os.path.dirname(f) for f in direct_filenames)
with self._product_graph_lock:
invalidated = self._scheduler.invalidate(filenames)
logger.debug("invalidated %d nodes for: %s", invalidated, filenames)
return invalidated


--- layout: event title: Wheelbuilding Session 2 datetime: 2015-12-08 (Tue) 18:00 location: Sprout, 339R Summer St, Somerville (home to SBK) description: Lacing workshop ---
Goal : Lacing the wheel


Ask
What is Ask?
Ask is a tool that enables editors to create embeddable calls for contributions, including text, photo, video, and audio. The contributions can be connected to existing user profiles. Editors can manage high volumes of contributions, and display the best ones alongside the call. Read more about Ask here.
Who is Ask for?
- Engagement editors and journalists: People who invite, manage, and publish user-generated content in order to improve the quality of the journalism.
- End users: People who consume content and contribute their own knowledge and experiences, in order to improve the quality of the coverage so that it is closer to their own needs and experiences.
- Publishers: People who want to understand the value of engaging more deeply with segments of the users, in order to better assess how and why to invest smartly in community.
We’ve created a guide on how to write a well-considered form. You can read it here.
Architecture
Latest install
Public beta of Ask, 0.40, was released on 9/14/16.
Ask components
Create form
The form builder is located under “Create Form.”
Question fields
Ask allows for multiple input field types to be added to a form. All fields are validated, except for phone number. Each input field also has the option to add a description.
- Short Answer: Provides a single line text input area. You can set the character limits.
- Long Answer: Provides a paragraph text input area. You can set the character limits.
- Numbers: Only number characters can be entered in this field.
- Multiple Choice: Provides multiple choice answer options.
- Date
- Phone number
Additional fields
The form also has options for:
- A customizable “thank you” message after submitting.
- Adding text without an entry field to the top of the form (a “headline” and instructions or description).
- Terms and conditions that will appear as text at the bottom of the form.
Embedding the generated form
Once a form has been saved, an embed code is generated. You can then use this code to embed the form into your own page. Three options are presented for using the forms:
Embed code
You can render a form directly into a page, using a script src
tag. This offers the advantages of native CSS inheritance (as iframes won’t inherit any CSS from the parent page). Note that the div-id does need to be ask-form
: the name is hardcoded.

Embed code (iframe)
You can take the standalone page link and use it in an iframe, which you can then embed directly into your page. You may have to tweak the width and height parameters.

Standalone form
The “Standalone Form” button takes you to the form as a standalone page that you can link to.
View forms
The “View forms” area allows you the create, edit, and view forms, as well as view the submissions made to your forms.
You can:
- see which forms are currently active.
- see the number of submissions.
- sort and search forms by creator/status/date created/words used in the questions.
Ask installation
You can install the Ask product through a straightforward Docker Compose installation. This installs only the parts of Coral that are required for Ask.
There are two options currently available for installing Ask:
- Basic demo setup: The first option is an extremely simple demo setup: all variables are hardcoded, so all you have to do is run a few simple commands to get up and running on your laptop.
- Probably best for you if: you just want to install and demo Ask.
- Advanced setup: The second option is still simple, but has a few more steps where you can set some variables and customize your setup (for instance, set up your own S3 bucket instead of using our hardcoded demo S3 bucket).
- Probably best for you if: you want to do more with Ask than just a basic demo.
Ask installation: basic demo setup
We currently support Mac, Linux, and Windows. Choose your operating system to view installation instructions.
- Mac OS X: We support OS X El Capitan (10.11) or newer.
- Linux: We support Ubuntu 15.10 or newer.
- Windows: We support Windows 7 or newer.
Basic demo setup: Mac OS X
Before you begin
You must have the following items installed:
- MongoDB: You can find instructions on installing MongoDB on the MongoDB website.
- Make sure MongoDB is running before you proceed: use the command
mongod
to start running MongoDB as a daemon.
- Make sure MongoDB is running before you proceed: use the command
- Docker Toolbox: You can install Docker Toolbox from the Docker Toolbox product page.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
docker-compose --version
.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
You should also have the following resources on your machine before installing:
- Minimum CPU: 2.0 GHz
- Minimum RAM: 4GB
- Minimum disk space: 4GB
Browser requirements
We currently support Chrome.
Get the source code
Clone the Ask repository. This repository contains a number of setup files that you can edit, and will help you easily spin up a Docker container.
git clone https://github.com/coralproject/ask.git
Then cd into the ask/docker
directory.
cd ask/docker
Start Docker
Start Docker.
- On the server, you can do this via the command:
sudo service docker start
- On your local machine, you can start Docker via the Docker Quickstart Terminal. This will usually be in your Applications folder, or (if on Mac) you can type “docker quickstart” into Spotlight to find it quickly. The Docker Quickstart Terminal will open a new terminal window, running Docker, that you will then use to run the rest of the Docker related commands below.
Troubleshooting
- You may have to use the command
eval $(docker-machine env)
before proceeding to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Spin up the Docker container
Ensure you are in the ask/docker
directory.
The very first time that you spin up the Docker container, this will be a multi-step process:
1. Spin up the Docker container:
docker-compose -f ask-basic-local.yaml up -d
The ask-basic-local.yaml
file contained in the ask/docker
directory contains all the instructions that Docker Compose needs to set up the Ask product.
Troubleshooting note: If you see an error, such as the one below, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Unsupported config option for services service: 'mongodata'
2. Docker will now download and install a number of Docker images. This may take a few minutes.
3. Once all Docker images have been downloaded, you’ll see something like the following in your terminal:
Creating network "docker_default" with the default driver
Creating docker_mongodata_1
Creating docker_pillarapp_1
Creating docker_elkhorn_1
Creating docker_cayapp_1
4. If this is your first time installing Ask, you’ll now have to shut everything down with the Docker down
command. This up-down-up sequence initializes authentication on MongoDB.
docker-compose -f ask-basic-local.yaml down
5. Finally, start the Docker container back up. In future, you can simply use this command to start your Docker container (instead of bringing Docker up, then down, then up again).
docker-compose -f ask-basic-local.yaml up -d
Access Ask
You can now use Ask by accessing the front end URL in your browser.
- On Mac, the default Docker Machine IP for local machines is
<IP_ADDRESS>
: http://<IP_ADDRESS>
Basic demo setup: Linux
Before you begin
You must have the following items installed:
- MongoDB: You can find instructions on installing MongoDB on the MongoDB website.
- Make sure MongoDB is running before you proceed: use the command
mongod
to start running MongoDB as a daemon.
- Make sure MongoDB is running before you proceed: use the command
- Docker Toolbox: You can install Docker Toolbox from the Docker Toolbox product page.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
docker-compose --version
.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
You should also have the following resources on your machine before installing:
- Minimum CPU: 2.0 GHz
- Minimum RAM: 4GB
- Minimum disk space: 4GB
Browser requirements
We currently support Chrome.
Get the source code
Clone the Ask repository. This repository contains a number of setup files that you can edit, and will help you easily spin up a Docker container.
git clone https://github.com/coralproject/ask.git
Then cd into the ask/docker
directory.
cd ask/docker
Start Docker
Start Docker.
- On the server, you can do this via the command:
sudo service docker start
- On your local machine, you can start Docker via the Docker Quickstart Terminal. The Docker Quickstart Terminal will open a new terminal window, running Docker, that you will then use to run the rest of the Docker related commands below.
Troubleshooting
- You may have to use the command
eval $(docker-machine env)
before proceeding to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Set frontend URL variables
On Linux, you will have to manually edit a few variables in the ask-basic-local.yaml
file. This is because the current basic demo setup is geared toward Macs, and the Docker Machine IP for local installations on Mac is different from the IP for Linux machines.
Basically, anywhere that you see <IP_ADDRESS>
in the ask-basic-local.yaml
file, you want to change it to <IP_ADDRESS>
.
Open up your ask-basic-local.yaml
file and set these variables:
PILLAR_URL
(under “cayapp”): Set tohttp://<IP_ADDRESS>:8080
.ELKHORN_URL
(under “cayapp”): Set tohttp://<IP_ADDRESS>:4444
.PILLAR_URL
(under “elkhorn”): Set tohttp://<IP_ADDRESS>:8080
.
Spin up the Docker container
Ensure you are in the ask/docker
directory.
The very first time that you spin up the Docker container, this will be a multi-step process:
1. Spin up the Docker container:
docker-compose -f ask-basic-local.yaml up -d
The ask-basic-local.yaml
file contained in the ask/docker
directory contains all the instructions that Docker Compose needs to set up the Ask product.
Troubleshooting note: If you see an error, such as the one below, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Unsupported config option for services service: 'mongodata'
2. Docker will now download and install a number of Docker images. This may take a few minutes.
3. Once all Docker images have been downloaded, you’ll see something like the following in your terminal:
Creating network "docker_default" with the default driver
Creating docker_mongodata_1
Creating docker_pillarapp_1
Creating docker_elkhorn_1
Creating docker_cayapp_1
4. If this is your first time installing Ask, you’ll now have to shut everything down with the Docker down
command. This up-down-up sequence initializes authentication on MongoDB.
docker-compose -f ask-basic-local.yaml down
5. Finally, start the Docker container back up. In future, you can simply use this command to start your Docker container (instead of bringing Docker up, then down, then up again).
docker-compose -f ask-basic-local.yaml up -d
Access Ask
You can now use Ask by accessing the front end URL in your browser.
- On Linux, this should be set to
<IP_ADDRESS>
(the URL we set back in the setting frontend URL variables step): http://<IP_ADDRESS>
Basic demo setup: Windows
Before you begin
You must have the following items installed:
- MongoDB: You can find instructions on installing MongoDB on the MongoDB website.
- Make sure MongoDB is running before you proceed: use the command
mongod
to start running MongoDB as a daemon.
- Make sure MongoDB is running before you proceed: use the command
- Docker Toolbox: You can install Docker Toolbox from the Docker Toolbox product page.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
docker-compose --version
.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
You should also have the following resources on your machine before installing:
- Minimum CPU: 2.0 GHz
- Minimum RAM: 4GB
- Minimum disk space: 4GB
Browser requirements
We currently support Chrome.
Get the source code
Clone the Ask repository. This repository contains a number of setup files that you can edit, and will help you easily spin up a Docker container.
git clone https://github.com/coralproject/ask.git
Then cd into the ask/docker
directory.
cd ask/docker
Start Docker
Start Docker.
- On the server, you can do this via the command:
sudo service docker start
- On your local machine, you can start Docker via the Docker Quickstart Terminal. The Docker Quickstart Terminal will open a new terminal window, running Docker, that you will then use to run the rest of the Docker related commands below.
Troubleshooting
- You may have to use the command
eval $(docker-machine env)
before proceeding to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Spin up the Docker container
Ensure you are in the ask/docker
directory.
The very first time that you spin up the Docker container, this will be a multi-step process:
1. Spin up the Docker container:
docker-compose -f ask-basic-local.yaml up -d
The ask-basic-local.yaml
file contained in the ask/docker
directory contains all the instructions that Docker Compose needs to set up the Ask product.
Troubleshooting note: If you see an error, such as the one below, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Unsupported config option for services service: 'mongodata'
2. Docker will now download and install a number of Docker images. This may take a few minutes.
3. Once all Docker images have been downloaded, you’ll see something like the following in your terminal:
Creating network "docker_default" with the default driver
Creating docker_mongodata_1
Creating docker_pillarapp_1
Creating docker_elkhorn_1
Creating docker_cayapp_1
4. If this is your first time installing Ask, you’ll now have to shut everything down with the Docker down
command. This up-down-up sequence initializes authentication on MongoDB.
docker-compose -f ask-basic-local.yaml down
5. Finally, start the Docker container back up. In future, you can simply use this command to start your Docker container (instead of bringing Docker up, then down, then up again).
docker-compose -f ask-basic-local.yaml up -d
Access Ask
You can now use Ask by accessing the front end URL in your browser.
- On Windows, this should be set to
<IP_ADDRESS>
by default: http://<IP_ADDRESS>
Ask installation: advanced setup
We currently support Mac, Linux, and Windows. Choose your operating system to view installation instructions.
- Mac OS X: We support OS X El Capitan (10.11) or newer.
- Linux: We support Ubuntu 15.10 or newer.
- Windows: We support Windows 7 or newer.
Advanced setup: Mac OS X
Before you begin
You must have the following items installed and running:
- MongoDB: You can find instructions on installing MongoDB on the MongoDB website.
- Make sure MongoDB is running before you proceed: use the command
mongod
to start running MongoDB as a daemon.
- Make sure MongoDB is running before you proceed: use the command
- Docker Toolbox: You can install Docker Toolbox from the Docker Toolbox product page.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
docker-compose --version
.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
You should also have the following resources on your machine before installing:
- Minimum CPU: 2.0 GHz
- Minimum RAM: 4GB
- Minimum disk space: 4GB
Browser requirements
We currently support Chrome.
Set up your external storage system (optional)
Ask uses an external storage system as a cache to store pre-built bundled files of your created form. This allows the forms to be quickly served up when embedded on your page. Each bundled file runs about ~100KB, and there is one bundled file per form.
There are currently a couple of different options available for the external storage system you can use.
- Amazon S3: Amazon S3 is a storage system that is relatively easy to set up and use, and scales well: it allows many concurrent users to access the files.
- Local file system: If you don’t set up an external storage system in the set environment variables step, Ask will default to using your local file system for storage. This can be a good option if you are developing locally, or just installing Ask for demo purposes. If you want to scale, however, this can get unwieldy, and it will be best to set up a storage system that is fast and handles concurrency well.
Amazon S3
Amazon S3 is a good option for your external storage system because it is fast, handles concurrency, and will scale well.
The setup of S3 is straightforward, and Amazon has good documentation. For the purposes of setting S3 up for Ask, you can follow Amazon’s instructions here.
- Follow the directions for Sign Up for Amazon S3 and Create a Bucket. There is no need to continue further to the demos for “Add an Object to a Bucket” and beyond: those are simply examples showing you how to use S3.
- For my example, I named my bucket “ask-bucket-test” and chose region “Northern California” (which corresponds to us-west-2).
- During the sign up process, you will create an AWS Access Key. Hang on to that information (you have the option to download it).
-
Once you have signed up and set up a bucket, go to your S3 console to set up your permissions under “Security Credentials.”
-
Ensure that under “Permissions,” the only Grantee is you. This means that nobody but you can access your bucket (using your AWS Access Key).
You’re all set! You can now use your AWS Access Key to connect Ask to your S3 bucket (you’ll set this up in the Set environment variables section below). If you didn’t save your AWS Access Key during the set up process, you can go to the “Security Credentials” section and create a new one.
Get the source code
Clone the Ask repository. This repository contains a number of setup files that you can edit, and will help you easily spin up a Docker container.
git clone https://github.com/coralproject/ask.git
Then cd into the ask/docker
directory.
cd ask/docker
Set environment variables
The env.conf
file contains environment variables you need to set. Setting your environment variables tells Docker which IP address your Coral front end will have, as well as other information such as your MongoDB username and password.
export FRONTEND_HOST=<IP_ADDRESS>
# mongo:
export MONGO_AUTHDB=admin
export MONGO_USER=coral-user
export MONGO_PASS=welcome
export MONGO_DB=coral
FRONTEND_HOST
: set to your desired IP address for the front end.- On Mac, the default Docker Machine IP for laptops is
<IP_ADDRESS>
.
- On Mac, the default Docker Machine IP for laptops is
MongoDB:
MONGO_USER
: set to the username for your MongoDBMONGO_PASS
: set to the password for your MongoDBMONGO_DB
: set to the name of your MongoDB (in this instance, “coral”)MONGO_AUTHDB
: set to the admin user of your database
Amazon S3 (optional):
S3_BUCKET
: set to the name of your S3 bucket (in this example,ask-bucket-test
)AWS_REGION
: set to the AWS region that you selected in your S3 setup. You can find it in your S3 console URL. In this example, it isus-west-2
.AWS_ACCESS_KEY
: set to your AWS Access Key ID that you received when you set up S3. You can also create a new key and key ID in the “Security Credentials” area of your S3 console.AWS_ACCESS_KEY
: set to your AWS Access Key that you received when you set up S3. You can also create a new key and key ID in the “Security Credentials” area of your S3 console.
Start Docker
Start Docker.
- On the server, you can do this via the command:
sudo service docker start
- On your local machine, you can start Docker via the Docker Quickstart Terminal. This will usually be in your Applications folder, or (if on Mac) you can type “docker quickstart” into Spotlight to find it quickly. The Docker Quickstart Terminal will open a new terminal window, running Docker, that you will then use to run the rest of the Docker related commands below.
Troubleshooting
- You may have to use the command
eval $(docker-machine env)
before proceeding to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Spin up the Docker container
Ensure you are in the ask/docker
directory.
First, run the following command to export your edited variables and set the environment variables.
source env.conf
The very first time that you spin up the Docker container, this will be a multi-step process:
1. Spin up the Docker container:
docker-compose -f docker-compose.yml up -d
The docker-compose.yml
file contained in the ask/docker
directory contains all the instructions that Docker Compose needs to set up the Ask product.
Troubleshooting note: If you see an error, such as the one below, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Unsupported config option for services service: 'mongodata'
2. Docker will now download and install a number of Docker images. This may take a few minutes.
3. Once all Docker images have been downloaded, you’ll see something like the following in your terminal:
Creating docker_mongodata_1
Creating docker_pillarapp_1
Creating docker_elkhorn_1
Creating docker_cayapp_1
4. If this is your first time installing Ask, you’ll now have to shut everything down with the Docker down
command. This up-down-up sequence initializes authentication on MongoDB.
docker-compose -f docker-compose.yml down
5. Finally, start the Docker container back up. In future, you can simply use this command to start your Docker container (instead of bringing Docker up, then down, then up again).
docker-compose -f docker-compose.yml up -d
Access Ask
You can now use Ask by accessing the front end URL in your browser. This is the URL you specified as FRONTEND_HOST
in the env.conf
setup above.
- On Mac, the default Docker Machine IP for laptops is
<IP_ADDRESS>
: http://<IP_ADDRESS>
Advanced setup: Linux
Before you begin
You must have the following items installed and running:
- MongoDB: You can find instructions on installing MongoDB on the MongoDB website.
- Make sure MongoDB is running before you proceed: use the command
mongod
to start running MongoDB as a daemon.
- Make sure MongoDB is running before you proceed: use the command
- Docker Toolbox: You can install Docker Toolbox from the Docker Toolbox product page.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
docker-compose --version
.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
You should also have the following resources on your machine before installing:
- Minimum CPU: 2.0 GHz
- Minimum RAM: 4GB
- Minimum disk space: 4GB
Browser requirements
We currently support Chrome.
Set up your external storage system (optional)
Ask uses an external storage system as a cache to store pre-built bundled files of your created form. This allows the forms to be quickly served up when embedded on your page. Each bundled file runs about ~100KB, and there is one bundled file per form.
There are currently a couple of different options available for the external storage system you can use.
- Amazon S3: Amazon S3 is a storage system that is relatively easy to set up and use, and scales well: it allows many concurrent users to access the files.
- Local file system: If you don’t set up an external storage system in the set environment variables step, Ask will default to using your local file system for storage. This can be a good option if you are developing locally, or just installing Ask for demo purposes. If you want to scale, however, this can get unwieldy, and it will be best to set up a storage system that is fast and handles concurrency well.
Amazon S3
Amazon S3 is a good option for your external storage system because it is fast, handles concurrency, and will scale well.
The setup of S3 is straightforward, and Amazon has good documentation. For the purposes of setting S3 up for Ask, you can follow Amazon’s instructions here.
- Follow the directions for Sign Up for Amazon S3 and Create a Bucket. There is no need to continue further to the demos for “Add an Object to a Bucket” and beyond: those are simply examples showing you how to use S3.
- For my example, I named my bucket “ask-bucket-test” and chose region “Northern California” (which corresponds to us-west-2).
- During the sign up process, you will create an AWS Access Key. Hang on to that information (you have the option to download it).
-
Once you have signed up and set up a bucket, go to your S3 console to set up your permissions under “Security Credentials.”
-
Ensure that under “Permissions,” the only Grantee is you. This means that nobody but you can access your bucket (using your AWS Access Key).
You’re all set! You can now use your AWS Access Key to connect Ask to your S3 bucket (you’ll set this up in the Set environment variables section below). If you didn’t save your AWS Access Key during the set up process, you can go to the “Security Credentials” section and create a new one.
Get the source code
Clone the Ask repository. This repository contains a number of setup files that you can edit, and will help you easily spin up a Docker container.
git clone https://github.com/coralproject/ask.git
Then cd into the ask/docker
directory.
cd ask/docker
Set environment variables
The env.conf
file contains environment variables you need to set. Setting your environment variables tells Docker which IP address your Coral front end will have, as well as other information such as your MongoDB username and password.
export FRONTEND_HOST=<IP_ADDRESS>
# mongo:
export MONGO_AUTHDB=admin
export MONGO_USER=coral-user
export MONGO_PASS=welcome
export MONGO_DB=coral
FRONTEND_HOST
: set to your desired IP address for the front end.- On Linux, this should be set to
<IP_ADDRESS>
or a private IP address.
- On Linux, this should be set to
MongoDB:
MONGO_USER
: set to the username for your MongoDBMONGO_PASS
: set to the password for your MongoDBMONGO_DB
: set to the name of your MongoDB (in this instance, “coral”)MONGO_AUTHDB
: set to the admin user of your database
Amazon S3 (optional):
S3_BUCKET
: set to the name of your S3 bucket (in this example,ask-bucket-test
)AWS_REGION
: set to the AWS region that you selected in your S3 setup. You can find it in your S3 console URL. In this example, it isus-west-2
.AWS_ACCESS_KEY
: set to your AWS Access Key ID that you received when you set up S3. You can also create a new key and key ID in the “Security Credentials” area of your S3 console.AWS_ACCESS_KEY
: set to your AWS Access Key that you received when you set up S3. You can also create a new key and key ID in the “Security Credentials” area of your S3 console.
Start Docker
Start Docker.
- On the server, you can do this via the command:
sudo service docker start
- On your local machine, you can start Docker via the Docker Quickstart Terminal. The Docker Quickstart Terminal will open a new terminal window, running Docker, that you will then use to run the rest of the Docker related commands below.
Troubleshooting
- You may have to use the command
eval $(docker-machine env)
before proceeding to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Spin up the Docker container
Ensure you are in the ask/docker
directory.
First, run the following command to export your edited variables and set the environment variables.
source env.conf
The very first time that you spin up the Docker container, this will be a multi-step process:
1. Spin up the Docker container:
docker-compose -f docker-compose.yml up -d
The docker-compose.yml
file contained in the ask/docker
directory contains all the instructions that Docker Compose needs to set up the Ask product.
Troubleshooting note: If you see an error, such as the one below, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Unsupported config option for services service: 'mongodata'
2. Docker will now download and install a number of Docker images. This may take a few minutes.
3. Once all Docker images have been downloaded, you’ll see something like the following in your terminal:
Creating docker_mongodata_1
Creating docker_pillarapp_1
Creating docker_elkhorn_1
Creating docker_cayapp_1
4. If this is your first time installing Ask, you’ll now have to shut everything down with the Docker down
command. This up-down-up sequence initializes authentication on MongoDB.
docker-compose -f docker-compose.yml down
5. Finally, start the Docker container back up. In future, you can simply use this command to start your Docker container (instead of bringing Docker up, then down, then up again).
docker-compose -f docker-compose.yml up -d
Access Ask
You can now use Ask by accessing the front end URL in your browser. This is the URL you specified as FRONTEND_HOST
in the env.conf
setup above.
- On Linux, this should be set to
<IP_ADDRESS>
or a private IP address (the IP you set when setting your environment variables): http://<IP_ADDRESS>
Advanced setup: Windows
Before you begin
You must have the following items installed and running:
- MongoDB: You can find instructions on installing MongoDB on the MongoDB website.
- Make sure MongoDB is running before you proceed: use the command
mongod
to start running MongoDB as a daemon.
- Make sure MongoDB is running before you proceed: use the command
- Docker Toolbox: You can install Docker Toolbox from the Docker Toolbox product page.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
docker-compose --version
.
- If you already have Docker installed, you’ll want to make sure that you have Docker Compose version 1.7 or later. You can check your version using the command
You should also have the following resources on your machine before installing:
- Minimum CPU: 2.0 GHz
- Minimum RAM: 4GB
- Minimum disk space: 4GB
Browser requirements
We currently support Chrome.
Set up your external storage system (optional)
Ask uses an external storage system as a cache to store pre-built bundled files of your created form. This allows the forms to be quickly served up when embedded on your page. Each bundled file runs about ~100KB, and there is one bundled file per form.
There are currently a couple of different options available for the external storage system you can use.
- Amazon S3: Amazon S3 is a storage system that is relatively easy to set up and use, and scales well: it allows many concurrent users to access the files.
- Local file system: If you don’t set up an external storage system in the set environment variables step, Ask will default to using your local file system for storage. This can be a good option if you are developing locally, or just installing Ask for demo purposes. If you want to scale, however, this can get unwieldy, and it will be best to set up a storage system that is fast and handles concurrency well.
Amazon S3
Amazon S3 is a good option for your external storage system because it is fast, handles concurrency, and will scale well.
The setup of S3 is straightforward, and Amazon has good documentation. For the purposes of setting S3 up for Ask, you can follow Amazon’s instructions here.
- Follow the directions for Sign Up for Amazon S3 and Create a Bucket. There is no need to continue further to the demos for “Add an Object to a Bucket” and beyond: those are simply examples showing you how to use S3.
- For my example, I named my bucket “ask-bucket-test” and chose region “Northern California” (which corresponds to us-west-2).
- During the sign up process, you will create an AWS Access Key. Hang on to that information (you have the option to download it).
-
Once you have signed up and set up a bucket, go to your S3 console to set up your permissions under “Security Credentials.”
-
Ensure that under “Permissions,” the only Grantee is you. This means that nobody but you can access your bucket (using your AWS Access Key).
You’re all set! You can now use your AWS Access Key to connect Ask to your S3 bucket (you’ll set this up in the Set environment variables section below). If you didn’t save your AWS Access Key during the set up process, you can go to the “Security Credentials” section and create a new one.
Get the source code
Clone the Ask repository. This repository contains a number of setup files that you can edit, and will help you easily spin up a Docker container.
git clone https://github.com/coralproject/ask.git
Then cd into the ask/docker
directory.
cd ask/docker
Set environment variables
The env.conf
file contains environment variables you need to set. Setting your environment variables tells Docker which IP address your Coral front end will have, as well as other information such as your MongoDB username and password.
export FRONTEND_HOST=<IP_ADDRESS>
# mongo:
export MONGO_AUTHDB=admin
export MONGO_USER=coral-user
export MONGO_PASS=welcome
export MONGO_DB=coral
FRONTEND_HOST
: set to your desired IP address for the front end.- On Windows, this should be set to
<IP_ADDRESS>
or a private IP address.
- On Windows, this should be set to
MongoDB:
MONGO_USER
: set to the username for your MongoDBMONGO_PASS
: set to the password for your MongoDBMONGO_DB
: set to the name of your MongoDB (in this instance, “coral”)MONGO_AUTHDB
: set to the admin user of your database
Amazon S3 (optional):
S3_BUCKET
: set to the name of your S3 bucket (in this example,ask-bucket-test
)AWS_REGION
: set to the AWS region that you selected in your S3 setup. You can find it in your S3 console URL. In this example, it isus-west-2
.AWS_ACCESS_KEY
: set to your AWS Access Key ID that you received when you set up S3. You can also create a new key and key ID in the “Security Credentials” area of your S3 console.AWS_ACCESS_KEY
: set to your AWS Access Key that you received when you set up S3. You can also create a new key and key ID in the “Security Credentials” area of your S3 console.
Start Docker
Start Docker.
- On the server, you can do this via the command:
sudo service docker start
- On your local machine, you can start Docker via the Docker Quickstart Terminal. This will usually be in your Applications folder, or (if on Mac) you can type “docker quickstart” into Spotlight to find it quickly. The Docker Quickstart Terminal will open a new terminal window, running Docker, that you will then use to run the rest of the Docker related commands below.
Troubleshooting
- You may have to use the command
eval $(docker-machine env)
before proceeding to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Spin up the Docker container
Ensure you are in the ask/docker
directory.
First, run the following command to export your edited variables and set the environment variables.
source env.conf
The very first time that you spin up the Docker container, this will be a multi-step process:
1. Spin up the Docker container:
docker-compose -f docker-compose.yml up -d
The docker-compose.yml
file contained in the ask/docker
directory contains all the instructions that Docker Compose needs to set up the Ask product.
Troubleshooting note: If you see an error, such as the one below, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Unsupported config option for services service: 'mongodata'
2. Docker will now download and install a number of Docker images. This may take a few minutes.
3. Once all Docker images have been downloaded, you’ll see something like the following in your terminal:
Creating docker_mongodata_1
Creating docker_pillarapp_1
Creating docker_elkhorn_1
Creating docker_cayapp_1
4. If this is your first time installing Ask, you’ll now have to shut everything down with the Docker down
command. This up-down-up sequence initializes authentication on MongoDB.
docker-compose -f docker-compose.yml down
5. Finally, start the Docker container back up. In future, you can simply use this command to start your Docker container (instead of bringing Docker up, then down, then up again).
docker-compose -f docker-compose.yml up -d
Access Ask
You can now use Ask by accessing the front end URL in your browser. This is the URL you specified as FRONTEND_HOST
in the env.conf
setup above.
- On Windows, this should be set to
<IP_ADDRESS>
or a private IP address (the IP you set when setting your environment variables): http://<IP_ADDRESS>
Troubleshooting
Old version of Docker
If you see an error while running the Docker Compose commands, make sure that your Docker Compose installation is version 1.7 or above. You can check your version using the command docker-compose --version
.
Example error:
Unsupported config option for services service: 'mongodata'
Viewing running Docker containers
To see all of the Docker containers currently running, use the command docker ps
(you can read more about this command and its options at the Docker website).
docker ps
You should have all of the following containers running:
- nginx:stable-alpine
- coralproject/cay:release
- coralproject/elkhorn
- coralproject/pillar:release
- coralproject/mongodata
Viewing installed Docker images
To see all of the Docker images you have installed, use the command docker images
(you can read more about this command and its options at the Docker website).
docker images
Viewing Docker logs
To view Docker logs for a container, use the command docker logs <container id>
(you can read more about this command and its options at the Docker website).
First you have to find the container id:
docker ps
Then use the container id to view the logs:
docker logs e0bbd7be19c7
Removing Docker images
There are a few reasons you might want to remove Docker images. You may wish to ensure that you are getting the latest build of the image. Or maybe something has gone awry with one or more of the images, and you just want to perform a fresh install of all images.
To remove all Docker images, use this command:
docker rmi $(docker images -q)
Removing old Docker machines
Another option for a “fresh install” is to remove old Docker machines. You could try this in combination with removing Docker images and then reinstalling Ask to see if that fixes your issue.
docker rm -f $(docker ps -a -q)
Other issues while installing
- You may have to use the command
eval $(docker-machine env)
after you’ve started Docker in order to get Docker to work. - If, at any point, you see the error message
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
, this probably means that you are not running Docker commands within the Docker Quickstart Terminal. Make sure that you’ve opened up the Docker Quickstart Terminal and are running your Docker commands there. - If you see an error like the one below, try closing and reopening Docker Quickstart Terminal again, or simply waiting (sometimes it can take a few moments).
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Ask tutorials
We are still developing our Ask tutorials. In the meantime, you can read our guide on how to approach asking your readers for information.


Manager
Joseph Lyons
Employee ID: #3
Office Number:<PHONE_NUMBER>
Engineer
Chad Courtney
Employee ID: #4
Github
Intern
Patrick DeMarco
Employee ID: #5
UNH


The page allows you to copy quotas on all filesystems for some group to
one or more other groups. There are three ways of choosing which groups to
copy to :
- All Groups
- Quotas will be copied to every other group on your system.
- Selected Groups
- Quotas will be copied to the group or groups selected.
- Groups Containing Users
- Quotas will be copied to all groups of which any of the selected users
is a member.


Welcome to LGM-Interlinking’s documentation!¶
LGM-Interlinking¶
This Python code implements and evaluates the proposed LinkGeoML models for Toponym Interlinking. The data folder contains the train datasets, which are used to build the classifiers, and files containing frequent terms, extracted from train datasets. For evaluation, we used the dataset from the Toponym-Matching work (see Setup procedure).
The source code was tested using Python 2.7 and Scikit-Learn 0.20.3 on a Linux server.
Setup procedure¶
Download the latest version from the GitHub repository, change to the main directory and run:
pip install -r pip_requirements.txt
It should install all the required libraries automatically (scikit-learn, numpy, pandas etc.).
Change to the datasets folder, download the test dataset and unzip it:
wget https://github.com/ruipds/Toponym-Matching/raw/master/dataset/dataset.zip
wget https://github.com/ruipds/Toponym-Matching/raw/master/dataset/dataset.z01
zip -FF dataset.zip --out dataset.zip.fixed
unzip dataset.zip.fixed
Acknowledgements¶
The sim_measures.py file, which is used to generate the train/test datasets and to compute the string similarity measures, is a slightly modified version of the datasetcreator.py file used in Toponym-Matching work, which is under the MIT license.
License¶
LGM-Interlinking is available under the MIT License.
How to use¶
A complete pipeline of processes for features extraction and training/evaluating state-of-the-art classifiers for toponym interlinking.
Command line:
Usage:
run.py [options]
run.py (-h | --help)
run.py --version
Options:
-h --help show this screen.
--version show version.
--dtrain <fpath> relative path to the train dataset. If this is null, the assigned
value to `train_dataset` parameter in config.py is used instead.
--dtest <fpath> relative path to the test dataset. If this is null, the assigned
value to `test_dataset` parameter in config.py is used instead.
-e <encoding_type> specify the encoding of toponyms in datasets. [default: global].
Arguments:
encoding_type global
latin


#-- /*********************************************************************************** * $URL: https://source.sakaiproject.org/contrib/etudes/sakai-jforum/tags/2.8.1/jforum-tool/src/webapp/templates/default/grade_eval_category.htm $ * $Id: grade_eval_category.htm 71014 2010-10-26 20:49:34Z<EMAIL_ADDRESS>$ *********************************************************************************** * * Copyright (c) 2009, 2010 Etudes, Inc. * * 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. * ***********************************************************************************/ --> <#include "header.htm"/>


Playacem's website
Welcome to my website!Here is a list of my projects:
- Escape Everything - a tool to escape special markdown characters
- and some other stuff that is still in development.
My creations are typically licensed either under the MIT License or under the Apache 2 License.


Some examples of JavaScript graphics I have worked on. Please visit my Github to view non graphic code examples.