--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/tfae.20bug.html ---
Minimized from the open maps thread:
example (α : Type) (P Q R : α → Prop) : tfae [∀ x, P x, ∀ x, Q x, ∀ x, R x] := begin tfae_have : 1 → 3, by sorry, tfae_have : 3 → 1, by sorry, tfae_have : 3 ↔ 2, by sorry, tfae_finish, end
fails with: exact tactic failed, type mismatch, given expression has type
(∀ (x : α), Q x) ↔ ∀ (x : α), R x
but is expected to have type
(∀ (x : α), Q x) ↔ ∀ (x : α), P x
I'm on it
Note that removing the forall hides the issue
Does it? That's odd
maybe not
I changed many times what I tried
And also, undo in VScode vim extension is completely crazy, you never know how many steps you will go back
Wow, I see completely random behavior
I have a series of test cases, restarting Lean server changes the set of failing tests randomly
Heisenbugs!
A Heisenbug in a theorem prover — the irony
My test file is
import tactic.tfae example (P Q R : Prop) : tfae [P, Q, R] := begin tfae_have : 1 → 2, by sorry, tfae_have : 2 → 1, by sorry, tfae_have : 3 ↔ 1, by sorry, tfae_finish, end example (P Q R : Prop) : tfae [P, Q, R] := begin tfae_have : 1 → 2, by sorry, tfae_have : 2 → 1, by sorry, tfae_have : 1 ↔ 3, by sorry, tfae_finish, end example (α : Type) (P Q R : α → Prop) : tfae [∀ x, P x, ∀ x, Q x, ∀ x, R x] := begin tfae_have : 1 → 2, by sorry, tfae_have : 2 → 1, by sorry, tfae_have : 1 ↔ 3, by sorry, tfae_finish, end example (α : Type) (P Q R : α → Prop) : tfae [∀ x, P x, ∀ x, Q x, ∀ x, R x] := begin tfae_have : 1 → 2, by sorry, tfae_have : 2 → 1, by sorry, tfae_have : 3 ↔ 1, by sorry, tfae_finish, end
Creating and deleting a line between two examples also changes what works
Can anyone see that, or is it only my computer going crazy?
I can reproduce
Creating and deleting lines changes what works nondeterministically.
I guess meta-land allows non-deterministic algorithms
I don't get non-deterministic behavior with that code. I'm in emacs.
Right... we need a tactic that will first toss a coin to decide if it will actually help you :upside_down:
I have such tactics
we see that
@Simon Hudon Do you get any errors at all with that code (apart from the sorries)?
Yes, it fails deterministically
@Patrick Massot I'll remember that
And also, undo in VScode vim extension is completely crazy, you never know how many steps you will go back
This annoys me to no end as well. However it seems that VS code's built-in undo (cmd+z on mac, ctrl+z on other systems) works independently and seems to function properly.
Ok now I see the non deterministic behavior. That looks weird. I think it's because some vertices are being ignored and because they are stored in a hash table and their hash code probably depends on the memory address of the expressions which changes from run to run.
is this because of ref
?
I don't think so
I'm only using expr
as a key in hash tables
In the mean time, I'd like to sorry this tfae
and move on. How to you actually use a tfae
statement? I don't see anything in the docs
That's a correct use of tfae.
tfae.out
is probably what you want. It's mentioned obliquely in the docs: "In data/list/basic.lean
there are propositions of the form..."
you state follow up equivalences you are interested in and refer to the elements of the list by their index
and use those numbers in tfae.out
With one added oddity: the indices are 1 ≤ i ≤ xs.length
rather than 0 ≤ i < xs.length
I can't use it, probably because of parameters. Compare:
import tactic.tfae open list constants (α : Type) (P Q R : α → Prop) lemma eqv (x : α) : P x ↔ Q x := sorry example (x : α) (h : P x) : P x := begin rw eqv at *, assumption end lemma eqvs (x : α): tfae [P x, Q x, R x] := sorry example (x : α) (h : P x) : P x := begin rw tfae.out (eqvs ) 1 2, assumption end
Sorry, my comment was misleading: the indices start at 1 in the proof, not when you use the theorem.
Now that I'm saying, I think we should remove that oddity.
Can you fix my example above?
rw tfae.out (eqvs ) 0 1,
doesn't work
What error do you get?
Sorry I wasn't clear. You can't use it directly as a rewrite rule, you have to restate the theorem and prove it by tfae.out
theorem eqvs_PQ (x : α) : P x ↔ Q x := (eqvs x).out 0 1 theorem eqvs_PR (x : α) : P x ↔ R x := (eqvs x).out 0 2
Thanks. It's somehow disappointing
Arg, I'm super late
Oooh, that's disappointing indeed.
Would something like erw
be able to deal with this?
What if you could do: from_tfae h : eqvs 0 1
first to add an assumption h
with the right equivalence?
We need a rw
on steroids. One that will use more power to do the job. Like simp
it should dive into binders etc, so that we no longer need to do the conv
dance. And it should also unpack this stuff from tfae.out
so that it can just use it to rw
.
@Simon Hudon Yes, you could just do have : P → Q := tfae.out 0 1
and then rw this
.
But it is too verbose.
Yes. It's confusing... mathematicians keep complaining that proofs are too compact and unreadable in term mode. Otoh we love the brevity of informal maths...
And also, undo in VScode vim extension is completely crazy, you never know how many steps you will go back
This annoys me to no end as well. However it seems that VS code's built-in undo (cmd+z on mac, ctrl+z on other systems) works independently and seems to function properly.
@Bryan Gin-ge Chen Gabriel just told me to use the trick described in https://github.com/VSCodeVim/Vim/issues/1490#issuecomment-352167221
@Simon Hudon How are things going with tfae
? Is there something blocking progress? I'm currently stating 5 equivalent conditions for a presheaf to be a sheaf. I think tfae
could increase the user experience :smiley:
I haven't fixed the bug yet, I was under the impression that it didn't always manifest and tfae has been merged so you should be able to use it and cross your fingers.
I can still see the bug using the latest mathlib.
import tactic.tfae example (P Q R : Prop) : tfae [P, Q, R] := begin tfae_have : 1 → 2, by sorry, tfae_have : 2 → 1, by sorry, tfae_have : 3 ↔ 1, by sorry, tfae_finish, end
doesn't work here
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


