Item 4.
Move forward or back by entry:
Let's say you look up the word "bobber". You are on that word in the entry and can read the definition.
To go to the next entry space + dots56
To go back the other way space + 23.
To move back and forward by word when reading the definition, use space + dot2 or space + dot5.


Davante Adams Issues Message To Fans After Blowout Loss
by Alek ArendThe Packers suffered a shocking blowout loss to the San Francisco 49ers on Sunday night. The game was expected to be a close battle with QB Aaron Rodgers trying to out-duel the San Francisco defense. But Rodgers had minimal time to pass as the 49ers’ defensive line got pressure all game long.
Since the Packers’ Sunday night loss, major concerns are starting to arise. Is Green Bay in serious trouble?
Packers WR Davante Adams took to Twitter on Monday to reassure fans the team will get better because of the loss.
“We gotta be better!! And we will,” Adams said on his person Twitter account. “Love my guys thru thick n thin.”
Sunday night’s loss will be a major wake up call for this Green Bay team. The defeat could be something that helps the Packers in the long run, especially in the post-season.
Adams certainly will stick by his teammates no matter the adversity that hits.
The Packers’ WR has been a scoring machine for Green Bay over the past few seasons. He had yet to score a touchdown prior to Sunday night’s game, but managed to get in the end-zone against the 49ers for his first of the season.
Adams has 46 receptions for 580 yards this year. He’ll look to have a strong finish to the season as the Packers battle it out for a NFC playoff berth.


Installation¶
There are multiple ways in which you can get StreamingBandit up and running.. If you want the smoothest and easiest experience, we recommend to look at Install in Docker.
Install in Docker¶
Using Docker you can easily install StreamingBandit in an isolated container and will have you up and running within a matter of minutes. Docker is a virtualization framework that uses separate containers for each piece of software that you are using. Every dependency and installation procedure is handled by Docker. This is the easiest and recommended way to run StreamingBandit. For more information about Docker, check out their website.
After you have installed Docker and have it up and running, you can get StreamingBandit started using the following commands (note that you also need Git):
$ git clone https://github.com/nth-iteration-labs/streamingbandit
$ cd streamingbandit
$ docker-compose up -d
After the Docker containers are up and running, we can add an admin account with password ‘test’ so that you can login to the back-end:
$ docker exec -t streamingbandit_web_1 python3 ../insert_admin.py -p test
Stopping and starting the containers can be done by:
$ docker-compose stop
$ docker-compose start
Note
You can also stop the Docker containers using $ docker-compose down
, but use this with caution, as it will destroy the containers and also all your saved progress and data!
The last few commands will only start up the back-end. If you would like to have the front-end running as well, you can accomplish that using the following commands:
$ docker-compose -f docker-compose.yml -f docker-compose.front-end.yml up -d
Then starting and stopping can be done by issuing:
$ docker-compose -f docker-compose.yml -f docker-compose.front-end.yml stop
$ docker-compose -f docker-compose.yml -f docker-compose.front-end.yml start
Note
The front-end will be taken from an existing image from the Dockerhub and thus you will not need to download a Git repository.
Install and running from Source¶
Installing from Source¶
Currently this section is only for Mac/Linux and only Python 3 is supported. Firstly, you will have to install all the Python dependencies:
$ pip3 install .
Redis¶
We use Redis for its speed to store our parameters.
MongoDB¶
We use MongoDB for all logging and archiving.
Configurating Redis and MongoDB locations¶
If you have a Redis and MongoDB instance running on other systems (e.g. different Amazon clusters) than you are running StreamingBandit on, you can change the IP and port in the config file (/app/config.cfg).
Running StreamingBandit¶
If everything is correctly configured:
Start Redis
Start MongoDB
Then you can start the StreamingBandit back-end by issuing the following commands:
$ cd streamingbandit/app
$ python3 app.py
You can now go to http://localhost:8080/
and if everything is running correctly, you will see a welcome page!
Using StreamingBandit front-end¶
To use StreamingBandit more intuitively, you can use our front-end (StreamingBandit-ui) as well.
Just follow these steps after you have installed the back-end.
Download and unzip the StreamingBanditUI package here, if you haven’t already. The StreamingBanditUI package will extract into a folder called StreamingBanditUI in the same directory that you downloaded StreamingBanditUI.zip
Upload the all of the files contained in the StreamingBanditUI folder to the desired location on your web server and visit index.html.
OR
Run StreamingBanditUI by clicking on index.html in the StreamingBanditUI directory. This works in most, but not all browsers. Recent versions of Firefox, Microsoft Edge and Google Chrome should work fine.
Now enter the IP or domain together with the port on StreamingBandit is running (default: http://localhost:8080) and login to the StreamingBandit server.
That’s it! You should now be able to access your StreamingBandit server, and start experimenting!


- edit_habit - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_comment - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_comment_header - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_fri - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_mon - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_sat - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_sun - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_thur - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_tues - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_day_wed - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_days_text - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_habit_interval - Static variable in class com.cmput301f17t07.ingroove.R.string
-
- edit_habit_name - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_query - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_save_btn - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- edit_usr_btn - Static variable in class com.cmput301f17t07.ingroove.R.string
-
- edited_habit_key - Static variable in class com.cmput301f17t07.ingroove.avehabit.ViewHabitActivity
-
- editHabit(Habit, Habit) - Method in interface com.cmput301f17t07.ingroove.DataManagers.Command.DataManagerAPI
-
Updates the contents of a habit in storage with new information
- editHabit(Habit, Habit) - Method in class com.cmput301f17t07.ingroove.DataManagers.DataManager
-
Relay call to habit manager to update the contents of a habit in storage with new information
- editHabit(Habit, Habit) - Method in class com.cmput301f17t07.ingroove.DataManagers.HabitManager
-
Update the contents of a habit in storage with new information
- editHabit(Habit, Habit) - Method in class com.cmput301f17t07.ingroove.DataManagers.MockDataManager
-
Deprecated.
Update a test habit
- EditHabitActivity - Class in com.cmput301f17t07.ingroove.avehabit
-
[Boundary Class]
Activity to allow users to edit habits
- EditHabitActivity() - Constructor for class com.cmput301f17t07.ingroove.avehabit.EditHabitActivity
-
- editHabitEvent(HabitEvent, HabitEvent) - Method in interface com.cmput301f17t07.ingroove.DataManagers.Command.DataManagerAPI
-
Updates an existing habitEvent with new data
- editHabitEvent(HabitEvent, HabitEvent) - Method in class com.cmput301f17t07.ingroove.DataManagers.DataManager
-
Relay the call to the habitEventManager to update an existing habitEvent with new data
- editHabitEvent(HabitEvent, HabitEvent) - Method in class com.cmput301f17t07.ingroove.DataManagers.HabitEventManager
-
used to edit a habitEvent from the old oldHE to the newHE
- editHabitEvent(HabitEvent, HabitEvent) - Method in class com.cmput301f17t07.ingroove.DataManagers.MockDataManager
-
Deprecated.
Update a habit event
- EditHabitEventActivity - Class in com.cmput301f17t07.ingroove.EditHabitEvent
-
[Boundary Class]
Activity to allow users to edit habit events
- EditHabitEventActivity() - Constructor for class com.cmput301f17t07.ingroove.EditHabitEvent.EditHabitEventActivity
-
- editTextBackground - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- editTextColor - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- editTextStyle - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- editUser(User) - Method in interface com.cmput301f17t07.ingroove.DataManagers.Command.DataManagerAPI
-
- editUser(User) - Method in class com.cmput301f17t07.ingroove.DataManagers.DataManager
-
- editUser(User) - Method in class com.cmput301f17t07.ingroove.DataManagers.MockDataManager
-
Deprecated.
- EditUserActivity - Class in com.cmput301f17t07.ingroove.UserActivityPackage
-
[Boundary Class]
Activity allows the User to edit their profile.
- EditUserActivity() - Constructor for class com.cmput301f17t07.ingroove.UserActivityPackage.EditUserActivity
-
- editUserBackButton - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- editUserButton - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- elevation - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- end - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- end_padder - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- enterAlways - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- enterAlwaysCollapsed - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- equals(Object) - Method in class com.cmput301f17t07.ingroove.Model.Follow
-
For comparison of follow objects
- equals(Object) - Method in class com.cmput301f17t07.ingroove.Model.Habit
-
Overridden equals method for comparison between habit objects, ensures that habits can still be compared
safely if they are serialized throughout the application
- equals(Object) - Method in class com.cmput301f17t07.ingroove.Model.HabitEvent
-
Overridden equals method for comparison of HabitEvents that may have been serialized--compares
bases on state of objects
- equals(Object) - Method in class com.cmput301f17t07.ingroove.Model.User
-
Override the equals method for comparison purposes, ensure that de-serialized users can still
be compared and identified as equals if they represent the same user
- error_color_material - Static variable in class com.cmput301f17t07.ingroove.R.color
-
- errorEnabled - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- errorTextAppearance - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- event_image - Static variable in class com.cmput301f17t07.ingroove.R.string
-
- eventImage - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.AddHabitCommand
-
Called by the command manager when there is a connection present, the HabitManager
adds the habit to server storage
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.AddHabitEventCommand
-
Called by the command manager when there is a connection present, the HabitEventManager
adds the habit to server storage
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.DeleteHabitCommand
-
Called when the command is at the top of the queue
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.DeleteHabitEventCommand
-
Called when the command is at the top of the queue
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.ServerCommand
-
Called when the command is at the top of the queue
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.ServerCommandManager
-
Creates an Async task and passes the queue of command to be executed
- execute() - Method in class com.cmput301f17t07.ingroove.DataManagers.Command.UpdateUserCommand
-
Called when the command is at the top of the queue
- ExecuteAsync() - Constructor for class com.cmput301f17t07.ingroove.DataManagers.Command.ServerCommandManager.ExecuteAsync
-
- exitUntilCollapsed - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- expand_activities_button - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- expandActivityOverflowButtonDrawable - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- expanded - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- expanded_menu - Static variable in class com.cmput301f17t07.ingroove.R.id
-
- expandedTitleGravity - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
Must be one or more (separated by '|') of the following constant values.
- expandedTitleMargin - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- expandedTitleMarginBottom - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- expandedTitleMarginEnd - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- expandedTitleMarginStart - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- expandedTitleMarginTop - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- expandedTitleTextAppearance - Static variable in class com.cmput301f17t07.ingroove.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.uniheidelberg.cl.swp.preproc.JavaRapPreProcessing
public class JavaRapPreProcessing
This class provides the conversion features needed to process both training and test data with
JavaRap and stores their results so that they can be used by JavaRapRunner
afterwards.
It's possible to execute JavaRap remotely on a specified server.
Javarap.jar is required:
http://aye.comp.nus.edu.sg/~qiu/NLPTools/JavaRAP.html
The results are stored in the folder ./Basedata/javarap/
for the
corresponding MMAX2 corpus.
| Constructor Summary | |
|---|---|
JavaRapPreProcessing()
|
| Method Summary | |
|---|---|
SSHConnection |
getConn()
Getter for the currently used SSHConnection for remote execution. |
static void |
main(java.lang.String[] args)
Main method to run JavaRap on the training and test data. |
void |
run(java.lang.String corpus,
boolean useSsh,
java.lang.String javaRapPath)
Runs the JavaRap-System for the specified file. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JavaRapPreProcessing()
| Method Detail |
|---|
public SSHConnection getConn()
SSHConnection
for remote execution.
SSHConnection
.public void run(java.lang.String corpus, boolean useSsh, java.lang.String javaRapPath)
./Basedata/javarap/.txt
corpus
- Either training or test.
The path has to be specified via Configuration
).useSsh
- True, if a remote connection should be used, false if a local version of
JavaRap should be used.javaRapPath
- Path to AnaphoraResolution.jar (i.e. path to JavaRap).public static void main(java.lang.String[] args)
java de.uniheidelberg.cl.swp.preproc.JavaRapPreProcessing ssh|loc
To run JavaRap Preprocessing:
1. Make sure that training and test files have been specified correctly in the config
file!
2. Make sure you have chmod 777 set on the temporary folder!
To run JavaRap using a remote connection
java de.uniheidelberg.cl.swp.preproc.JavaRapPreProcessing ssh
(note: you are prompted for your credentials)
To run JavaRap locally
java de.uniheidelberg.cl.swp.preproc.JavaRapPreProcessing loc
args
- path
Path to the JavaRap jar file (AnaphoraResoultion.jar has
to exist). ssh|loc
Determines local or remote execution.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Video Games
Created by Ga Kay Gao
Modern Video Games
Old School Video Games
But where did it all begin?
Uncertainty
Tennis for Two
"It might liven up the place to have a game that people could play..."
First Generation
Second Generation
Third Generation
Fourth Generation
Fifth Generation
Sixth Generation
Seventh Generation
Eighth Generation
What's next???


