A Python Introduction to Parallel Programming with MPI
A short introduction and tutorial to distributed memory computing with Python. Although HPC projects should usually be written in faster, compiled languages, like C or Fortran, Python is an excellent tool for algorithm development and proof of concept. This is especially true in parallel programming, where code becomes especially complex.
Parallel computing is overviewed, and MPI is introduced. Python is used to demonstrate applications and introduce the methods of the interface.
- There are TODO’s in this document:
- Allreduce and Reduce theoretically take the same amount of time. Include a picture of the butterfly communication structure.
- TODO not listed:
- note how you can use mpi4py on you own computer (serially, for testing purposes)
- stuff about I/O
- how to properly time a parallel function
- Section of chapter on parallel libraries (how this is accomplished by communicators. See end of preface.)
- show how you can run unbuffered. Then, if you would like to print, you must use the format of print where you concatenate string, not seperate them with commas


---
layout: post
title:
date: '2007-03-12T16:11:00.000Z'
author: FredVDD
tags:
- lyrics
- kill dash nine
modified_time: '2007-03-12T16:13:16.881Z'
blogger_id: tag:blogger.com,1999:blog-5059265.post-6778039277677694169
blogger_orig_url: http://frederiks.blogspot.com/2007/03/kill-dash-nine-lyrics.html
---
by Monzy.  You gotta learn when it's time for your thread to yield; It shoulda slept; instead you stepped and now your fate is sealed. Kill Dash Nine Lyrics
(-: Music 4 Nerds :-)


Show Checkboxes
I confirm that I have taken the Fluji vaccine and possess sufficient levels of autism to be protected from infection.


Note: Form is to be completed at least 21 days prior to date
Male
Female
Other
I have tattoos and/or piercings I am more than 2 years older than my daughter I own a panel van or V8 ute I work full-time My parents are rich Is the date at a well lit location
Upload Police Clearance Certificate, Bank Statement and Medical Certifiates here: Attach Files


Hoping for a fifth win
by Staff ReporterThey are keeping their fingers crossed. Six students from Holy Angels HSS, Vanchiyoor, led by Parvathy S.R., topped the Thayambaka contest at the Revenue District School Arts Festival on Wednesday, booking a place at the State School Arts Festival.
The four-time State-level winners are hoping for yet another win.
Parvathy who has been learning Thayambaka under Kalamandalam Krishnadas for the past eight years is the mainstay of the team. Training is also arranged for the students ahead of the festivals.
The team is also taking part in the Melam contest at the district event.


gen_base
A util to quickly write new test suite generators with.
See Generators documentation for integration details.
Options:
-o OUTPUT_DIR -- Output directory to write tests to. The directory must exist.
This directory will hold the top-level test directories (per-config directories).
[-f] -- Optional. Force-run the generator: if false, existing test case folder will be detected,
and the test generator will not run the function to generate the test case with.
If true, all cases will run regardless, and files will be overwritten.
Other existing files are not deleted.
-c CONFIGS_PATH -- The directory to load configs for pyspec from. A config is a simple key-value yaml file.
Use `../../configs/` when running from the root dir of a generator, and requiring the standard spec configs.
[-l [CONFIG_LIST [CONFIG_LIST ...]]] -- Optional. Define which configs to run.
Test providers loading other configs will be ignored. If none are specified, no config will be ignored.
gen_from_tests
This is an util to derive tests from a tests source file.
This requires the tests to yield test-case-part outputs. These outputs are then written to the test case directory.
Yielding data is illegal in normal pytests, so it is only done when in “generator mode”.
This functionality can be attached to any function by using the vector_test()
decorator found in ethspec/tests/utils.py
.
Test cases consist of parts, which are yielded to the base generator one by one.
The yielding pattern is:
2 value style: yield <key name> <value>
. The kind of output will be inferred from the value by the vector_test()
decorator.
3 value style: yield <key name> <kind name> <value>
.
Test part output kinds:
ssz
: value is expected to be a bytes
, and the raw data is written to a <key name>.ssz
file.data
: value is expected to be any python object that can be dumped as YAML. Output is written to <key name>.yaml
meta
: these key-value pairs are collected into a dict, and then collectively written to a metadata
file named meta.yaml
, if anything is yielded with meta
empty.The vector_test()
decorator can detect pyspec SSZ types, and output them both as data
and ssz
, for the test consumer to choose.
Note that the yielded outputs are processed before the test continues. It is safe to yield information that later mutates, as the output will already be encoded to yaml or ssz bytes. This avoids the need to deep-copy the whole object.
SSZ SimpleSerialize


The esports center is located in Apartments Hall, just across the hall from Rose Gardens. Just a reminder that you will need to use your ID to get into the Apartments building, so make sure you have that on you when you arrive!
Here is a helpful tool to get you to the Esports Center from your current location! Esports Center Directions Courtesy of the Rose Nav Team
The esports center currently offers the following games for PC play. Other additional games are available for play in the console area.


DLSU
Navbar Link
Navbar Link
menu
DLSU Profs to Pick
For Lasallians. By Lasallians
group
Login
User Name
Password
Login
assignment
Registration
User Name
Password
Choose your College
CCS
COB
CLA
BAGCED
GCOE
COE
COS
RVRCOB
Email
Signup


Felix Sater, Donald Jr. and Ivanka stayed at the historic Hotel National Moscow opposite the Kremlin in 2006, meeting several potential hotel partners. While Sater says that Donald Trump asked him to show his children around the city, Alan Garten, General Counsel of the Trump Organization, claims that it was a coincidence they were all there at the same time.
Source: New York Times


Offroad-monsters
Set username
Log a Message
Success
Info
Error
Log
Logs
There are currently no logs in database....


Home Team
I have 6 years experience in web development, and 4 years in mobile development (Android & iOS). Opened my first business in 2015 and developed lot of projects and some startups. Along all the projects I faced and worked with technologies like: Laravel, ReactJS, Flutter, React Native, Solidity, NodeJS. I always plan a software architecture to obtain a scalable product. My organizational skills are highly trained.
✔ Full Stack Web Development: HTML, CSS, JavaScript, Bootstrap,
Vue, Nuxt, ReactJS, Firebase, Django and Chrome Extensions.
✔Mobile App Development: flutter,Java, Kotlin, Android Architecture
components, etc.
✔ Web automation & scripting using Python: REST APIs, Selenium,
Scrapy
✔ Algorithmic Challenges: I can write code that runs ridiculously
fast. I have good knowledge of existing data structures and I
specialise in creating new algorithms from scratch. Apart from that,
✔ I relish writing beautiful & clean code that speaks for itself
and is easy to modify later.
✔ I enjoy automating boring stuff. If there's anything that
repeated, let the computer/script do it for you.
✔ I love programs that run fast and doesn't cost $$$ in server
costs.
I have a great experience with Data Structures & Algorithms. I know
how to write production-grade code that's free of bugs and modular,
as I did during my time at Microsoft and with some of my happy
clients from the UK, Canada, US, India and Europe. I am happy to
answer any questions you might have!