---
page:
title: "Moor - Reactive, typesafe persistence library for Dart"
template: layouts/home.html
path: ""
---
{% block "blocks/cover.html" title="Moor: Persistence library for Dart" image_anchor="top" height="med" color="indigo" %}
Learn moor
Get from pub
With a fluent query api, a powerful sql analyzer, auto-updating streams and much more,
moor makes persistence fun. Scroll down to learn about moor's key features, or visit the
getting started guide for a step-by-step guide on using moor.
{% endblock %}
{% block "blocks/lead.html" color="dark" %}
Moor is an easy to use, reactive persistence library for Flutter apps. Define tables in Dart or
SQL and enjoy a fluent query API, auto-updating streams and more!
{% endblock %}
{% block "blocks/section.html" color="primary" %}
{% block "blocks/feature.html" icon="fas fa-lightbulb" title="Declarative tables, fluent queries" %}
{% block "blocks/markdown.html" %}
With moor, you can write your database tables in pure Dart without having to miss out on
advanced sqlite features. Moor will take care of creating the tables and generate code
that allows you run fluent queries on your data.
[Get started now]({{ "docs/Getting started/index.md" | pageUrl }})
{% endblock %}
{% endblock %}
{% block "blocks/feature.html" icon="fas fa-database" title="Prefer SQL? Moor got you covered!" %}
{% block "blocks/markdown.html" %}
Moor contains a powerful sql parser and analyzer, allowing it to create typesafe APIs for all your sql queries. All sql queries are
validated and analyzed during build-time, so moor can provide hints about potential errors quickly and generate efficient mapping
code.
[Learn more]({{ 'docs/Using SQL/index.md' | pageUrl }})
{% endblock %}
{% endblock %}
{% block "blocks/feature.html" icon="fas fa-star" title="And much more!" %}
{% block "blocks/markdown.html" %}
Or should I say, much moor? Moor provides auto-updating straems for all your queries, makes dealing with transactions and migrations easy
and lets your write modular database code with DAOs. We even have a [sql IDE]({{ 'docs/Using SQL/sql_ide.md' | pageUrl }}) builtin to the project
When using moor, working with databases in Dart is fun!
{% endblock %}
{% endblock %}
{% endblock %}
{% block "blocks/section.html" color="light" type="section" %}
{% block "blocks/markdown.html" %}
## Key moor features
Here are some of the many ways moor helps you write awesome database code:
* __Auto-updating streams__: With moor, any query - no matter how complex - can be turned into a stream that emits new data as the underlying data changes.
* __Polyglot__: Moor lets you write queries in a fluent Dart api or directly in SQL - you can even embed Dart expressions in SQL.
* __Boilerplate-free__: Stop writing mapping code yourself - moor can take of that. Moor generates Dart code around your data so you can focus
on building great apps.
* __Flexible__: Want to write queries in SQL? Moor verifies them at compile time and generates Dart apis for them. Prefer to write them in Dart?
Moor will generate efficient SQL for Dart queries too.
* __Easy to learn__: Instead of having to learn yet another ORM, moor lets you write queries in SQL and generates typesafe wrappers. Queries and tables
can also be written in Dart that looks similar to SQL without loosing type-safety.
* __Fast _and_ powerful__: With the new `ffi` backend, moor can outperform key-value stores without putting any compromises on the integrity
and flexibility that relational databases provide. Moor is the only major persistence library with builtin support for multiple isolates.
* __Well tested and production ready__: Each component of moor is verified by a wide range of unit and integration tests. Moor powers many Flutter apps
in production.
* __Cross-Platform__: Moor works on iOS, Android, Linux, macOS, Windows and on the web. It doesn't even require Flutter. See [supported platforms]({{ "docs/platforms.md" | pageUrl }}).
{% endblock %}
{% endblock %}


Class 1 Lab
How Do You Want to Travel the World?
By air, sea or land?
Going on an Adventure!
Favorate foods!
Pack your Bags


org.apache.giraph.comm.netty
类
ByteCounter
ChannelRotater
NettyClient
NettyMasterClient
NettyMasterServer
NettyServer
NettyWorkerAggregatorRequestProcessor
NettyWorkerClient
NettyWorkerClientRequestProcessor
NettyWorkerServer
SaslNettyClient
SaslNettyServer
SaslNettyServer.SaslDigestCallbackHandler
WrappedAdaptiveReceiveBufferSizePredictorFactory


Money claims
1. Overview
You can apply to a county court to claim money you’re owed by a person or business.
This is known as making a court claim. It often used to be known as taking someone to a ‘small claims court’.
A mediation service could be quicker and cheaper than going to court. Mediation is when an impartial person helps both sides work out an agreement.
The process is different in Scotland and Northern Ireland.
Get help making a claim
County Court Money Claims Centre
Telephone: 0300 123 1372
Monday to Friday, 8:30am to 5pm
Find out about call charges (opens in a new window)