template<typename ... Ts>
DataFrame
get_data_by_rand(random_policy spec, double n, size_type seed = 0) const;
|
It returns a DataFrame (including the index and data columns) containing the data from uniform random selection. random_policy determines the behavior of method.
NOTE: The actual number of rows returned might be smaller than requested. That is because the random process might produce the same number more than once.
NOTE: The columns in the result are not padded with NaN.
|
Ts: The list of types for all columns. A type should be specified only once.
random_policy: Please see random_policy in DataFrameTypes.h. It specifies how this function should proceed.
n: Depending on the random policy, it is either the number of rows to sample or a fraction of rows to sample. In case of fraction, for example 0.4 means 40% of rows.
seed: Depending on the random policy, user could specify a seed. The same seed should always produce the same random selection.
|
template<typename ... Ts>
DataFramePtrView<I>
get_view_by_rand(random_policy spec, double n, size_type seed = 0) const;
|
It behaves like get_data_by_rand(), but it returns a DataFrameView. A view is a DataFrame that is a reference to the original DataFrame. So if you modify anything in the view the original DataFrame will also be modified.
NOTE: There are certain operations that you cannot do with a view. For example, you cannot add/delete columns, etc.
NOTE: The columns in the result are not padded with NaN.
NOTE: Although this is a const method, it returns a view. So, the data could still be modified through the returned view
|
Ts: The list of types for all columns. A type should be specified only once.
random_policy: Please see random_policy in DataFrameTypes.h. It specifies how this function should proceed.
n: Depending on the random policy, it is either the number of rows to sample or a fraction of rows to sample. In case of fraction, for example 0.4 means 40% of rows.
seed: Depending on the random policy, user could specify a seed. The same seed should always produce the same random selection.
|


We are trying to make it easier for families to apply to social services as well as streamline the referral and reporting process. When families struggle to provide the basic necessities of life, they reach out to local non-profits for food, shelter, classes, and many other resources. Unfortunately, the current system requires families to physically go to each individual location and fill out a separate application with repetitive information. This is a big challenge for families as it requires transportation, child care, time, and money to complete this daunting task. The majority of organizations that offer these services are still using pen and paper forms due to funding limitations. They spend endless hours with hand written intakes, reporting, and follow up with referrals. The results are higher administrative costs, barriers, preventable emergency room visits, and poorer health outcomes for our most vulnerable populations.
Leveraging faith community resources for social impactCollectively, the 200 faith communities in Central Lane County represent a very large network of people with resources of time, talent and energy. However, there is an uneven availability of those resources to congregations who launch social service projects. Many congregations think of themselves as too small to contribute. Some congregations are overburdened with their attempts to help. Potential volunteers are often stymied by a lack of hands-on outlets for their desire to help. Cultural stereotypes often prevent interfaith collaborations which once initiated have the potential to soften barriers and strengthen community bonds.
We need to be able to get real time guest counts from each site to the shuttle drivers and myself. We also need to be able to message each other about site needs. Then in the morning I need the final guest count at each site. At the end of an activation period I need each site to give me their total unique volunteers, volunteer hours. We need the use to be by invitation and passworded or something that makes it secure.
Create a more efficient donation workflow for mckenzieriver.org.
As a tourist I don’t know where each of the great murals are located in Eugene. I also don’t know the artist or the organizations that supported.
Parenting Educators often work off-site (e.g., Florence, Cottage Grove). Currently, they must be in our Eugene office to access attendance rosters, evaluation forms, etc. which may require them to drive in to Eugene to retrieve information, mail their paperwork to be copied and scanned in the office, or email the docs to be entered into a database or shared among co-workers. This is clunky and time-consuming. We need a cloud-based system so they can enter that information from anywhere, streamline their time and improve efficiency.
Fast donation app. QR code for dogooders. Scan to launch app, scan to donate.
We want to provide an opportunity for the creatives in our community to add the “A” to the STEM (science, technology, engineering, and math) model to create a STEAM based interaction in our Parcade parking garage (Willamette Street between 7th and 8th Avenues) with our Step into [Augmented Reality] Comics installation. We want to mimic the Overpark Garage’s Step into [AR] Poetry, Step into [AR] Stories, and Step into [AR] Theatre in the Parcade Garage with images and words that tell a positive story. We will place three (3) augmented reality comic strips on the north stair landings (Hult Center side of the garage) and three (3) on the south stair landings (Saturday and Farmers’ Market side of the garage) to pique the curiosity of the thousands of customers using this garage every month. We have the opportunity to showcase our amazing local digital creative talents to visitors from the coast to the mountains that park in the garage for jury duty, high school graduates at the Hult Center from Churchill to Thurston, and downtown employees and shoppers. The Step into [AR] Comics installation will add to the garages “Parcade Ping Pong” challenge (in development) from the 2016 Hack for a Cause Challenge.We will select up to six (6) comics to display in the Parcade Garage. The comics can be a single scene or up to six panels. Either way, we are open to ideas. Perhaps it’s a dragon that has Rubik’s cube solving scales or a full story comic. We will need a digital image, along with direction on the augmented reality scene that includes music, scene environment, and artistic style. If you can program the scene for augmented reality – bonus points!
Create an organized resource directory on the Trans*Ponder website with a database backend that will enable a semi-automated process from resource nomination, to information verification, to posting publicly on our website. These resources will include doctors, therapists, surgeons, and other service providers that cater to the trans/gender diverse communities in our local area.
In Eugene, we landfill over 40 million pounds of food each year. When this food waste breaks down in a landfill, it contributes to global warming by releasing methane into the atmosphere. Not only that, but when we throw away food, we throw away all the resources that went into growing it. While edible food is going into the trash, one in six Oregonians are food insecure. If we can find a way to capture all our wasted food, we could feed all those who are hungry in our community. Bridging the gap between excess food and people who want it will benefit the community, economy, and environment within our region and beyond.
Lane County needs a thorough, accurate, accessible resource website. With access to the Internet, most people can use Google to search for information. However, finding the right resource isn’t so simple. Let’s say Jane wants to find a counselor.White Bird Clinic has published a comprehensive resource guide called the HELP book since the 1980s. Many agencies use this guide, but the printed format means information is updated only once a year.