One goal of MPI is to achieve source code portability. By this we mean that a program written using MPI and complying with the relevant language standards is portable as written, and must not require any source code changes when moved from one system to another. This explicitly does not say anything about how an MPI program is started or launched from the command line, nor what the user must do to set up the environment in which an MPI program will run. However, an implementation may require some setup to be performed before other MPI routines may be called. To provide for this, MPI includes an initialization routine MPI_INIT.
int MPI_Init(int *argc, char ***argv)
MPI_INIT(IERROR)
All MPI programs must contain exactly one call to an MPI initialization routine:
MPI_INIT or MPI_INIT_THREAD. Subsequent calls to any
initialization routines are erroneous. The only MPI functions that may be invoked
before the MPI initialization routines are called are MPI_GET_VERSION,
MPI_INITIALIZED, and MPI_FINALIZED. The version for ISO C
accepts the argc and argv that are provided by the arguments to
main or NULL:
The Fortran version takes only IERROR.
Conforming implementations of MPI are required to allow
applications to pass NULL for both the argc and
argv arguments of main in C and C++. In C++, there is an alternative
binding for MPI::Init that does not have these arguments at all.
In some applications, libraries may be making the call to MPI_Init,
and may not have access to argc and argv from main.
It is anticipated that applications requiring special information about
the environment or information supplied by mpiexec can get that
information from environment variables.
( End of rationale.)
int MPI_Finalize(void)
MPI_FINALIZE(IERROR)
This routine cleans up all MPI state.
Each process must call MPI_FINALIZE before it exits.
Unless there has been a call to MPI_ABORT, each process must ensure that all pending nonblocking
communications are (locally) complete before calling MPI_FINALIZE.
Further, at the instant at which the last process calls
MPI_FINALIZE, all pending sends must be matched by a receive, and
all pending receives must be matched by a send.
For example, the following program is correct:
A successful return from a blocking communication operation or from
MPI_WAIT or MPI_TEST tells the user that the buffer can
be reused and means that the communication is completed by the user, but does
not guarantee that the local process has no more work to do.
A successful return from MPI_REQUEST_FREE with a request handle
generated by an MPI_ISEND nullifies the handle but provides no
assurance of operation completion. The MPI_ISEND is complete only when it is
known by some means that a matching receive has completed.
MPI_FINALIZE guarantees that all local actions required by
communications the user has completed will, in fact, occur before it returns.
MPI_FINALIZE guarantees nothing about pending communications that
have not been completed (completion is assured only by MPI_WAIT,
MPI_TEST, or MPI_REQUEST_FREE combined with some other
verification of completion).
If no MPI_BUFFER_DETACH occurs between an MPI_BSEND (or
other buffered send) and
MPI_FINALIZE, the MPI_FINALIZE implicitly supplies
the MPI_BUFFER_DETACH.
The MPI_Iprobe() call is there to make sure the implementation
knows that the ``tag1'' message exists at the destination, without being
able to claim that the user knows about it.
An implementation may need to delay the return from MPI_FINALIZE
until all potential future message cancellations have been
processed. One possible solution is to place a barrier inside
MPI_FINALIZE
( End of advice to implementors.)
Even though a process has completed all the communication it initiated, such
communication may not yet be completed from the viewpoint of the underlying
MPI system. E.g., a blocking send may have completed, even though the data
is still buffered at the sender. The MPI implementation must ensure that a
process has completed any involvement in MPI communication before
MPI_FINALIZE returns. Thus, if a process exits after the call to
MPI_FINALIZE, this will not cause an ongoing communication to
fail.
( End of advice to implementors.)
int MPI_Initialized(int *flag)
MPI_INITIALIZED(FLAG, IERROR)
This routine may be used to determine whether MPI_INIT has been
called.
MPI_INITIALIZED returns true if the calling process has
called MPI_INIT. Whether MPI_FINALIZE has been
called does not affect the behavior of MPI_INITIALIZED.
It is one of the few routines that may be called before
MPI_INIT is called.
int MPI_Abort(MPI_Comm comm, int errorcode)
MPI_ABORT(COMM, ERRORCODE, IERROR)
This routine makes a ``best attempt'' to abort all tasks in the group
of comm.
This function does not require that the invoking environment take any action
with the error code. However, a Unix or POSIX environment should handle this
as a return errorcode from the main program.
It may not be possible for an MPI implementation to abort only the
processes represented by comm if this is a subset of the processes.
In this case, the MPI implementation should attempt to abort all the connected
processes but should not abort any unconnected processes.
If no processes were spawned, accepted or connected then this has the effect
of aborting all the processes associated with MPI_COMM_WORLD.
The communicator argument is provided to allow for future extensions of MPI to
environments with, for example, dynamic process management. In particular, it
allows but does not require an MPI implementation to abort a subset of
MPI_COMM_WORLD.
( End of rationale.)
Whether the errorcode is returned from the executable or from the
MPI process startup mechanism (e.g., mpiexec), is an aspect of quality
of the MPI library but not mandatory.
( End of advice to users.)
Where possible, a high-quality implementation will try to return the
errorcode from the MPI process startup mechanism
(e.g. mpiexec or singleton init).
( End of advice to implementors.)
INTEGER IERROR
{ void MPI::Init(int& argc, char**& argv) (binding deprecated, see Section Deprecated since MPI-2.2
) }
{ void MPI::Init() (binding deprecated, see Section Deprecated since MPI-2.2
) }
Rationale.
INTEGER IERROR
{ void MPI::Finalize() (binding deprecated, see Section Deprecated since MPI-2.2
) }
Process 0 Process 1
--------- ---------
MPI_Init(); MPI_Init();
MPI_Send(dest=1); MPI_Recv(src=0);
MPI_Finalize(); MPI_Finalize();
Without the matching receive, the program is erroneous:
Process 0 Process 1
----------- -----------
MPI_Init(); MPI_Init();
MPI_Send (dest=1);
MPI_Finalize(); MPI_Finalize();
Example
This program is correct:
rank 0 rank 1
=====================================================
... ...
MPI_Isend(); MPI_Recv();
MPI_Request_free(); MPI_Barrier();
MPI_Barrier(); MPI_Finalize();
MPI_Finalize(); exit();
exit();
Example
This program is erroneous and its behavior is undefined:
rank 0 rank 1
=====================================================
... ...
MPI_Isend(); MPI_Recv();
MPI_Request_free(); MPI_Finalize();
MPI_Finalize(); exit();
exit();
Example
This program is correct, and after the MPI_Finalize, it is
as if the buffer had been detached.
rank 0 rank 1
=====================================================
... ...
buffer = malloc(1000000); MPI_Recv();
MPI_Buffer_attach(); MPI_Finalize();
MPI_Bsend(); exit();
MPI_Finalize();
free(buffer);
exit();
Example
In this example, MPI_Iprobe() must return a FALSE
flag. MPI_Test_cancelled() must return a TRUE flag,
independent of the relative order of execution of MPI_Cancel()
in process 0 and MPI_Finalize() in process 1.
rank 0 rank 1
========================================================
MPI_Init(); MPI_Init();
MPI_Isend(tag1);
MPI_Barrier(); MPI_Barrier();
MPI_Iprobe(tag2);
MPI_Barrier(); MPI_Barrier();
MPI_Finalize();
exit();
MPI_Cancel();
MPI_Wait();
MPI_Test_cancelled();
MPI_Finalize();
exit();
Advice
to implementors.
Once MPI_FINALIZE returns, no MPI routine (not even MPI_INIT) may
be called, except for MPI_GET_VERSION, MPI_INITIALIZED,
and MPI_FINALIZED.
Each process must complete
any pending communication it initiated before it calls
MPI_FINALIZE. If the call returns, each process may continue local
computations, or exit, without participating in further MPI communication
with other processes.
MPI_FINALIZE is collective over all connected processes.
If no processes were spawned, accepted or connected then this means
over MPI_COMM_WORLD; otherwise it is collective over the
union of all processes that have been and continue to be connected,
as explained in Section Releasing Connections
on page Releasing Connections
.
Advice
to implementors.
Although it is not required that all processes return from
MPI_FINALIZE, it is required that at least process 0 in
MPI_COMM_WORLD return, so
that users can know that the MPI portion of the computation is over. In
addition, in a POSIX environment, they may desire to supply an exit code for
each process that returns from MPI_FINALIZE.
Example
The following illustrates the use of requiring that at least one
process return and that it be known that process 0 is one of the processes
that return. One wants code like the following to work no matter how many
processes return.
...
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
...
MPI_Finalize();
if (myrank == 0) {
resultfile = fopen("outfile","w");
dump_results(resultfile);
fclose(resultfile);
}
exit(0);
MPI_INITIALIZED( flag ) lag is true if MPI_INIT has been called and false
otherwise.
OUT flag F
LOGICAL FLAG
INTEGER IERROR
{ bool MPI::Is_initialized() (binding deprecated, see Section Deprecated since MPI-2.2
) }
MPI_ABORT( comm, errorcode ) IN comm communicator of tasks to abort IN errorcode error code to return to invoking environment
INTEGER COMM, ERRORCODE, IERROR
{ void MPI::Comm::Abort(int errorcode) (binding deprecated, see Section Deprecated since MPI-2.2
) }
Rationale.
Advice to users.
Advice
to implementors.
Up: Contents
Next: Allowing User Functions at Process Termination
Previous: Timers and Synchronization
Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009


[gecode-users] CP 2006: Call for Participation
Christian Schulte
schulte at imit.kth.se
Thu Jul 13 15:52:15 CEST 2006
[sorry for multiple copies]
Call for Participation
CP 2006
Twelfth International Conference on
Principles and Practice of Constraint Programming
September 24-29, 2006
Cité des Congrès - Nantes, France
http://www.sciences.univ-nantes.fr/cp06/
Description
The CP conference is the annual international conference on
constraint programming, and it is concerned with all aspects of
computing with constraints, including: algorithms, applications,
environments, languages, models, and systems. CP 2006 includes a
technical program, where presentations of theoretical and
application papers, as well as invited talks and tutorials, aim
at describing the best results and techniques in the
state-of-the-art of constraint programming. Moreover, CP 2006
continues the tradition of the CP doctoral program, in which PhD
students can present their work, listen to tutorials on career
and ethical issues, and discuss their work with senior
researchers via a mentoring scheme. There will also be a number
of workshops, where researchers will be able to meet in an
informal setting and discuss their most recent ideas with their
peers.
Special events
CP 2006 will open on Sunday 24 September with CP-Tools-06, the
first event in a yearly series addressing CP systems design and
application development. During the conference, the 2006 ACP
award will be given and a plenary half day workshop will be
dedicated to the "next ten years of Constraint Programming".
Conference site
CP 2006 will be held at the Nantes Cité des Congrès. Nantes is a
major center of the European West and the sixth largest town in
France. The city, which is located on the Loire Estuary and 50km
from the Atlantic coast, is famous for enjoying an exceptional
quality of life. Nantes is at the heart of a highly efficient
transportation network (high-speed trains from Paris, airport,
motorways, tramway). The Nantes Cité des Congrès is directly
accessible by shuttle from the airport, by bus from the city
center, and is within ten-minute walking distance from the city
center and the high-speed train station.
Registration and accommodation
We encourage you to register for the conference and make you
hotel reservations. All relevant information can be found on the
conference's main web page,
http://www.sciences.univ-nantes.fr/cp06/
Deadline for early registration: August 15th, 2006
Deadline for accommodation: August 30th, 2006
We look forward to an exciting and inspiring conference in
Nantes, France.
CP 2006 Organizing Committee
More information about the gecode-users
mailing list


All Classes
ClientApp
ClientStartUpDialogController
GameCommunication
GameInterfaceController
Pictionary
PictionaryClient
PictionaryClientApp
PictionaryException
PictionaryInterface
PictionaryPlayer
PictionaryProtocolParser
PictionaryProtocolPool
PictionaryRound
PictionaryServer
RootLayoutController
ServerHandlerInterface


Three points
AaBbCc x aabbcc
Recombination frequency r1
Recombination frequency r2
Coefficient of coincidence
Total offspring
Interference =
Recombination frequency r =
Calculate
Clean
Estimated offspring
ABC/abc
ABc/abC
Abc/aBC
AbC/aBC
ABC
aBC
AbC
abc
ABc
aBc
Abc
abC