@(clientId: String, clientSecret: String, orgName: String) @headContent = { } @content = {
Below is your client ID and Secret for accessing the CoreSpring API.
See the api documentation to get started.
ClientID: @{clientId}
Client Secret: @{clientSecret}


--- layout: default title: Amir Sharif ---
hello
Great to meet you — I'm Amir
I'm currently working with a few friends on a few projects
Previously, I worked as a venture investor at a
small studio and, before that, at a
growth fund
Say hey!


wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
这是一个图片wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
wshi1sdfa
我是一个超级链接s a标签的target标签


Scots miracle tot catches eye of model scouts with top kids clothing brand
Logan Stewart has had three open-heart surgeries since he was diagnosed with a rare genetic condition as a newborn baby.
by Kathleen SpeirsA miracle tot with “half a smile” is catching the attention of model scouts from top clothing brands.
Logan Stewart has defied medics since he was diagnosed with charge syndrome, a rare genetic condition, as a newborn baby.
Three open-heart surgeries haven’t stopped the 16-month-old.
Kids with charge syndrome can suffer with varying symptoms.
His mum Chelsea, 27, said: “Logan is deaf, visually impaired and has a heart condition.
He has facial palsy on one side of his face – it’s as if he has half a smile.”
But Logan doesn’t let things get him down and has been asked to become a brand ambassador for children’s clothing store, Henry’s Wardrobe UK.
Chelsea said: “The fact that the brand want him is amazing. Logan is gorgeous and no different from any other wee boy.”
Logan’s dad, Danny, 29, said: “For a wee boy who’s been through so much, nobody would know.
“He’s such a fighter, he comes out of hospital treatment with his arms in the air and a smile on his face. We’re so proud.”
Danny and Chelsea, who also have two-month-old daughter Isla, created a community of charge syndrome families after using Instagram to tell of Logan’s fight with the life-threatening condition.
Chelsea said: “Charge syndrome is so rare that doctors don’t know much about it. We don’t know what’s coming. It’s been horrific.
“In Scotland, we know of one other child in Aberdeen with charge, so it’s great having the support from all over.
Dr Paul Hart, of disability charity Sense Scotland, said: “It’s great the Stewarts’ Instagram account has touched so many lives and Logan is set to become a star.”


|
|
|---|
Texture Workspace Window This displays the current texture in use.
Browse Button This will open up a texture browser window.
Filter This will activate the ability to filter out textures by groups.
Reset This will reset to the original filter settings.
Size Drop Down Menu This will adjust the display size of the textures in the "Texture Browser".
Upper Bar This will open a drop down display of all available textures.
Lower Bar This will open a drop down display of all used textures.


{% extends "mail/base.html" %} {% block body %}
Good news! {{ from_user.first_name }} {{ from_user.last_name }} wants to be your friend.
To confirm this friendship, just visit {{ from_user.first_name }}'s profile:
{{ config.HOSTNAME }}/{{ from_user.username }}


| 029:058 Khan | : |
And those who believe (in the Oneness of Allah Islamic Monotheism) and do righteous good deeds, to them We shall surely give lofty dwellings in Paradise, underneath which rivers flow, to live therein forever. Excellent is the reward of the workers. |
| 029:058 Maulana | : |
And those who believe and do good, We shall certainly give them an abode in high places in the Garden wherein flow rivers, abiding therein. Excellent the reward of the workers. |
| 029:058 Pickthal | : |
Those who believe and do good works, them verily We shall house in lofty dwellings of the Garden underneath which rivers flow. There they will dwell secure. How sweet the guerdon of the toilers, |
| 029:058 Rashad | : |
Those who believe and lead a righteous life, we will surely settle them in Paradise, with mansions and flowing streams. Eternally they abide therein. What a beautiful reward for the workers. |
| 029:058 Sarwar | : |
We shall give mansions in Paradise wherein streams flow to the righteously striving believers and therein they will live forever. How blessed is the reward of the hard working people |
| 029:058 Shakir | : |
And (as for) those who believe and do good, We will certainly give them abode in the high places in gardens beneath which rivers flow, abiding therein; how good the reward of the workers: |
| 029:058 Sherali | : |
And those who believe and do righteous deeds - them shall WE, surely, house in lofty mansions of Paradise, beneath which streams flow. They will abide therein. Excellent is the reward of those who labour for good, |
| 029:058 Yusufali | : |
But those who believe and work deeds of righteousness - to them shall We give a Home in Heaven,- lofty mansions beneath which flow rivers,- to dwell therein for aye;- an excellent reward for those who do (good)!- |
Concepts/Themes Covered: الإيمان > الإيمان بالله > الإيمان والعمل Faith> Belief In Allah> The Faith and the Action الإيمان > الغيب > الجنة > أصحاب الجنة Faith> The Unseen World> The Paradise> The Companions of the Garden الإيمان > الغيب > الخلود > الخلود في النعيم Faith> The Unseen World> The Eternity> The Immortality in Happiness الإيمان > المؤمنون > حياتهم في الدنيا والآخرة Faith> The Believers> Their Life in the World and the hereafter الإيمان > المؤمنون > ما أعده الله لهم Faith> The Believers> What has Allah Prepared for them الإيمان > المؤمنون > وعده إياهم Faith> The Believers> His Promise to them العمل > العمل الصالح > الدعوة إلى العمل الصالح Action(Work)> The Good Deeds>The Call for Good Deeds الإنسان والعلاقات الأخلاقية > الأخلاق الحميدة > الصبر Man and The Moral Relations> Good Morals>Patience
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


§11. Style of process. That the style of all process in the Territorial courts shall hereafter run in the name of "The Territory of Hawaii," and all prosecutions shall be carried on in the name and by the authority of the Territory of Hawaii. [Rep L Sp 1959 1st, c 5, §8]
Cf. Const. of 1894, Art. 92, §3. Prosecutions under county ordinances should be in name of Territory: 17 H. 185. Likewise prosecutions in Territorial courts under national prohibition: 27 H. 240. Referred to in 16 H. 245.


VariableModifiers
As with local variables and methods, modifiers can also be associated with a variable associated with a class. These modifiers are static, final, public, private, and protected. The use of the modifier static makes the variable a class variable, not an instance variable.
Static variables are never instance variables, so static should never be used as a modifier for instance variables. Also, the protected modifier has meaning only when inheritance is used, so we will not consider it in this course.
We have already discussed the final modifier, which gives a variable a fixed value. The variable cannot be changed if it is used with a primitive that is an instance variable, so a final variable will be effectively the same for every object. Because there is no ability to store data with each object using a final variable that is a primitive, the final modifier should never be used with an instance variable that is a primitive.
There are uses of the final modifier for object instance variables, but these are related to how the Java VM handles some specific issues that are outside the scope of this course. So the use of the final modifier will not be considered with instance variables.
Therefore, the only modifiers that will be used in this class with instance variables are private and public. As we mentioned earlier, it is considered bad form to declare a variable as anything but private.


Notebooks
Story: Wind, weather and springbok hunting
Wind, weather and springbok hunting
Title
Wind, weather and springbok hunting
Collection
Summary
A story about the wind and the rain and the hunting of springbok. People who live facing the rain get their weapons wet, causing bowstrings to break. When the children shoot windward at the herd of springbok, they quickly turn and run leeward. The speaker intends to go and wait at the springbok's water-course or footpaths where they will turn and run along. The springbok must be driven by the women in the evening because they go leeward and behave better when it is cool.
Comments
1) Date on p.7232: 19 July, 2) p.7220v: see The !kwana thorn tree, 3) p.7226v: see The springbok resemble the water of the sea: a note about hunting, 3) pp.7229v-7230v: see The intelligence and timidity of the jackal, 4) p.7233v: the |xam names for parts of plants; the translation of 'evening' could be 'cooling' (a query here by Lloyd), 5) p.7234v: what the |xam say to the arrow that has 'missed'; the name of a 'good' arrow is |gebbi, 6) This story is found in Book VIII-14
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
July 1878
Categories
The Rain and Rain's water, Custom and daily life, Celestial bodies and aeroscopy
Keywords
hunting (springbok) , hunting (wind, weather and springbok hunting) , hunting (ways of shooting) , hunting (successful and unsuccessful) , hunting (and the time of day) , hunting (behaviour of springbok in warm and cool weather) , hunting (and arrows that miss) , hunting (follows rain) , hunting (and the east wind) , hunting (the role played by men, women and children) , hunting (a description of a hunt) , hunting (methods) , hunting (women drive) , hunting (children run) , hunting (and waiting for springbok) , hunting (and heading off springbok) , hunting (and building shelters of bushes) , hunting (shooting windward) , hunting (running leeward) , wind (is a 'beast of prey') , wind (shooting windward) , wind (running leeward) , wind (and weather and springbok hunting) , wind (the east) , wind (how the people address it) , wind (different kinds of) , wind (and the position of houses) , wind (and the rain) , address (of the wind and hunting) , address (wind, weather and springbok hunting) , springbok (wind, weather and hunting of) , springbok (methods of hunting) , springbok (disperse when it is warm) , springbok (their behaviour when it is cool) , springbok (their behaviour and time of the day) , springbok (their habits and actions) , springbok (the driving of) , springbok (their 'foot-paths') , springbok (their 'water-courses') , springbok (hunting and the rain) , rain (wind, weather and springbok hunting) , rain (and the building of houses) , rain (and the wind and springbok hunting) , rain (and the east wind) , rain (and the actions of the springbok) , rain (springbok hunting follows) , rain (makes bowstrings break) , arrows (wind, weather and springbok hunting) , arrows (are 'beasts of prey') , arrows (ways of addressing) , arrows (that fly 'nicely') , arrows (good and bad) , arrows (that 'miss') , arrows (and the actions of the springbok) , arrows (the name of a good arrow) , evening (and hunting springbok) , evening ('cooling') , evening (wind, weather and springbok hunting) , weather (and wind and springbok hunting) , weather (warm and cold) , weather (and the actions of springbok) , names (of good and bad arrows) , names (and wind, weather and springbok hunting) , names (of different winds) , beasts of prey (a wind which is a) , beasts of prey (an arrow which is a) , beasts of prey (and wind, weather and springbok hunting) , women (drive springbok) , women (wind, weather and springbok hunting) , children (run after springbok) , children (wind, weather and springbok hunting) , shelters (of bushes in springbok hunting) , shelters (wind, weather and springbok hunting) , bush (shelters used in springbok hunting) , bush (wind, weather and springbok hunting) , houses (the building of) , houses (the direction they face) , houses (the positioning of) , houses (and the rain and the wind) , houses (wind, weather and springbok hunting)
Story Pages
7221-7235


Welcome to the Great Number Game!
I a thinking of a number between 1 and 100
Take a guess!
{{session['try']}}
{{session['butt']}}
Submit