A streaming music application
App Store. Di Langit Musik, kamu bisa streaming jutaan lagu dan juga bisa download lagu untuk diputar dalam mode offline. Banyak rekomendasi playlist pilihan dari "Music Director" yang bisa dinikmati dan tentunya kamu bisa membuat playlist sesuai dengan suasana hati
A digital education platform where everyone can learn and share knowledge according to their own interests and skill level by PT. Ikra Tama Mandala (Currently Unpublished yet)
Avaluetainmentappsthatprovidesentertainmentandvaluable contents. You can find the best Islamic music also inspiring stories in Kindis by PT. Digdaya Visi Indonesia (Currently Unpublished yet)


This sample demonstrates a basic service worker that could be used as-is, or
as a starting point for further customization.
What It Does
Precaches the HTML, JavaScript, and CSS files needed to display this page offline.
(Try it out by reloading the page without a network connection!)
Cleans up the previously precached entries when the cache name is updated.
Intercepts network requests, returning a cached response when available.
If there's no cached response, fetches the response from the network and
adds it to the cache for future use.
You can confirm the service worker's behavior using the
Application panel
of Chrome's DevTools.
What It Doesn't Do
Automatically version any of the precached resources.
You must manually update the CACHES.PRECACHE name to pick up
new versions after updating anything!
Cache-bust the precaching requests.
The cache.addAll() call may be fulfilled with responses from
the HTTP cache, depending on the HTTP caching headers you use. If you
are using
HTTP caching
and unversioned resources, it can be safer to
cache-bust
your precaching requests.
Refresh the entries in the runtime cache.
Once an entry is added to the runtime cache, it's used indefinitely,
without consulting the network to check for updates. If your runtime cache
is used for resources that might be updated, a different strategy, like
stale-while-revalidate
could be more appropriate.
Clean out the runtime cache.
The runtime cache will grow as new resource URLs are requested. In this
example, there are only 5 different images that might be loaded, so the
cache size isn't a concern. If your web app might request an arbitrary
number of unique resource URLs, then using a library like
sw-toolbox
which provides
cache-expiration
is recommended.
Live Demo
The following demo illustrates the service worker's runtime caching by loading
images in response to clicking the button below.
The first time a given image is requested, the service worker will be load it
from the network, but each subsequent time, it will be retrieved from the cache.


{% extends "vcapp/base.html" %} {% block title %}graphical view of trip{% endblock %} {% block leader %}{% endblock %} {% block content %} Your browser doesn't support canvas. {% endblock %}
Your browser doesn't support canvas.


This is a reference guide for different Linux distributions written for the average person.
Select your distribution


--- layout: post status: publish published: true title: Who thinks the Cubs should get rid of Zambrano? author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 1132 wordpress_url: http://ivyenvy.com/?p=1132 date: '2009-07-18 15:19:50 +0000' date_gmt: '2009-07-18 21:19:50 +0000' categories: - Starting Pitching tags: - Carlos Zambrano - Rangers - Martin Perez comments: - id: 317 author: Stormin Norman Disciple author_email<EMAIL_ADDRESS>author_url: http://notqualifiedtocomment.com date: '2009-07-19 16:40:47 +0000' date_gmt: '2009-07-19 22:40:47 +0000' content: I'm embarrassed to say that's my Chicago sports blog. I figured bringing on a White Sox fan as a contributor would appeal to a larger Chicago fan base (mostly those with bad credit). Unfortunately he has taken it upon himself to try to "fix" the Cubs as well. Gotta give him credit for giving an honest good faith effort, though. I don't think it was meant maliciously, he's just wrong. Really really wrong. - id: 319 author: Tim author_email<EMAIL_ADDRESS>author_url: '' date: '2009-07-20 07:41:34 +0000' date_gmt: '2009-07-20 13:41:34 +0000' content: Yeah.. thats a terrible idea. I heard Rockridge has a great pitcher this year.. maybe we could send Z to them..  Gotta keep the clubhouse dissent to a minimum. ---
This guy does:
And who does this guy say the Cubs should replace Zambrano with? Martin Perez. Oh, you haven't heard of him? That's because he's a guy that, as the writer of this blog says, "has pitched well at Single A this year"...for the Rangers.
Anyone care to defend the idea of ditching your ace for a Single A prospect?
Cubs fans are embarassing.


Soap SPOILERS: Here's what's happening in Emmerdale and Coronation Street tonight
Daniel's grief is overwhelming
by Carena CrawfordThere's one episode of Emmerdale and two of Coronation Street on ITV tonight.
In the Dales, with the spectre of Maya looming large, Jacob and Leanna sleep together, while Lydia still finds herself confused over recent revelations.
In Corrie, Daniel is arrested, and Bernie is accused.
Here are the seven biggest spoilers from tonight's soaps.
Emmerdale, ITV, 7pm
1. Jacob sleeps with Leanna
After David persuaded Jacob not to meet Maya by telling him she'd be sent straight back to prison if they had any contact, Jacob is still trying to deal with everything.
He left Maya a message declaring his love for her, but viewers saw she deleted his number.
Back in the village Jacob agrees to speak with Leanna, and as they chat, she leans in for a passionate kiss, nervously unbuttoning her shirt.
As they sleep together, Jacob's reaction following the act is set to leave Leanna devastated.
2. Lydia has a big decision to make
Lydia is still trying to come to terms with the news she may have Huntington's disease.
As she talks to Sam about it, she doesn't know whether or not she should take the test.
Will he offer her any advice?
3. Chas is concerned
New mum Chas has had a lot going on lately.
As she tries to find a way to cope, she finally opens up about her worries.
Coronation Street, ITV, 7.30pm and 8.30pm
1. Daniel is arrested
Distraught Daniel is heartbroken to discover his laptop was taken in the robbery, so he decides to take matters into his own hands and track it down.
He visits local pawn shops in the area and when he spots a laptop that looks like his in a glass cabinet, he accuses the shopkeeper of handling stolen goods and grabbing a golf club, he smashes the cabinet.
With the police called, Daniel is arrested, but can Craig and Peter get the shop owner to drop the charges after explaining the circumstances?
And how will Daniel feel when he discovers the laptop wasn't actually his?
2. Bernie is accused
Billy tells Paul on the day Bernie started working for him, his diary was stolen with funeral details in and then the spate of burglaries followed.
Paul is immediately suspicious of his mum and along with Gemma they are horrified to find a bag of stolen goods under the stairs at No.5.
Gemma confronts her mum in the pub about the robberies and tells her she's gone too far, before throwing her out.
But did Bernie really do it?
3. Michael sees his daughter
James doesn't come home after a night out and later confides in brother Michael he spent the night with a guy called Dan and has lost his phone.
As the brothers head off to collect it, meeting the guy in Freshco's car park, Michael is shocked when he sees his ex, Grace, and his DAUGHTER.

4. David and Shona make plans
David and Shona reveal their plans to have Shona adopt Max and Lily formally.
Max is only concerned that he'll still get to see Marion, leaving David put out.
Leave us a comment on our Facebook page @EntertainmentDailyFix and let us know what you think!


#* The server renders this HTML page in an end-user's browser to terminate the user's partner sessions. This template is used in cases where the user's federated session includes WS-Federation or OpenID Connect sessions, but no SAML 2 sessions. For WS-Federation sessions, each iframe contains the results returned from the partner. For OpenID Connect sessions, a small image is loaded for each of the OAuth client's registered logout URL's. Depending on how this template is invoked, the $wreply parameter may contain a redirect location. Before redirecting, the page waits until $minTimeToWaitMillis elapses and the window's onload event fires. However, logout endpoint redirects may cause the window's onload event to fire before the logout is complete for a given endpoint. If sessions are not being cleared correctly, it may be necessary to increase the $minTimeToWaitMillis timeout value. If logout endpoints are delayed in loading and the window's onload event has not fired, the page redirects after $maxTimeToWaitMillis. Velocity variables (identified by the $ character) are generated at runtime by the server. Change text or formatting as needed. Modifying Velocity statements is not recommended as it may interfere with expected server behavior. *# #set( $messageKeyPrefix = "sourceid-wsfed-idp-signout-cleanup-template." ) #set( $minTimeToWaitMillis = 2000 ) #set( $maxTimeToWaitMillis = 5000 )
|
#if($idpLogoutSuccess)
$templateMessages.getMessage($messageKeyPrefix, "info.2") $escape.escape($idpHost)
#else
$templateMessages.getMessage($messageKeyPrefix, "info.3", $escape.escape($idpHost))
#end
|
| $templateMessages.getMessage($messageKeyPrefix, "info.5") $escape.escape($saml2SpList.get($saml2SpId)) |
| $templateMessages.getMessage($messageKeyPrefix, "info.4") $escape.escape($spEntityId) #* To make iframe information/content visible, change class from "ping-hidden" to "ping-visible" *# |


To set the refresh interval for all the web sites, enter a number in the first box and an identical number in the second box. To set a random refresh interval for all the web sites, enter the lower limit in the first box and the upper limit in the second box. To set the intervals independently of each other, use the boxes under the Web Pages header.
~


Plant a tree/plant
A tree for you, oxygen for the world? You're basically saving the world!
 Do it for the peach emoji
