--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/.C3.BCber-tactic.html ---
I'm trying to automate my demo file, for comparison. Is there any reason not to try to write a monster tactic trying all automation we have (except speed reason)? Something like:
meta def tactic.interactive.do_it : tactic unit := do `[try {ext}], `[try {split}], `[apply_eq], `[all_goals {finish <|> tauto <|> tidy}] <|> failure
can do everything that should be automatic in my demo file. It could even do more without the tidy bug.
It uses Simon's apply function equalities tactic
open tactic meta def tactic.interactive.apply_eq : tactic unit := do l ← local_context, l.mmap $ λ h, try $ do { `(%%x = %%y) ← infer_type h, (vs,t) ← infer_type x >>= mk_local_pis, p' ← mk_app `eq [x.mk_app vs, y.mk_app vs], p' ← pis vs p', assert (to_string h.local_pp_name ++ "_ev" : string) p', vs ← intros, vs.reverse.mmap (λ v, do revert v, applyc ``congr_fun), exact h }, return ()
Patrick, you should investigate whether we could put finish
or tauto
inside tidy
. I suspect they would be fine, I've actually never used them!
While you're at it, you should also add cc
and linarith
to über
.
(A big downside, by the way, of using tidy
merely as a tactic script writing tool is that we don't build up a library of test cases for it, making it harder to safely tweak.)
@Scott Morrison, didn't you add congr_fun to solve_by_elim
recently?
@Simon Hudon, yes, but the PR hasn't landed yet.
Aaaaah! That's why!
(A big downside, by the way, of using
tidy
merely as a tactic script writing tool is that we don't build up a library of test cases for it, making it harder to safely tweak.)
We need caching.
(I need to deal with your suggestion to use with
when passing attributes.)
(I've also realised there is a mistake in solve_by_elim
when dealing with multiple sub-goals, more on that later :-)
I keep getting confused with the PRs that haven't been merged yet
I'm trying to automate my demo file, for comparison. Is there any reason not to try to write a monster tactic trying all automation we have (except speed reason)?
Because proofs in first order logic and anything more expressive is undecidable, you can't build a tactic so that, when it fails, you can say "it tried everything". You could always try a little harder, maybe one more call to ext
and then simp
will do it.
@Patrick Massot, another way to achieve this is to add the @[tidy] annotation to tactics that you want to try.
Well, maybe if it fails we could conclude "it tried everything that is straightforward up to a reasonable depth". And then "probably this proof needs an idea".
For example, if you write @[tidy] meta def la := `[linarith]
, then after that tidy
will also try calling linarith.
You could make an import, for example, that super-charged tidy
with all these other things.
Can you just local attibute [tidy] linarith
?
Probably not quite that: the [tidy]
attribute has to be on a tactic unit
or tactic string
.
Any arguments (e.g. to interactive tactics) will break it.
Although this is completely fixable.
(and we should do so at some point...)
I think super-tactics like this are not uncommon
Everyone wants to be the one tactic to rule them all
I think tidy
has too unassuming a name for a supertactic
It should be called crush
or blast
or some similarly violent thing
What about nuke
?
Either that or solve_violently
We're all still waiting for Mjölnir
I was always disappointed by what destruct
does because it feels like a synonym to destroy
. And now we can't use destroy
as the name of a super tactic.
But we can use annihilate
You know Grothendieck's parable about proving strategies?
We should also have soak
But it is very time-expensive
I do not. Please educate me
Might take a couple of years to run. But it will produce a couple 1000 pages of beautiful math in the end....
I'm searching for it... give me a second
:D
A similar approach to by grad_student
https://mathoverflow.net/a/7156
I think soak
or immerse
is different from grad_student
. It is even more expensive...
:avocado:
I love it :D That's what I call putting a problem on the back burner
Blindly adding the tidy attribute to tactics only gives me deterministic timeout
especially with norm_num
and apply_eq
apply_eq
never fails and I believe neither does norm_num
. Does tidy
repeated try its tactics?
 Did you decide to simply skip that step?
Yeah, I'll pick it up later. I have an appointment this morning so at some point I got afraid I would sleep right passed it if I managed to fall asleep so I got out of bed
Yes, tidy relies on the "do something or fail" model for tactics.
Speaking of sleeping.
Do you still see a way to make use of norm_num inside tidy?
You can write a tactic that checks if progress was made and fails if none was made
how? comparing the new goal with previous goal?
And a better solution is to change the behaviour of norm_num... Who wants tactics to silently fail, anyway? :-)
Exactly. It's a fun exercise, perhaps the first tactic I ever wrote. :-)
meta def guard_progress (tac : tactic unit) : tactic unit := do gs <- get_goals, tac, gs' <- get_goals, guard (gs ≠ gs')
It was too fun for Simon to resist
Exactly. It's a fun exercise, perhaps the first tactic I ever wrote. :-)
Which one?
I'm so greedy. Sorry
But you are both maligning norm_num, it can actually fail
I can make up for this theft. @Patrick Massot If you didn't have assert
, assertv
, define
, definev
, note
or pose
, how to you create a new goal and an associated assumption?
What are note
and pose
?
I don't even understand the question
Actually, I don't recognise any of those tactics.
I only use have foo : blah,
Or suffices
Johan, this is all meta
we are discussing tactic writing here, not plebeian proof writing
You got it. There's also a non-condescending way to put it :P
Hopefully the fact I wrote this (instead of Scott, you or any other tactic writer) was a clear enough hint about how to read it :wink:
I thought so too. I just had to react to the tone :laughing:
By the way, those all used to be interactive tactics. I was the one who advocated for simplifying it all down to have
and let
and suffices
because why not
That's a nice improvement
It's especially nice that the same keywords work in tactic mode and in term mode
it's also slightly confusing that the accepted syntaxes are not quite the same
fortunately that issue is easily fixed by working only in tactic mode
Returning to norm_num and tidy, I'm not able to make any progress on getting example : (0 : ℝ) < (1 : ℝ) := by tidy
to work. I tried adding norm_num to the tidy set, either with or without progress guard but no luck
That's annoying
That's probably only me
That's what I meant, you keep complaining ... :stuck_out_tongue_wink:
What's fun is that the guard_progress trick works with apply_eq which is not meant to modify the goal
My tactic writing is pure Brownian motion
Ah! It's time for the next lesson
If we have Brownian motions in mathlib, would this help you with tactic writing :stuck_out_tongue_wink: ?
When you use get_goals
, what exactly does it give you? First wrong assumption: it tells you the proposition that the goal aims to prove.
If we have Brownian motions in mathlib, would this help you with tactic writing :stuck_out_tongue_wink: ?
Sorry to disappoint: my research area is scheduling in distributed and cyber-physical systems (keyword: scheduling) and I'm still constantly procrastinating and arriving late
You may know all the theory there is on a subject, that doesn't mean that you can do the thing yourself
When you use
get_goals
, what exactly does it give you? First wrong assumption: it tells you the proposition that the goal aims to prove.
What it actually gives you is a list of unassigned meta variables. An unassigned meta variable has a type and a set of local constants that it can see. It doesn't have a value yet. Just like a proof goal: you know what you have to prove but you don't have a proof yet.
If your goal is ⊢ succ x < succ y
, you have a meta variable ?m_1 : succ x < succ y
. If you want to apply succ_lt_succ
, It
it's like creating a meta variable ?m_2 : x < y
and then you construct an expression succ_lt_succ ?m_2
which you assign to ?m_1
. Then, you remove ?m_1
from the list of goals and you put ?m_2
instead. The goal changes because you have a different meta variable in the list of goals now.
so the short version is: the goal comes with its local context, right?
That is correct
I should stop playing, and focus on the archaic manual referee process, but I have https://github.com/PatrickMassot/lean-scratchpad/blob/master/src/auto_demo.lean
This is part of my demo file with tidy everywhere
Thanks for all your help!
What about
nuke
?
Can emoji be tactic names?
This has come up before
and I believe there was a trick using quotations somehow
Last updated: Apr 24 2020 at 19:02 UTC


{% set suppress_feedback = true %} {% extends '_layouts/layout.html' %} {% block page_title %}{% endblock %} {% block body_css_classes %}nhsuk-frontend{% endblock %} {% block content %}
To protect others, do not go to a GP, pharmacy or hospital
If you have a high temperature and other symptoms not related to cold or flu, check them using 111 online again.
Testing for coronavirus is not needed if you’re staying at home.
Do not leave your home for 7 days from when your symptoms started, however mild they are.
If your temperature is still high after 7 days, stay at home until it’s back to normal.
The 14-day period starts from the day when the first person in the house became ill.
It is likely that people living within a household will infect each other or be infected already. Staying at home for 14 days will greatly reduce the spread of infection to others in the community.
Minimise as much as possible the time any vulnerable family members spend in shared spaces such as kitchens, bathrooms and sitting areas and keep shared spaces well ventilated.
You can send an isolation note to your employer as proof you need to stay off work because of coronavirus.
You do not need to get a note from a GP.
If you feel you can’t cope with your symptoms at home, or your condition gets worse, use the 111 online service again.
You can read information about what to do when the isolation period ends on NHS.UK


households.behavior.mobility¶
Enable individuals and groups to move for reasons outside of direct life events.
These functions are run by indivudals each year to decide whether they/their family needs to split apart into new households. This is to model conflicts such as brother-brother conflicts after the death of the patriarch, as well as economic mobility and military service.
Each mobility function will need to take a Person and determine whether they need to mvove. If they do, move them.
-
class
behavior.mobility.
MobilityRule
(check_household, who_leaves_house, destination)¶ Define how and why people leave a household or a house.
Mobility rules consist of a context for mobility, a way to identify who will leave, and a destination for them. They then move. The focal person is the new owner of the house.
- check_householdcallable
Takes a person, returns True if it their house will fragment, False otherwise. Can include randomness.
- who_leaves_housecallable
Takes a person, returns who will leave their house. If no eligible to leave, return []
- destinationcallable
Takes a house and a group to move and identifies the house where they will move. The mobility rule does the relocation of people in who_leaves_house.
-
class
behavior.mobility.
MobilityRuleMultiple
(check_household, who_leaves_house, destination)¶ Chain multiple MobilityRules together; carried out in order.
Currently unimplemented.
-
behavior.mobility.
check_household_never_fragment
(person)¶ Return that the household doesn’t fragment.
- personmain.Person
The person whose house to check.
False
-
behavior.mobility.
check_household_overcrowded
(person)¶ Return whether the household is overcrowded.
- personmain.Person
The person whose house to check.
- bool
True if the household is overcrowded, else False.
-
behavior.mobility.
check_household_younger_brothers_disinherited
(person, age_of_majority)¶ Return whether the person is a younger disinherited brother of the owner.
- personmain.Person
The person whose house to check.
- age_of_majorityint
The age of majority (marriage often) for determining whether an adult brother feels the pressure to leave and create a new household.
- bool
Whether the household will fragment.
-
behavior.mobility.
destination_radnom_house_random_village
(house, who_leaves, weighting='population')¶ Pick a random house in a random other village.
Unimplemented.
- housemain.House
The current House to be left.
- who_leaveslist of main.Person
Who will be leaving.
- weighting[‘population’,’empty_houses’,’equal’]
What weighting to use for the random village selection
house
-
behavior.mobility.
destination_random_house_same_village
(house, who_leaves)¶ Find a suitable house in the same village.
- housemain.House
The current House to be left.
- who_leaveslist of main.Person
Who will be leaving.
- house
The new House to move to.
-
behavior.mobility.
destination_random_house_specific_village
(house, who_leaves, community)¶ Select a random house in a particular village (e.g. a destination community)
- housemain.House
The current House to be left.
- who_leaveslist of main.Person
Who will be leaving.
- communitymain.Community
The new community to move to.
- house
The new house to move to.
-
behavior.mobility.
move_family_to_new_house
(person, new_house)¶ Move an individual and their co-resident family to a new house.
- personPerson
A Person who will be moved along with their co-resident family.
- new_houseHouse
The new house into which they will be moved.
This function assumes a patriline/male dominance of household. This needs to be updated as part of the matrilineal update.
-
behavior.mobility.
move_household_to_new_house
(person, new_house)¶ Move an individual and their co-residential group to a new house.
- personPerson
A Person who will be moved along with their co-residential group.
- new_houseHouse
The new house into which they will be moved.
This function assumes a patriline/male dominance of household. This needs to be updated as part of the matrilineal update.
-
behavior.mobility.
move_person_to_new_house
(person, new_house)¶ Move an individual to a new house.
- personPerson
A Person who will be moved along with their co-resident family.
- new_houseHouse
The new house into which they will be moved.
-
behavior.mobility.
who_leaves_house_family
(person)¶ Make the family of the focal person leave.
-
behavior.mobility.
who_leaves_house_non_kin
(person)¶ Recursively check for nuclear families. Return who isn’t related to the rest.
- personmain.Person
The person whose house needs to be checked
list of main.Person
-
behavior.mobility.
who_leaves_house_noone
(person)¶ Return that noone needs to leave.
-
behavior.mobility.
who_leaves_house_young_adult_brothers
(person, age)¶ Determine the family of a young adult disinherited brother
- personmain.Person
The person to check
- ageint
Age of majority/when the person feels pressure to leave the house.
None.


{% extends 'base.html'%}{% load static%}{% load bootstrap4%} {% block content%}
{{project.title}}
Commented by {{review.user}}:{{review.comment}}


| Purchase | Location | Date | Evaluation | Cost (€) |
|---|---|---|---|---|
| Haircut | Hairdresser | 12/09 | Great idea | 30 |
| Lasagna | Restaurant | 12/09 | Regrets | 18 |
| Shoes | Shoeshop | 13/09 | Big regrets | 65 |
| Toothpaste | Supermarket | 13/09 | Good | 5 |
| SUM | 118 |
| Purchase | Location | Date | Evaluation | Cost (€) |
|---|---|---|---|---|
| Haircut | Hairdresser | 12/09 | Great idea | 30 |
| Purchase | Location | Date | Evaluation | Cost (€) |
|---|---|---|---|---|
| Haircut | Hairdresser | 12/09 | Great idea | 30 |


S3 Storage. More...
Public Member Functions | |
| (id) | - init |
| Default constructor for a new object. | |
| (NSString *) | - description |
| Returns a string representation of this object; useful for testing and debugging. | |
Properties | |
| NSString * | bucket |
| The bucket in which to store the AMI. | |
| NSString * | prefix |
| The prefix to use when storing the AMI in S3. | |
| NSString * | aWSAccessKeyId |
| The Access Key ID of the owner of the Amazon S3 bucket. | |
| NSString * | uploadPolicy |
| A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on the user's behalf. | |
| NSString * | uploadPolicySignature |
| The signature of the Base64 encoded JSON document. |
S3 Storage.
| - (NSString * EC2S3Storage.)description |
Returns a string representation of this object; useful for testing and debugging.
| - (id EC2S3Storage.)init |
Default constructor for a new object.
Callers should use the property methods to initialize this object after creating it.
- (NSString *) bucket [read, write, retain] |
The bucket in which to store the AMI.
You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf.
If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.


List of institutional IIIF collection manifests
Click a button to browse down the institution's IIIF collections


BookIT Home
Create Account
First Name
Last Name
Phone Number
Email
Password
Confirm Password
Want to List your Own Events?


Letter Sequence Analysis
问题描述 :
For this problem you are to write a program which accepts as input a text file of unspecified length and performs letter sequence analysis on the text. The program will report the five most frequent letter sequences for each set of sequences from one to five letters. That is it will report the individual characters which occur with the five highest frequencies, the pairs of characters which occur with the five highest frequencies, and so on up to the letter sequences of five characters which occur with the five highest frequencies.
The program should consider contiguous sequences of alphabetic characters only, and case should be ignored (e.g. an `a’ is the same as an `A’). A report should be produced using the format shown in the example at the end of this problem description. For each sequence length from one to five, the report should list the sequences in descending order of frequency. If there are several sequences with the same frequency then all sequences should be listed in alphabetical order as shown (list all sequences in upper case). Finally, if there are less than five distinct frequencies for a particular sequence length, simply report as many distinct frequency lists as possible.
Examples
When a text file containing simply the line “Peter Piper Picks Pickles!” is used as input, the output should appear as shown here:
Analysis for Letter Sequences of Length 1
—————————————–
Frequency = 5, Sequence(s) = (P)
Frequency = 4, Sequence(s) = (E)
Frequency = 3, Sequence(s) = (I)
Frequency = 2, Sequence(s) = (C,K,R,S)
Frequency = 1, Sequence(s) = (L,T)
Analysis for Letter Sequences of Length 2
—————————————–
Frequency = 3, Sequence(s) = (PI)
Frequency = 2, Sequence(s) = (CK,ER,IC,PE)
Frequency = 1, Sequence(s) = (ES,ET,IP,KL,KS,LE,TE)
Analysis for Letter Sequences of Length 3
—————————————–
Frequency = 2, Sequence(s) = (ICK,PIC)
Frequency = 1, Sequence(s) = (CKL,CKS,ETE,IPE,KLE,LES,PER,PET,PIP,TER)
Analysis for Letter Sequences of Length 4
—————————————–
Frequency = 2, Sequence(s) = (PICK)
Frequency = 1, Sequence(s) = (CKLE,ETER,ICKL,ICKS,IPER,KLES,PETE,PIPE)
Analysis for Letter Sequences of Length 5
—————————————–
Frequency = 1, Sequence(s) = (CKLES,ICKLE,PETER,PICKL,PICKS,PIPER)
When the first three paragraphs of this problem description are used as input, the output should appear as shown here:
Analysis for Letter Sequences of Length 1
—————————————–
Frequency = 201, Sequence(s) = (E)
Frequency = 112, Sequence(s) = (T)
Frequency = 96, Sequence(s) = (S)
Frequency = 90, Sequence(s) = (R)
Frequency = 84, Sequence(s) = (N)
Analysis for Letter Sequences of Length 2
—————————————–
Frequency = 37, Sequence(s) = (TH)
Frequency = 33, Sequence(s) = (EN)
Frequency = 27, Sequence(s) = (HE)
Frequency = 24, Sequence(s) = (RE)
Frequency = 23, Sequence(s) = (NC)
Analysis for Letter Sequences of Length 3
—————————————–
Frequency = 24, Sequence(s) = (THE)
Frequency = 21, Sequence(s) = (ENC,EQU,QUE,UEN)
Frequency = 12, Sequence(s) = (NCE,SEQ,TER)
Frequency = 9, Sequence(s) = (CES,FRE,IVE,LET,REQ,TTE)
Frequency = 8, Sequence(s) = (ETT,FIV)
Analysis for Letter Sequences of Length 4
—————————————–
Frequency = 21, Sequence(s) = (EQUE,QUEN)
Frequency = 20, Sequence(s) = (UENC)
Frequency = 12, Sequence(s) = (ENCE,SEQU)
Frequency = 9, Sequence(s) = (FREQ,NCES,REQU)
Frequency = 8, Sequence(s) = (ETTE,FIVE,LETT,TTER)
Analysis for Letter Sequences of Length 5
—————————————–
Frequency = 21, Sequence(s) = (EQUEN)
Frequency = 20, Sequence(s) = (QUENC)
Frequency = 12, Sequence(s) = (SEQUE,UENCE)
Frequency = 9, Sequence(s) = (ENCES,FREQU,REQUE)
Frequency = 8, Sequence(s) = (ETTER,LETTE)
题目链接：http://acm.hit.edu.cn/hoj/problem/view?id=1604
本题继续练习二分。
这题太恶心了，精度卡的，足够把人烦死，WA了N次。
注意一个重要的地方就行了使用%.nlf的时候，其实是会四舍五入的。这时倒不如手工来算。
注意标注的两个要点：
上代码：
#include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> using namespace std; long long array[10003]; int s = 10000; int n,k; bool cmp(long long a,long long b) { return a>b; } int calc(long long m) { int p = 0; for(int i=0;i<n;i++) { p += array[i]/m; } return p>=k; } int main() { #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif int l,r; int ans; double a; while(scanf("%d %d",&n,&k) == 2) { ans = 0; for(int i=0;i<n;i++) { scanf("%lf",&a); array[i] = (a+1e-8) * s;//要点一 } sort(array,array+n,cmp); l = s/100; r = array[0]; while(l<=r) { long long m = (l + r)/2; if(calc(m)>0) { l = m+1; ans = m; } else { r = m-1; } } //要点二 int th = ans/10000; int hu = (ans - th * 10000)/1000; int te = (ans - th * 10000 - hu * 1000)/100; printf("%d.%d%d\n",th,hu,te); } return 0; }
解题转自：http://blog.csdn.net/niuox/article/details/8536029
为什么暴力求解方法循环到sqrt(n) 就可以了呢
这道题目的核心一句话是：取还是不取。
如果当前取，则index+1作为参数。如果当前不取，则任用index作为参数。
打字员路过。。。。。。算法是啥。。。能干嘛。。。。。。。。能吃么。。哎
学习了
有意思，有难度
A猴子认识的所有猴子和B猴子认识的所有猴子都能认识，这句话用《爱屋及乌》描述比较容易理解……
#!/usr/bin/env python def cou(n): arr = [1]
楼主你能把scanf( "%d%*" ,&T );中%*的用法详细说明吗
为什么暴力求解方法循环到sqrt(n) 就可以了呢
为避免精度问题，PI值请使用arccos(-1)。应该是acos
0000
大哥，你复制也看看是不是这题的答案才复制吧。
算法还停留在大学的知识中


{%extends "base.html"%} {% block content %}
Instructor Name: {{instructor.name}}
Email: {{instructor.email}}
Phone: {{instructor.phone}}
Office Hours: {{instructor.office_hours}}
Department: {{instructor.department}}
School: {{instructor.school}}
Twitter Username: {{instructor.twitter_id}}
View Appointments View Announcements Take an appointment


--- layout: archive author_profile: true --- {% include base_path %}
I am currently a Software Development Engineer at Amazon and before that I was a Postdoc at Inria in the Titane team.
My research focuses on application of geometry for computational science. I am interested in both its theoretical (computational geometry, computational topology) and applied aspects (geometry processing, urban reconstruction).
I am now discovering the fascinating world of Machine Learning and distributed computation.
Additional info :


---
layout: post
title: ! 'DIY: Honey and Oatmeal Face Scrub'
tags:
- DIY
status: publish
type: post
published: true
meta:
_yoast_wpseo_linkdex: '85'
_edit_last: '2'
_yoast_wpseo_focuskw: honey and oatmeal face scrub
_yoast_wpseo_title: Honey and Oatmeal Face Scrub
_yoast_wpseo_metadesc: Honey and Oatmeal Face Scrub.
_yoast_wpseo_meta-robots-noindex: '0'
_yoast_wpseo_meta-robots-nofollow: '0'
_yoast_wpseo_meta-robots-adv: none
_yoast_wpseo_sitemap-include: ! '-'
_yoast_wpseo_sitemap-prio: ! '-'
_yoast_wpseo_canonical: ''
_yoast_wpseo_redirect: ''
_thumbnail_id: '6211'
_yoast_wpseo_metakeywords: ''
---
Honey and Oatmeal Face Scrub
My BFF and a beautiful bride in the making, shared some of her natural recipes. Something thats quick, easy and readily available in the kitchen. So we start our DIY series with the easy and effective Honey and Oatmeal face scrub.
A wonderful combination that both, pampers and nourishes your skin. It's extremely economical and something you can make in your own home.
What you need:
DIY: Take about a quarter cup of plain oat meal, you can blend this with a hand belender or a mixer to get it to a powder form or go right ahead with the oat meal just as it is. A little granular that is. Mix this with about one spoon of honey and a little water as needed to get consistency.
I recommend leaving this mixture for about an hour so that the oatmeal absorbs the honey. If the oatmeal is in the granular form it will soften up. You can now massage this mixture into your skin, as you go about doing this make sure to use only the tips of your fingers and move in a circular pattern. Let your skin soak in the honey while the oatmeal works its way through dead skin, bacteria and black heads. Both these magical ingredients are known for their anti-inflammatory properties they also attack acne, blemishes and soothe suburns. Wash this off with cold water, and dab on a toner or rose water. It leaves your skin so soft, radiant and deeply cleansed and nourished.
*Would you like to see more DIY, quick and easy ones.


Home
Pizza Dough
Banana Bread
Bechamel Sauce (Basic White Sauce)
Useful Recipes
Here is a collection of recipes that I have found to be useful.


Main Banner
YOU DREAM
WE <code>
Text Section
As a digital agency based in London, Ontario, we operate in that exciting space where design, branding, technology and marketing intersect.
Coffee always helps it, of course. :)
Services
The world moves so fast, there are always new technologies emerging and it’s our job to harness them and make them work for you. We help our clients move to new horizons and new markets, to secure new online customers and to have a professional image where it matters – in front of a world-wide audience.
Websites that drive results
Websites should measurably drive leads, sales, and deeper engagement. Websites shouldn't just look pretty. A brand's website needs to act as a grow engine, powering lead generation, and sales nurturing.
Design must have purpose
Our work embodies the intersection of design, technology, content, and marketing. We design and build websites to impact sales, advocacy, and lead generation.
Branding to Technology
Octopx helps technology companies and brands attract leads, customers and advocates. We work with tech products, IT companies and startups to build a solid and scalable marketing foundation.
Projects
Our Team
Meet out professionals.
Melissa Fripp
Melissa is passionate by photography and design. She started her career as a front-end developer and worked her way into the role of UI/UX Designer by having an opinion on just about everything.
Jay Levin
Jay is one of our creative designers who specializes in all things digital, print and UI/UX related. His routine is creating beautiful branding, discovering inspiring designs, visualizing ideas and enhancing designs.
Shaun Giles
Shaun is a hard-core techie who loves analytics and beer. His unique combination of database experience and application security translates remarkably well to the technical aspects of website development.
Melissa Fripp
Director of Design
Melissa is passionate by photography and design. She started her career as a front-end developer and worked her way into the role of UI/UX Designer by having an opinion on just about everything.
Her job centers around usability and accessibility, website aesthetics, coding standards and UX, applying these aspects to each website, providing a seamless and user-friendly result for our clients.
As a self-taught coder, she is not only intuitive with the functional aspect of a website but her eye for design is something that allows her to deliver solutions that are interactive and aesthetically awesome.
Jay Levin
UX/UI Specialist
Jay is one of our creative designers who specializes in all things digital, print and UI/UX related. His routine is creating beautiful branding, discovering inspiring designs, visualizing ideas and enhancing designs to be the best they can possibly be.
He's always looking for the latest software and gadgets to show off his designs. Seeing a design is not always enough, sometimes you need to interact with it to get the full experience.
With a solid background in graphic design, making the complex simple, inspirational and easy on the eye is what Jay does best.
Shaun Giles
Development Guru
Shaun is a hard-core techie who loves analytics and beer. His unique combination of database experience, application security and project coordination translates remarkably well to the visual and technical aspects of website development.
Holding a Degree in Computer Science, he started his career in Assembly. With time he started developing robust applications in multiple CMSes and frameworks.
Shaun has an inquisitive mind and get-it-done attitude. He loves to be organized and excellently manages project deadlines.
Contact us
We want to hear your ideas!


Select Reporting Platform
Choose QS report
Select Dashboard
Choose dashboard
Help & Tutorials
Choose guide
Your browser does not support ifames.


{% load i18n horizon %}
{% blocktrans trimmed %}Select which plugin and version that you want to use to create your cluster.{% endblocktrans %}


For each tasklist in the imported data, create a new tasklist containing the imported tasks for that tasklist.
NOTE: Google allows duplicate tasklists names. If a tasklist already exists with the same name as an imported tasklist, the import process will simply create a new tasklist with the same name. Existing tasklists will not be altered. The net result will be two tasklists with the same name; one with the existing tasks, and one with the imported tasks.


Please refer to TEP 115 for more information about this component and its
intended use.
This component povides a power management policy for managing the power
states of non-virtualized devices. Non-virtualized devices are shared
using a parameterized Resource interface, and are powered down according
to some policy whenever there are no more pending requests to that Resource.
The policy implemented by this component is to delay the power down of a
device by some contant factor. Such a policy is useful whenever a device
has a long wake-up latency. The cost of waiting for the device to power
up can be avoided if the device is requested again before some predetermined
amount of time.
Powerdown of the device is done through the SplitControl
interface, so this component can only be used with those devices that
provide that interface.
For devices providing either the AsyncStdControl
or
StdControl
interfaces, please use either the
AsyncStdControlPowerManagerC
component or the
StdControlPowerManagerC
component respectively.


 If you aren't involved in some way, you're missing out on a great resource. We're glad to be apart of the world wide herd and have been able to make so many great friends.
- PHP.UserGroup - World Map of PHP User Groups
- PHP Women - An inclusive, global user group providing a support network within the PHP community.
- User Group Events - Worldwide PHP event calendar.
- Conferences Call for Papers - Submit to conferences and help teach PHP to others
- NomadPHP - PHP User Group for those those without local groups. (And to extend those that do!)
- PHP The Right Way - New to PHP? Old Hand? Start / Refresh Here