| Up | TOC | Index | |||||
| << 2 Installing Euphoria | < 3.1 Example Programs | Up: 3 Using Euphoria | 3.3 Editing a Program > | 4 Language Reference >> |
3.2 Creating Euphoria programs
Euphoria programs can be written with any plain text editor. As a convenience Euphoria comes with edx, an editor written in Euphoria, that is handy for editing and executing Euphoria programs. Take a look at \euphoria\demo and euphoria\tutorial to see many example programs.
3.2.1 Running a Program
To run a Euphoria program you type the name of the interpreter followed by the filename of the program you want to run. Such as:
eui example.ex
What you just typed is known as the command-line.
Depending on the platform you are using the interpreter could be called:
| Executable | Purpose |
|---|---|
| eui | General interpreter on Windows and Unix variants |
| euiw | Console-less Windows interpreter |
The command-line may contain extra information. Following your program filename you may add extra words (known as arguments) that can used in your program to customize its behavior. These arguments are read within your program by the built-in function command_line.
Optionally, you may also use command line switches that are typed between the interpreter name and the program name. Command line switches customize how the interpreter itself behaves.
Unlike many other compilers and interpreters, there is no obligation for any special command-line options for eui or euiw. Only the name of you Euphoria file is expected, and if you do not supply it, Euphoria will display all the command line options available.
Euphoria doesn't care about your choice of file extensions. By convention, however, console-based applications have an extension of .ex, GUI-based applications have an extension of .exw and include files have an extension of .e. Note that a GUI application is not necessarily a Windows program. A GUI application can exist on Linux, OS X, FreeBSD, and so on.
You can redirect standard input and standard output when you run a Euphoria program, for example:
eui filesort.ex < raw.txt > sorted.txt
or simply,
eui filesort < raw.txt > sorted.txt
For frequently-used programs under Windows you might want to make a small .bat (batch) file, perhaps called myprog.bat, containing two statements like:
@echo off eui myprog.ex %1 %2 %3 %4 %5 %6 %7 %8 %9
The first statement turns off echoing of commands to the screen. The second runs eui myprog.ex with up to 9 command-line arguments. See command_line for an example of how to read these arguments. Having a .bat file will save you the minor inconvenience of typing eui all the time; for example you can just type:
myprog
instead of:
eui myprog
Under modern Unix variants, you can use #!/usr/bin/env eui as the first line of your script file. On older Unix variants, you may need to use the full path to eui, #!/usr/local/bin/eui.
If your program is called foo.ex:
#!/usr/bin/env eui procedure foo() ? 2+2 end procedure foo()
Then if you make your file executable:
chmod +x foo.ex
You can just type:
foo.ex
to run your program. You could even shorten the name to simply "foo". Euphoria ignores the first line when it starts with #!. Be careful though that your first line ends with the Unix-style \n, and not the Windows-style \r\n, or the unix shell might get confused. If your file is shrouded, you must give the path to eub, not eui.
You can also run bind to combine your Euphoria program with the eui interpreter, to make a stand-alone executable file. With a stand-alone executable, you can redirect standard input and output. Binding is discussed further in Distributing a Program.
Using the Euphoria To C Translator, you can also make a stand-alone executable file, and it will normally run much faster than a bound program.
3.2.2 Running under Windows
You can run Euphoria programs directly from the Windows environment, or from a console shell that you have opened from Windows. By "associating" .ex files with eui.exe and .exw files with euiw.exe. You will then be able to double click a Euphoria source file to run it. The installer will perform this operation for you, if you wish.


Spinner - Transform
bubbles
circles
circular
crescent
dots
lines
lines-sharp
lines-sharp-small
lines-small


--- layout: null section-type: contact title: Contact --- ## Contact Me Drop me an email if you are interested in talking to me about my work or me coding for you!


{% extends "main/nautilus.html" %} {% block vis_description %} {{ super() }}
Currently in demo mode. Click here to go to the home page.


-
Patsy Paulton
Traditional heading elscas sdscsd sdcsdsc
2 -
-
-
Jennica Kindred
I know how important this file is to you. You can trust me ;)
-
-
Karl Hubane
Online
Hey, Maher! I'm waiting for you to send me the files.
Am 09:34
I'm sorry :( I'll send you as soon as possible.
Pm 14:20
I'm waiting. Thank you :)
Pm 14:25
I'm sending files now.
Pm 14:20
Thank you so much. After I review these files, I will give you my opinion. If there's a problem, you can send it back. Good luck with!
Pm 14:50
I can't wait
Pm 15:00
I know how important this file is to you. You can trust me ;)
Pm 14:50
Frans Hanscombe
Last seen: Today
About
I love reading, traveling and discovering new things. You need to be happy in life.
Phone
(555) 555 55 55
City
Germany / Berlin


Numbers 8:3
And Aaron did so; he lighted the lamps thereof over against the candlestick, as the LORD commanded Moses.


The InterPoly class approximates a continuous signal by fitting a polynomial to the available data points. The approximating polynomial passes through every available data point, and in many cases it provides a reasonable approximation to the original signal between the available data points. The most familiar example of an interpolating polynomial is a line that connects two data points and . The connecting line is
An interpolating polynomial can be constructed with the InterPoly class in three ways. The first way is to provide the sample data to the InterPoly constructor
InterPoly(const double* u, const double* t, unsigned int n)where u is the array of data values, t is the array of time points, and n is the number of points (i.e., the size of the u and t array). The constructor builds an degree polynomial that fits the supplied data.
The second way is to supply just the data values, a time step, the first time value, and number of data points to the constructor
InterPoly(const double* u, double dt, unsigned int n, double t0 = 0.0)where u is the array of data values, dt is the time spacing of the data points, n is the number of data points, and t0 is the time instant of the first data point (i.e., the data point is at time ). Both of these constructors make copies of the supplied arrays, and changes to the array values will not be reflected by the InterPoly object.
The third way is to assign new data point values to an existing polynomial by calling the InterPoly method
void setData(const double* u, const double* t = NULL)where u is the new set of data values and the optional t array is the new set of time points. This method requires that the number of data points in u (and t if used) be equal to the number of points supplied to the InterPoly constructor.
There are three methods for computing interpolated values: the interpolate method, the overloaded operator(), and the derivative method. The method signatures are
double interpolate(double t) const double operator()(double t) const double derivative(double t) constThe interpolate method and operator() method give the value of the interpolating polynomial at the time point t. The derivative method gives the value of the first time derivative of the interpolating polynomial, which may be used as an approximation of the first time derivative of the original function. For example, if the data describes the position of an object through time then the derivative method gives an approximation of the object's velocity.
To demonstrate the InterPoly class and give you a sense of what the interpolating polynomials look like, I've listed below a program that computes , its time derivative , and interpolated approximations of both. Interpolating polynomials built with 4, 5, and 6 data point in the interval are illustrated in Figs. 13.1 and 13.2. The quality of the approximation generally improves as more data points are added, but the function and interpolating polynomial diverge significantly outside of the interval spanned by the data points. Be careful if you extrapolate!
#include "adevs.h" #include <cmath> #include <iostream> using namespace std; int main(int argc, char** argv) { // Get the number of data points to use and allocate // memory for the data points arrays int N = atoi(argv[1]); double* t = new double[N]; double* u = new double[N]; // Compute data points using the sin function for (int i = 0; i < N; i++) { t[i] = i*(2.0*3.14159/(N-1)); u[i] = sin(t[i]); } // Create the interpolating polynomial adevs::InterPoly p(u,t,N); // The data arrays can be deleted now delete [] t; delete [] u; // Compute several points with sin, its derivative, and the polynomial // inside and a little beyond the interval spanned by the data for (double t = 0; t < 2.0*3.14159+0.5; t += 0.01) cout << t << " " << sin(t) << " " << p(t) << " " << cos(t) << " " << p.derivative(t) << endl; // Done return 0; }