Turn off lights, fans, heaters that are not being used
Be a brighter person.
Start your very own compost
Only suckers pay for fertilizer when you have beautiful thing called trash.
Use reuseable bags when shopping
If this isn't already a law where you live, let me tell you it will change your life for the better.
Recycle!
You can even turn some cans and bottles for cash! Win-win!
Try buying organic
Pricey, but it's goof for you and the earth.  Pick up trash receive good karma.
Air dry your clothes
If you have some string, and the space to hang clothes outside this will save you so much money on energy bills.
Use eco-friendly materials
For clothes, DIY projects, pencils, and literally everything you can buy at a Whole Foods.
Support your local farmers market
Enjoy the freshest produce your local farmers market. This produce is of highest quality because it comes directly from mother earth without any chemicals and weird pesticides.
Hug a tree in public!
Not only will you start the next internet trend, but you'll also get plenty of scratches on your face to make it fashionable.


Mohammed Faizuddin (@thehyphen)
small, contained boxes
clear bounded context
polyglot
🔥
Sweet!
Let's get real for
a moment.
100s of microservices
1000s of production changes a day
10,000s of instances
1,000,000s of users
Many services — many surface areas of attack
Polyglot does not make it any easier
Code Duplication & Developer Productivity
Dependency Tree
Dependency "Forest"
Zero Trust Network
Abstract common parts
Secure interservice communication
Stateless & self contained
Lightweight
Polyglot support
Okay, JWT looks cool. Now what?
Zero Trust Network
Abstract common parts
Secure interservice communication
Istio
Kong
Sidecar implemented with Envoy Proxy
mTLS and own Certificate Authority
Zero Trust Network
Abstract common parts
Secure interservice communication


The margin surrounds a CSS box, and pushes up against other CSS boxes in the layout. It behaves rather like padding; the shorthand property is margin and the individual properties are:
The border of a CSS box sits between the outer edge of the padding and the inner edge of the margin. By default the border has a size of 0 — making it invisible — but you can set the thickness, style and color of the border to make it appear. The border shorthand property allows you to set all of these on all four sides at once, for example border: 1px solid black. This can be broken down into numerous different longhand properties for more specific styling needs:
Padding refers to the inner margin of a CSS box — between the outer edge of the content box and the inner edge of the border. The size of this layer can be set on all four sides at once with the padding shorthand property, or one side at a time with:
Differences - The margin surrounds the box, and the boarder is the buffer between the padding and the margin. The padding is the buffer between the content and the boarder.
Each margin, boarder and padding can be changed to specific color, size, and look, to exactly present what you would like on your website.
It is also important to note that the lay out of your website, and where you position your box, you will also change the distance from the margin to the other objects on you web page.
So to all the non-technical people, Who would like to know more regarding margin, borders and padding Google it. There is a vast amount of information on this topic and Google can provide the answers.
Hopefully this image will help you identify each of the box elements while learning more on this topic.


Nyzo version 543 (commit on GitHub) adds optional consensus tracking and a small sentinel-monitoring change.
This version affects primarily the verifier. It also includes a minor monitoring change for the sentinel.
The verifier identifier has been added to the Block.toString() method.
In BlockVoteManager, all non-null votes are now registered with the new ConsensusTracker. If the tracker is not enabled, this method does nothing.
Unrelated to the consensus tracker, the activationHeight is now considered when scoring blocks to determine if a block is a missed upgrade opportunity or an improperly timed upgrade.
In PersistentData, reading of the file has been modified to support values that contain equals signs.
In UnfrozenBlockManager, all non-null blocks are registered with the ConsensusTracker. This uses the same registration method used for votes. A height is provided to this method to help the tracker organize its data.
In Verifier, freezing of blocks is registered with the ConsensusTracker. Also, maintenance is performed each time a block is frozen. This allows the ConsensusTracker to periodically write old data to files and remove it from memory.
A logging statement was removed from BlockResponse. This statement was not particularly helpful, and it was cluttering the output. If logging of blocks responses is added again in the future, it will be done at an aggregate level.
A persistent value storing the full string representation of the last block transmitted has been added to the Sentinel class. This new value is displayed by the SentinelController.
ConsensusEvent encapsulates data points for the ConsensusTracker. Each event includes a timestamp, height, and data object.
ConsensusTracker collects data about the consensus process and writes one or more file for each height. To enable the ConsensusTracker, add the following line to /var/lib/nyzo/production/preferences:
enable_consensus_tracker=1
By default, the tracker will disable itself when available disk space falls below 20GB. A higher or lower threshold can be specified in the preferences file. For instance, if you want the tracker to disable itself when available disk space falls below 30GB, add the following line to /var/lib/nyzo/production/preferences:
consensus_tracker_storage_threshold_bytes=30000000000
The register() method adds an event to the map. Events outside a reasonable height range are rejected, and concurrency concerns are handled appropriately. If a set of events at a particular height has gotten too large, it is written to a file prematurely to conserve memory.
The performMaintenance() method removes completed or excessively large heights from memory and writes them to files. It also deactivates the consensus tracker if available storage space has fallen below the specified threshold.
The writeFile() method writes events for a single height to a file. The events are sorted on timestamp, and vote totals for each hash are written at the end of the file. To conserve space, individual votes are not written when voting for a block is unanimous. In cases where consensus is not unanimous, this file could be used to make a graph showing how voting evolves over time, and it should provide some interesting insight into the consensus process.
The getUsableSpace() method checks for usable storage space in the destination folder. If the actual space cannot be determined, a value of 0 is returned, which will cause the ConsensusTracker to terminate if the threshold is set to any value greater than 0.
In PrintUtil, a compact version of printTimestamp() has been added for use in the consensus-tracker files.
In SentinelController, the new block string replaces the block height in the display.


Why a NAMI Connection RSG Facilitator:
{{ $_SESSION['LongAnswer']->getWhyFacilitator() }}
Experience in Participating in a Support Group and Attended a NAMI Connection RSG:
{{ $_SESSION['LongAnswer']->getExperience() }}
Mental Health Recovery Description:
{{ $_SESSION['LongAnswer']->getDescription() }}


pvm.getChild(id)
in this file,has two child
in vmgetter.sub1.html ,has one child
render result in here
test in this file
sub1
sub2
sub1.sub11


Multiple positions available starting fall 2019.
Join UsAI Squared is a forum for facilitating dialogues across boundaries in the AI industry. It is a great opportunity to - Discuss big ideas with AI researchers working on cutting-edge projects - Network with recruiters from AI companies such as Uber ATG and Shopify to secure internship opportunities - Hear about the experience of undergraduates working at institutes such as the Vector Institute, Nvidia and Google - Connect with AI professors and professionals from academia and industry
Annual General Meeting9/16/2019 18:00:00Come and meet the new executive team! We will be talking about a variety of events that will be held throughout the year. At the end of the AGM, project leads will also introduce new academic projects. They will meet with anyone interested in joining the project teams afterwards. Anyone applied/interested in applying for a project associate position is strongly encouraged to come and potentially find your team.
Paper Reading4/25/2019 18:30:00Sicong(Sheldon) Huang is currently an undergrad at U of T. His research interests include machine learning and cognitive science. Currently he is a research intern at Vector Institute and Borealis AI, where he works on evaluating generative models. Previously he worked on deep generative models for domain transfer on text and music, such as TimbreTron(ICLR2019) and CipherGAN(ICLR2018). Currently he is interested in some fundamental questions regarding learning and cognition. He also co-founded two organizations in his free time including UTMIST and FOR.ai, an international distributed AI research collaboration. He will be giving a broad introduction on exploration strategies in Reinforcement Learning. Exploration vs. exploitation trade-off is one of the core problem in modern deep reinforcement learning especially when the environment is complex and partially observable. Exploiting the best actions based on the current policy can yield a very good short-term return, but can easily get the agent stuck in a local minimum. The goal of this paper reading group is to demystify the principle behind the deep RL exploration problem. The topics of this paper reading group range from optimistic exploration, posterior sampling to information gain in exploration. In addition to those traditional approaches, Sheldon will also be going over several state-of-the-art approaches in the field.
Paper Reading10/23/2018 18:30:00Speaker: Danlan Chen Machine Learning Researcher at Borealis AI, the machine learning research department at RBC Master’s from McGill University, where she did research in Machine Learning in the Reasoning & Learning Lab under the supervision of Professor Doino Precup. Check out her personal website: https://danlanchen.github.io/
Talk Series3/12/2019 18:30:00Speaker: Min Liang Min is currently working as a data scientist at RBC after receiving her master’s degree in electrical engineering from McGill University. She has had fruitful research experience in ECE from Tianjin University, Harvard University, MITACS and McGill University. This talk session will be featuring her MITACS research project at Alcohol Countermeasure System Corp., an alcohol tester design company, in 2017. The overall objective is to reliably assess drivers’ vigilance using non-intrusive measures. The data used for this project are collected by Smart Eye Pro, an eye-tracking system. The research project mainly focuses on identifying the most important features and building classification/regression systems to reliably detect drowsiness and fatigue. Join us on March 12th. Get inspired, make connections and learn new skills from this talk session!
Talk Series3/5/2019 18:30:00Ever wondered how Machine Learning works for medical diagnostics? If so, don’t miss this insightful guest speaker talk given by Jekaterina Novikova. We are honoured to invite her to talk about the effect of ASR (automatic speech recognition) on classification performance in Alzheimer's detection. Jekaterina is a director of Machine Learning at Winterlight Labs, where they focus on developing a novel AI technology that can quickly and accurately quantify speech and language patterns to help detect and monitor cognitive and mental diseases. Previously, she received her PhD from University of Bath. She also worked as a post-doctoral researcher at Heriot-Watt University in Edinburgh, UK, at the Interaction Lab and Natural Language Processing Lab. Join us on March 5th for this insightful speaker session and learn from this excellent machine learning researcher!
Meeting9/13/2018 6:30:00UTMIST’s mission is to clear the mist around Machine Learning and create a platform of opportunities for UofT students to get involved in the ML community in Toronto. This year we are hoping to bond with more AI/ML enthusiasts, no matter with previous experience or not. MIST101 will stay with a re-structured format for new-comers while more hands-on projects and deeper study with researchers on state-to-art techniques are provided.
Paper Reading10/9/2018 6:30:00We are hosting the first session of our research paper reading group series on Graph Neural Net on Computer Vision Problems with Arie Huan Ling from NVIDIA AI Research lab and Vector Institute as our guest speaker!
Talk Series10/30/2018 6:30:00We had the honour to invite Jun Gao to talk about Recent Advances in Neural Machine Translation. Jun Gao graduated from Peking University with fruitful experiences gained from working in both academia and industry. Currently, he is a graduate student in the Machine Learning Group here at UofT.
MIST10111/8/2018 6:30:00A general introduction to machine learning fundamentals and a demonstration of typical workflow in solving machine learning problems. The typical workflow is demonstrated here: https://youtu.be/4flbCsGBicE
MIST10111/19/2018 6:30:00Lunjun Zhang will be providing an enriched introduction to reinforcement learning, one of the most active fields of AI research today. The workshop will cover both the fundamental ideas and several state-of-the-art methods including value iteration, policy gradients, actor critic, Q learning, and exploration strategies. The workshop will also explore how concepts from optimisation and information theory are used for control.
Talk Series11/20/2018 6:30:00We had the honour to invite Jekaterina Novikova to talk about Machine Learning Methods in Detecting Alzheimer's Disease from Speech and Language. Jekaterina is a Director of Machine Learning at Winterlight Labs, where they focus on developing a novel AI technology that can quickly and accurately quantify speech and language patterns to help detect and monitor cognitive and mental diseases.
Talk Series11/27/2018 6:30:00Recommender systems are intelligent machine learning systems that help customers discover personalized products from a dynamic pool of diverse choices. In this talk, Soon Chee Loong from Data-Driven Decision Making Laboratory will share his insights on different types of recommender systems, their challenges, and various seminal approaches to tackle them.
MIST1012/5/2019 6:30:00This workshop covers basic knowledge of recent advances in computer vision. We’ll introduce the commonly used tools and models in solving computer vision tasks and explore how the frontier computer vision research is accelerating integration to real-life scenarios. Following that, we will demo a typical workflow for CV projects.
2018 EventsUniversity of Toronto Machine Intelligence Student Team (UTMIST) is an officially certified student organization within the University of Toronto. Our mission is to let more people get to know about artificial intelligence and “clear the mist” around it!
READ MORE