Complete our quick onboarding steps to find and attract matching talent to grow your business.
Get startedPlease select the main role of your candidate. Don't worry you can change this later.
{{>job_role session="onboarding_job_posting" key="role" href="onboarding_job_competency"}} {{/mooqita_wide_spacing}} {{#mooqita_wide_spacing}}Finding the candidate with the right skill set is important. However, Mooqita can do more for you. We can help you find the person that will complement your teams social fabric. Select any number of competencies you deem important for candidates for this job posting.
{{>job_competency session="onboarding_job_posting"}} {{/mooqita_wide_spacing}} {{#mooqita_wide_spacing}}Excellent you created a persona for your candidate. This persona represents a schema of traits that we can scan for in our talent pool to best complement your team. To save your progress please register an account. By adding the personality of your team members and example challenges you can get even better results.
To personalize the invitation to your team members we need to know your name and that of your organization. Adding a profile picture and logo helps others recognize you and your organization.
{{#unless Template.subscriptionsReady}} Loading user and organization profile {{>wait}} {{else}} {{#let profile=user_profile}}
Add some challenges to the job posting that represent tasks which candidates
should be able to solve.
We make sure they can. This step is very important to guarantee that we can
match you with the right talent. After adding new challenges it may take a few
days until a great match has been found.
We will alert you via email!
These are the members of your organization. To improve your job search you can add the people your candidate will work with. And do not forget about yourself. Use the edit button to complete your profile.
{{>group_page organization_id=organization_id}} {{/mooqita_wide_spacing}} {{#mooqita_wide_spacing}}


Methods
deleteObjectsRec(list, list, integer)
Recursively descends an object deleting all associated entities.
Parameters:
| Name | Type | Description |
|---|---|---|
list |
objects | of objects in a format returned from a Swagger GET query. |
list |
delhdr | of HTTP headers for the DELETE operation; if AUTH is needed those headers should be part of this object. |
integer |
i | index of the item in the objects map to be deleted. Will be incremented on each call. |
Returns:
a resolved Promise after the last delete completes.
get(host, all, message-VPN, entity)
General http GET over javascript objects
Parameters:
| Name | Type | Description |
|---|---|---|
host |
host | name or address in form 'host:port' |
all |
gethdr | HTTP headers for the GET request; if AUTH is needed you must add them to this object. |
message-VPN |
vpn | name as a string. |
entity |
entity | string, e.g. 'clientUsernames', 'aclProfiles', 'clientProfiles', etc. |
Returns:
Promise resulting from Swagger.http() call.
inferName(object)
Different entities have different fieldnames for their 'name' identifier;
this function tries to pull the name out of any possible entity w/o
caring which type of entity that is.
Parameters:
| Name | Type | Description |
|---|---|---|
object |
entity | to infer name from; different object types have differently-named name fields. |
Returns:
the name of the object as a string.


News
Dartmouth Sends Freshman Into Space
lol Farm-to-table twee freegan readymade cardigan pug woke occupy +1 retro bushwick. Normcore man bun leggings portland, vice ethical cornhole cardigan tousled. XOXO bicycle rights offal schlitz chambray. Food truck...
Space Sushi!
 Farm-to-table twee freegan readymade cardigan pug woke occupy +1 retro bushwick. Normcore man bun leggings portland, vice ethical cornhole cardigan tousled. XOXO bicycle rights offal schlitz...
Rocket Does a Thing
This morning our rocket did a thing. There was a lot of fire. It was lit. Our Organization Loves Headers Headers are pretty nifty. Markdown is pretty nifty Interviews “Space...
Welcome to Jekyll!
You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways,...


Technology
Imagination is more important than knowledge. knowledge is limited. Imagination encircles the world.
Strategy
Imagination is more important than knowledge. knowledge is limited. Imagination encircles the world.
Creativity
Imagination is more important than knowledge. knowledge is limited. Imagination encircles the world.
Security
Imagination is more important than knowledge. knowledge is limited. Imagination encircles the world.
Main Services
Web Design
Suspendisse bibendum cursus luctus. Donec consequat malesuada felis at faucibus. Nulla dapibus malesuada libero, ut iaculis elit mattis quis.
Photography
Suspendisse bibendum cursus luctus. Donec consequat malesuada felis at faucibus. Nulla dapibus malesuada libero, ut iaculis elit mattis quis.
Website Serving
Suspendisse bibendum cursus luctus. Donec consequat malesuada felis at faucibus. Nulla dapibus malesuada libero, ut iaculis elit mattis quis.


System architecture
The following diagram summarizes our solution and potential enhancements. One big improvement would be developing better ML models for augmenting data, which can be done without changing the overall infrastructure. Additionally, real data from IoT devices can be connected to the existing workflow. Using the PWA insights, different actions can be taken, such as managing the devices.
Data processing
The following diagram shows the data processing workflow. The dataset is automatically downloaded from the WOD URLs, then uploaded to Azure Blob Storage.
From there, it can be filtered to contain only the information of locations inside a customizable polygon. At this point, it can be augmented with weather data using our simple ML model.
After it's processed, the data can be stored in Azure Table Storage and/or used for analysis.
Data Storage
As mentioned above, the data will be stored in Azure Table Storage.
For details about the data schema, please check the dataSchema file in our GitHub repository https://github.com/Project15Invictus/MicrosoftProject15_Invictus.git .
Sending and Retrieving data
To connect the data with the PWA without inefficiently storing it in the browser, we implemented a Python Flask API. When the PWA sends GET requests for data, they are redirected to the API. The API will then get data from Azure storage and serve it back to the PWA as JSONs. The PWA will then process the response and display various visualizations.
The following diagram illustrates communication via the API:


These function are used throughout the library. Many provide cross-platform (server and browser) support for frequently-used functions.
Functions
simple string interpolation (thanks http:#djangosnippets.org/snippets/2074/) interpolate("%s %s", ["hello", "world"]) returns "hello world"
raised by fields during validation
* message
: the default error message to display
* code
: the code used to look up an overriding message in the errorMessages
hash
* args...
: arguments used for interpolation with the error message.
a very naive comparison of two objects - will only work with the equivalent of json
remove leading and trailing white space


I'll live in AJ's podcast for your Monday.
Most wonderful show is keeping up with the Joneses.
Mrs. Jones.
Yes, sir.
You look glamorous.
Thank you.
Resplendent.
As do you.
Oh, thank you.
Yes.
Yeah, we have literally just walked in from a wedding.
We have.
Shelby and Jared, fantastic wedding.
It was a great wedding.
But we're dressed to the nines.
Well, to the nines might be extreme.
you're certainly much more dressed up than I am.
You know, when you say to the extreme,
I think the next thing you're going to say is
to the stream of rock a mic, like a vandal and light up a stage
and something rather candle, Iliac, it's like a rap sack, backpack.
There's no rap sack or backpack in vanilla ice, a seminal classic.
Well, I just know a different version.
But I know the Canadian version.
Nevertheless, when you say to the extreme, that is the next line.
See.
I think of.
Did you have fun at the wedding?
I did.
It was a beautiful wedding.
Food was fantastic.
People were awesome.
I wanted to stay and dance, but alas.
- You're here recording a podcast instead.
- We had to record a podcast, yeah.
- They had a taco bar.
- They did.
- I wish we had a taco bar.
- It's brilliant.
- I didn't know about tacos back then.
- You never had a taco when we got married.
12 years ago, never had a taco.
- I don't think so.
- Are you serious?
- Did we ever eat Mexican food in Canada?
- Well, we went to the Lone Star all the time.
- Well, that was Tex-Mex and we would have fajitas.
- Right.
I wouldn't even say I hadn't branched into the realms
of Mexican food.
- Okay.
- But yeah, tacos.
- It didn't occur to us, but we wish it had.
- Good choice, tacos for the win.
- Although, having said that, I did like our wedding food.
- I don't remember it.
- Of course you don't.
- Well, I was thinking about other things.
(laughing)
Talk to me about this week.
- Well, at the school, we had David Campbell
and Lyle Phillips.
So David Campbell was on year two
and Lyle Phillips was teaching year one.
It didn't matter which year you were in, there was a Holy Spirit bonanza.
It's true. It's totally true.
The Holy Spirit was everywhere.
It was amazing. And then of course at M&A on Monday night,
it was crazy town. People were stuck to the floor by the Holy Spirit until like 1130 at night.
And the thing I loved about David is as a Pentecostal,
he has a really well thought out theology in the Holy Spirit.
Yeah.
And I thought his message, I would recommend to anybody who doesn't know anything about the Holy Spirit.
Yeah, of course.
Like if I'd, you know, growing up in the Brethren Church
that I grew up in, where we didn't major
on the work of the Holy Spirit,
that's not fair characterization for their revelation.
But from what I know now,
I would say that we didn't major
on the work of the Holy Spirit.
If I could have heard his message
that he preached Monday night 20 years ago,
it would have fast tracked me.

I'll put a link in the show.
And so if you didn't get to see it,
or you'd like to learn more about the Holy Spirit,
I highly recommend David's message, Ammonate.
- So cool.
- But anyway, you're right,
it was amazing having both of them there.
Thank you guys.
- What else happened?
You took the girls on a father daughter dance.
- A daddy daughter dance.
- Daddy daughter.
- Their school, I guess the PTA did something called
Boots and Bling.
- Yep.
- Which is where the little girls could dress up
in anything from cowgirl boots to full on bling
and their daddies were to take them to a dance.
- Yeah.
- How excited were our girls on a scale of one to a hundred?
400.
- They were just.
- I took Tia out on Wednesday to go and get a special dress.
And of course she picked like,
turquoise is one of her favorite colors,
but she picked like the dressiest, most princessy
kind of dress ever.
And then Abby, of course, is kind of coming
into her own style.
She's a little bit older.
So she wore a dress that a friend had given her
with cowboy boots.
'Cause to her, the most important part was the boots
to Tia, the most important part was the princess look.
- And the thing about Tia was,
she was worried she didn't have shoes
'cause she was like, "Mommy, I only have flip flops,
"which I cannot wear to her dance."
- That's right. - Or sneakers.
Neither of which is appropriate.
Can I get a pair of ballet flats?
- Yeah, so we went and got some ballet flats,
which were super cute,
but she had to wear like white, almost gym socks with them
because they were so big.
Anyway. - Yeah, but she looked amazing.
- She looked so cute.
- And Tia was like, "Daddy, do you have anything
that would be really nice to wear, like something you might wear to a wedding.
Like, do you have one of those things where you have a shirt and you have a tie and then
your jacket matches your pants?
She didn't know it was gold suit.
And I said, I do.
She's like, could you wear that pretty, please, pretty, please?
And I said, I will.
And they were giddy with excitement.
Didn't she ask you to be all in black?
She did.
Yeah.
Yeah.
And then Tia on the dance floor was amazing.
She was like an octopus on crack.
The limbs flailing everywhere.
Oh, it was amazing.
and I was rebuked. I didn't dance enough.
Oh, by who?
By both of them.
Oh, OK.
I was like, I don't want to show up the other dads.
If I bust a move, it's all over.
You know, your kindness is just, it's amazing.
It's my meanness.
Yeah.
I don't know what's greater of my meekness, my kindness.
Or your ability to pretend that you can dance.
Or my fictitious imagination.
Yep.
Saturday, I think a highlight.
We had blueberry French dust, which should only be a Christmas tradition.
Explain why we had it on Saturday.
Well, usually we don't have gluten.
So I don't make it very often.
That's not why I was referring to it.
Oh.
You're adorable.

So I made a couple batches of the blueberry French toast, which seemed to go over well.
It was amazing.
And then we had bacon, which we hardly ever have bacon.
Yes.
And yogurt.
Yes.
And orange juice.
Yes.
And breakfast potatoes.
Yes.
I was one happy bunny.
Yes.
It was it was a full breakfast.
I forgot to mention that.
While I was at the girls dancing the night away, you took MJ somewhere special.
Yeah, I did.
I took him on a mummy Sunday.
And my friend Lauren, she brought her son Isaiah, who's one of MJ's little besties.
And we went to this jumping place.
Now, isn't just a jumping place?
No, it has like a whole ninja area.
So there was like ropes you could swing off into foam pits and just all kinds of craziness.
Describe the phenomenon.
That is American Ninja Warrior.
Well, when I say that, I have to say it to the presenters.
American Ninja Warriors.
- We love the American Ninja Warriors.
It's a TV show of basically,
I mean, it seems like most people that do it
are rock climbers and things like that,
like incredible upper body strength or gymnasts or whatever.
But it's an obstacle course with sort of extreme obstacles.
- Yeah, it's an endurance test.
- Yeah, but they're-
- Exceptional physical.
- On the show, they haven't actually done these obstacles
before, they change them up every year,
at least a little bit, and they don't get to try them out first,
and it's just sort of a,
it comes down to your agility and your speed
and your ability to maneuver around new things
and all that kind of stuff, and the kids love it.
So they love the show, and then when my friend said,
"Oh, there's like a Ninja Warrior area."
I had said that to MJ.
I was like, "MJ, there's a ninja warrior area."
And he said, "Okay, well, is there water?"
And I thought he meant like drinking water.
And I was like, "Oh yeah, baby, I'm sure there's water."
And he's like, "I don't wanna go.
I don't wanna go if there's water."
And he was just freaking out 'cause on the TV show,
of course, if you drop off of the obstacle,
you drop into a tank of water.
So he was thinking I was gonna allow him to drink.
- When he got there, was he super excited?
- Oh, he was so excited.
And him and Isaiah just sort of ran around holding hands.

He was just like jumping off of things and doing flips
and just totally fearless.
And MJ was happy to watch him in his fearless moments,
but then he had a lot of fun in the trampolines and stuff.
- Wow.
- Yeah, it was really cute.
- I thought it'd be young and agile enough to do flips.
- Right.
Very cute.
- And then our friend David Wagner is in town.
- He is.
Yeah, he spoke to us.
- He spoke two amazing messages at
amazing messages at Korea this morning.
Really good.
Big side to hanging out with him.
Yeah.
Talk to us about the topic for this week, babe.
The topic for this week is hindsight.
I was thinking about when we were thinking about what to talk about.

And then when you look back in hindsight,
you realize it was due to God's amazing planning
and his amazing fathering,
that the thing that we thought we desperately wanted
wasn't the thing that we got.
- Right.
- And it's never when you're in the season
that you think, you know,
the reason I'm not getting this
is because of God's wonderful planning.
You're just like, "Hey, what's going on?
"This doesn't feel fair or whatever."
But I was thinking there's a number of times
that I could think of where in looking back,
it was due to God's kindness
that something didn't happen the way
we thought it should have happened.
- Right.
- And not due to God not knowing where we are
or what's going on.
So my thought was to talk about hindsight.
- Yeah, when David Campbell was here this week,
he said this, "Both faith and fear believe in something
that has not happened yet."
- Right.
- And if we're called to walk by faith,
that means we actually believe what's coming
and live according to our promise.
If we don't live according to faith,
which is the temptation, you know, with our reality,
it means we believe the wrong weather report.
- Right.
What was the thing you said also about,
you know, the fruit of the faithfulness of God
is always gonna be greater than the pain of the process.
- Yeah, that was David Wagner, different David.
- Ah!
- So David this morning said that the fruit
of God's faithfulness will outweigh the pain
of our process.
- Yeah.
We often joke when we teach on the prophetic, that very rarely do we understand our prophetic
words the day we get them.
They're best understood in hindsight.
When you stop and you look back and you're like, "Oh my gosh, Lord, you're so creative."
The way you've weaved that prophetic word into our life and how it's come to pass.
We so often think it's about the specific area that happens to be highlighted on our
heart at that moment when usually it's much bigger than that, much broader than that,
better actually than probably what we think it's for.
I was thinking about when I was in, when I did my postgraduate and teaching, I had a
professor, his name was Dr. Tom Conlon, and he said this, he said, "experience plus reflection
equals learning."
So if all we ever do is just experience, but never pause to reflect, we actually miss out
on one of the most effective tools God's given us for growth.
Just learning.
God gives us hindsight so that we can be confident in what's coming. There's a danger that we won't
learn how God works if we don't prioritize rest and reflection. Yeah, and thankfulness, I think.
Right. We use hindsight to understand what God was up to for so we're strengthened for the next
season.  So you think about David, the reason he had such confidence up against
Goliath was he reviewed God in hindsight, rescuing him from the line and the bear.
Right. You know, that victory gave him confidence that the next victory was around the corner.
Right. And I think it was Bill who was saying, we've got to be able to practice worshiping the
Lord in our lack. Otherwise, we're going to look foolish in his abundance.
How many times have you like, God, you've forgotten about me? And then he shows up and
and you're like, "Oh, just kidding, Lord.
"Can I take that back?"
We've actually got to practice the posture of thankfulness
before we receive what he's doing.
It's easy to praise God once it all makes sense.
But it's when we don't understand what he's doing
is when our worship is the most expensive.
- Yeah, and therefore the sweetest.
- Right, so give me some examples of hindsight
and how it's helped in your life.
- Well, one of the ones I thought of,
and I think we've told this story before,
but I remember this season in our lives,
We just had Abigail and we were praying for more space.
So we were sort of like, okay, we love living with John and Carol and we love the basement.
But you know, Abby was, I don't know, six or nine months old and we were sort of like,
I think we probably need some more space.
I think we probably just need to have a playroom type area for her or something.
And so we were in that process, the Lord said to us, hey, why don't you start looking at
houses?
And so we started looking at houses around Toronto.
And of course, Toronto is a very expensive city to own a house in.
And so we were looking and dreaming and we felt like the Lord, you know, just was challenging,
really challenging us to dream with him.
And so we were like, wow, that's amazing.
God is challenging us to dream with Him right now in this season, which means therefore
in this season we're going to have a breakthrough according to what we believe.
And so we were in the midst of that.
We were sharing with Gary and Sarah who are friends of ours and they were talking about
how, oh yeah, they were really happy.
They didn't have a house and they lived out of suitcases and it was great not to have
anything to worry about taking care of and all this stuff.
I was like, "Yeah, I totally get it," because they hadn't started having children yet.
And so we were like, "Yeah, my head," I was like, "Yeah, that's not how I feel.
I feel like there's a transition coming."
And it's always hard when you feel like transition is coming because often you don't know the
actual timing.
So anyway, during this season, Gary calls us one day and says, "You're not going to believe
what happened."
And we're like, "What?"
And he's like, these guys gave us a house.
These businessmen gave us a house and we're like, what?
And he's like, yeah, I mean, we didn't even want a house.
And here's this house and it's on a golf course
and it's got three garages and four bedrooms
and this, that and the other.
And I remember just being like,
"I need to go and get my heart straight
"before I can be excited for you
"because I'm actually a little upset."
'Cause I think I really thought God had crocodile arms.
He'd broken through for them that meant he couldn't break through for me.
Right.
Like he used his last miracle on their house.
Right.
That somehow their blessing came at the expense of your blessing.
Right.
And so I remember sort of just being like, it was a sort of a brief conversation.

I don't know what's going on.
I'm really upset about this.
You did much better than I did.
And it's just prayed a bit and whatever.

It was like, that's great and you know, whatever.
And what's funny is, you know, in hindsight,
if the Lord had given us a house during that season,
it would have been much harder to move.
We moved within a year.
We moved like eight months later.
- Right.
- And to a different country, you know?
So it was right that transition was coming.
What we were feeling was coming
and that God was challenging our hearts
that we were gonna have a house, you know,
they was talking to us about all that stuff.
But because we didn't have the timing,
We thought we were getting short changed.
Right.
You know, I again, I think it was Bill Johnson who said this, that the best way to prepare for your own miracle is to celebrate in somebody else's.
Right.
Which is awesome.
But it does drive up that whole thing of the fallacy that somehow other people's blessings come at the expense of ours.
Right.
Right.

What you're seeing right now is what's possible.
Right.
My God is still in the business of giving people houses.
Yeah.
You know, that can be your heart response or can be like,
"Come on, God, why them and not me?
I prayed longer. I wanted it more or whatever."
Right.
But when that happens, it usually indicates
I dull train our heart.
Right.
That the very thing God would love to do
would actually be an idol to us.
So he's just using delay.
Yeah.
I'm sure it indicated a whole bunch of things in my heart.
The other funny thing in that season was,
you know, God was saying, "I want you to go dream
about looking at houses. And of course, me being ever so pragmatic, I was like, this seems like a
waste of time because after church, on a Sunday, we'd just drive around all these new developments
in Toronto and look at houses. And you know, one day the Lord came to me and said, Hey, I have a
question for you. And I was like, Oh, what's your question, Lord? He's like, Well, I asked you to
dream and it's like, uh huh. He's like, so why are you just looking at houses in this price range?
And I'm like, Well, that's what's reasonable. That's what we could afford. And the Lord was like,
like you can't afford any of it.
- Right, exactly.
- Why do you narrow it down to a manageable?
Is that what your dreams look like?
Aren't dreams supposed to be--
- Bigger than manageable.
- Bigger than what's potential?
And I was like, oh Lord, already you're doing
a number on my heart.
This is years before any of that would ever manifest.
- Right.
- But yeah, I'm so, it's amazing.
You gotta look back.
I was thinking about when I had finished my school year
in Toronto.
- Yeah.
- And to my other shock, John and Carol on it
are pastors in Toronto.
I had asked them if I could intern with them
and they were like, sure you can.
And so I was getting ready to spend a whole year
traveling around the world with two of my heroes
and my little brain couldn't comprehend what was happening
and at that time at the end of the school,
everybody was asking everybody, what are you doing next?
Have they asked you to be a small group leader?
Are you going home?
Have you got a job?
Are you gonna volunteer at the church?
And I didn't wanna tell anybody what had happened.
Mostly because A, I was fearful.
Like I spoke to John on the Sunday, I was somehow thinking that by Monday he would realize
what a colossal mistake he'd made and cancel it.

And oh, I should have known that there was some mistake.
Or B, I was worried that people would think that somehow I'd manipulated my way into it.
And I'd worm to my way into this.
Or C, I was worried that people would think, well, why you?

I didn't tell anybody and in hindsight,
I realized I completely missed the heart
of the prophetic community.
We had A, pretty much everybody knew
because they're super prophetic
and B, when people did find out,
they were thrilled for me.
They were super encouraging.
- So you missed being able to celebrate a milestone
because of fear?
- Totally missed that.
And I actually judged all my friends
as being judgmental how ironic is that?
So I actually kept something that was huge to me
from the community of people that loved me.
And so I've, I, you know, with hindsight, I've realized, oh, actually, Lord, I, I missed an opportunity to grow.
That's a good one.
Speaking about growing.
Yeah.
I was out in, in Bethel.
I was at one of the leaders in pants a couple of years ago.
And I forget who it was.
One, one of the leaders said, you know, we found that we've had to kiss a lot of frogs to find some princes.
And they're talking about how, you know, when you raise up leaders, you're never quite sure what's going to happen when people get what we call the ring of power.
And I was thinking about how in hindsight we've learned a ton about our own leadership
style and the leadership style of others that we've raised up.
Yeah.
And how important hindsight is in that process.
And I was thinking if we haven't, I'd say this to leaders, if you haven't grown in your
leadership capabilities in the last two years, you're not reflecting enough.
You can't think that you've arrived as a leader.
I'd seriously hope I'm a better leader today than I was two years ago.
Right.
And I certainly hope more that I'll be a better leader in two years time than I am right now.
Oh yeah, yeah.
And that only comes by getting reflection and feedback.
Yeah.
So think about the things that we've learned about Hindsight.
I think one of the biggest mistakes we made was we confused the skill set of requires
to be a son and a daughter for the skill set requires to be a mother or a father.
What do you mean?
Well, so when we moved here, I'd only ever been a son.
Right.
I just thought, oh, it's the same skill set that's required.
Right, right.
Yeah, you're right.
It's not.
Fathers and mothers are hugely intentional.
Yeah.
I had to learn to be intentional.
Yeah.
You know, I just thought everybody would be like me, hey, if you need help, you just
call.
And I realized, no, actually people need nurture.
People need checked in on people need connection.
Yeah.
And I, because I wasn't wired like that and because I'd go and get it, if I needed it,
like if I needed anything from John and Carol, I wouldn't wait for them to come and ask
me about it, I would go to them and say, "Hey, I have a question about this."
Or, "What would you say?"
They create such an environment where I felt very free to go and speak to them.
Right.
And then when we moved here, I just thought all our leaders would do the same, they would
just approach us.
Right.
But if they'd never been fathered, how would they know to do that?
Right.
So I would just think, "Oh, everything's going great."
And not realizing, "Oh, people are starving for training and teaching and connection and
love."
And like, "Oh, I actually have to be intentional with those things."
So I'd like to apologize to everybody that I learned to pastor and practice being leader
on.
Please forgive us.
Yes.
There's some hindsight for you.
That's a good one.
I was thinking in terms of seasons and not knowing what God is doing.
The other story I thought of was before we got pregnant with Abigail, we would book like
a year and a half in advance to go and travel to.
Right.
sex sake, what we did for a living was we traveled the world literally and spoke at
conferences and churches and schools.
Right.
And so that would all be invitation.
People would phone us up and we would typically book, like you said, six months to a year
in advance where people would say, "Hey, would you come to Australia and do this conference,
or would you come to the UK and do this prophetic seminar?"
Right.
But during this particular season, we were booking even further out than that.
And I remember in the summer, in the one summer, we were trying to book for the following
summer and nothing was happening.

And we'd go, "Oh, great."
And we'd try and plug them in somewhere in this gap where we didn't have any bookings
and we just could not make anything stick.

And I remember thinking like, babe, we're not going to eat like, right, because we had
the trouble here with this large five month gap, right?
We had invitations coming before and invitations coming after, right, but nothing for five
months in the middle.
And it was, it was like packed before and after.
And when we try and offer anything in that five month gap, it just would never work.
And then we found out like months later that we were pregnant and actually that five month
gap was the first five months of Abby's life.
And you know, she was pre-me and there was lots of adjusting to do and you know, to get
on a schedule to get everything figured out so that we could travel with a baby, all that
kind of stuff.
So it was really funny because God actually took care of all of it.
He took care of all the finances.
And in fact, during that time cleared all of our debt, which we were in an enormous amount of debt.
Right. Who would have thought that we stopped working?
We stopped working. I mean, we tried to. And at the end of that season, our debt was paid.
Yeah. That sounds like God. But at the time, we were panicked about that five months. And we were
just like, gosh, God, what is going on? I thought you said you were going to provide. I thought
you said, "X, Y, and Z, I thought blah, blah, blah." And then in hindsight, you look back
and you're like, "God's so perfectly planned everything that we had a five-month gap to
rest and recover and recuperate and figure out having a baby and just enjoy her and both
of us be home and all that kind of stuff." In hindsight, we're like, "Oh, it's the kindness
of God." But when you're heading into that season and not being able to see that, it
seems kind of scary.
The trick of course is hindsight tends to work itself out if we allow it to.
Yeah.
If you don't quit, seriously, if you don't quit in the process, eventually it all becomes clear.
Yeah.
Now, sometimes it doesn't become clear this side of eternity.
But generally speaking, if you wait long enough, you see the hand of God at work in your life.
Right.
The trick is to bring that trust and that faith into the present day.
Right.
where hindsight isn't helping you right now and foresight seems like guesswork.
So that's where you trust.
I try to be obedient. I'm in the midst of it. I don't know how this all works out.
Circumstances seem contrary to my words, but I'm trusting you.
And you can trust because you've built up all these little testimonies of God breaking through.
If you can go back and remind yourself of what he's done before that you didn't see,
and he proved himself faithful.
If you can go back and be thankful and focus on those things,
then you can actually build up or strengthen your trust
and your faith to be able to head into the next season
and know he's still the same God that he was last year.
- Right.
And the way to do that is, like you said,
strengthen yourself and the Lord,
recall to mind the things he's done for you.
But also be in a community where people are sharing
their present day victories.
- Right.
- Because it actually gives you hope.
It gives you confidence.
Okay, God is still in the throne.
Of course, God's still in the throne.
But like I said, we tend to believe whatever weather
report system is speaking loudest to us.
Right.
That's why stillness is so important.
Like father, what are you saying?
Not what is my bank balance saying, not what are my friends
saying, not what is the new saying?
Or those doctors saying, you know, it's so important to have peace
in the word of the Lord.
Yeah.
What about parenting?
What about parenting?
Well, think about what you've learned with a third child
as opposed to what you knew with your first child.
Like for example, when you have your first child,
you don't know if anything you're doing is right
or if it's working.
- Right, yeah.
- You have nothing to compare it with.
- Yeah.

Most people don't care about your parenting ability.
It's a, I promise you.
- Or when you're in a restaurant,
you think that everybody else can hear your kid.
- Right.

By the time you have your second or your third kid,
you've got some hindsight.

Doesn't matter if this next one needs dog food.
It's fine.
It all works itself out.
- I don't remember arriving at the dog food phase,
but anyway.
- You never left them alone with me.
- Oh dear.
- Just kidding.
So there you go, folks.
I don't know where you are right now.
I don't know what's going on in your life,
but I want to encourage you,
take some time out this week
to just have a coffee time with a lord.
If you don't like coffee, substitute it for something nicer.
and just sit and write out some of the experiences
you've been through with God
where you have the benefit of hindsight,
where you get to look back on what you did
and you see the majesty of God weaving together
an amazing story and consider that where you are right now,
your chapter has not been written.
It's still being written and how this chapter ends
is largely dependent on our attitude right now.
So choosing to trust God, choosing to commit to obedience
is super vital for not only getting through the season
but possibly shortening the length of time that you're there.
What does the Joyce Meyer said?
- Absolutely.
- The length of time you spend in the desert
is largely dependent on your attitude while there.
- Right, which is like, oh.
Okay, babe, I have a listeners question for you.
- Pimmy.
- It says, "You mentioned that you had an app
to block spam calls.
I would love for you to just give a list of all, yes, all,
the apps that make your life easier.
I don't know what I don't know.
My future self thinks you as well.
- Perfect.
Well, who should do a podcast all about the apps
that we use that may or may not appeal to some people?
- Yeah, I think some people would tune out right away,
like myself maybe.
(laughs)
- Are you kidding me?
Hasn't your life been improved by the apps?
- Yeah, I like your tan on my phone.
It's really fun. - Okay, the set list
of content tonight, for example.
I'm outside at this wedding,
which is a beautiful wedding.
You were smart, you bought a winner jacket.
I'm sitting there cold thinking,
oh, I wouldn't give for a cup of tea right now.
- So you use that app that turns your phone into a heater
and you shoved it inside your suit jacket.
- No, I use that app that schedules somebody else
to go to Starbucks for me, picks up a cup of tea
and dropped it off from me at the front,
the front steps of the wedding.
- So funny, I had so many people go,
where'd Alan go?
Has he laughed already?
And I was like, no, he's waiting for like an Uber driver
who's dropping off his Starbucks tea
so that he can get warm again.
(laughs)
- So anyway, maybe one day we'll talk about all the apps,
but the app that you're asking about in question
is an app called No More Robo.
And I will put a link to that in the show notes
because it's hard to spell,
but basically it means no more robotic calls.
Is that what it's called?
Robotic calls?
That's all right.
Robo dialers, you know, these computers
that just dial numbers after numbers
and after numbers and spam.
So the app I use is called No More Robo.
It costs about, I think, $3 a month,
and it updates itself every half an hour
with all new numbers.
And since I've been using it,
I've maybe had one spam call.
No false positives, it's brilliant.
I highly recommend it.
- Can you put it on my phone?
- Oh, wait, I'm so sorry.
I thought you were the person that would be bored
to tears if I talked about the apps that I just--
- You're supposed to be doing my tech support.
What do you think I pay you the big bucks for?
- Well, you know what you should tune in
in a couple of weeks when we talk about apps.
See?
You might learn something.
- Yeah, whatever, I just put it on my phone.
(laughs)
- All right, baby, let's wrap this bad boy up.
What do we need to say?
Our applications for our school of supernatural life
are open.
- Yep, year one and year two.
- If you'd like to spend eight months with us
in gorgeous Franklin, Tennessee learning all about
the wonderful presence of God,
his nature as a loving father and being empowered to walk
in the gifts of the Holy Spirit,
we would love you to come and consider doing our school.
If you've done year one, you're welcome to do year two.
If you haven't done our school,
You can learn more about it at graceinner.us/school.
- The show notes for this evening,
you can find at<EMAIL_ADDRESS>- And then lastly,
A.G.'s book, "Finding Father is Back in Stock"
at our website.
If you haven't read "Finding Father",
it is a 12 week study guide designed
to increase your intimacy with God.
In the book, it teaches you how to soak,
how to hear the voice of God,
and more importantly,
how to redefine your understanding of who God is
and what he's like.
I highly recommend it, not just saying that
because I married to the author, but we've got so many five-star reviews from people all over the world who've loved that book.
I'll put a link to it in the show notes.
Thanks, babe.
I also wanted to let you know that for those of you that I'm asking when the video course will be available, we don't actually know yet, probably in the next couple of months.
But as soon as we do have it ready to go, we will be sure to let you know both on the podcast and through the website.
And as we wrap up, we're constantly encouraged every week.
We seem to meet people who are saying, "Hey, I listened to your broadcast," or "So
and so suggest I listen to your podcast."

So if you can think of somebody that would greatly benefit from listening to this episode,
they'd really encourage it and we'd sure encourage it if you'd recommend our podcast.
If you could do that for us, it would make everybody's world a little bit brighter.
Thanks for tuning in.
We'll be back next week.


--- layout: single author_profile: true ---
B'ruchim HaBaim!
Welcome to Caleb + Tev, the online home of Ron (Caleb) and Brian (Tev), a progressive Jewish gay couple currently living in San Francisco.
You can reach our blog and our YouTube channel through the links above.


Welcome
I am a PhD student under the supervision of Prof. Frans A. Oliehoek at the Department of Intelligent Systems, Delft University of Technology. Prior to this, I received my Master of Science (with distinction) from University of Oxford and my Bachelor of Science (with first class honours) from University of Liverpool. I am generally interested in scalable sequential decision making and in particular, making online planning fast with abstractions.
News
- 2022/09: One paper published at Neural Computing and Applications (NCAA).
- 2022/07: We (as a team of one person) won the third place in the IJCAI 2022 Neural MMO Challenge (among 100 teams and 500 participants)! [link]
- 2022/05: One paper accepted at ICML 2022.
- 2022/04: One paper accepted at IJCAI 2022.
- 2022/03: One paper accepted at the ALA workshop at AAMAS 2022.
- 2022/03: We won the joint first place in the Pathways to Net Zero RangL Challenge! [blog]
- 2022/01: Daniele Foffano, the first master student I co-supervised, had graduated. He will move to Karlsruhe Institute of Technology for his PhD study.
- 2020/09: One paper accepted at NeurIPS 2020.
- 2020/06: I attended MLSS 2020 (virtual at Tübingen). Acceptance rate: 180/1300+.
- 2020/05: One paper accepted at UAI 2020.
- 2019/10: My first (workshop) paper accepted at the Learning Transferable Skills Workshop at NeurIPS 2019.


The description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
The Ministry of Science and Higher Education (MoSHE), established by proclamation number 1097/2018 in October 2018, is responsible to lead the development of science, higher education as well as the technical and vocational education and training (TVET) in Ethiopia.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Visit websiteLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Visit websiteLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Visit websiteDuring the visit, her Excellency Prof. Hirut W/Mariam, Minster of Science and Higher Education said Business is not as usual in Ethiopia. Briefing the strategic goals of the Ministry, Prof. Hirut W/Mariam noted the importance of international cooperation in order to fill the gaps observed in promoting quality ...
During the visit, her Excellency Prof. Hirut W/Mariam, Minster of Science and Higher Education said Business is not as usual in Ethiopia. Briefing the strategic goals of the Ministry, Prof. Hirut W/Mariam noted the importance of international cooperation in order to fill the gaps observed in promoting quality ...
GVS is a national online document verification system that allows organizations to compare a person's information with a government record so as to assure that the information is not fraud.
Visit websiteSystem targeting on solving the time-consuming process of allocating applicants on government sponsored education for masters and PHD from government universities.
Visit websiteA web application for governmental organizations to post Vacancies and collect CV and other pertaining documents from potential applicants. And also it is a platform where users register as applicants can go through vacancy posts, get notified of new vacancies and get detailed information.
Visit websiteThis portal is used to collect inquiries that are needed by the Ministry of Science and Higher Education. Results of the inquiries can be used in policy making process and to check the effectiveness of implemented plan.
Visit website


Hi {{ user.firstname }},
Some of your files have gotten old and will removed if not changed within the next 30 days.
Here the list of files:
{{f}}
Cheers!
Sincerely,
Flaski


This skin can be build on JW Player 6 or added to your player embeds. After upload it to your webserver, simply set the skin configuration option to the path where you uploaded the XML file.
Here is an example embed code of Flat Skin for JW Player 6 using the JW Embedder. This is a specifically if you are looking for: Seamless failover between the Flash and HTML5 modes and Automatic integration with the JavaScript API.
Add library to

The player will be placed here

If you have any questions that are not answered in this userguide, or any bugs to report, please contact me via email through my ActiveDen profile. Contacting through ActiveDen will prove that you purchased the file.


Katy Huff is a
Postdoctoral Scholar and BIDS Data Science Fellow in Nuclear Engineering at
the University of California – Berkeley. She recently authored "Effective Computation in Physics: Field
Guide to Research in Python." She received her Ph.D. from the
University of Wisconsin – Madison, where she helped found The Hacker Within.
Katy is a former Chair of the Software Carpentry Foundation's Steering Committee.
Maintainer: Testing and Continuous Integration with Python


Exec
and You
To execute a script, simply add the following code to your
game.cs script in <your T2D Game Projects Directory>/<your T2D
Game>/game/gameScripts/game.cs :
exec("./aScript.cs");
Obviously, change "aScript" to the name of the script you want to execute.
You probably want to put this line at the top of the startGame function - this
way, your script changes will be recompiled each time you run the game.
Brief Explanation of Exec:
Because game logic should be spread across multiple script files (putting it
all in one file would be a bad idea), TorqueScript needs a way to tell which
scripts need to be prepared for your game. When the file is exec'd, it will be
compiled into a .dso if needed and the file's code will be ready for use with
the rest of your game.
As noted above, for changes to a script to show up in your game, they need to
be exec'd. For this reason, exec statements are often put in the startGame
function in game.cs. startGame is called by the Level Builder every time you hit
play, so the scripts will be recompiled if needed. game.cs itself, however, is
only recompiled when you open that project, so many people simply close T2D and
reopen it (as many of the tutorials do).
Remember exec the next time your script changes aren't taking effect.


--- subject: Google Docs would like to --- Hi {\{firstname\}} Google Docs would like to Read, send, delete, and manage your email Manage your contacts By clicking Allow, you allow this app and Google to use your information in accordance with our privacy policies. You can change this and other Account Permissions at any time. DENY ALLOW
Read, send, delete, and manage your email
Manage your contacts
By clicking Allow, you allow this app and Google to use your information in accordance with our privacy policies. You can change this and other Account Permissions at any time.


Ole Gunnar Solskjaer doesn't feel pressure at Man Utd with Mauricio Pochettino on market
Mauricio Pochettino, who has previously been heavily linked with the Man Utd job, was sacked by Tottenham earlier this week with Jose Mourinho taking his place in north London
by David McDonnell, https://www.mirror.co.uk/authors/david-mcdonnell/Ole Gunnar Solskjaer says he does not feel under extra pressure with former Tottenham boss Mauricio Pochettino now out of work and on the market.

But Solskjaer, who said he welcomed the return of his United predecessor, Jose Mourinho, who has taken charge at Spurs, insisted he does not feel under threat by the spectre of Pochettino.
“No, it doesn't bother me at all,” said Solskjaer. “I've got the best job in the world and if you're in or out of a job, you want this job, so it doesn't really matter whatever happens around it.
“I've got to focus on my job at Manchester United and do it as well as we can.
“I speak with Ed [Woodward, United's executive vice-chairman] and the owners all the time about how we move forward, and that doesn't change if others change managers.
“It's good to have Jose back, definitely, especially for you guys and maybe for me, because you can talk and write about everything else.
“For Mauricio, it's always sad when one of your colleagues, a good man, loses his job, especially before Christmas, so I wish him all the best.
Asked if he was surprised at Pochettino's sacking, just six months after he guided Spurs to the Champions League final, Solskjaer said: “In football you can never be surprised or shocked, but I've just got to focus on us.”
Solskjaer refused to criticise Nemanja Matic for liking a social media post that suggested Mourinho would try to sign the United midfielder in January.
The United boss, who had previously called on his players to be boring on social media, said: "That's not a part of being boring when it's like this.
"You like Jose coming back, it's going be a spectacle and a circus and Nemanja has a sense of humour."


val options: TreeGeneratorOptions
Controls the operation of the tree generator.
options - Controls the operation of the tree generator.
options


The Browser Object Model (BOM) allows JavaScript to "talk to" the browser.
There are no official standards for the Browser Object Model (BOM).
Since modern browsers have implemented (almost) the same methods and properties for JavaScript interactivity, it is often referred to, as methods and properties of the BOM.
The window object is supported by all browsers. It represents the browser's window.
All global JavaScript objects, functions, and variables automatically become members of the window object.
Global variables are properties of the window object.
Global functions are methods of the window object.
Even the document object (of the HTML DOM) is a property of the window object:
is the same as:
Three different properties can be used to determine the size of the browser window (the browser viewport, NOT including toolbars and scrollbars).
For Internet Explorer, Chrome, Firefox, Opera, and Safari:
For Internet Explorer 8, 7, 6, 5:
A practical JavaScript solution (covering all browsers):
The example displays the browser window's height and width: (NOT including toolbars/scrollbars)
Some other methods:


What is your long term goal and or career pathway?
I want to create communication platforms to support community and culture.What skills (non-technical - human skills) would you like to see developed in yourself while at EDA?
I would like to be more motivated for working in a team. I know that this kind of work (and most kinds of work) require many people to do the job and to do it well. I lack trust in others to follow through or be invested in making things of a high quality and standard therefore have trouble relinquishing control.
A description of your own strengths and limitations
Based on the above description, a commitment to how you will manage your workload in this programme. This should include - an explanation of how you will manage yourself to work productively and safely with other learners, facilitators and industry/community representatives.
I think it would be good practice to pursue someone else’s vision or idea first before diving straight into a leadership role.
A commitment as to how and where you will seek help in a timely way.
I will seek help from Dan and Kelly.
A description of what you expect from the facilitation team.
My expectations of the facilitation team changes from day to day, week to week, depending on what the course load is. Is this question asking about while I'm doing foundations? Or for what I expect of the Bootcamp. This question is unclear.
Any scheduling information such as block-out times when you are committed to other things. For example, you might have whanau commitments such as school drop-offs. It’s important to plan these in.
March 1st is blocked out for performance work.


Sitting on my flight back from the mentor summit at Google HQ seems to boost my writing power. Although I wanted to get some coding done, I'm mainly writing E-Mail. But I digress, cause I wanna take the chance to summarize a couple of ideas and compile a list of lesson learned items which floated around in the various sessions. Btw. it was an awesome event and I'm really grateful that I could attend it as an Eclipse rep.
Application review phase:
-
Get the applications in a lot earlier to have a longer review period
-
Assign mentors and students based on technical but also on social grounds
- Have direct, non text base communication (if possible video)
-
Find a hook to the reptilian brain (imprinting) to understand how the student ticks
-
If you as a mentor are euphoric about the student and the application, let somebody else do a review as well. The review process should be unbiased
-
Most successful apps came from the student!!!
-
Check how many alterations have been done to the app. The more alterations there are, the more thought has been given by the candidate
-
Let the candidate take an entry level test if his/her abilities aren't known to the reviewer
Community building:
-
It should be mandatory to hang out on IRC, IM or whatever communication form is most common. In our case it is probably IRC
-
After accepting the students and assigning them to their mentor, do a big group introduction. Again, it shouldn't be text based
-
Have the formal things done fast. It is really frustrating to wait weeks for commit access to the SoC repository
Monitoring and rating progress:
-
Define precise project deliverables upfront, though they might change over time
-
Frequent checkins should be mandatory. If there is no checkin in a week, find out what's going on
-
Have a transparent review process by providing check-in statistics (DASH/CIA/...)
- Sidenote: Expand DASH to not just monitor CVS/SVN but to also gather statistics about contributions out of Bugzilla, newsgroups and mailinglists...
- Let the student take the test driven development model
After the term ends:
- If all deliverables have been successfully solved by the student, have some follow up tasks in the pocket to keep the student involved with the project. In the end she/he should become a permanent contributor/committer
This collection is certainly far from being complete. This said, the moment the official session notes will be made available, I will add a link to this post. They are currently kept in the non public GSoC wiki.


The Name Constraints test suite is a collection of tests for HTTPS clients implementing verification of the Name Constraints certificate extension. This extension is placed on CA certificates which restricts the DNS/IP space for which the CA (or sub-CAs) can issue certificates. One of the most common use-cases is for CAs to cross-certify another CA, but for a limited namespace. For example, Acme Corp. could sign a certificate for an intermediary CA but include a Name Constraints extension which blacklists the intermediate CA from signing certificates for acme.com.
Another use-case for the Name Constraints extension (which motivated this project) is as a way to reduce the risk exposure of trusting an internal CA. For example, we could create an internal CA which includes a Name Constraints extension with a whitelist of internal.example.com and <IP_ADDRESS>/16. A user who imports this CA into her browser's truststore can then be confident that this certificate will only be used for internal company pages and IPs and cannot be used to intercept secure communications with external websites.
However, the Name Constraints extension only provides these assurances if we can be confident that HTTPS clients properly enforce them...
In order to verify that the Name Constraints extension protects users from mis-issued certificates, we developed this test suite. As we did so, it became apparent that there are many different implementations of the certificate verification algorithm, each of which has corner cases that are not properly handled. Check out the archived results tab for examples of HTTPS clients with failing tests.
These are some examples of incorrect behavior we have observed:
Although this test suite certainly isn't exhaustive, the hope is that it provides a reference for developers to use in order to help verify that Name Constraints extensions are properly enforced in their TLS implementation.
The Name Constraints extension along with its verification is defined in RFC 5280. Further useful information can be found in RFC 6125 which defines how to identify a server's hostname from certificate extensions.
Browsers can be tested by visiting the test browser tab on this website. Non-browser clients (such as Java and Python) can also be easily tested against the BetterTLS test suite. Check out the testsuites folder of the BetterTLS source repository for examples on how to do so.
To run this test you need to install the root CA for this suite. Make sure you remove it from your trust store afterward. Refresh this page once it is installed.
Windows: If your browser uses Windows' certificate stores then install the certificate in the trusted root store, do not use automatic selection. You may need to restart your browser for the certificate to be immediately recognized.
Sorry, this part of the bettertls.com has been replaced with a static version of the original site; online browser testing is no longer supported.
Please check out the source repository and follow instructions for setting up a local server against which you can run tests.


Ex-Ronaldo Teammate Makes Surprising Ballon D'Or Claim
by Kurt BuckerfieldWith the 2019 Ballon d'Or winner set to be announced early next month, one of Cristiano Ronaldo's former Real Madrid colleagues has made a surprising claim involving the five-time winner of the award.
10 Players Who Left Real Madrid Because Of Ronaldo
The Juventus forward is among those considered as the favourites for the prestigious individual prize, along with the likes of Lionel Messi and Virgil van Dijk.
Ahead of the announcement of the winner on 2 December, ex-Los Blancos goalkeeper Iker Casillas took to social media to surprisingly suggest that if Ronaldo wins the award, it would not make sense due to Van Dijk and Messi beating him to other accolades this year.
Download The Soccer Laduma Social Media App & Earn Airtime for Selfies!
"Van Dijk was the best player for UEFA. Messi was the best for FIFA," he wrote on Twitter, according to Shoot.
"Imagine: if Cristiano wins the Ballon d'Or, it would seem to me that the guidelines we follow in football to give prizes do not have much logic, right? Friday reflection. #HappyWeekend."
Brazil Coach Explains Argument With Messi
Ronaldo has won five Ballons d'Or in his career so far, as has Messi, who last won the prize in 2015.


{% extends 'base.html' %} {% load social %} {% load wegovnow %} {% block title %} | Your profile{% endblock %} {% block main %} {% get_social_apps as all_social_apps %} {% with all_social_apps|exclude_uwum_app as social_apps %}
Please navigate to UWUM profile management to change your user settings.


To wrap your content in a responsive container, use
...

. Check templates section to see live examples.
You can reduce or increase the container width by adding a mod: mod-xs
, mod-sm
, mod-md
, mod-lg
, mod-xl
, mod-xxl
or mod-xxxl
.
If you have a sticky header or filter, you can add an extra space using this mod: mod-withStickyHeader
.


{% extends 'base_test.html' %} {% load i18n %} {% block additional-headers %} {% endblock %} {% block content %}
You are about to delete a community orientation info, this procedure is irreversible.
Do you want to proceed?


Notes
| Created | Expires | ID |
|---|
Your identities
| Name | Fingerprint | Usage | Operations |
|---|
About
Help
MIT License
The MIT License (MIT) Copyright (c) 2015 Mika "Fincodr" Luoma-aho Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


 title="photo sharing">
 our waste disposal consultant, originally uploaded by owt.

 Smooothe

G-mail … Hybrid Mail
Watch closely there, I said G-mail not Gmail. :) G-mail is a german service that now went into beta. The people behind it from Giersch Ventures actually sued Google because they had registered G-mail before Google and hence people who register for Gmail (Google’s) in Germany now, will get an email address @googlemail.com :)
Well now G-mail has gone into beta and it’s actually an interesting service. They are only online in the small town of Itzehoe and offer Hyprid Mail, meaning that you can get all your mail in your inbox, including snail mail, even making 1 cent per snail mail delivered electronically. It will be interesting to see if it works out.
Entrepreneur Exchange
Ross posted about Entrepreneur Exchange, which is a wiki everyone can contribute to, becoming a resource for new entrepreneurs learning from each other. Some nice stuff on there already.
Google Announces Feedreader
Google has opened their FeedReader to the public and comments are coming in. I tried it out and it is very nice, but I am not leaving Bloglines just yet, mostly for one simple feature, being able to group feeds into folders, easily reading the folders instead of one feed. I have groups for people, tech news, and other things, which allows me to easy and swiftly skim through the 150 feeds I am not subscribed to. In Google’s Reader I need to read them one by one.
Trying Out Chitika
There is a new play in the contextual advertising town called Chitika that seems to be working really well, at least it is paying Jeremy well. I just signed up and put it on my site to see how it works out. A nice thing with this one is that you can target keywords directly. You can kind of sell products without careing about where the product is linked to. Great stuff. Here is how you do it:

Can I set my own keywords and products instead of contextually targeting products?

 Yes. By default, the products are contextually targeted to your content. If you’d like to set your own query or product, we can do so by specifying it in ch_query javascript param. For example, to target the "canon powershot" camera you would add this line to the javascript code:

 ch_query = "canon powershot";

 One thing I could sell you is my new digital camera, the Canon EOS 350D, an amazing digital slr! Check it out:

MSN adCenter Pilot Expands
Search Engine Roundtable is reporting that the MSN adCenter, their answer to AdWords, Overture, Miva, etc. is expanding into a US trial. Things are hotting up in the space and I am looking forward to seeing them all fight for traffic like crazy.
OpenBC Has a Blog : OpenBlog
Nice to see that OpenBC has a blog called openBLOG. The nice thing is that reading over it for the first time it seems to be written in a rather natural voice and I hope they continue down that path. Congratulations for a successful business, looking forward to reading more about it.
 Alex Tew set up The Million Dollar Homepage as an idea to make money for going to university. The idea was to sell pixels on the homepage for $1 a pixel (actually the minimum is 100 pixels but ok). The site is now over 4 weeks old and he is well over $250.000 in sold pixels!!! Alexa lists him in the movers and shakers at place 4, and actually says he is amount the top 1000 sites on the net now (see here). Congratulations to Alex. Interesting idea that worked out.
Media Night Cologne

 title="photo sharing">
 media night cologne, originally uploaded by owt.

Rollyo - Build Your Own Search
Oliver of agenturblog pointed me to Rollyo. It’s a very interesting new project built upon, so it seems, the Yahoo! search engine API. The idea is that you can choose up to 25 different web sites to search, and Rollyo builds a special search box for you that searches only those sites. I already built a special box that only searches my own sites, which is very nice indeed. They have a good interface too. Check them out.


Examples
Please execute
npm run vite to launch the vite dev server.
Please execute
npm run verify to serve the static examples.
OBJLoader2 / OBJLoader2Parallel
OBJLoader2 basic: [
vite] [
static]
OBJLoader2Parallel basic: [
vite] [
static]
OBJLoader2 usage options: [
vite] [
static]
AssetPipeline
Asset Pipeline Test: [
vite] [
static]
OBJLoader2 Stage (requires extra models): [
vite] [
static]
OBJLoader2 Implementation Verification
OBJLoader2 / OBJLoader parser capability comparison: [
vite]
OBJLoader2 Bug Verification (requires private model files): [
vite]
OBJLoader2 with @react-three/fiber
OBJLoader2 in react with a .jpg texture: [
vite]
OBJLoader2 in react with a .mtl material: [
vite]


Save up to 15% on Gaming Keyboards with these Deals
by Review TeamGaming keyboards refer to the dedicated keyboards with special keys that are used while making swift moves on the screen. They come with backlighting and RGB lighting to make the playing of the game immersive. Some of these keyboards are available with certain unique features like the ability to convert a 96-key device to a 106-key device for gaming. The complete multimedia experience on your system can be gained through the controls set on the keyboards.
Waterproof Gaming Keyboard and Mouse Combo
This waterproof gaming keyboard has been constructed with bold keys that are set in an ergonomic style. The strokes are manual but your fingers won’t feel tired even after hours of playing your favorite game and the palm is also comfortable. The light effects can be adjusted in 16 different ways to give you the glam feeling. The keys can endure millions of presses and the colors won’t fade either. There are provisions to hold your mobile phone as well. This offer on this keyboard includes an LED optical mouse.
This waterproof gaming keyboard mouse combo is selling at $58.41, down from $63.66.
MOTOSPEED Professional Gaming Mechanical Keyboard
This MOTOSPEED professional gaming keyboard has 87 keys and is quite compact because the separate number keys have been eliminated. The manufacturer has brought it to the market after putting it through rough tests to ensure you have a durable keyboard that lasts beyond 50 million keystrokes. The Outemu switches are responsive to the fingers and good to use. You can set the keyboard to different gaming modes offering optimum performance. The keyboard is backlit. You can connect this to any PC running on the Windows platform. You get a 12-month warranty.
This MOTOSPEED professional gaming keyboard can be yours for $42.99, $5.58 down from the original price of $48.57.
VicTsing RGB Mechanical Gaming Keyboard
This VicTsing RGB mechanical gaming keyboard comes with customizable RGB backlighting to adjust the brightness. The blue switches fitted on this keyboard have 2.20.6 mm keystroke trip ensuring accuracy even at the speed you press them. These have been tested for 50 million keystrokes. The 96 keys can be expanded to 106 keys. The keyboard has an anti-ghosting feature and is spill-resistant. So, go ahead and enjoy your coffee as you play your game without worrying you may spill the coffee. You can use them with Windows PCs and Mac systems as well.
This VicTsing RGB mechanical gaming keyboard carries a price tag of $39.99, now against an earlier price of $46.38, a discount of $6.81.


10. Controlling 1-wire devices¶
The 1-wire bus is a serial bus that uses just a single wire for communication (in addition to wires for ground and power). The DS18B20 temperature sensor is a very popular 1-wire device, and here we show how to use the onewire module to read from such a device.
For the following code to work you need to have at least one DS18S20 or DS18B20 temperature sensor with its data line connected to GPIO12. You must also power the sensors and connect a 4.7k Ohm resistor between the data pin and the power pin.
import time
import machine
import onewire, ds18x20
# the device is on GPIO12
dat = machine.Pin(12)
# create the onewire object
ds = ds18x20.DS18X20(onewire.OneWire(dat))
# scan for devices on the bus
roms = ds.scan()
print('found devices:', roms)
# loop 10 times and print all temperatures
for i in range(10):
print('temperatures:', end=' ')
ds.convert_temp()
time.sleep_ms(750)
for rom in roms:
print(ds.read_temp(rom), end=' ')
print()
Note that you must execute the convert_temp()
function to initiate a
temperature reading, then wait at least 750ms before reading the value.