See Updated Work Projects Here (as of 06/25/2020)
iOS Apps
Lately I've been working on creating a music streaming app (link coming soon).So I've been dabbling in Swift and building out some apps to learn more. Here's a few of them:
Screenshots for your viewing pleasure:
Landing Page Redesign
This was my first product I got to work on as a PM. The home page wasn't user friendly and needed UI/UX help, which will in turn improve the funnel metrics. I implemented a roadmap, conducted and gathered lots of user feedback and data, worked with designers and engineers to make the new and improved landing page. Live Site Here
Role:Product Manager
Screenshots for your viewing pleasure:
Improve UI/UX of Profile Page
The profile page was cluttered and wasn't providing a good UX/UI. I was tasked with making the profile a better experience for our users. This project took a lot of research upfront with our users. I employed A/B and multivariate testing, as well as worked closely with our designers and engineers to execute the results from the gathered feedback. A key point was to also work with the marketing & customer support team to ensure the new design got great visibility and support as we rolled it out.
Role:Product Manager
Screenshots for your viewing pleasure:
Mobile App Profile Page
Led the team to design the profile page and a gifts page for the app. We aimed to provide a smooth transition of the site to a mobile platform so users can still recognize the site but at the same time benefit from the mobile functionality. This project allowed me to gain a lot of knowledge of the mobile platform technologies and the different considerations one must have when building for mobile devices and users.
Role:Product Manager
Screenshots for your viewing pleasure:
My Wedding Website
I used this opportunity to put my coding skills to task and built my wedding website to provide some vital info on our upcoming nuptials. I got some great practice in (shredded some of my JS rust lol) and I was happy to deflect some of those nagging guests to our site to get what they needed. Surely a win win!
Role:Built it from the ground up.
Domain is down as of 04/12/2020 ... fix pending
What now...
So what am I up to these days? Well I am super hype about a couple resources I just bought for iOS programming and app development. So I'll be trying my hand at that while I start warming up my job search. Cheers!


About Me
Hi! I am currently a Software Engineer studying at the University of Waterloo! I love to code and explore the vast world of technology, learning more each step I take.
Projects
All my projects can be found on GitHub.
-
Slate
A social media platform with scheduling capabilities.
-
Smart Pharmacy
A device which dispenses prescriptions based on a patient's electronic prescription, added via a desktop application and stored in an online database, authenticating via face identification.
-
Econumy
A Discord bot that integrates an economy into the app.
-
Heart Disease Detector
Uses clustering methods and an artificial neural network to predict if someone is at risk of heart disease.


- i - Variable in class miniGames.memory.KonamiAdapter
-
- i - Variable in class miniGames.memory.MyMouseAdapter
-
- icon - Variable in class miniGames.hangman.HangmanView
-
shows a proper image icon depending on how many mistakes has been made
- ID - Variable in class gameData.Day
-
Day's ID (number)
- ID - Variable in class gameData.Lecturer
-
private variable which contains lecturers ID
- ID - Variable in class gameData.Semester
-
ID (number) of semester
- ID - Static variable in class gameData.XMLhandler
-
- ID1 - Variable in class miniGames.ships.ComputerMouseAdapter
-
horizontal coordinate
- ID1 - Variable in class miniGames.ships.PlayerMouseAdapter
-
horizontal coordinate
- ID2 - Variable in class miniGames.ships.ComputerMouseAdapter
-
vertical coordinate
- ID2 - Variable in class miniGames.ships.PlayerMouseAdapter
-
vertical coordinate
- IGetShooted(int, int) - Method in class miniGames.ships.Computer
-
Method called when the oponent shoot to this player
- IGetShooted(int, int) - Method in class miniGames.ships.ShipPlayer
-
Method called when the oponent shoot to this player
- image - Variable in class miniGames.Draughts.Pole
-
- image - Variable in class miniGames.memory.MemoryCard
-
- imodel - Variable in class View.NewGame
-
SpinnerNumberModel for intel JSpinner
- InActiveItems - Variable in class gameData.Player
-
private list of items that player bought and didn't use
- indcol - Variable in class miniGames.blockd.MyFrame
-
variable which contains index of arraycol
- Indeks() - Method in class gameData.Controller
-
Opens player's matricula perspective
- Indeks - Variable in class View.ViewManager
-
Opens index perspective
- index - Variable in class View.ViewManager
-
Perspective showing player's matricula
- IndexView - Class in View
-
A class responsible for displaying Player's courses
- IndexView() - Constructor for class View.IndexView
-
Initializes newly created panel of Player's matricula
- info() - Method in class miniGames.Draughts.ExperimentBoard
-
- info() - Method in class miniGames.Draughts.Pole
-
- infoFrame - Static variable in class miniGames.ships.ShipsController
-
Information frame
- initComponents() - Method in class miniGames.Draughts.Board
-
This method is called from within the constructor to initialize the form.
- initComponents() - Method in class miniGames.memory.MemoryFrame
-
This method is called from within the constructor to initialize the form.
- initComponents() - Method in class miniGames.ships.MyFrame
-
This method is called from within the constructor to initialize the form.
- initComponents() - Method in class miniGames.ships.MyInfoFrame
-
This method is called from within the constructor to initialize the form.
- initComponents() - Method in class View.calPanel
-
Initializing all components
- intel - Variable in class View.NewGame
-
A component where player is supposed to set his/her intelligence level
- Inteligence - Variable in class gameData.Player
-
private variable which contains parameter of players's intelligence
- inteligence - Variable in class View.ItemView
-
Shows how many points an item adds to intelligence parameter
- inteligence - Variable in class View.ViewManager
-
Shows players current intelligence level
- INTELLIGENCE - Static variable in class gameData.XMLhandler
-
- isActive() - Method in class gameData.Item
-
Checks is item active in current round
- isBackCard() - Method in class miniGames.memory.MemoryCard
-
- isBlack - Variable in class miniGames.Draughts.Pole
-
- isDestroyed() - Method in class miniGames.ships.Ship
-
get state of this ship
- isDrawn - Variable in class miniGames.Draughts.Board
-
- isExam() - Method in class gameData.Course
-
Returns information must student write an exam
- isExam(int) - Method in class gameData.Day
-
- IsExamNow() - Method in class gameData.GameCalendar
-
- isFieldShooted(int, int) - Method in class miniGames.ships.ShipsBoard
-
get state of each field
- isLetterInTheWord(char) - Method in class miniGames.hangman.Hangman
-
checks if given letter is in the guessed password and if there is, proper
fields in guessedWord array are marked "true", and if there is just one
found letter returns true
- isLoose() - Method in class miniGames.ships.Computer
-
get state of game
- isLoose() - Method in class miniGames.ships.ShipPlayer
-
get state of game
- isPawn - Variable in class miniGames.Draughts.Pole
-
- isPlane() - Method in class miniGames.ships.Ship
-
get plane of the ship.
- isQueen - Variable in class miniGames.Draughts.Pawn
-
- isRetake() - Method in class gameData.Course
-
Returns information is course pursued again
- isShiphere() - Method in class miniGames.ships.ShipsField
-
get state of field
- isWhite - Variable in class miniGames.Draughts.Board
-
- isWhite - Variable in class miniGames.Draughts.ExperimentBoard
-
- isWinner - Variable in class miniGames.Draughts.Board
-
- isWinner - Variable in class miniGames.Draughts.ExperimentBoard
-
- isYellow - Variable in class miniGames.Draughts.Pole
-
- Item - Class in gameData
-
This class consists all parameters, which represents item and consists public
method that operate on items or return item's parameter
- Item() - Constructor for class gameData.Item
-
- Item(String, byte, float, float, float, int, float, float, float, float, float) - Constructor for class gameData.Item
-
Item's constructor
- ITEM - Static variable in class gameData.XMLhandler
-
Strings used for searching elements and their parameters in XML files.
- ITEMACTIVE - Static variable in class gameData.XMLhandler
-
- ItemCharisma - Variable in class gameData.Item
-
private variable depositing item's influence on player's Charisma
- ITEMCHARISMA - Static variable in class gameData.XMLhandler
-
- ItemEndurance - Variable in class gameData.Item
-
private variable depositing item's influence on player's Endurance
- ITEMENDURANCE - Static variable in class gameData.XMLhandler
-
- ItemEnergy - Variable in class gameData.Item
-
private variable depositing item's influence on player's Energy
- ITEMENERGY - Static variable in class gameData.XMLhandler
-
- ItemHappiness - Variable in class gameData.Item
-
private variable depositing item's influence on player's Happiness
- ITEMHAPPINESS - Static variable in class gameData.XMLhandler
-
- ItemIntelligence - Variable in class gameData.Item
-
private variable depositing item's influence on player's Intelligence
- ITEMINTELLIGENCE - Static variable in class gameData.XMLhandler
-
- ItemKnowledge - Variable in class gameData.Item
-
private variable depositing item's influence on player's Knowledge
- ITEMKNOWLEDGE - Static variable in class gameData.XMLhandler
-
- itemlist - Variable in class View.ItemView
-
JComponent containing names of Items
- ITEMNAME - Static variable in class gameData.XMLhandler
-
- ItemParameter - Variable in class gameData.Player
-
private variable which contains parameter of items interference
- items - Static variable in class gameData.DataBase
-
Contains list of Items
- Items - Variable in class gameData.Player
-
private list of items that player bought
- Items - Variable in class gameData.Shop
-
private ArrayList of Items which are available in Shop
- items - Variable in class gameData.XMLhandler
-
ArrayList which contains all items.
- ItemScrupulousness - Variable in class gameData.Item
-
private variable depositing item's influence on player's Scrupulousness
- ITEMSCRUPULOUSNESS - Static variable in class gameData.XMLhandler
-
- ItemsIn - Variable in class gameData.XMLhandler
-
InputStreams for Items, Activities, Events and Distributions.
- ItemsStreamReader - Variable in class gameData.XMLhandler
-
XMLStreamReaders for Items,Activities, Events and Distributions
- ItemStressResistance - Variable in class gameData.Item
-
private variable depositing item's influence on player's resistance to
stress
- ITEMSTRESSRESISTANCE - Static variable in class gameData.XMLhandler
-
- ItemView - Class in View
-
An abstract class provides skeletal implementation of panel for showing
certain Item objects.
- ItemView(String) - Constructor for class View.ItemView
-
Creates a skeletal implementation of panel showing items