Open the console and click 'Open DB'.  Click them, and check the console for results.
Open DB
put get getAll remove clear batch


Chaos Yak: Randomly delete one file from your hard disk every day to keep your yak shaving skills up to date.
12/8/2014, 9:46:09 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Chaos Yak: Randomly delete one file from your hard disk every day to keep your yak shaving skills up to date.
12/8/2014, 9:46:09 AM
Favs: 0
Retweets: 0
link


← Back to the list of projects
← Back to to-do lists
this seems kinda obvious from this perspective, but i think that in the end, we will really enjoy checking these things off when we get there.
Outstanding items:
Completed items:


Official Statistics
Final data on filled and unfilled primary and secondary school places in England, and forecasts of pupil numbers.
Ref: OSR33/2010 PDF , 50.7KB , 5 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 239KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
ZIP , 361KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Plain text , 1.08KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Reference Id: OSR33/2010
Publication Type: Statistical Release
Publication data: Underlying Statistical data
Local authority data: LA data
Region: England
Release date: 30 November 2010
Coverage status: final
Publication status: published
This statistical release (SR) updates with final information, the provisional data that was previously published on 19 October 2010. It is based on information collected from local authorities as part of the School Capacity 2010 collection. It includes national and local authority level information for local authority maintained primary and secondary schools i.e. on the number of school places, the number of schools exceeding school capacity (and the number of pupils within these schools) and the number of surplus places. Information on the number of places in academies is also included in this release (collected directly from academies) and will be presented at school level.
We will also publish, for the first time, information on pupil forecasts. Data on pupil forecasts are collected from local authorities as part of the school capacity collection. In the past these data have not been routinely published but were used for planning purposes.
The key points from the latest release are:
Of the 16,964 local authority maintained primary schools, there were:
There were 4,227,530 school places, and there were:
Of the 3,122 local authority maintained secondary schools, there were:
There were 3,330,670 school places, and there were:
The PDF and tables were revised on 10/12/2010 to include additional information in the technical notes about pupil forecasts and also to include some amendments to the footnotes in tables 5 and 6.
Andrew Clarke - Schools Statistical Team
01325 735478
Published: 30 November 2010


Hi I'm Soumyadeep Sinha
A Fullstack Web Developer
Personalize Theme
*Theme Settings will be saved for
your next visit.
What I Do
I am a student of Web-Development and also working in freelancing projects.


doing both product & marketing, I helped out heavily with social assets, web marketing page work, and overall brand exploration.
overview
working alongside the head of product, i was given the lead in art direction for all marketing efforts and would bring it to the finish line.
created assets to communicate purpose of the product.
header created for the featured section of the site, utilizing 3D modeling.
created the new format after branding update for social media.
also hosted a few brand explorations for 3D work.
In Retrospective
balancing both doing product design work and marketing was a challenge at times, at most it taught valuable lessons around communication with social & pr teams to make sure at most we delivered the requirements.


[gecode-users] How to use Gecode binaries from within MSVC's IDE
Christian Schulte
cschulte at kth.se
Mon Aug 25 17:11:36 CEST 2008
First, the "fix" I just send does not fix the problem... It does for me but
not for Jan.
The crashes are totally bizarre, as far as the debugger tells the crash
occurs right in the heart of copying... That's close to impossible as Gecode
does not use char there...
I'll have a closer look tomorrow (my problem is that I know very little
about MSVC's IDE and hoped that I could get away with that). I'll try the
voodoo you suggest.
Maybe, you still use MSVC 2005?
Cheers
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Filip Konvicka
Sent: Monday, August 25, 2008 5:03 PM
To: users at gecode.org
Subject: Re: [gecode-users] How to use Gecode binaries from within MSVC's
IDE
Hi Christian,
> The IDE defines the macros UNICODE and _UNICODE: when compiling with these
> macros set, things crash.
strange - I'm using UNICODE all the time without problems.
IMHO it does only one thing: all Windows headers switch to the Unicode
APIs (and TCHAR is defined as wchar_t etc.) You can also use
wmain(int,wchar_t*[]) instead of main(int,char*[]) for programs.
What you might be interested in is putting this at the very start of
your 'main' (I even do this before main in some static initializers...):
#ifdef WIN32
setlocale(LC_ALL, ".OCP");
#else
setlocale(LC_ALL, "");
#endif
(for console applications). This makes the iostream libraries use the
correct locale for translating console IO to/from wchar_t properly.
I'm still wondering what crashes are you experiencing??
Cheers,
Filip
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
More information about the gecode-users
mailing list


we do things differently.
Our focus is not just the design of your website, SEO, AdWords or any other complicated term a web developer might throw at you. Our goal is to grow your business. It's as simple as that. We employ our knowledge and experience with internet services to help you grow you business.
learn.
We have several resources on our website to help any business owner learn basic online business technologies and strategies. Our aim is to help your business succeed, by letting it leverage the power of the internet.
your goals are our goals.
We work with you every step of the way to ensure that the work we do for you is entirely satisfactory, and is in alignment with your goals.


House Hitler was born in will become a police station, Austria says
by Reuters1 / 6A woman walks past a memorial in front of Adolf Hitler's birth-house in Braunau
VIENNA (Reuters) - The house where Adolf Hitler was born will be turned into a police station, Austria's interior minister said, after years of debate over how best to prevent it becoming a pilgrimage site for neo-Nazis.
Having recently carried out a compulsory purchase of the house in Braunau am Inn, a town on the border with Germany, Austria will invite architects to submit plans for a redesign of the building. It will house the local police force's offices, the Interior Ministry said in a statement on Tuesday.
"The house's future use by the police should send an unmistakable signal that this building will never again evoke the memory of National Socialism," Interior Minister Wolfgang Peschorn, who serves in a provisional government of civil servants, said.
Local resident Rotraut Staiger said the house still attracted plenty of attention.
"Before, on his (Hitler's) birthday on April 20, lots of people used to come and light candles and place flowers. All of that stopped. Now people come to take pictures," Staiger, who has lived in Braunau for 53 years, said.
Johann Wolf said he would prefer the house to become a community centre.
"Lebenshilfe takes care of disabled people and it would have been the best of messages, in light of the fact that these people were wiped out at the time, to turn the birthplace into something which values human lives," he said.
Architects from across the European Union will submit plans this month and a jury of experts and public officials will pick the winning design in the first half of next year, the Interior Ministry said.
Although Hitler was born in Braunau in 1889, Austria argued for decades that it was the first victim of National Socialism, having been annexed by Hitler's Germany in 1938.
Recent governments have, however, recognised that Austrians were also perpetrators of Nazi crimes and that there was little resistance to Hitler's rule.
(Reporting by Francois Murphy, additional reporting by Reuters Television; Editing by Dan Grebler and Gayle Issa)