A selection of
customized transition effects
for your mobile sidebar menu.
Pick one to open the menu:
Slide left
Slide right
Zoom left
Zoom right
3D left
3D right
Fade
Default
This
customized transition effect
is powered by the
mmenu plugin
.
Now pick an effect to close the menu:
Slide left
Slide right
Zoom left
Zoom right
3D left
3D right
Fade
Default


|
CBA Risk Management System |
|
Hello {{first_name}} {{last_name}}, Kindly use this new password generated below to log on to your account. Password: {{password}} Please change this password from Profile once you have accessed your CBA Risk Management System Account. Thank you |


Only 10,000 Glitter Glow pots made. Will you get one?
Join the Glitter Glow Gang
Because copying is boring. We want YOU to have exclusive access to our Glitter Glow before anyone else.
"This is a fantastic product! I'm sorry to anyone who doesn't get their hands on it."
"A glittery explosion for all beauty lovers"
"If you're looking for the perfect holiday gift, this is"


You have just successfully created a LEANER Angular scaffold for your <%= ngAppName %> app!
For starters, the following modules have been created for you:
<%= ngAppName %>.controllers:
(/client/apps/<%= ngAppName %>/controllers)
<%= ngAppName %>.directives:
(/client/apps/<%= ngAppName %>/directives)
<%= ngAppName %>.filters:
(/client/apps/<%= ngAppName %>/filters)
<%= ngAppName %>.services:
(/client/apps/<%= ngAppName %>/services)
A sample controller <%= ngAppName %>.controllers.HomeController
has been created for you to help you get
started.
You can start creating your own modules for your Angular app.
Simply run the following command:
yo leaner:ng-module <%= ngAppName%>.myModule
This stack has been designed to be flexible and only 42% opinionated. The rest is up to you!


{{- $respSizes := slice "300" "450" "600" "750" "900" "1050" "1200" "1350" "1500" -}} {{/* These are breakpoints, in pixels. Adjust these to fit your use cases. Obviously, the more breakpoints, the more images you'll be producing. (Fortunately, Hugo does that **really** fast, as you'd expect, but watch out for any storage issues this can present either locally or in your online repo, especially if you have a really large number of original images.) */}} {{- $imgBase := "images/" -}} {{/* This will be from top-level `assets/images`, where we'll keep all images for Hugo's processing (this makes them "global resources," as noted in the documentation). */}} {{- $src := resources.Get (printf "%s%s" $imgBase (.Get "src")) -}} {{- $alt := .Get "alt" -}} {{- $divClass := "" -}}{{/* Init'g */}} {{/* The styling in $imgClass, below, makes an image fill the container horizontally and adjust its height automatically for that, and then fade in for the LQIP effect. Feel free to adjust your CSS/SCSS as desired. */}} {{- $imgClass := "w-full h-auto animate-fade" -}} {{- $dataSzes := "(min-width: 1024px) 100vw, 50vw" -}} {{/* Now we'll create the 20-pixel-wide LQIP and turn it into Base64-encoded data, which is better for performance and caching. */}} {{- $LQIP_img := $src.Resize "20x jpg" -}} {{- $LQIP_b64 := $LQIP_img.Content | base64Encode -}} {{/* $CFPstyle is for use in styling the div's background, as you'll see shortly. */}} {{- $CFPstyle := printf "%s%s%s" "background: url(data:image/jpeg;base64," $LQIP_b64 "); background-size: cover; background-repeat: no-repeat;" -}} {{/* Then, we create a 600-pixel-wide JPG of the image. This will serve as the "fallback" image for that tiny percentage of browsers that don't understand the HTML `picture` tag. */}} {{- $actualImg := $src.Resize "600x jpg" -}} {{/* Now we'll handle the LQIP background for the div that will contain the image content; the conditional at the top controls whether we're doing inline styling --- which is a no-no for a tight Content Security Policy (CSP). Here, it checks whether the host, as specified in the site config file, is Cloudflare Pages (where I use a Cloudflare Worker for that tight CSP). If so, it creates a new CSS/SCSS class, named with an md5 hash for the value of $src, that the div can use to provide the LQIP background. Otherwise, it inserts inline styling. **THEREFORE** . . . If you don't have a problem with inline styling, feel free to use only the second option and avoid the conditional altogether. */}} {{- $imgBd5 := md5 $src -}} {{- if eq .Site.Params.Host "CFP" -}}


SEO AUDIT.CSS
Errors
Warnings
Advices
GitHub
Missing or empty [href]
#
The
href
attribute, if present, should not be empty.
It is a link
It is another link