React-MineSweeper
How To Play
- 1. Select a difficulty level. If you're new to MineSweeper, start with easy.
- 2. The number in the upper-right corner denotes the number of mines on the board.
- 3. The number on the left is the timer.
- 4. Find where the bomb is. And open a cell you think there is not the bomb.
- 5. If you open all the cell except for the bombs, you will win.


CHANGELOG.rdoc
- CHANGELOG.rdoc
- Last modified: Sat Oct 01 23:37:25 +0200 2011
0.4.1
0.4.0
- Improve extconf.rb: support —without-readline, fail hard, detect
windows
- Add rb-readline support for windows and non-readline users
- Rename :readline_plugin option to :readline
- Allow :readline option to take a symbol
0.3.5
- Move yard-related functionality to bond-yard gem
0.3.4
- Add gem plugin completion
- Add jruby support thanks to @headius
- Add bare option to Bond.start
0.3.3
0.3.2
0.3.1
- Fix install for non-readline platforms
- Fix install for rubinius
0.3.0
- Fixes for tests to pass in rubinius and 1.9.2.
- Add support for a proc :eval_binding.
- Add instance variables to default completion.
- Add DefaultMission.completions to make default completions reusable
- Remove unused Mission#eval_binding.
0.2.2
- Moved documentation to yard.
- Better extconf.rb thanks to @timcharper
- Better error when failing to require extension.
0.2.1
- Added Bond.load_yard_gems which generates argument completions from yard
documentation.
- Added Bond.load_gems which loads
completions from gem’s directory.
- Added compatibility within emacs’ inf-ruby mode (thanks to @pd).
- Added :eval_debug to Bond.config
for debugging completions.
- Doesn’t build or load c extension for ruby 1.9.2.
- Fixed argument completion of object containing method names bug.
- Fixed nested constants completion bug.
- Updated completions for Kernel#system, Module#public, Module#protected and
Module#private.
0.2.0
- Added comprehensive argument completion per module, method and argument.
- Added 60+ default method argument completions.
- Added configuration system and DSL.
- Added user-friendly completion error handling.
- Improved Bond.spy.
- Fixed several 1.9 bugs.
- Replaced require ‘bond/completion’ with Bond.start.
- Changed underscore_search to use ‘_’ instead of
’-’.
- Removed Bond.debrief and Bond.reset.
- Switched to bacon for tests.
0.1.4
- Added Bond.recomplete to make
redefinition of completion missions easy.
- Added flag to readline extension building so that installing bond
doesn’t fail for users without readline.
- bond/completion allows require to autocomplete gems and within gems.
0.1.3
- Fixing deployment mistake
0.1.2
- Added bond/completion which is a drop-in enhancement of irb/completion
- Added ability to define predefined actions in Bond::Actions
- Fixed underscore search bug
- Fixed word breaking completion bug
- Fixed irb’s completion inconsistencies
- Added ability to specify :default_search for Bond.debrief
- Added placement of completions with :place for Bond.complete
0.1.1
- Added Bond.spy to debug
completions
- Fixed object completion failing in irbrc
- Allow regex characters in completions
0.1.0


This tests that the navigator object of a deleted frame is disconnected properly. Accessing fields or methods shouldn't crash the browser.
Check Navigator


Remix this project
Welcome to our interactive Discord Bot install guide! We highly recommend our intro video, after watching it you should have a general idea of what you need to do to create your Discord bot.
This Project's URL:
Create your Discord application
Discord tokens
- A token is a secret password
- It can be used to hack your bot!
Your .env file might look complicated, but basically the format is to put your secret token after the "=". Don't add any extra spaces because that can cause errors. So let's say your Discord Bot token is PASSWORD123. Then your .env would look like:
GLITCH_DEBUGGER=
# Environment Config
# store your secrets and config variables in here
# only invited collaborators will be able to see your .env values
# reference these in your code with process.env.SECRET
DISCORD_TOKEN=PASSWORD123
# note: .env is a shell file so there can't be spaces around =
utm_source=starter-botkit-discord
utm_medium=button
utm_campaign=glitchButton
Click here to go to your
.env
file
You don't want to put tokens in server.js
because by
default in Glitch anyone can see that file. And if you copy the
project, it will copy the file with the secure token. Yikes!
Sign up for Uptime Robot (OPTIONAL)
- Glitch apps automatically "sleep" after 5 minutes
- You can read more about that and other restrictions here.
- Sleeping bots drop out of any Discord servers they are in
- Sleeping bots will not respond to any messages
- Only an external request to your bot's "site" here on Glitch will wake it up
- Uptime Robot makes requests every 5 minutes to keep your bot awake!
Test your install
Click the button to see if your .env is set up right!
Looks like your token is working! Click the refresh button to refresh the page and see further steps for building your bot:
Oops look's like there might be something wrong with your
.env
file. Check it out and then try again.
Common issues
- Spaces between
=
and the token - Spaces after the token
- Missing your Discord Bot token
the good news is you have a good .env file the bad news is it doesn't recognize your token. Head to the Discord Developer Portal to make sure you have the right one
OK so this is awkward...but it appears this project is living on a banned host. Please post the name of this Glitch app here this support forum thread and we'll fix it asap!


|
Project Malmo
0.37.0
|
Specifies the type of data that should be recorded from the mission. More...
#include <MissionRecordSpec.h>
Public Member Functions | |
| MissionRecordSpec () | |
| Constructs an empty mission record specification, saying that nothing should be recorded. | |
| MissionRecordSpec (std::string destination) | |
| Constructs a mission record with a target file (e.g. More... | |
| void | setDestination (const std::string &destination) |
| Specifies the destination for the recording. | |
| void | recordMP4 (int frames_per_second, int64_t bit_rate) |
| Requests that video be recorded, for each video producer, at the specified quality. More... | |
| void | recordMP4 (TimestampedVideoFrame::FrameType type, int frames_per_second, int64_t bit_rate, bool drop_input_frames) |
| Requests that video be recorded, for the specified video producer, at the specified quality. More... | |
| void | recordBitmaps (TimestampedVideoFrame::FrameType type) |
| Requests that video be recorded, for the specified video producer, in individual bitmap frames. More... | |
| void | recordObservations () |
| Requests that observations be recorded. | |
| void | recordRewards () |
| Requests that rewards be recorded. | |
| void | recordCommands () |
| Requests that commands be recorded. | |
| bool | isRecording () const |
| Are we recording anything? | |
Friends | |
| class | MissionRecord |
| std::ostream & | operator<< (std::ostream &os, const MissionRecordSpec &msp) |
Specifies the type of data that should be recorded from the mission.
| malmo::MissionRecordSpec::MissionRecordSpec | ( | std::string | destination | ) |
Constructs a mission record with a target file (e.g.
'data.tgz'). By default, nothing is recorded. Use the other functions to specify what channels should be recorded. WARNING: You cannot re-use the instance of MissionRecordSpec - make a new one per call to AgentHost.startMission.
| destination | Filename to save to. |
| void malmo::MissionRecordSpec::recordBitmaps | ( | TimestampedVideoFrame::FrameType | type | ) |
Requests that video be recorded, for the specified video producer, in individual bitmap frames.
Bitmaps and MP4 cannot both be recorded for a given video producer; whichever is called last out of recordMP4 and recordBitmaps will take effect.
| void malmo::MissionRecordSpec::recordMP4 | ( | int | frames_per_second, |
| int64_t | bit_rate | ||
| ) |
Requests that video be recorded, for each video producer, at the specified quality.
Ensure that the width of the video requested is divisible by 4, and the height of the video requested is divisible by 2. Bitmaps and MP4 cannot both be recorded for a given video producer; whichever is called last out of recordMP4 and recordBitmaps will take effect.
| frames_per_second | The number of frames to record per second. e.g. 20. |
| bit_rate | The bit rate to record at. e.g. 400000 for 400kbps. |
| void malmo::MissionRecordSpec::recordMP4 | ( | TimestampedVideoFrame::FrameType | type, |
| int | frames_per_second, | ||
| int64_t | bit_rate, | ||
| bool | drop_input_frames | ||
| ) |
Requests that video be recorded, for the specified video producer, at the specified quality.
Ensure that the width of the video requested is divisible by 4, and the height of the video requested is divisible by 2.
| frames_per_second | The number of frames to output per second. e.g. 24. |
| bit_rate | The bit rate to record at. e.g. 400000 for 400kbps. |
| drop_input_frames | If true, will drop input frames to match frames_per_second (default behaviour) - pass false to avoid losing data. Bitmaps and MP4 cannot both be recorded for a given video producer; whichever is called last out of recordMP4 and recordBitmaps will take effect. |


|
Legally Blonde: It's a Crime
by Paul R Joseph
I went to see Legally Blonde
as an assignment and specifically to write about it for Picturing
Justice. Currently, I am teaching torts to first-year law students.
Does this movie have any messages that I want my law students
to receive? Would I recommend it to them, I wondered?
Of course, I understand that
Legally Blonde is a comedy. Perhaps, in its clumsy, obvious
way, it aspired to parody. It isn't a documentary about the law.
I am just as willing to find serious and helpful legal messages
in an Ally McBeal as in a Law and Order. Unfortunately,
I didn't find any in this painful-to-watch movie.
In
a previous incarnation, Cyndi Lauper told us that "girls
just want to have fun." Legally Blonde agrees wholeheartedly
while sulkily noting that if they absolutely, positively have
to, then and only then, a girl will be smart.
For Legally Blonde to
have any credibility, we must accept the central premise that
Elle (played endearingly as always by Reese Witherspoon) is really
"smart" all along. Unfortunately, the evidence of this
is scant. A 4.0 average in fashion merchandising and a 143 practice
LSAT score do not make a strong case, but the real problem is
that it is not credible that anyone as intelligent as we are
supposed to believe Elle is would be content with the vapid,
meaningless life she has lived for so long.
Oh, I forgot, her LSAT score
was actually 179. Elle studied for a week and raised it to near-perfect
level. That's the other bogus message in this movie, and in so
much of popular culture these days, that one can slouch along
doing nothing and then, with a little intensive work and a lot
of perky attitude, succeed in anything and everything. No, this
is not a message that I want my students to get-if they do, they
are liable to do themselves irreparable harm-and to flunk out.
At one point in Legally
Blonde, Elle is told not to go to law school because law
school is for those who are "ugly, serious and boring."
The movie seems to agree. The students are stuck-up and the faculty
is nasty (and worse). What's really offensive, however, is that
they all seem so-well, dumb. In this crowd, no wonder Elle can
rise to the top.
In the real world, first-year
law students do not represent murder defendants. Students who
have never taken criminal law, evidence or trial practice are
simply not qualified to do it. But that doesn't stop Elle and
in the world of Legally Blonde neither legal knowledge
nor experience is needed, because she's "smart." Even
once she gets "serious," she doesn't study much, but
it's okay because she's really "smart" after all. Memo
to students-even if you are smart, without knowledge and effort
you are not likely to be competent.
Legally Blonde tells us that a lawyer should form a bond
of trust with her or his client. Undoubtedly true. But that bond,
without an understanding of the law and without training in the
skills of lawyering, is unlikely to lead to a successful result.
Avoid this movie like the plague.
It's the "smart" thing to do.
Posted: August 30, 2001
|


Nanopub Monitor
nanopub services
running on approximately
distinct servers
URL
Type
Status
OK Ratio
Resp Time (Dist)
Last Seen OK
IP Address
Server Location
Parameters
Description
[
csv
]


{% extends 'layout.html' %} {% block pageTitle %} When do you want your prepayment certificate to start? {% endblock %} {% block beforeContent %} {% endblock %} {% block content %}
You can choose any day to start your prepayment certificate between 17 August 2018 and 17 October 2018.
Choose the date you will collect your next prescription to get the most out of your certificate.
If you already have a certificate, choose a date after this expires.
Choose the date you collected your prescription.
You can only claim a refund if you were given a form on the day you collected the prescription.
Cancel


Home
Categories
About
Contact
Search
Search Companies
Search Ads
Search Jobs
Info
How it Works
Pricing
FAQ
Sign Up
Log In
Remember me
Login
Don't have acccount yet? Sign up Here!
or Login with Social Media


See what’s new in the industry and stay up to date with latest innovations.
Find ways of saving money and developing your business in a rapidly growing industry.
Find new business partners and network with your customers and other exhibitors.
Establish high quality leads and meet potential buyers face-to-face.
Catch up with your current suppliers and meet new ones, all in two days.
Witness the launch new products and services directly to the market.
Smart Innovations: Infrastructure to Empower Future Technologies.
BICSI influences the vision of advancing the global information and communications technology (ICT) industry by connecting ICT professionals with the solutions that inspire revolutionary ICT advancements. Please join us in molding this vision by exhibiting with us in Singapore! .
Join BICSI Southeast Asia for the Annual Conference & Exhibition 2018!
Contact NowFrom high level executives and owners to installers and technicians in the field.
Sponsorships are based on availability. All prices listed in Singapore Dollars (SGD).
All prices listed in Singapore Dollars (SGD)
| Duration | Start | End | Activities |
|---|---|---|---|
| 1:00 | 08:00 AM | 09:00 AM | Registration & Exhibits |
| 0:15 | 09:00 AM | 09:15 AM | Opening Ceremony & Welcome - About BICSI Gobal |
| 0:30 | 09:15 AM | 09:45 AM | Keynote (#1) - Driving the Economy of the Future and Developing Business Opportunities through Innovations |
| 0:30 | 09:45 AM | 10:15 AM | Presentation (#2) - Powering Digital Transformation in Smart Cities - The Role of Smart Buildings |
| 0:45 | 10:15 AM | 11:00 AM | Break & Exhibits |
| 0:30 | 11:00 AM | 11:30 AM | Presentation (#3) - IOT generate Zettabytes of Data and more |
| 0:30 | 11:30 AM | 12:00 PM | Presentation (#4) - How to Use IoT Platforms for the Smart Buildings and Data Centers |
| 0:30 | 12:00 PM | 12:30 PM | Presentation (#5) - Smart Facilities Management for Smart Cities |
| 1:45 | 12:30 PM | 02:15 PM | Lunch & Exhibits |
| 0:30 | 02:15 PM | 02:45 PM | Presentation (#6) - Emerging Technologies for Intelligent Building Systems |
| 0:30 | 02:45 PM | 03:15 PM | Presentation (#7) - The Latest Trends in PoE Solutions for Smart Cities, Smart Buildings and Smart Infrastructure |
| 0:45 | 03:15 PM | 04:00 PM | Break & Exhibits |
| 0:30 | 04:00 PM | 04:30 PM | Presentation (#8) - ICT Audits in Intelligent Buildings - Systems, Cabling and Infrastructure |
| 0:30 | 04:30 PM | 05:00 PM | Presentation (#9) - Creating 'Mega Cities' of the Future (Panel Discussion ) Lucky Draws & Day 1 Closing |
| Duration | Start | End | Activities |
|---|---|---|---|
| 1:00 | 08:00 AM | 09:00 AM | Registration & Exhibits |
| 0:15 | 09:00 AM | 09:15 AM | Welcome Address - BICSI Technical Manuals & Standards |
| 0:30 | 09:15 AM | 09:45 AM | Presentation (#10) - The Evolution of the Data Centre Sector - Challenges and Opportunities in a Digital World |
| 0:30 | 09:45 AM | 10:15 AM | Presentation (#11) - Future of Ethernet - 400G & beyond? |
| 0:45 | 10:15 AM | 11:00 AM | Break & Exhibits |
| 0:30 | 11:00 AM | 11:30 AM | Presentation (#12) - Hyperscale Datacentre design |
| 0:30 | 11:30 AM | 12:00 PM | Presentation (#13) - Data Centres - Changing Environment - 'What Does This Mean for Managers and Designers?' |
| 0:30 | 12:00 PM | 12:30 PM | Presentation (#14) - Why Grounding & Bonding can avoid downtime |
| 1:45 | 12:30 PM | 02:15 PM | Lunch & Exhibits |
| 0:30 | 02:15 PM | 02:45 PM | Presentation (#15) - IEC 61300 - Best Practices for Maintaining Fibre Optic Connectors for Optimal Performance |
| 0:30 | 02:45 PM | 03:15 PM | Presentation (#16) - Data Centre Testing |
| 0:45 | 03:15 PM | 04:00 PM | Break & Exhibits |
| 0:30 | 04:00 PM | 04:30 PM | Presentation (#17) - The Road to 5G - Supportive or Disruptive to Broadband Fibre Access? |
| 0:30 | 04:30 PM | 05:00 PM | Presentation (#18) - The Latest Evolution of FTTx and How it affects the 5G Deployment? Lucky Draws & Findal Day Closing |
Remarks: The agenda & topics are subjected to change without further notice
The Continuing Education Credit (CEC) program is designed and implemented to standardize CEC policies globally within the association. The purpose of these policies is to facilitate consistent application, assignment and award of BICSI CECs and enable BICSI credential holders to maximize their training resources in expanding their knowledge base while maintaining their current credentials in an efficient manner.
Avail the CECs by attending BICSI Southeast Asia Conference.
For more information on CECs: Download here
For CEC Credits Form: Download here
+65 9628 5675
bicsisea@bicsisea.org


Vertical Menu
Vertical Scrolling Menu
Disabled
Normal
Hover
Active
Focus
Normal with icon
Hover with icon
Active with icon
Focus with icon
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6


OBJ files are parsed, loaded into a half-edge mesh data structure, and are drawn onto the screen with OpenGL. JSON files contain skeleton data which are parsed and drawn onto the screen with OpenGL. When the user presses "Skin Rig", the skeleton gets skinned to the mesh. This means that when the user manipulates a joint on the skeleton, the parts of the mesh that are bound to the joint move as well. I also implemented a basic heat map to allow the user to adjust the influence each joint has on the mesh.


This is a twelve column section in a row. Each of these includes a div.panel element so you can see where the columns are - it's not required at all for the grid.
Six columns
Six columns
Four columns
Four columns
Four columns
The grid is built up out of row and columns. When you resize your browser window to the size of a mobile device, all adjacent columns are positioned underneath each other.
To use this grid in your websites, please follow the guidelines in the document below.


{{authMessage}}
{{#isAuthenticated}}
Log Out
{{/isAuthenticated}}
Administrators
Send a Letter!
All mail is sent completely anonymously


I am an undergraduate student at the University of Illinois at Urbana-Champaign.
I study CS & Stats.
Drop by my channel for some fun time!
Ardent Reader.
Literature is my favorite,
Chinese and English.
Basketball Player.
Represented my school to compete in several national tournaments.
Computer Programmer.
Learning computer science. Learning to program.
Accredited Translator.
English-Chinese.
Chinese-English.
Having an objective in mind does not necessarily make things easier.
Not having one can make things tricky though.
The documentary The Plow That Broke the Plains depicts how the Great Plains rose and then fell due to poor agricultural planning and strategies.
At the beginning of the documentary, the Great Plains is characterized with several words – “wind, sun, treeless, no river, no stream, little rain.” These few words constitute the overarching issue – no matter how humans strive to shape the environment into their desired states, humans are always bounded by nature and her sporadic yet inexorable forces.
Bus stops at Champaign-Urbana feel slightly different.
The world seemed almost silent then. The only noises that disturbed the tranquility of my dwelling–humming of the air conditioner and rumbling of passing cars–were gone, together with my Zoom classes, Mediaspace recordings and Compass assignments.


I don't have a problem with the VT-Shaped Student initiative. I understand the purpose of recruiting and building the university. But the VT-Shaped Student initiative isn't built for me and doesn't include me. Here are some reasons why.
Not to toot my own horn, but I'm a pretty well rounded individual.
Sounds like I can check off my VT-Shaped checklist. But here's the thing, and this is why I consider myself an Anti VT-Shaped Student: anything I've done at Virginia Tech to build myself as a good student and person has been intuitive or brought on naturally from my course of study. I didn't even know about the VT-Shaped Student until I started this class two weeks ago! My interests and developments aren't based in the person the University wants me to be, but in the person I want to build myself in to.


Copyright (c) 1974 Invicta Plastics Ltd
This game is played on a 7x7 square board with the following setup:
|
| An example White picked the Black stone at cell [1] and wins the game. Since each player has 2 stones, White cut all paths to the remaining Black stones, leaving one last white stone to capture, to win 3-2. |
Try to play this game with this JavaScript player (made by Jean-Pierre Queille) called JS Press-Ups..
|
|
JS Press Ups is a JavaScript implementation with pure didactic purposes of the game Press Ups of Invicta Plastics Limited, Leicester, England. ©, ®, 1974. All rights reserved. JS Press Ups © 1998-2000 JPQ Software.


+++ title = "Segesta" lat = 37.942979 lon = 12.834091 +++
Located in the rolling and ancient countryside south-west of Palermo, Segesta is a set of Greek ruins that harks back to the empires that ruled Sicily millenia ago. The ruins at Segesta include a beautiful temple, as well as an expansive ampitheatre. I visited the ruins today, and I camped in a field nearby during the night.


Presenter blasts ‘terrible’ VAR decision during Liverpool vs Crystal Palace
by Jaikuran RandhawaFormer Sky Sports presenter and current beIN Spots anchor Richard Keys blasted the VAR decision to rule out Crystal Palace’s opener against Liverpool as ‘terrible’.
James Tomkins headed the ball into the back of the net and after a consultation with the Video Assistant Referee, it was deemed that the goal would be disallowed.
Replays show that Palace forward Jordan Ayew appeared to push Liverpool defender Dejan Lovren – the referee clearly though this was a clear and obvious foul.
Take a look at what Keys made of the VAR decision below:
Any kind of use of VAR seems to spark controversy, but it has to be said that in this particular case the decision to disallow the goal does seem fair and just.
The system has had its shortcomings on other occasions, but this afternoon’s the choice seemed to be spot on.
Would Lovren have headed the ball away if he wasn’t sent to the ground by Ayew?


 You have no choice but to land.
A scan of the local area reveals only one interesting feature: a massive underground vault. You generate a map of the tunnels (your puzzle input). The tunnels are too narrow to move diagonally.
Only one entrance (marked @
) is present among the open passages (marked .
) and stone walls (#
), but you also detect an assortment of keys (shown as lowercase letters) and doors (shown as uppercase letters). Keys of a given letter open the door of the same letter: a
opens A
, b
opens B
, and so on. You aren't sure which key you need to disable the tractor beam, so you'll need to collect all of them.
For example, suppose you have the following map:
#########
<EMAIL_ADDRESS>#########
Starting from the entrance (@
), you can only access a large door (A
) and a key (a
). Moving toward the door doesn't help you, but you can move 2
steps to collect the key, unlocking A
in the process:
#########
#b.....@#
#########
Then, you can move 6
steps to collect the only other key, b
:
#########
<EMAIL_ADDRESS>#########
So, collecting every key took a total of 8
steps.
Here is a larger example:
########################
<EMAIL_ADDRESS>######################.#
#d.....................#
########################
The only reasonable move is to take key a
and unlock door A
:
########################
<EMAIL_ADDRESS>######################.#
#d.....................#
########################
Then, do the same with key b
:
########################
<EMAIL_ADDRESS>######################.#
#d.....................#
########################
...and the same with key c
:
########################
<EMAIL_ADDRESS>######################.#
#d.....................#
########################
Now, you have a choice between keys d
and e
. While key e
is closer, collecting it now would be slower in the long run than collecting key d
first, so that's the best choice:
########################
#f...E.e...............#
######################.#
<EMAIL_ADDRESS>########################
Finally, collect key e
to unlock door E
, then collect key f
, taking a grand total of 86
steps.
Here are a few more examples:
########################
#...............b.C.D.f#
#.######################
<EMAIL_ADDRESS>########################
Shortest path is 132
steps: b
, a
, c
, d
, f
, e
, g
#################
#i.G..c...e..H.p#
########.########
#j.A..b...f..D.o#
########@########
#k.E..a...g..B.n#
########.########
#l.F..d...h..C.m#
#################
Shortest paths are 136
steps;
one is: a
, f
, b
, j
, g
, n
, h
, d
, l
, o
, e
, p
, c
, i
, k
, m
########################
<EMAIL_ADDRESS>###d#e#f################
###A#B#C################
###g#h#i################
########################
Shortest paths are 81
steps; one is: a
, c
, f
, i
, d
, g
, b
, e
, h
How many steps is the shortest path that collects all of the keys?
--- Part Two ---
You arrive at the vault only to discover that there is not one vault, but four - each with its own entrance.
On your map, find the area in the middle that looks like this:
...
<EMAIL_ADDRESS>...
Update your map to instead use the correct data:
@#@
###
@#@
This change will split your map into four separate sections, each with its own entrance:
####### #######
#a.#Cd# #a.#Cd#
##...## ##@#@##
<EMAIL_ADDRESS>--> #######
##...## ##@#@##
#cB#Ab# #cB#Ab#
####### #######
Because some of the keys are for doors in other vaults, it would take much too long to collect all of the keys by yourself. Instead, you deploy four remote-controlled robots. Each starts at one of the entrances (@
).
Your goal is still to collect all of the keys in the fewest steps, but now, each robot has its own position and can move independently. You can only remotely control a single robot at a time. Collecting a key instantly unlocks any corresponding doors, regardless of the vault in which the key or door is found.
For example, in the map above, the top-left robot first collects key a
, unlocking door A
in the bottom-right vault:
#######
<EMAIL_ADDRESS>##.#@##
#######
##@#@##
#cB#.b#
#######
Then, the bottom-right robot collects key b
, unlocking door B
in the bottom-left vault:
#######
<EMAIL_ADDRESS>##.#@##
#######
<EMAIL_ADDRESS>#c.#.@#
#######
Then, the bottom-left robot collects key c
:
#######
<EMAIL_ADDRESS>##.#@##
#######
##.#.##
#@.#.@#
#######
Finally, the top-right robot collects key d
:
#######
#@.#.@#
##.#.##
#######
##.#.##
#@.#.@#
#######
In this example, it only took 8
steps to collect all of the keys.
Sometimes, multiple robots might have keys available, or a robot might have to wait for multiple keys to be collected:
###############
#d.ABC.#.....a#
######@#@######
###############
######@#@######
#b.....#.....c#
###############
First, the top-right, bottom-left, and bottom-right robots take turns collecting keys a
, b
, and c
, a total of 6 + 6 + 6 = 18
steps. Then, the top-left robot can access key d
, spending another 6
steps; collecting all of the keys here takes a minimum of 24
steps.
Here's a more complex example:
#############
#DcBa.#.GhKl#
#.###@#@#I###
#e#d#####j#k#
###C#@#@###J#
#fEbA.#.FgHi#
#############
- Top-left robot collects key
a
.
- Bottom-left robot collects key
b
.
- Top-left robot collects key
c
.
- Bottom-left robot collects key
d
.
- Top-left robot collects key
e
.
- Bottom-left robot collects key
f
.
- Bottom-right robot collects key
g
.
- Top-right robot collects key
h
.
- Bottom-right robot collects key
i
.
- Top-right robot collects key
j
.
- Bottom-right robot collects key
k
.
- Top-right robot collects key
l
.
In the above example, the fewest steps to collect all of the keys is 32
.
Here's an example with more choices:
#############
#g#f.D#..h#l#
#F###e#E###.#
#dCba@#@BcIJ#
#############
#nK.L<EMAIL_ADDRESS>#M###N#H###.#
#o#m..#i#jk.#
#############
One solution with the fewest steps is:
- Top-left robot collects key
e
.
- Top-right robot collects key
h
.
- Bottom-right robot collects key
i
.
- Top-left robot collects key
a
.
- Top-left robot collects key
b
.
- Top-right robot collects key
c
.
- Top-left robot collects key
d
.
- Top-left robot collects key
f
.
- Top-left robot collects key
g
.
- Bottom-right robot collects key
k
.
- Bottom-right robot collects key
j
.
- Top-right robot collects key
l
.
- Bottom-left robot collects key
n
.
- Bottom-left robot collects key
m
.
- Bottom-left robot collects key
o
.
This example requires at least 72
steps to collect all keys.
After updating your map and using the remote-controlled robots, what is the fewest steps necessary to collect all of the keys?