SPTAudioStreamingController Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | SPTAudioStreamingController.h |
Overview
This class manages audio streaming from Spotify.
Note: There must be only one concurrent instance of this class in your app.
Initialisation and Setup
– initWithClientId:
Initialise a new SPAudioStreamingController
.
- (id)initWithClientId:(NSString *)clientId
Parameters
clientId |
Your client id. |
|---|
Return Value
Returns an initialised SPAudioStreamingController
instance.
Declared In
SPTAudioStreamingController.h
– initWithClientId:audioController:
Initialise a new SPAudioStreamingController
with a custom audio controller.
- (id)initWithClientId:(NSString *)clientId audioController:(SPTCoreAudioController *)audioController
Parameters
clientId |
Your client id. |
|---|---|
audioController |
Audio controller. |
Return Value
Returns an initialised SPAudioStreamingController
instance.
Declared In
SPTAudioStreamingController.h
– loginWithSession:callback:
Log into the Spotify service for audio playback.
- (void)loginWithSession:(SPTSession *)session callback:(SPTErrorableOperationCallback)block
Parameters
session |
The session to log in with. Must be valid and authenticated with the
|
|---|---|
block |
The callback block to be executed when login succeeds or fails. In the cause of
failure, an |
Discussion
Audio playback will not be available until the receiver is successfully logged in.
Declared In
SPTAudioStreamingController.h
– logout:
Log out of the Spotify service
- (void)logout:(SPTErrorableOperationCallback)block
Parameters
block |
The callback block to be executed when logout succeeds or fails. In the cause of
failure, an |
|---|
Declared In
SPTAudioStreamingController.h
Properties
loggedIn
Returns YES
if the receiver is logged into the Spotify service, otherwise NO
.
@property (nonatomic, readonly) BOOL loggedIn
Declared In
SPTAudioStreamingController.h
delegate
The receiver’s delegate, which deals with session events such as login, logout, errors, etc.
@property (nonatomic, weak) id<SPTAudioStreamingDelegate> delegate
Declared In
SPTAudioStreamingController.h
playbackDelegate
The receiver’s playback delegate, which deals with audio playback events.
@property (nonatomic, weak) id<SPTAudioStreamingPlaybackDelegate> playbackDelegate
Declared In
SPTAudioStreamingController.h
diskCache
The object responsible for caching of audio data.
@property (nonatomic, strong) id<SPTDiskCaching> diskCache
Discussion
The object is an instance of a class that implements the SPTDiskCaching
protocol.
If nil
, no caching will be performed.
Declared In
SPTAudioStreamingController.h
Controlling Playback
– setVolume:callback:
Set playback volume to the given level.
- (void)setVolume:(SPTVolume)volume callback:(SPTErrorableOperationCallback)block
Parameters
volume |
The volume to change to, as a value between |
|---|---|
block |
The callback block to be executed when the command has been
received, which will pass back an |
See Also
Declared In
SPTAudioStreamingController.h
– setTargetBitrate:callback:
Set the target streaming bitrate.
- (void)setTargetBitrate:(SPTBitrate)bitrate callback:(SPTErrorableOperationCallback)block
Parameters
bitrate |
The bitrate to target. |
|---|---|
block |
The callback block to be executed when the command has been
received, which will pass back an |
Discussion
The library will attempt to stream audio at the given bitrate. If the given bitrate is not available, the closest match will be used. This process is completely transparent, but you should be aware that data usage isn’t guaranteed.
Declared In
SPTAudioStreamingController.h
– seekToOffset:callback:
Seek playback to a given location in the current track.
- (void)seekToOffset:(NSTimeInterval)offset callback:(SPTErrorableOperationCallback)block
Parameters
offset |
The time to seek to. |
|---|---|
block |
The callback block to be executed when the command has been
received, which will pass back an |
See Also
Declared In
SPTAudioStreamingController.h
– setIsPlaying:callback:
Set the “playing” status of the receiver.
- (void)setIsPlaying:(BOOL)playing callback:(SPTErrorableOperationCallback)block
Parameters
playing |
Pass |
|---|---|
block |
The callback block to be executed when the command has been
received, which will pass back an |
See Also
Declared In
SPTAudioStreamingController.h
– playURI:callback:
Play a Spotify URI.
- (void)playURI:(NSURL *)uri callback:(SPTErrorableOperationCallback)block
Parameters
uri |
The URI to play. |
|---|---|
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks, Albums and Playlists
See Also
Declared In
SPTAudioStreamingController.h
– playURI:fromIndex:callback:
Play a Spotify URI.
- (void)playURI:(NSURL *)uri fromIndex:(int)index callback:(SPTErrorableOperationCallback)block
Parameters
uri |
The URI to play. |
|---|---|
index |
The track to start playing from if an album or playlist |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks, Albums and Playlists
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– playURIs:fromIndex:callback:
Play a list of Spotify URIs.
- (void)playURIs:(NSArray *)uris fromIndex:(int)index callback:(SPTErrorableOperationCallback)block
Parameters
uris |
The list of URI’s to play. |
|---|---|
index |
The track to start playing from if an album or playlist |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– playURIs:withOptions:callback:
Play a list of Spotify URIs.
- (void)playURIs:(NSArray *)uris withOptions:(SPTPlayOptions *)options callback:(SPTErrorableOperationCallback)block
Parameters
uris |
The list of URI’s to play (at most 100 tracks) |
|---|---|
options |
A |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks
Declared In
SPTAudioStreamingController.h
– setURIs:callback:
Set the current list of tracks.
- (void)setURIs:(NSArray *)uris callback:(SPTErrorableOperationCallback)block
Parameters
uris |
The list of URI’s to play. |
|---|---|
block |
The callback block to be executed when the tracks are set, or an |
Discussion
Supported URI types: Tracks
This function is deprecated and will be removed in the next version.
Declared In
SPTAudioStreamingController.h
– replaceURIs:withCurrentTrack:callback:
Replace the current list of tracks without stopping playback.
- (void)replaceURIs:(NSArray *)uris withCurrentTrack:(int)index callback:(SPTErrorableOperationCallback)block
Parameters
uris |
The list of URI’s to play. |
|---|---|
index |
The current track in the list. |
block |
The callback block to be executed when the tracks are set, or an |
Discussion
Supported URI types: Tracks
Declared In
SPTAudioStreamingController.h
– playURIsFromIndex:callback:
Start playing the current list of tracks from a specific position.
- (void)playURIsFromIndex:(int)index callback:(SPTErrorableOperationCallback)block
Parameters
index |
The track to start playing from if an album or playlist |
|---|---|
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– playTrackProvider:callback:
Play a track provider.
- (void)playTrackProvider:(id<SPTTrackProvider>)provider callback:(SPTErrorableOperationCallback)block
Parameters
provider |
A track provider. |
|---|---|
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported types: SPTTrack, SPTAlbum and SPTPlaylist
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– playTrackProvider:fromIndex:callback:
Play a track provider.
- (void)playTrackProvider:(id<SPTTrackProvider>)provider fromIndex:(int)index callback:(SPTErrorableOperationCallback)block
Parameters
provider |
A track provider. |
|---|---|
index |
How many tracks to skip. |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported types: SPTTrack, SPTAlbum and SPTPlaylist
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– queueURI:callback:
Queue a Spotify URI.
- (void)queueURI:(NSURL *)uri callback:(SPTErrorableOperationCallback)block
Parameters
uri |
The URI to queue. |
|---|---|
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– queueURI:clearQueue:callback:
Queue a Spotify URI.
- (void)queueURI:(NSURL *)uri clearQueue:(BOOL)clear callback:(SPTErrorableOperationCallback)block
Parameters
uri |
The URI to queue. |
|---|---|
clear |
Clear the queue before adding URI |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– queueURIs:clearQueue:callback:
Queue a list of Spotify URIs.
- (void)queueURIs:(NSArray *)uris clearQueue:(BOOL)clear callback:(SPTErrorableOperationCallback)block
Parameters
uris |
The array of URIs to queue. |
|---|---|
clear |
Clear the queue before adding URIs |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported URI types: Tracks
This function is deprecated and will be removed in the next version.
Declared In
SPTAudioStreamingController.h
– queueTrackProvider:clearQueue:callback:
Queue a track provider.
- (void)queueTrackProvider:(id<SPTTrackProvider>)provider clearQueue:(BOOL)clear callback:(SPTErrorableOperationCallback)block
Parameters
provider |
A track provider. |
|---|---|
clear |
Clear the queue before adding |
block |
The callback block to be executed when the playback command has been
received, which will pass back an |
Discussion
Supported types: SPTTrack
This function is deprecated and will be removed in the next version.
See Also
Declared In
SPTAudioStreamingController.h
– queuePlay:
Start playing back queued items
- (void)queuePlay:(SPTErrorableOperationCallback)block
Parameters
block |
The callback block to be executed when the playback has been
started, which will pass back an |
|---|
See Also
- playURIs:withOptions:callback:
This function is deprecated and will be removed in the next version.
Declared In
SPTAudioStreamingController.h
– queueClear:
Remove all queued items
- (void)queueClear:(SPTErrorableOperationCallback)block
Parameters
block |
The callback block to be executed when the queue is empty or an |
|---|
Discussion
This function is deprecated and will be removed in the next version.
Declared In
SPTAudioStreamingController.h
– stop:
Stop playback and clear the queue and list of tracks.
- (void)stop:(SPTErrorableOperationCallback)block
Parameters
block |
The callback block to be executed when playback stopped empty or an |
|---|
Declared In
SPTAudioStreamingController.h
– skipNext:
Go to the next track in the queue.
- (void)skipNext:(SPTErrorableOperationCallback)block
Parameters
block |
The callback block to be executed when the command has been
received, which will pass back an |
|---|
Declared In
SPTAudioStreamingController.h
– skipPrevious:
Go to the previous track in the queue
- (void)skipPrevious:(SPTErrorableOperationCallback)block
Parameters
block |
The callback block to be executed when the command has been
received, which will pass back an |
|---|
Declared In
SPTAudioStreamingController.h
– getRelativeTrackMetadata:callback:
Returns basic metadata about a track relative to the currently playing song, or nil
if it doesn’t exist or is unknown.
- (void)getRelativeTrackMetadata:(int)index callback:(void ( ^ ) ( NSDictionary *))block
Parameters
index |
The relative index of the track in the current track list. |
|---|---|
block |
A block which receives an |
Discussion
Passing an index of zero would mean the currently playing song, passing -1 is the previous one, passing 1 is the next one.
Metadata is under the following keys:
SPTAudioStreamingMetadataTrackName
: The track’s name.SPTAudioStreamingMetadataTrackURI
: The track’s Spotify URI.SPTAudioStreamingMetadataArtistName
: The track’s artist’s name.SPTAudioStreamingMetadataArtistURI
: The track’s artist’s Spotify URI.SPTAudioStreamingMetadataAlbumName
: The track’s album’s name.SPTAudioStreamingMetadataAlbumURI
: The track’s album’s URI.SPTAudioStreamingMetadataTrackDuration
: The track’s duration as anNSTimeInterval
boxed in anNSNumber
.
Declared In
SPTAudioStreamingController.h
– getAbsoluteTrackMetadata:callback:
Returns basic metadata about a specific track in the current track list, or nil
if it doesn’t exist or is unknown.
- (void)getAbsoluteTrackMetadata:(int)index callback:(void ( ^ ) ( NSDictionary *))block
Parameters
index |
The absolute index of the track in the current track list. |
|---|---|
block |
A block which receives an |
Discussion
Metadata is under the following keys:
SPTAudioStreamingMetadataTrackName
: The track’s name.SPTAudioStreamingMetadataTrackURI
: The track’s Spotify URI.SPTAudioStreamingMetadataArtistName
: The track’s artist’s name.SPTAudioStreamingMetadataArtistURI
: The track’s artist’s Spotify URI.SPTAudioStreamingMetadataAlbumName
: The track’s album’s name.SPTAudioStreamingMetadataAlbumURI
: The track’s album’s URI.SPTAudioStreamingMetadataTrackDuration
: The track’s duration as anNSTimeInterval
boxed in anNSNumber
.
Declared In
SPTAudioStreamingController.h
Playback State
currentTrackMetadata
Returns basic metadata about the currently playing track, or nil
if there is no track playing.
@property (nonatomic, readonly, copy) NSDictionary *currentTrackMetadata
Discussion
Metadata is under the following keys:
SPTAudioStreamingMetadataTrackName
: The track’s name.SPTAudioStreamingMetadataTrackURI
: The track’s Spotify URI.SPTAudioStreamingMetadataArtistName
: The track’s artist’s name.SPTAudioStreamingMetadataArtistURI
: The track’s artist’s Spotify URI.SPTAudioStreamingMetadataAlbumName
: The track’s album’s name.SPTAudioStreamingMetadataAlbumURI
: The track’s album’s URI.SPTAudioStreamingMetadataTrackDuration
: The track’s duration as anNSTimeInterval
boxed in anNSNumber
.
Declared In
SPTAudioStreamingController.h
isPlaying
Returns YES
if the receiver is playing audio, otherwise NO
.
@property (nonatomic, readonly) BOOL isPlaying
Declared In
SPTAudioStreamingController.h
volume
Returns YES
if repeat is on, otherwise NO
.
@property (nonatomic, readonly) SPTVolume volume
Declared In
SPTAudioStreamingController.h
shuffle
Returns YES
if the receiver expects shuffled playback, otherwise NO
.
@property (nonatomic, readwrite) BOOL shuffle
Declared In
SPTAudioStreamingController.h
repeat
Returns YES
if the receiver expects repeated playback, otherwise NO
.
@property (nonatomic, readwrite) BOOL repeat
Declared In
SPTAudioStreamingController.h
currentPlaybackPosition
Returns the current approximate playback position of the current track.
@property (nonatomic, readonly) NSTimeInterval currentPlaybackPosition
Declared In
SPTAudioStreamingController.h
currentTrackDuration
Returns the length of the current track.
@property (nonatomic, readonly) NSTimeInterval currentTrackDuration
Declared In
SPTAudioStreamingController.h
currentTrackURI
Returns the current track URI, playing or not.
@property (nonatomic, readonly) NSURL *currentTrackURI
Declared In
SPTAudioStreamingController.h
currentTrackIndex
Returns the currenly playing track index
@property (nonatomic, readonly) int currentTrackIndex
Declared In
SPTAudioStreamingController.h
targetBitrate
Returns the current streaming bitrate the receiver is using.
@property (nonatomic, readonly) SPTBitrate targetBitrate
Declared In
SPTAudioStreamingController.h
trackListPosition
Current position in track list, @see currentTrackIndex
@property (nonatomic, readwrite) int trackListPosition
Declared In
SPTAudioStreamingController.h
queueSize
Number of queued items
@property (nonatomic, readonly) int queueSize
Declared In
SPTAudioStreamingController.h


The go-button-group component can be used to group a set of buttons together. Both the button variant and disabled states can be set on a group level. See the examples below to implement these features.
go-button-group


RedRock allows users to:
- Search for trends on Twitter
- Leverage the power of Spark, that was previously only available to data scientists, to do big data analysis
- Share findings via Email
- Respond directly to Tweeters from within the app
- Provide feedback directly to the developers from within the app
- Usage guide: http://tiny.cc/howtouseredrock
- Slides with architecture: http://tiny.cc/deckforredrock


RRC Measurements
Please select the VBSP and corresponding UE to view the measurements!
Select VBSP:
--- Select an option ---
Select the UE:
--- Select an option ---
Serving Cell RSRP and RSRQ Measurements
Select the Cell ID:
--- Select an option ---
Neighboring Cell RSRP and RSRQ Measurements


<script src="RGraph.common.core.js"></script> <script src="RGraph.common.key.js"></script> <script src="RGraph.pie.js"></script>Put this where you want the chart to show up:
<canvas id="cvs" width="475" height="350" > [No canvas support] </canvas>This is the code that generates the chart - it should be placed AFTER the canvas tag(s):