Gecode::Int::Cumulative Namespace Reference
Scheduling for cumulative resources More...
Classes | |
| class | Event |
| Event for task. More... | |
| class | TaskByDecCap |
| Sort order for tasks by decreasing capacity. More... | |
| class | StoCap |
| Sort by capacity. More... | |
| class | PrecOrder |
| Sort by prec array. More... | |
| class | ManFixPTask |
| Cumulative (mandatory) task with fixed processing time. More... | |
| class | ManFixPSETask |
| Cumulative (mandatory) task with fixed processing, start or end time. More... | |
| class | ManFlexTask |
| Cumulative (mandatory) task with flexible processing time. More... | |
| class | OptFixPTask |
| Cumulative optional task with fixed processing time. More... | |
| class | OptFixPSETask |
| Cumulative optional task with fixed processing, start or end time. More... | |
| class | OptFlexTask |
| Cumulative optional task with flexible processing time More... | |
| class | OmegaNode |
| Node for an omega tree. More... | |
| class | OmegaTree |
| Omega trees for computing ect of task sets. More... | |
| class | ExtOmegaNode |
| Node for an extended omega tree. More... | |
| class | ExtOmegaTree |
| Omega trees for computing ect of task sets. More... | |
| class | OmegaLambdaNode |
| Node for an omega lambda tree. More... | |
| class | OmegaLambdaTree |
| Omega-lambda trees for computing ect of task sets. More... | |
| class | ManProp |
| Scheduling propagator for cumulative resource with mandatory tasks. More... | |
| class | OptProp |
| Scheduling propagator for cumulative resource with optional tasks. More... | |
Typedefs | |
| typedef ManFixPTask | ManFixPTaskFwd |
| Forward mandatory fixed task view. | |
| typedef FwdToBwd< ManFixPTaskFwd > | ManFixPTaskBwd |
| Backward (dual) mandatory fixed task view. | |
| typedef ManFixPSETask | ManFixPSETaskFwd |
| Forward mandatory fixed task view. | |
| typedef FwdToBwd < ManFixPSETaskFwd > | ManFixPSETaskBwd |
| Backward (dual) mandatory fixed task view. | |
| typedef OptFixPTask | OptFixPTaskFwd |
| Forward optional fixed task view. | |
| typedef FwdToBwd< OptFixPTaskFwd > | OptFixPTaskBwd |
| Backward (dual) optional fixed task view. | |
| typedef OptFixPSETask | OptFixPSETaskFwd |
| Forward optional fixed task view. | |
| typedef FwdToBwd < OptFixPSETaskFwd > | OptFixPSETaskBwd |
| Backward (dual) optional fixed task view. | |
| typedef ManFlexTask | ManFlexTaskFwd |
| Forward mandatory flexible task view. | |
| typedef FwdToBwd< ManFlexTaskFwd > | ManFlexTaskBwd |
| Backward (dual) mandatory flexible task view. | |
| typedef OptFlexTask | OptFlexTaskFwd |
| Forward optional flexible task view. | |
| typedef FwdToBwd< OptFlexTaskFwd > | OptFlexTaskBwd |
| Backward (dual) optional flexible task view. | |
Functions | |
| template<class Task , class Cap > | |
| ExecStatus | basic (Space &home, bool &subsumed, Cap c, TaskArray< Task > &t) |
| Perform basic propagation. | |
| template<class TaskView > | |
| ExecStatus | edgefinding (Space &home, int c, TaskViewArray< TaskView > &t) |
| template<class Task > | |
| ExecStatus | edgefinding (Space &home, int c, TaskArray< Task > &t) |
| Propagate by edge finding. | |
| template<class ManTask > | |
| ExecStatus | overload (Space &home, int c, TaskArray< ManTask > &t) |
| Check mandatory tasks t for overload. | |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPTaskBwd &t) |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPTask &t) |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPSETask &t) |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFlexTask &t) |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPTask &t) |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPSETask &t) |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFlexTask &t) |
Detailed Description
Scheduling for cumulative resources
The edge-finding and overload-checking algorithms and data structures follow (mostly): Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, CP-AI-OR, 2009. Petr Vilím, Edge Finding Filtering Algorithm for Discrete Cumulative Resources in O(kn log n), CP, 2009.
Typedef Documentation
Forward mandatory fixed task view.
Definition at line 285 of file cumulative.hh.
Backward (dual) mandatory fixed task view.
Definition at line 288 of file cumulative.hh.
Forward mandatory fixed task view.
Definition at line 291 of file cumulative.hh.
Backward (dual) mandatory fixed task view.
Definition at line 294 of file cumulative.hh.
Forward optional fixed task view.
Definition at line 297 of file cumulative.hh.
Backward (dual) optional fixed task view.
Definition at line 300 of file cumulative.hh.
Forward optional fixed task view.
Definition at line 303 of file cumulative.hh.
Backward (dual) optional fixed task view.
Definition at line 306 of file cumulative.hh.
Forward mandatory flexible task view.
Definition at line 309 of file cumulative.hh.
Backward (dual) mandatory flexible task view.
Definition at line 312 of file cumulative.hh.
Forward optional flexible task view.
Definition at line 315 of file cumulative.hh.
Backward (dual) optional flexible task view.
Definition at line 318 of file cumulative.hh.
Function Documentation
| ExecStatus Gecode::Int::Cumulative::basic | ( | Space & | home, | |
| bool & | subsumed, | |||
| Cap | c, | |||
| TaskArray< Task > & | t | |||
| ) | [inline] |
Perform basic propagation.
| ExecStatus Gecode::Int::Cumulative::edgefinding | ( | Space & | home, | |
| int | c, | |||
| TaskViewArray< TaskView > & | t | |||
| ) | [inline] |
Definition at line 72 of file edge-finding.hpp.
| ExecStatus Gecode::Int::Cumulative::edgefinding | ( | Space & | home, | |
| int | c, | |||
| TaskArray< Task > & | t | |||
| ) | [inline] |
Propagate by edge finding.
| ExecStatus Gecode::Int::Cumulative::overload | ( | Space & | home, | |
| int | c, | |||
| TaskArray< ManTask > & | t | |||
| ) | [inline] |
Check mandatory tasks t for overload.
| std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const ManFixPTaskBwd & | t | |||
| ) | [inline] |
Definition at line 73 of file task-view.hpp.
| std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const ManFixPTask & | t | |||
| ) | [inline] |
| std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const ManFixPSETask & | t | |||
| ) | [inline] |
| std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const ManFlexTask & | t | |||
| ) | [inline] |
| std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const OptFixPTask & | t | |||
| ) | [related] |
| std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const OptFixPSETask & | t | |||
| ) | [related] |


Notes on Category Theory - in progress
Table of Contents
\[\require{amscd}\]
This is my reluctant attempt to learn some category theory. I’ve run into category theory in most of the areas of mathematical research I’ve pursued. It’s seemingly inevitable that I (and everyone else) will have to understand what is so important about the category theory way of doing things. I remember asking other researchers that used category theory on a daily basis
“What exactly does category theory actually provide? How is it actually useful?”
to which I’d receive fairly unsatisfactory answers such as
“It tells you what you should prove. It’s a good way to figure out what is trivial and what is not trivial.”.
All of these answers just didn’t really satisfy me. I essentially viewed category theory as a book-keeping framework. However, I believe this is a naive thought, but I’m still not particularly sure exactly what makes category theory so potent that almost every mathematician I know has used it.
So to guide my adventures, I’m going to start simple and get more complicated. These notes will be constructed entirely for myself, but they might be useful for others too. I will be using a number of resources, but to start off I’m going to read “Basic Category Theory” by Tom Leinster [1] and hopefully complete the exercise within. My goal is to better understand the field of non-commutative geometry in terms of category theory.
The beginning
Throughout my undergraduate degree, I studied many different areas of mathematics. Linear algebra, topology, group theory, Euclidean geometry, differential geometry, ring theory, Lie theory. In each of these topics, we learn about the properties of a basic object. In linear algebra, we study vector spaces, in topology we study topological spaces, in geometry we study manifolds with varying properties. Within each branch, even in each sub-branch, we learn of a map that tells us when two objects are the same. We say that these objects are ‘isomorphic’ or ‘homeomorphic’. In linear algebra, two vector spaces are deemed ’the same’ if there is a bilinear linear map between them. In topology, two topological spaces are deemed ’the same’ if there is a map called a homeomorphism. In group theory, we have group isomorphisms, in ring theory we have ring isomorphisms. So on and so forth, we have different words for roughly the same concept. More over, the idea of ’sameness’ changes from situation to situation.
Is there a way to abstract this idea of ’sameness’ from each field to a more general framework? This idea is where category theory makes sense to me. To understand concepts that hold true for many different fields from a more general viewpoint. There is more to category theory though, much more. So let us dive in.
So what is a category? It is a collection of certain mathematical objects, together with certain class of maps between these objects. These collections of objects and maps have to satisfy a number of properties that hold true for many of the above examples of fields. A question I want to know, is why the following definition of a category is the right one.
A category consists of the following data:
- A collection of objects, \(ob(\mathcal{C})\).
- The maps between any two objects \(Hom(A,B)\) for \(A,B\in ob(\mathcal{C})\)
- A rule/procedure that describes how we can compose maps, i.e. \(\circ\), such that for \(f\in Hom(A,B)\) and \(g\in Hom(B,C)\), where \(A,B,C\in ob(\mathcal{C})\), we can define \(f\circ g\in Hom(A,C)\).
These objects must satisfy a number of relations:
- First: the composition must be associative, i.e \((f\circ g)\circ h =f \circ (g\circ h)\) for all maps.
- For every \(A\in ob(\mathcal{C})\) we must have an identity map, i.e. there exists a map \(1_A\in Hom(A,A)\) such that \(f\circ 1_A = f=1_b \circ f\) for every \(f\in Hom(A,B)\).
Now why is this the right definition for a category? Well the collection of objects makes sense right? We want to study how construction for all groups are similar to the constructions for all topological spaces.
What about the maps between objects? We haven’t put any conditions on what those maps must be. In fact, using the word maps might be misleading, because these do not need to be continuous or even functions, they are sometimes called morphisms or arrows to make this point absolutely clear. So we haven’t excluded any examples we know with this. So the maps are fine.
So what about the composition law? The fact that we can compose maps is a very useful and fruitful idea. As every example you can probably think of has the composition of maps, this seems well suited? Well, why does it have to be associative? Granted the composition of functions is associative, the composition of isomorphisms and homeomorphisms, but are there really no objects that have a composition rule that isn’t associative? There are many mathematical operations that are not associative, subtraction is not an associative operation: \((5-3)-1\neq 5-(3-1)\). Neither is division or the Lie bracket for Lie algebras, so why does the composition of maps need to be associative in categories? I have no great argument for why we requiring associativity is the right thing to do except, that if we relax this condition, we need to replace it with something more general. This has been done, of course, mathematicians never fail to explore every avenue. These ’non-associative’ categories go by the name of \(A_\infty\)-categories and are very advanced.
So let us just say that associative is sufficient to capture every reasonable example.
Finally, the presence of an identity map is always there, it’s almost a non-sensical notion to not have an identity map. Think about it, I have an object, and I can’t do ’nothing’ to it - what does that even mean. So identities must exist I agree.
So thats a category, so whats next? Well lets revisit some familiar friends, and see what categories we can form.
Let \(Top\) be the following category: The objects are all topological spaces. The maps are the continuous maps between topological spaces. The composition of continuous maps is associative. The identity function exists.
Let \(Grp\) be the following category: Let \(ob(Grp)\) be all groups, let \(Hom(A,B\) be the group homomorphisms from the group \(A\) to group \(B\). We have that composition of group homomorphisms is associative and that the identity map is a group homomorphism, so it is in \(Hom(A,A)\).
Let \(Man^k\) be the category of \(C^k\)-manifolds and \(C^k\) maps between them. We let \(Man^\infty\) be the category of smooth manifolds and smooth maps between them. Let \(Man^\omega\) be the category of analytic manifolds. Note that composition of functions is associative again and the identity map exists in all cases here.
Let \(Set\) denote the category of sets and maps between them. Map composition is associative again and the identity map exists.
The examples above are mainly to introduce some notation for some key players in category theory. However, we notice that most structures fit in a category. Geometry, algebra and set theory all fit there. There are many many more categories and we will investigate some in a little bit.
It is clear at this point that defining a Category is not special. Category theory’s power is describing how different categories relate to each other. Just like defining a manifold is not particularly important. Understanding the properties of manifolds and how they relate to each other is powerful. The Whitney embedding theorem comes to mind here, that any smooth (real) \(m\)-dimensional manifold can be embedding in \(\mathbb{R}^{2m}\) (for \(m>0\)). This statement shows that results proved for embedded manifolds can hold true for any manifold.
With that being said, I think that it is very insightful to look at some specific types of categories.
Categories with only one object
Most of the examples of categories above contain many many objects. However, categories can be very interesting when they are much simpler/smaller as we shall now see. Let \(\mathcal{C}\) a category with only one element, let us denote that element by \(x\) (the letter is obviously not important), i.e. so \(ob(\mathcal{C}) = \{x\}\). I don’t know if this is taboo or not to write this as a set, but I think it’s pretty safe, but I’m always a little scared of the pedants.
So as the list of objects is simple, we can ask ourselves, what are the different types of maps that we can require? Well all the maps have to start and end with the same space, i.e. \(Hom(x,x)\). So as the definition of a category requires us to have an identity map, that exists. We also require associativity, so if we have maps \(f,g\in Hom(x,x))\) we have also \(f\circ g\) and \(g\circ f\). We then also have \(f\circ(f\circ g)\) and \(g\circ(f\circ g)\) etc.
So at this point we should think about some cases. If \(x\) is just an empty set \(x=\{\}\) then the only map we can have is to map \(x\) to \(x\), i.e. we only have the identity map. However, what if \(x\) is actually a general finite set? So there is \(x=\{a_1, a_2,a_3,\dots \}\), well then we have the identity map that \(1_x(a_i) = a_i\) for all \(a_i \in x\). And any other map we can come up with. I’ve listed some bijective maps below.
Figure 1: A pictorial representation of a single object category and a description of potential morphisms. (Question: Given the definition of a category, what other maps must there be for our single object category \(x\)?)
But we’ve already made a rather larger blunder here. We don’t need to specific what \(x\) is to define a category. We just have to define an object. It doesn’t need to be a set or anything really. We then have maps from \(x\) to itself.
Let \(M\) be a category with one object. Let the maps have no conditions on them other than those required by a definition of a category. We call such a category a monoid. This does agree with the definition of a monoid in abstract algebra.
This example is seemingly unimportant, but you will find (or have found already in your mathematical endeavours) that monoids are important. Specifically, I keep coming across the term ‘monoidal category’ which I want to have a good understanding of. It turns out that a ‘monoidal category’ is more difficult to define, however one of the key properties of a ‘monoidal category’ is that you can always find a monoid for that category, i.e. \(Set\) is a monoidal category and we can always find a monoid, within the category of sets. But we will have to wait to see this formal definition.
Another very interesting example of a one object category is that of a group. Yes a group can be viewed as a one category.
Let \(G\) be a group, then elements of the group \(G\) are defined as maps for a one object category. Where the object of the category is then what? Well does it matter? No, not at all. The entire property of a group is capture in the elements and how they behave. Here we are viewing them as maps, it doesn’t matter what we are mapping from and to.
Groups require that the elements satisfy a number of axioms, which boil down to the following:
- the existence of an identity (which has to exist in a category \(\checkmark\))
- given two elements \(x\) and \(y\) there composition has to exists (again literally in the definition of a category \(\checkmark\)). Let this composition be denoted by \(\cdot\). So we have to have \(x\cdot y\) exists.
- The composition of elements is associative (again the definition of a category \(\checkmark\)).
- if \(x\) exists, then the inverse exists \(x^{-1}\). More concretely, given \(x\) we require that there exists an element \(x^{-1}\) such that \(x\cdot x^{-1} = x^{-1} \cdot x = 1_G\), where \(1_G\) is the identity.
What does this last condition mean in terms of category theory perspective? Well given a map \(f\) (which corresponds to an element \(x\) say) we require another map to exists such that \(f\circ g = g\circ f = 1_\bullet\), where \(1_\bullet\) is the identity map. Thus we require that the maps in the category are invertible!
So any single object category where the maps all have two-sided inverses, we can view as a group!
This leads us to the notion of an isomorphism in category theory. We shall look at isomorphism and where they are useful and where they need to have a bit of a rethink.
Isomorphisms in category theory
We want to define a notion of isomorphism that captures all of the differing versions that exist. Given the category \(Set\), we need a definition that captures that bijections in \(Set\) are the isomorphisms. In \(Top\), we need it to spit out homeomorphisms. In \(Grp\) we need it to spit out group isomorphisms. So on and so forth, every mathematical structure has some notion of ‘isomorphic’ which we want to generalise. It turns out to be remarkably easy.
Given a category \(\mathcal{A}\), we that a map \(f:A\to B\) between two objects in a category, \(A,B\in ob(\mathcal{A})\), is an isomorphism if there exists another map \(g:B\to A\) such that \(f\circ g = 1_B\) and \(g\circ f= 1_A\). Where \(1_A\) is the identity map for the object \(A\) and \(1_B\) is the identity map for the object \(B\).
So lets check that this definition does provide us with the correct notion of isomorphism for the a handful of examples:
Universal Properties: These are statements with are true for every example of the class and unique. For instance the map from every set to the set with one element \(1=\{x\}\) that maps each element to the one element in \(1\). This is a unique map, and exists for every set.


This is the official AtomicDEX mobile beta program channel -
Android: https://play.google.com/store/apps/details?id=com.komodoplatform.atomicdex - iOS: https://testflight.apple.com/join/c2mOLEoC - Please use https://github.com/KomodoPlatform/atomicdex/issues for bug reports and feature requests. For critical security bug reports please do send us your encrypted (https://pgp.mit.edu/pks/lookup?op=get&search=0x379287998EE6CF47) report to<EMAIL_ADDRESS>and allow up to 24h for reply. For atomicDEX API (mm2) related issue reports or feature requests please do use https://github.com/KomodoPlatform/atomicDEX-API/issues
100 messages
Before 05-Dec-19 12:00 AM
Booster99x31-Oct-19 02:47 PM
Been trying since 12pm, still 0 swap went through lol
4
1
jspook1631-Oct-19 02:47 PM
Are there any estimates to the number of orders it takes to bottleneck the network currently @TonyL(edited)
tgrunft31-Oct-19 02:48 PM
got one completed as failed so thats progress too
Yaconx31-Oct-19 02:48 PM
Obviously the 777 reward goes to no one I can’t get one trade let alone 30. I hope this exercise was worth it for the network because I’ve made a lot of effort for very little made a ton of orders for not one to get past 0 step of 3
kmdkrazy31-Oct-19 02:48 PM
I think I helped bottle necked it before the test even started.....  Continúes testing
Jaki31-Oct-19 02:49 PM
After xx traders there is still 7.777 RICK and 7.777 MORTY. Any comments why?
ca33331-Oct-19 02:49 PM
yes it provided a LOT of essential data - we re really very grateful that you re helping us with this!
Sir Seven31-Oct-19 02:49 PM
@Jaki I think you had 0 matches.(edited)
[deleted]31-Oct-19 02:49 PM
@Jaki Because no trade was successfull maybe?
Booster99x31-Oct-19 02:51 PM
@ca333 My pleasure too haha. If almost no one's getting 30 swaps done, will you lower the minimum threshold for the contest participation ?
jspook1631-Oct-19 02:51 PM
Like a curve?
vanity3331-Oct-19 02:51 PM
we can'r even make one
lol
ronyi31-Oct-19 02:52 PM
I have 0,1morty and 0,1rick orders vica versa and no match.... how this is possible?
jspook1631-Oct-19 02:53 PM
I really thought I'd have 30 trades in pretty quick based on previous trading times..
NWhiskeyTango31-Oct-19 02:53 PM
because halloween
TonyL31-Oct-19 02:53 PM
I have 0,1morty and 0,1rick orders vica versa and no match.... how this is possible? networking/routing problems because of loading on infra there are
Jaki31-Oct-19 02:53 PM
@[deleted]@Sir Seven in order history there are transactions with option cancel. Is there any delay?
smk762 - dracocanis ominator31-Oct-19 02:53 PM
So so sorry people Just noticed that some pubkey transaltion code I was using did not return the expected address. I've change code so it gets address directly without changing from pubkey.
Leaderboards have been updated with fix. Those who could not see their order count earlier please let me know if it is visible now
NWhiskeyTango31-Oct-19 02:54 PM
hey guys your phone is ringing better go answer it lol
Mark8131-Oct-19 02:55 PM
With stress test also your geological positioning matters. More closer you are servers that host matchmaking then better you are.
jspook1631-Oct-19 02:55 PM
Servers?
Electrum servers?
BobZilla31-Oct-19 02:55 PM
Just FYI,, cant get any orders through,, tried wifi,, and phone network
Mark8131-Oct-19 02:56 PM
If i am correct serv3rs are hosted on germany that do order matching.
Seed nodes.
Its same ss bitorrent seed nodes
NWhiskeyTango31-Oct-19 02:59 PM
well i have 3 failed now so that's progress
Jaki31-Oct-19 02:59 PM
@Admin how we can see that the swap between RICK and MORTY is successful? Thx
history will show it,, i have had successful ones before the test,, days ago
kmdkrazy31-Oct-19 03:00 PM
I have 1000 transactions up until it exploded
Booster99x31-Oct-19 03:00 PM
@kmdkrazy How did you do that?
kmdkrazy31-Oct-19 03:00 PM
Yesterday
Till 1am
boroghor31-Oct-19 03:00 PM
do i need to reinstall atomicdex? haven't had one successful swap. iOS 12.4 ipx all 0/3 i've been trying them one at a time too
Booster99x31-Oct-19 03:00 PM
Oh okay
kmdkrazy31-Oct-19 03:00 PM
This morning
Booster99x31-Oct-19 03:00 PM
@kmdkrazy Do you know that they won't count for the contest ?
NWhiskeyTango31-Oct-19 03:01 PM
whoa wierd...i am getting orders that i put in this morning and cancelled coming back as failed
TonyL31-Oct-19 03:02 PM
@boroghor unfortunately uninstall will not help. For now you can keep trying until it succeed
sir31-Oct-19 03:02 PM
I've got one successful tx
Took about 50
boroghor31-Oct-19 03:03 PM
@TonyL np as long as everyone is in the same boat.
kmdkrazy31-Oct-19 03:03 PM
I'll keep checking back here...good luck homies
Artist31-Oct-19 03:03 PM
The hell man lol
0/3
vanity3331-Oct-19 03:04 PM
lol i managed to go once 1/3
NWhiskeyTango31-Oct-19 03:05 PM
i have 13 failed swaps lol
farl31-Oct-19 03:05 PM
1
jspook1631-Oct-19 03:07 PM
Ditto
Strob31-Oct-19 03:10 PM
other problem: my phone recognize my figerprints but not the app
datab0t31-Oct-19 03:13 PM
When I open a trade, then go to the order page, it is like it try to process the inverted trade.
Booster99x31-Oct-19 03:13 PM
Got my first successful swap, ya mad brothers?(edited)
NWhiskeyTango31-Oct-19 03:13 PM
i'm getting failed orders for under the limit (0.005MORTY offers)(edited)
datab0t31-Oct-19 03:15 PM
I can't post screenshot in this channel..
Gordon Komodo31-Oct-19 03:15 PM
do you count other coins , or only rick and morty trades ?
Sir Seven31-Oct-19 03:16 PM
Rick - Morty only
1
Strob31-Oct-19 03:16 PM
oops sorry it seems my phone doesn'T recognize my fingerprints at all. (new phone and just added screen protector)(edited)
1
Sir Seven31-Oct-19 03:17 PM
@NWhiskeyTango You are probably acting as Maker here.
NWhiskeyTango31-Oct-19 03:17 PM
some yes, some no
but they below fees, yes, me as maker
*the
derons31-Oct-19 03:18 PM
How can I get some ricks and mortys
t131-Oct-19 03:18 PM
Can you explain how only something 50 swaps have been recorded so far where as we are so many people creating several swaps per minute since 12:00? Why so many fails?
NWhiskeyTango31-Oct-19 03:18 PM
i have 3 successful but not showing on leaderboard
farl31-Oct-19 03:18 PM
@Strob my phonE also has some troubles with face ID with the app. Rest of my phone is working good. Beta I guess
heguli9731-Oct-19 03:18 PM
lol, phone is having troubles showing 800+ orders in the orderbook
farl31-Oct-19 03:19 PM
Do you see 800+ orders?
heguli9731-Oct-19 03:19 PM
yes
farl31-Oct-19 03:19 PM
Where?
flequillo198631-Oct-19 03:19 PM
Stress test is causing me a Lot of stress
Booster99x31-Oct-19 03:19 PM
Same
flequillo198631-Oct-19 03:19 PM
No swaps executed
1
3 out of 100 requests
heguli9731-Oct-19 03:19 PM
selling rick and buying morty, there are 800 morty orders
flequillo198631-Oct-19 03:20 PM
Too bad...
farl31-Oct-19 03:20 PM
I see between 50 and 120 or so orders, it’s constant different
heguli9731-Oct-19 03:20 PM
now 867
flequillo198631-Oct-19 03:20 PM
Atomic fail?
Hahaha
Sir Seven31-Oct-19 03:20 PM
@derons Press in app on coin icon -> Recieve -> Faucet
1
t131-Oct-19 03:20 PM
@heguli97 I see only 40
farl31-Oct-19 03:20 PM
@heguli97 Where do you see those?
Sir Seven31-Oct-19 03:21 PM
@derons If faucet tx fails after a few attempts, post your address here we will send some.(edited)
peratt31-Oct-19 03:21 PM
This is bad test for me ..my phone so very lag to try swap


General Information
- Breed Purpose
- Dual Purpose
- Comb
- Single
- Broodiness
- Average
- Climate Tolerance
- Cold
- Egg Productivity
- Medium
- Egg Size
- Large
- Egg Color
- Dark Brown
- Breed Temperament
- Friendly,Easily handled,Docile
- Breed Colors/Varieties
- Silver Cuckoo, Golden Cuckoo, White, Copper Black, Black, Wheaten, Black-tailed Buff, and Ermine. MANY colors in development!
- Breed Size
- Large Fowl
The Marans, or French, Poule de Marans, is a French breed of chicken from the port town of Marans, in the département of Charente-Maitime, in the Poitou-Charentes region of western France. It was created with the local feral chickens descended from fighting game chickens carried from Indonesia and India. Those original Marandaise fowl were "improved" for the table through crossing with imported Croad Langshans. A favourite at poultry shows, it became a dual purpose breed known both for its extremely dark brown eggs and fine meat qualities.
Marans are generally quiet and docile; but they are quite active, taking well to free ranging in rough terrain and are also tough and disease-resistant. Their gentle temperaments and quiet demeanor makes them ideal for suburban backyard chicken keepers, as well as any assorted farm flock as they rarely bully smaller breeds. Marans are historically a dual-purpose bird, prized not only for their dark eggs but for their table qualities as well. Though the original Marans could also be feather legged birds, British breeders preferred the clean legged version, and thus feathered legged Marans are now mainly found in France. The Australian Poultry Standard recognises both feathered and clean-legged birds, while the Marans Club of America only recognises feather-legged birds.
Marans egg
Marans chick
Marans juvenile
Marans hen
Marans rooster
For more about the Marans breed and their owners' and breeders' experiences with them, see our breed discussion here: https://www.backyardchickens.com/threads/chicken-breed-focus-maran.1132230/


IT consulting firm that makes professors and doctors available to
help you.
We make it possible for you to consult with Ph.D. Professors,
doctors and post-doctors to solve IT-related challenges and make
optimal decisions — giving your business the leading edge.
Learn more
WHO WE ARE
We are a group of Ph.D. Professors, doctors, post-doctors, and
leading experts in multiple industries available in an advisory
capacity to help you solve technical challenges related
Web/Mobile app development, UX, AI, Accessibility, and more.
Our goal is to help you have access to professionals that
wouldn't otherwise be available to assist individuals and/or
businesses.
You can think of us as your IT Advisory Concierge.
WHAT SERS US APART
Imagine being able to contact Ph.D. Professors and leading
experts to bounce ideas off and get advice from! These kind of
professionals are rarely available for hire, but we can make
them available to you on an temporary advisory capacity!
Forefront Consulting makes it possible for regular businesses to
have access to the brigthets minds of the industry. However,
this type of resource is limited, and therefore very exclusive.
Whether your project already started or will start soon, you can
certainly benefit from top quality guidance. In other words, you
can leverage our services for projects that are already ongoing
(to assist your teams) or for a more private investigations, in
order to prepare yourself better before speaking with your
leadership.
In a nutshell, we provide brilliant ideas, you provide the
experience and hard work, and the result is success!
Benefits
We have specialists in many areas. Here are some of them:
Web Development
Planning new projects
Software Architecture
Frontend Shops
Frontend Architecture
UI Component Library
System Design
Tech-stack selection
Code portability
User Experience
UX Research
Usability Tests
Branding
Design Systems
Artificial Intelligence
Planning new projects
AI in the browser
Conversational AI
Computer Vision
Natural Language Processing
Anomaly Detection
Other Areas
Accessibility
Internet of Things
Web Assembly
Workflow Optimization
HOW IT WORKS
1
Private. As soon as you reach
out to us, we can start working on a Non-Disclosure
agreement, so that you can feel comfortable explaining
your project to us. Our Core-Team will then identify a
specialist in our network who will be ideal to serve your
project needs.
2
Straightforward. Once we
identify the best industry leaders that could help you
achieve your goals, a straightforward proposal will be
presented to you, including the cost and names of the
professionals that would be part of your Advisory Board.
3
Communication. Once you accept
the proposal the work begins! We are concierges of the IT
world, which means that after this point we will be at
your disposal to assist you the best way possible!
WHY TO JOIN US?
No contract
There is not employment link, no contract, and no commitment. If you are approved, we would simply add your name to our list of carefullt selected advisors.
Choose your projects
Professors are free to evaluate the opportunities that come up and decide which ones to join. There is no commitment until you accept to join the project.
Diversity - Exposure to different industries
Professors often get stuck withing one or two industry segments. With Forefront, you will get exposed to a much wider range of challenges from different industries.
Limited Liability
With Forefront, you incur on less liability since you will be working through an LLC and not as an individual. Also we will take care of all the legal documentation related to the work.
Marketing and Adverstising
Professors don’t need to spend time or money going after opportunities
Less secretary-type work
Forefront will take care of answering customers’ basic questions, dealing with billing, provide reports/receipts, english grammar review, etc
Payroll
Professors will receive official 1099 Forms, paystubs, and other important documents
Record keeping
Professors will not be bothered if a customer shows up a year later to ask for a document
Make it easy for the professor to drop out from the project if needed
If something changes for the professor (like a NSF grant getting approved), Forefront can assist on finding a replacement so that the professor can move on
Leg work
Some project that might need some basic leg work, such as research, coding, or experimentation, Forefront can provide qualified workforce to assist the professors with the most mundane and repetitive tasks
CASE STUDIES
A global financial company
needed to find a browser-based PDF viewer with smart
redacting capabilities. They were about o purchase one
based on nothing more than influence from advertising.
However, one of our advisors performed an thorough
research, lisiting all products in the market and taking
notes of all of their features, their prices, and giving
score for the quality of other aspects such as
documention, customer support, community size,
compatibility with the company's techstack, and dozens of
other criteria. This report was used to evaluate the
potential of each solution to satisfy not only the current
project, but also future projects. Finally, the report
also described what it would take to create an in-house
solution and the steps to make that happen. The leadersgip
of the company loved the report and was able to make an
educated choice, choosing the most optimal solution,
balancing scope, quality, price, and development speed,
which saved thousands of dollars for that project and many
consecutive projects since then.
A global fin-tech company
needed to create a robust, lean and performant UI
Component Library but wasn't sure on how to make it that
way while still supporting multiple lines of business
(LOB). Each LOB could potentally require different (a)
features, (b) release and maintenance schedule, (c) theme,
(d) types of web developers, (e) timezones and languages
to support, etc. How could we make it so versitile and yet
keep it lean and easy to use? One of Forefront's advisors,
successfully designed the solution, created the
dev-enviroment, coded the first few components as
examples, trained the team, stablished a custom workflow,
and invented an self-documentation solution that
automatically creates a portal website, favoring
discoverability. The initiative was so successful that it
grew into a Frontend Shop. It also revolutionized the
company's Design System, making it possible to stablish a
strong visual identity across all lines of businesses and
reducing development time in around 30%. The UI Library
also enabled that high-fideliy prototypes could be created
in just few days, briging a tremendous business advantage
for the organization.
A global restaurant chain was
looking for an innovative method of cleaning which would
guarantee their insurance provider that they were
eliminating their number one cause of claims: slip-n-fall.
One of our advisors created three models of "smart mops"
and "smart brooms" which would connect to the local
manager's computer, letting them know the frequency and
the areas the areas covered with cleaning during the work
hours. The idea was the the grounds should be cleaned even
if no visible spills were found, because they could go
unnoticed and lead to accidents. With the use of those
smart devices, besides saving money with their insurance
premiums, the restaurant chain also reduced the number of
accidents.
FAQ
What is your pricing?
Prices start at $120/hour.
What affect the price?
The price is dependent on the particular advisor or
advisors selected for your project. It is also affected
by the number of consulting hours purchased. The more
hours purchased, the lower the cost per hour.
Can I choose the advisors?
We do our best to make that happen. However, some of our
advisors cannot assist certain industries because of
their non-compete clauses with their main employers or
they could simply be booked with other projects. Please
rest assured that our large network of professionals
within Academia and industry ensures we will find the
perfect advisor to assist you.
Can I request consulting for just a couple of hours?
Yes you can.
Is it only for companies or can it be a personal/private
consultation?
It is up to you. Some high executives reach out to us to
get access to bright minds in order to bounce ideas
with, mature their thoughts, and elevate the level of
their contributions on up coming meetings. Their
employers are not involved. However, other people reach
out to us because they want to get us involved with
their teams. You decide. We are here to serve.
Do we need to sign an official non-disclosure agreement?
No. That is up to you, of course. Some people prefer to
create hypotetical cases, generalizing the actual issue
their companies are facing, so that we do not need to
officially involve their employers. Either way, you have
our assurance that we treat every consultation with the
utmost respect and privacy.


=========
This is the notifier gem for integrating apps with Hoptoad.
When an uncaught exception occurs, HoptoadNotifier will POST the relevant data to the Hoptoad server specified in your environment.
Help
For help with using Hoptoad and the Hoptoad notifier visit [our support site](help.hoptoadapp.com)
For discussion of Hoptoad notifier development check out the [mailing list](groups.google.com/group/hoptoad-notifier-dev)
Rails Installation
### Remove exception_notifier
in your ApplicationController, REMOVE this line:
include ExceptionNotifiable
In your config/environment* files, remove all references to ExceptionNotifier
Remove the vendor/plugins/exception_notifier directory.
### Remove hoptoad_notifier plugin
Remove the vendor/plugins/hoptoad_notifier directory before installing the gem, or run:
script/plugin remove hoptoad_notifier
### Rails 3.x
Add the hoptoad_notifier gem to your Gemfile. In Gemfile:
gem "hoptoad_notifier", "~> 2.3"
Then from your project’s RAILS_ROOT, run:
bundle install script/rails generate hoptoad --api-key your_key_here
That’s it!
### Rails 2.x
Add the hoptoad_notifier gem to your app. In config/environment.rb:
config.gem 'hoptoad_notifier'
Then from your project’s RAILS_ROOT, run:
rake gems:install rake gems:unpack GEM=hoptoad_notifier script/generate hoptoad --api-key your_key_here
As always, if you choose not to vendor the hoptoad_notifier gem, make sure every server you deploy to has the gem installed or your application won’t start.
### Rails 1.2.6
Install the hoptoad_notifier gem:
gem install hoptoad_notifier
Once installed, you should vendor the hoptoad_notifier gem:
mkdir vendor/gems cd vendor/gems gem unpack hoptoad_notifier
And then add the following to the Rails::Initializer.run do |config| block in environment.rb so that the vendored gem is loaded.
# Add the vendor/gems/*/lib directories to the LOAD_PATH config.load_paths += Dir.glob(File.join(RAILS_ROOT, 'vendor', 'gems', '*', 'lib'))
Next add something like this at the bottom of your config/environment.rb:
require 'hoptoad_notifier' require 'hoptoad_notifier/rails' HoptoadNotifier.configure do |config| config.api_key = 'your_key_here' end
You will also need to copy the hoptoad_notifier_tasks.rake file into your RAILS_ROOT/lib/tasks directory in order for the rake hoptoad:test task to work:
cp vendor/gems/hoptoad_notifier-*/generators/hoptoad/templates/hoptoad_notifier_tasks.rake lib/tasks
As always, if you choose not to vendor the hoptoad_notifier gem, make sure every server you deploy to has the gem installed or your application won’t start.
### Upgrading From Earlier Versions of Hoptoad
If you’re currently using the plugin version (if you have a vendor/plugins/hoptoad_notifier directory, you are), you’ll need to perform a few extra steps when upgrading to the gem version.
Add the hoptoad_notifier gem to your app. In config/environment.rb:
config.gem 'hoptoad_notifier'
Remove the plugin:
rm -rf vendor/plugins/hoptoad_notifier
Make sure the following line DOES NOT appear in your ApplicationController file:
include HoptoadNotifier::Catcher
If it does, remove it. The new catcher is automatically included by the gem version of Hoptoad.
Before running the hoptoad generator, you need to find your project’s API key. Log in to your account at hoptoadapp.com, and click on the “Projects” button. Then, find your project in the list, and click on its name. In the left-hand column, you’ll see an “Edit this project” button. Click on that to get your project’s API. (If you accidentally use your personal API auth_token, you won’t be able to install the gem.)
Then from your project’s RAILS_ROOT, run:
rake gems:install script/generate hoptoad --api-key your_key_here
Once installed, you should vendor the hoptoad_notifier gem.
rake gems:unpack GEM=hoptoad_notifier
As always, if you choose not to vendor the hoptoad_notifier gem, make sure every server you deploy to has the gem installed or your application won’t start.
### Upgrading from Earlier Versions of the Hoptoad Gem (with config.gem)
If you’re currently using the gem version of the hoptoad_notifier and have a version of Rails that uses config.gem (in the 2.x series), there is a step or two that you need to do to upgrade. First, you need to remove the old version of the gem from vendor/gems:
rm -rf vendor/gems/hoptoad_notifier-X.X.X
Then you must remove the hoptoad_notifier_tasks.rake file from lib:
rm lib/tasks/hoptoad_notifier_tasks.rake
You can them continue to install normally. If you don’t remove the rake file, you will be unable to unpack this gem (Rails will think it’s part of the framework).
### Testing it out
You can test that Hoptoad is working in your production environment by using this rake task (from RAILS_ROOT):
rake hoptoad:test
If everything is configured properly, that task will send a notice to Hoptoad which will be visible immediately.
Rack
In order to use hoptoad_notifier in a non-Rails rack app, just load the hoptoad_notifier, configure your API key, and use the HoptoadNotifier::Rack middleware:
require 'rack' require 'hoptoad_notifier' HoptoadNotifier.configure do |config| config.api_key = 'my_api_key' end app = Rack::Builder.app do use HoptoadNotifier::Rack run lambda { |env| raise "Rack down" } end
Sinatra
Using hoptoad_notifier in a Sinatra app is just like a Rack app, but you have to disable Sinatra’s error rescuing functionality:
require 'sinatra/base' require 'hoptoad_notifier' HoptoadNotifier.configure do |config| config.api_key = 'my_api_key' end class MyApp < Sinatra::Default use HoptoadNotifier::Rack enable :raise_errors get "/" do raise "Sinatra has left the building" end end
Usage
For the most part, Hoptoad works for itself. Once you’ve included the notifier in your ApplicationController (which is now done automatically by the gem), all errors will be rescued by the rescue_action_in_public provided by the gem.
If you want to log arbitrary things which you’ve rescued yourself from a controller, you can do something like this:
... rescue => ex notify_hoptoad(ex) flash[:failure] = 'Encryptions could not be rerouted, try again.' end ...
The notify_hoptoad call will send the notice over to Hoptoad for later analysis. While in your controllers you use the notify_hoptoad method, anywhere else in your code, use HoptoadNotifier.notify.
To perform custom error processing after Hoptoad has been notified, define the instance method rescue_action_in_public_without_hoptoad(exception) in your controller.
Informing the User
The Notifier gem is capable of telling the user information about the error that just happened via the user_information option. They can give this error number in bug resports, for example. By default, if your 500.html contains the text

then that comment will be replaced with the text “Hoptoad Error [errnum]”. You can modify the text of the informer by setting config.user_information. The Notifier will replace “{{ error_id }}” with the ID of the error that is returned from Hoptoad.
HoptoadNotifier.configure do |config| ... config.user_information = "
Tell the devs that it was {{ error_id }}'s fault.
" end
You can also turn the middleware completely off by setting config.user_information to false.
Tracking deployments in Hoptoad
Paying Hoptoad plans support the ability to track deployments of your application in Hoptoad. By notifying Hoptoad of your application deployments, all errors are resolved when a deploy occurs, so that you’ll be notified again about any errors that reoccur after a deployment.
Additionally, it’s possible to review the errors in Hoptoad that occurred before and after a deploy.
When Hoptoad is installed as a gem, you need to add
require 'hoptoad_notifier/capistrano'
to your deploy.rb
If you don’t use Capistrano, then you can use the following rake task from your deployment process to notify Hoptoad:
rake hoptoad:deploy TO=#{rails_env} REVISION=#{current_revision} REPO=#{repository} USER=#{local_user}
Going beyond exceptions
You can also pass a hash to notify_hoptoad method and store whatever you want, not just an exception. And you can also use it anywhere, not just in controllers:
begin params = { # params that you pass to a method that can throw an exception } my_unpredicable_method(params) rescue => e HoptoadNotifier.notify( :error_class => "Special Error", :error_message => "Special Error: #{e.message}", :parameters => params ) end
While in your controllers you use the notify_hoptoad method, anywhere else in your code, use HoptoadNotifier.notify. Hoptoad will get all the information about the error itself. As for a hash, these are the keys you should pass:
- :error_class - Use this to group similar errors together. When Hoptoad catches an exception it sends the class name of that exception object.
- :error_message - This is the title of the error you see in the errors list. For exceptions it is “#{exception.class.name}: #{exception.message}“
- :parameters - While there are several ways to send additional data to Hoptoad, passing a Hash as :parameters as in the example above is the most common use case. When Hoptoad catches an exception in a controller, the actual HTTP client request parameters are sent using this key.
Hoptoad merges the hash you pass with these default options:
{ :api_key => HoptoadNotifier.api_key, :error_message => 'Notification', :backtrace => caller, :parameters => {}, :session => {} }
You can override any of those parameters.
### Sending shell environment variables when “Going beyond exceptions“
One common request we see is to send shell environment variables along with manual exception notification. We recommend sending them along with CGI data or Rack environment (:cgi_data or :rack_env keys, respectively.)
See HoptoadNotifier::Notice#initialize in lib/hoptoad_notifier/notice.rb for more details.
Filtering
You can specify a whitelist of errors, that Hoptoad will not report on.
This filter will only be applied to automatic notifications, not manual notifications (when notify is called directly).
Hoptoad ignores the following exceptions by default:
AbstractController::ActionNotFound ActiveRecord::RecordNotFound ActionController::RoutingError ActionController::InvalidAuthenticityToken ActionController::UnknownAction CGI::Session::CookieStore::TamperedWithCookie
To ignore errors in addition to those, specify their names in your Hoptoad configuration block.
HoptoadNotifier.configure do |config| config.api_key = '1234567890abcdef' config.ignore << "ActiveRecord::IgnoreThisError" end
To ignore only certain errors (and override the defaults), use the ignore_only attribute.
HoptoadNotifier.configure do |config| config.api_key = '1234567890abcdef' config.ignore_only = ["ActiveRecord::IgnoreThisError"] end
To ignore certain user agents, add in the ignore_user_agent attribute as a string or regexp:
HoptoadNotifier.configure do |config| config.api_key = '1234567890abcdef' config.ignore_user_agent << /Ignored/ config.ignore_user_agent << 'IgnoredUserAgent' end
To ignore exceptions based on other conditions, use ignore_by_filter:
HoptoadNotifier.configure do |config| config.api_key = '1234567890abcdef' config.ignore_by_filter do |exception_data| true if exception_data[:error_class] == "RuntimeError" end end
To replace sensitive information sent to the Hoptoad service with [FILTERED] use params_filters:
HoptoadNotifier.configure do |config| config.api_key = '1234567890abcdef' config.params_filters << "credit_card_number" end
Note that, when rescuing exceptions within an ActionController method, hoptoad_notifier will reuse filters specified by filter_parameter_logging.
Testing
When you run your tests, you might notice that the Hoptoad service is recording notices generated using notify when you don’t expect it to. You can use code like this in your test_helper.rb to redefine that method so those errors are not reported while running tests.
module HoptoadNotifier def self.notify(thing) # do nothing. end end
Proxy Support
The notifier supports using a proxy, if your server is not able to directly reach the Hoptoad servers. To configure the proxy settings, added the following information to your Hoptoad configuration block.
HoptoadNotifier.configure do |config| config.proxy_host = ... config.proxy_port = ... config.proxy_user = ... config.proxy_pass = ...
Supported Rails versions
See SUPPORTED_RAILS_VERSIONS for a list of official supported versions of Rails.
Please open up a support ticket on Tender ( help.hoptoadapp.com ) if you’re using a version of Rails that is not listed above and the notifier is not working properly.
Javascript Notifer
To automatically include the Javascript node on every page, use this helper method from your layouts:
<%= hoptoad_javascript_notifier %>
It’s important to insert this very high in the markup, above all other javascript. Example:
<!DOCTYPE html>   <meta charset="utf8"> <%= hoptoad_javascript_notifier %>    ...
This helper will automatically use the API key, host, and port specified in the configuration.
Credits
![thoughtbot]()
HoptoadNotifier is maintained and funded by [thoughtbot, inc](thoughtbot.com/community)
Thank you to all [the contributors](github.com/thoughtbot/hoptoad_notifier/contributors)!
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
License
HoptoadNotifier is Copyright © 2008-2011 thoughtbot. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.


Ref: SSOM/2017/
Date: 9th Nov 2017
To,
Mr.
Sub:-Regarding price quotation for “On-Grid SOLAR POWER PLANT”
Dear Sir,
With reference to your given enquiry for Solar Power Plant, we are pleased to offer you the best possible price for the same application. We here with enclose our technical commercial offer for your kind perusal.
Trust our offer is in line with your requirement and now look forward to receive your valuable purchase order at the earliest.
Thanking you and assuring you of our best services at all times.
|
Sl. No. |
Item Description |
Product Rating |
Make |
Qnty. |
|
1 |
Solar PV module |
315Wp,24V |
Waaree Solar |
16 nos. |
|
2 |
Solar Inverter |
5Kw Ongrid Single Phase |
Waaree/Statcon/Polycab/Kstar/ Grow watt Or Equivalent |
1 nos. |
|
3 |
Solar Cable |
10/6/4 mm |
Polycab |
1 Coil |
|
4 |
Mounting Structure |
32mm square pipe,Not & Bolt |
Galvanized |
Normal Structure |
|
5 |
DC MCB |
63/32/125amps |
Schneider/FEEO |
As applicable |
|
6 |
DC SPD |
2P 20-40kA,600V DC SPD |
Schneider/FEEO |
As applicable |
|
7 |
AC MCB |
63amps |
Havells/Legarnd |
As applicable |
|
8 |
AC SPD |
2P AC SPD |
FEEO |
As applicable |
|
9 |
AC & DC DB Box |
8Way |
- |
As applicable |
|
10 |
Earthing Protection Set |
EarthingPit,Charcoal,Salt,spike rod |
- |
1 set |
|
11 |
Electrical Access.. |
PVCPipe,Changeover,lug,Clamp,Tconntecor,Bend, Cable Tie,MC4 Connector etc |
- |
1 set |
|
12 |
Civil Work |
Brick,Cement,Sand,Chips,Civil Labour |
- |
1 set |
|
13 |
Handling & Freight Charges |
- |
- |
1 set |
|
14 |
Installation & service charges |
- |
- |
1 set |
|
15 |
|
Total Price (Rs.70/Watt Basis) (including 5% GST) |
Rs.3,50,000/- |
|
|
16 |
|
Subsidy Cost (30%) (Rs.21/Watt Basis) |
Rs.1,05,000/- |
|
|
17 |
|
Payable Amount (Rs.49/Watt Basis) |
Rs.2,45,000/- |
Terms & Conditions:-
Price Basis: FOR Bhubaneswar
Delivery : 30Days from the date of receiving clear purchase order
Subsidy Scheme Eligibility:
Only on ON-GRID solar system, All Private/Domestic/Non-profit Organization will be eligible for 30% subsidy,
Whereas MI Industries & all Commercial projects will be eligible up to max 25kw solar power plant.
Inverter Terms: ABB/Kaco/Delta can be supplied. Price Will be increase by Rs.6/watt for 5kw,Rs.2.5/watt for 10kw, 20kw
Net metering: Customer Scope
WARRANTY
* Solar Panels having industry leading, 25 year power performance manufacturer warranty
* Hybrid inverters Have 2yrs Warranty
* On-Grid Inverters have 5yrs.Complete Warranty
* Flin-Slim Solar Hybrid Inverters & In-flini Solar Inverters have 5yrs Warranty Support. All Components will be replaced or Repaired Free of cost in the warranty period of 2yrs. From 3rd yrs onwards, replacement parts will be charged on actual.
* Battery Replacement Warranty 5 yrs.
* All other products have 6months warranty.
* All the prices are Inclusive taxes and installation cost with 2 yrs. Service warranty.
THE FOLLOWING SITUATIONS ARE NOT COVERED IN OUR WARRANTY:
* Finished goods lost or serial number manipulated
* Loss or damage due to force majeure or external reasons
* Breakage of solar panels while in transit if not insured
* Misuse, accident, negligence, unauthorized alteration or repair
* Violation of operation stipulations
* Damage cause due to any foreign object/insect getting inside the system
* Damage due to lightning/surge if adequate Protection & Other Electrical Accessories (SPD’s) are not put
N.B:
* Complaint regarding operation of the plant will be shorted out with in 72hrs.
* Any Replacement of the Plant will be shorted out within 10 Days.
* Technical Support 24*7
|
Beneficiary Name |
Smart Solar Bidgely Solution Pvt. Ltd. |
|
Bank |
HDFC Bank Limited |
|
Account Number |
50200024940784 |
|
IFSC Code |
HDFC0001080 |
|
Branch |
Saheed Nagar |
|
Area |
Bhubaneswar |
HO: N1/8 IRC Village, Nayapalli, Infront of CRPF Battalion Main Gate, Pin-751011l Ph:<PHONE_NUMBER>/24/27
E<EMAIL_ADDRESS>l www.smartsolar.co.in


--- # this is an empty front matter --- {% include header.html %}
Let's say ClearPress doesn't support our favourite format out-of-the-box. YAML for example - pretty common really but it hasn't (yet) been included as a standard response for views. We want to add YAML output using ClearPress' standard method naming (read_yml, list_yml etc.) and tidy file extensions (.yml), just like we do for XML.
First in your view subclass, set any aspects ending in _yml to serve content in text/plain.
sub init {
my $aspect = $self->aspect;
$self->{content_type} ||= ($aspect =~ /_yml$/smx)?'text/plain':q[];
return 1;
}
Next, again in the view subclass, disable page decoration for aspects ending in _yml.
sub decor {
my $self = shift;
my $aspect = $self->aspect;
if($aspect =~ /_yml$/smx) {
return 0;
}
return $self->SUPER::decor();
}
Set up a template, data/templates/read_something_yml.tt2, to use Template::Plugin::YAML.
[%- USE YAML %]
[% yaml.dump(model) %]
Note that as this stands it will dump the model's data and a lot of other junk from the template engine and the database handle etc.
So far what we've set up will allow us to access URLs like http://example.com/application/something/id;read_yml but that's pretty ugly, so last but not least we want to allow access via clean URLs like http://example.com/application/something/id.yml so in controller.pm we do:
sub accept_extensions {
my $self = shift;
return [
@{$self->SUPER::accept_extensions},
{'.yml' => q[_yml]},
];
}
Et voila! A YAML-formatted object dump with clean URL formatting. For extra credit you can make a clean data structure to dump using something like this:
[%- USE YAML %]
[%- PERL %]
$stash->{clean} = {
map { $_ => $stash->{model}->$_() }
$stash->{model}->fields()
}
[% END %]
[%- YAML.dump(clean) %]
{% include footer.html %}


# -*- coding: utf-8 -*-
""" The UCB-Improved policy for bounded bandits, with knowing the horizon, as an example of successive elimination algorithm.
- Reference: [[Auer et al, 2010](https://link.springer.com/content/pdf/10.1007/s10998-010-3055-6.pdf)].
"""
__author__ = "Lilian Besson"
__version__ = "0.9"
from copy import copy
from numpy import sqrt, log
import numpy as np
np.seterr(divide='ignore') # XXX dangerous in general, controlled here!
try:
from .SuccessiveElimination import SuccessiveElimination
except ImportError:
from SuccessiveElimination import SuccessiveElimination
#: Default value for parameter :math:`\alpha`.
ALPHA = 0.5
# --- Utility functions
[docs]def n_m(horizon, delta_m):
r""" Function :math:`\lceil \frac{2 \log(T \Delta_m^2)}{\Delta_m^2} \rceil`."""
return int(np.ceil((2 * np.log(horizon * delta_m**2)) / delta_m**2))
# --- The class
[docs]class UCBimproved(SuccessiveElimination):
""" The UCB-Improved policy for bounded bandits, with knowing the horizon, as an example of successive elimination algorithm.
- Reference: [[Auer et al, 2010](https://link.springer.com/content/pdf/10.1007/s10998-010-3055-6.pdf)].
"""
[docs] def __init__(self, nbArms, horizon=None, alpha=ALPHA, lower=0., amplitude=1.):
super(UCBimproved, self).__init__(nbArms, lower=lower, amplitude=amplitude)
assert horizon is not None, "Error: UCBimproved requires to know the horizon T." # DEBUG
self.horizon = int(horizon) #: Parameter :math:`T` = known horizon of the experiment.
self.alpha = alpha #: Parameter alpha
#: Set of active arms
self.activeArms = list(np.arange(self.nbArms))
#: Current estimate of the gap :math:`\Delta_0`
self.estimate_delta = 1
#: Keep in memory the :math:`n_m` quantity, using :func:`n_m`
self.max_nb_of_exploration = 1
#: Current round m
self.current_m = 0
#: Bound :math:`m = \lfloor \frac{1}{2} \log_2(\frac{T}{e}) \rfloor`
self.max_m = int(np.floor(0.5 * np.log2(horizon / np.exp(1))))
#: Also keep in memory when the arm was kicked out of the ``activeArms`` sets, so fake index can be given, if we ask to order the arms for instance.
self.when_did_it_leave = np.zeros(self.nbArms, dtype=int) + float('-inf')
[docs] def __str__(self):
return r"UCB-Improved($T={}$, $\alpha={:.3g}$)".format(self.horizon, self.alpha)
[docs] def update_activeArms(self):
""" Update the set ``activeArms`` of active arms."""
# first compute UCB and LCB
assert np.all(self.pulls >= 1), "Error: UCBimproved.update_activeArms() should not be called with min(pulls) = {} but >= 1...".format(np.min(self.pulls)) # DEBUG
means = self.rewards / self.pulls
exploration_bias = np.sqrt(self.alpha * (np.log(self.horizon * self.estimate_delta**2)) / self.max_nb_of_exploration)
LCB = means - exploration_bias
UCB = means + exploration_bias
max_LCB = np.max(LCB)
# now it's time to update activeArms, m, and estimate_delta
new_active_arms = [
arm
for arm in self.activeArms
if UCB[arm] >= max_LCB
]
# maybe we eliminated some arms, so we need to keep in memory when the left
if len(new_active_arms) < len(self.activeArms):
for arm in self.activeArms:
if arm not in new_active_arms:
# self.when_did_it_leave[arm] = self.current_m # XXX use current_m ?
self.when_did_it_leave[arm] = self.t
self.activeArms = new_active_arms
# then update the rest
self.estimate_delta /= 2.0
self.max_nb_of_exploration = n_m(self.horizon, self.estimate_delta)
# and finally m
self.current_m += 1
assert self.current_m <= self.max_m, "Error: the current m in UCBimproved policy, = {}, should always be smaller than max m = {}...".format(self.current_m, self.max_m) # DEBUG
[docs] def choice(self, recursive=False):
r""" In policy based on successive elimination, choosing an arm is the same as choosing an arm from the set of active arms (``self.activeArms``) with method ``choiceFromSubSet``.
"""
if len(self.activeArms) == 1:
return self.activeArms[0]
else:
arms_not_explored_enough = [
arm
for arm in self.activeArms
if self.pulls[arm] < self.max_nb_of_exploration
]
if len(arms_not_explored_enough) == 0:
self.update_activeArms()
if not recursive:
return self.choice(recursive=True)
else:
print("Warning: something is wrong for UCBimproved.choice(), in a recursive call it could find any arm not explored enough. Please DEBUG me!") # DEBUG
return np.random.choice(self.nbArms)
# here we have some arms that are not explored enough
return np.random.choice(arms_not_explored_enough)
# --- boring methods
[docs] def computeIndex(self, arm):
""" Nothing to do, just copy from ``when_did_it_leave``."""
self.index[arm] = self.when_did_it_leave[arm]


| 025:050 Khan | : |
And indeed We have distributed it (rain or water) amongst them in order that they may remember the Grace of Allah, but most men refuse (or deny the Truth or Faith) and accept nothing but disbelief or ingratitude. |
| 025:050 Maulana | : |
And certainly We repeat this to them that they may be mindful, but most men consent to naught but denying. |
| 025:050 Pickthal | : |
And verily We have repeated it among them that they may remember, but most of mankind begrudge aught save ingratitude. |
| 025:050 Rashad | : |
We have distributed it among them in exact measure, that they may take heed. But most people insist upon disbelieving. |
| 025:050 Sarwar | : |
We send them rain from time to time so that they may take heed. Many people have responded, but ungratefully. |
| 025:050 Shakir | : |
And certainly We have repeated this to them that they may be mindful, but the greater number of men do not consent to aught except denying. |
| 025:050 Sherali | : |
And WE have expounded the Qur'an to them in diverse ways that they make take heed, but most men would reject everything but disbelief. |
| 025:050 Yusufali | : |
And We have distributed the (water) amongst them, in order that they may celebrate (our) praises, but most men are averse (to aught) but (rank) ingratitude. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > وحدانيته Pillars of Islam> Islamic> Oneness of Allah> Singularity and Being Unique
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.


CS140 Midterm Exam - March 12, 2013 Answers and Grading
Question 1: 12 Points
- Scenario #1: "Chloe Arpa" has a hash index of 88. With separate chaining,
it doesn't matter if the entry is full or empty -- you simply append it to the end of the
entry's list, so the answer is 88. With linear probing, you find the lowest empty cell
greater than or equal to the hash index, wrapping around if you reach the end. Therefore
the answer is 89. With quadratic probing you test (index + i2)%100 for successively higher i With i=1, you get 89, so the answer is 89.
- Scenario #2: The hash index is 99, so separate chaining puts the value in index 99
and linear probing puts the value in index 2. With quadratic probing, entries 99, 0, and 3
are all full, but entry 8 -- (99 + 3*3)%100 -- is empty.
- Scenario #3: The hash index is 50, so separate chaining puts the value in index 50
and linear probing puts the value in index 63. With quadratic probing, you'll note that there
is no value i such that i2 has a last digit of 3. Therefore, there's
no way that quadratic hashing will give you any of those values that end with 3. So the answer
is that quadratic probing will not find a place to put the value.
Answers Summarized
|
Separate Chaining |
Linear Probing |
Quadratic Probing |
| Scenario #1 |
88 |
89 |
89 |
| Scenario #2 |
99 |
2 |
8 |
| Scenario #3 |
50 |
63 |
None |
Grading
1 point for the separate chaining answers,
1.5 for the others.
Leaving Scenario 3 blank did not constitute a correct answer -- you needed to
state that an empty entry cannot be found.
Question 2: 10 Points
I'm going to be honest -- I was very disappointed with the majority
of the answers. The scores here were worse than question 6.
Obviously, when so many students do poorly on a question,
it's an indication that I am not teaching the material correctly, or
emphasizing the points that I am testing enough. I will work on that.
There are a few points here, though, that I want to stress, and if you are
studying from this exam, please take this to heart:
- When I give you prototypes for procedures, pay attention to them.
A large number of students wrote things like the following:
- a.insert(0);
- a.insert(i, j), where i is an integer and j is a double.
- a.erase(i), where i is an integer
- a.erase()
When you write this, you are showing me that you didn't look at the
prototype, because insert() and erase() take iterators.
- In class, I went over when you use each of these three data structures,
and in the lecture notes, there is a section called "When do I use each
data structure." Many of you quoted this, which got you points. However,
mapping that to the code was not done very well. In particular, I saw
a lot of code where you were erasing from the middle (or the back)
of the vector, and
then you were saying that you erased from the front. My advice here --
at the very least, read the lecture notes so that you know the points
I am making. And then when you write code, try to make sure that the
code illustrates the points.
- Read the whole question. A large number of students did not
do the second half of the question, which is a shame because it was
essentially regurgitation of the lecture notes.
 The reason is that with a deque, those are
constant time operations, and with a vector, those are linear operations. We
cover this in the lecture entitled "Lists, Iterators, Bad Vector Usage, Deques." Here's an example
(in q2.cpp):
void X(vector <double> &a)
{
int i;
while (!a.empty()) a.erase(a.begin());
}
|
If a has n elements, then this procedure performs n(n+1)/2 operations
with a vector, and only n with a deque.
Many of you tried to insert into arbitrary places in the vector.
Unfortunately, that will work just as poorly with a deque. It's only in the beginning when the deque matters.
Part B: Lists are useful because you may insert in front of any element,
and it is guaranteed to run in constant time. Similarly, you may delete any element
and it is guaranteed to run in constant time. So, a list is advantageous over a
deque when you are inserting to or deleting from the middle of the list, rather than
the first or the last element. An example is the "DiamondHunt" example from the
"Lists, Iterators, Bad Vector Usage, Deques" lecture.
Grading
- Part A: You wrote an effective procedure: 4 points.
- Part A: Your explanation: 2 points
- Part B: Your situation: 2 points
- Part B: Your explanation why: 2 points
Question 3: 12 Points
- 47 = 32 + 8 + 4 + 2 + 1, which is 101111 in binary: 0x2f
- With binary, each set of four bits is a hex digit: 10 1010 1001: 0x2a9
- Again, convert this to binary: 6*256 is 110 0000 0000. 10 is 1010. So that
makes 110 0000 1010, which is 0x60a.
- In binary, 0xcb is 1100 1011. When you left shift that by one, it becomes 1 1001 0110: 0x196.
Grading
Three points per answer.
On part A, you received 1 point for 0x2e and 0x30.
On Part C, you received 1 point for
608, 609, 60b, 60c, 60d, 60e, 60f, 50a, 40a, 70a, 80a, c0a and 600.
I gave half credit if you bit-shifted the wrong way and answered 0x65 in part D. I also gave half credit for 96 (left shift on a byte), and
97 (circular left shift on a byte).
Question 4: 12 Points
This program is in sid.cpp. Please feel free to compile it
and do a cut-and-paste on the input. Key points are that every word is read, regardless
of whether there are multiple words on a line, and that the "10" and "Mario" are
ignored because they are on the command line:
Grading
I asked yes/no questions here and assigned points for the answers:
- 2 Points: Did your output look roughly right?
- 2 Points: Did you include 14.2 and Fred?
- 2 Points: Did you not include Mario and 10?
- 2 Points: Were all of your decimals lined up, (ignoring 5000.01)
- 1 Point: Was the integer right justified with the decimals?
- 1 Point: Did the numbers start under the 'u' in 'a.out'?
- 1 Point: Did you get 5000.010 correct?
Question 5: 10 Points
This is a nuts and bolts topcoder question (SRM 337, D2, 250-pointer). You need
to compare indices i and s.size()-i-1, and set both to the smaller
character. Here it is with a main() for testing:
s_to_p.cpp
#include <iostream>
using namespace std;
string s_to_p(string s)
{
int i, j;
i = 0;
j = s.size()-1;
while (i < j) {
if (s[i] < s[j]) {
s[j] = s[i];
} else {
s[i] = s[j];
}
i++;
j--;
}
return s;
}
main()
{
string s;
while (cin >> s) cout << s_to_p(s) << endl;
}
|
Grading
10 points. Grading these is objective -- I look over your program
and assign points on how well I think you understood the problem and
coded your answer.
Question 6: 12 Points
The strategy here was to look at the difference between the header files:
- In header 1, the vector holds lists, while in the others, it holds
pointers to lists.
- In header 2, the list holds doubles, while in the others, it holds
pointers to doubles.
Once you see the difference, you look over a program or two, and
see that there are only a few places where they differ. The strategy
is to think about each of those differences and how they may relate
to compiler errors and printing out wrong values. That lets you assign
4's, 5's and 3's to various header/implementation combinations:
- Is lp the right type? In Implementations A and E, it is the wrong type for Header 1.
In Implementation F, it is the wrong type for Headers 2 and 3. So the answer is "5" for
all of those.
- Is lit using .begin() or ->begin()? With Header 1, it should
be using dot and with Headers 2 and 3, it should be using arrows. That allows us to
fill in a bunch of 4's. A special case is Implementation E, where lp is a pointer,
and the for loop uses dots. That's a compilation error in the for loop
regardless of the header:
- Are we using *lit or*(*lit) to access the elements. In Headers 1 and 3, it
should be *(*lit); otherwise it will print out pointers and not doubles (answer 3).
In Header 2,
it should be *lit; otherwise, it will be a compilation error (5). Now we can fill
in more:
- That leaves five blank cells. If you scan them, they all look pretty good. The only
problem is Implementation F. Because lp is not a pointer, the statement
lp = v[i] makes extra copies of the lists:
If you want corroboration,
q6-script.sh is a shell script that compiles
the header/implementation combos and tests:
UNIX> sh q6-script.sh 1 A
Header 1. Implementation A
Compilation failed:
q6-test.cpp: In function 'void print_LVec(LVec&)':
q6-test.cpp:14: error: cannot convert 'std::list >' to 'L*' in assignment
UNIX> sh q6-script.sh 1 B
Header 1. Implementation B
Compilation succeeded -- running
10
10.01
10.02
10.03
10.04
10.05
10.06
10.07
10.08
10.09
10.1
10.11
10.12
10.13
10.14
UNIX>
All of the combinations are in
q6-outputs.txt.
Grading
0.67 or 0.66 points per answer. Partial credit -- you got 0.25 points for answers that
are in the parentheses below:
Out of curiosity, I wrote a program to simulate 10 million students
answering randomly:
Clearly, y'all did much better than that -- yay!! Your average was 5.57,
while that average was 3.02.


| gitCodeShare.com |
|
100% |
3/3 |
100% |
0/0 |
100% |
0/0 |
100% |
3/3 |
| gitCodeShare.com/common |
|
27.27% |
3/11 |
0% |
0/10 |
33.33% |
1/3 |
20% |
2/10 |
| gitCodeShare.com/components/MainFooter |
|
80% |
4/5 |
100% |
0/0 |
50% |
1/2 |
80% |
4/5 |
| gitCodeShare.com/components/MainNav |
|
63.16% |
12/19 |
100% |
0/0 |
37.5% |
3/8 |
63.16% |
12/19 |
| gitCodeShare.com/providers |
|
18.52% |
5/27 |
100% |
2/2 |
0% |
0/8 |
22.73% |
5/22 |
| gitCodeShare.com/styledComponents |
|
100% |
1/1 |
100% |
0/0 |
100% |
0/0 |
100% |
1/1 |
| gitCodeShare.com/styledComponents/StyledAnimation |
|
100% |
0/0 |
100% |
0/0 |
100% |
0/0 |
100% |
0/0 |
| gitCodeShare.com/styledComponents/StyledBadge |
|
100% |
4/4 |
100% |
0/0 |
100% |
1/1 |
100% |
4/4 |
| gitCodeShare.com/styledComponents/StyledButton |
|
90% |
18/20 |
100% |
0/0 |
81.82% |
9/11 |
90% |
18/20 |
| gitCodeShare.com/styledComponents/StyledCard |
|
100% |
10/10 |
100% |
0/0 |
100% |
5/5 |
100% |
10/10 |
| gitCodeShare.com/styledComponents/StyledDropDown |
|
50% |
1/2 |
100% |
0/0 |
0% |
0/1 |
50% |
1/2 |
| gitCodeShare.com/styledComponents/StyledFlexBox |
|
100% |
6/6 |
71.43% |
5/7 |
100% |
1/1 |
100% |
6/6 |
| gitCodeShare.com/styledComponents/StyledLayout |
|
100% |
11/11 |
100% |
0/0 |
100% |
4/4 |
100% |
11/11 |
| gitCodeShare.com/styledComponents/StyledMenu |
|
100% |
3/3 |
100% |
0/0 |
100% |
1/1 |
100% |
3/3 |


This scenario shows how to add small state for hub control i.e. between 320px and 500px. Resize the window of the sample app to be equal to or less than 500px to see the Hub with a vertical orientation.


elixirc v0.2.2 Elixirc.EventManager View Source
Link to this section Summary
Link to this section Functions
Invoked on :producer
stages.
This callback is invoked on :producer
stages with the demand from
consumers/dispatcher. The producer that implements this callback must either
store the demand, or return the amount of requested events.
Must always be explicitly implemented by :producer
stages.
Examples
def handle_demand(demand, state) do
# We check if we're able to satisfy the demand and fetch
# events if we aren't.
events =
if length(state.events) >= demand do
events
else
fetch_events()
end
# We dispatch only the requested number of events.
{to_dispatch, remaining} = Enum.split(events, demand)
{:noreply, to_dispatch, %{state | events: remaining}}
end
Callback implementation for GenStage.handle_demand/2
.
Invoked when the server is started.
start_link/3
(or start/3
) will block until this callback returns.
args
is the argument term (second argument) passed to start_link/3
(or start/3
).
In case of successful start, this callback must return a tuple where the first element is the stage type, which is one of:
:producer
:consumer
:producer_consumer
(if the stage is acting as both)
For example:
def init(args) do
{:producer, some_state}
end
The returned tuple may also contain 3 or 4 elements. The third
element may be the :hibernate
atom or a set of options defined
below.
Returning :ignore
will cause start_link/3
to return :ignore
and the process will exit normally without entering the loop or
calling terminate/2
.
Returning {:stop, reason}
will cause start_link/3
to return
{:error, reason}
and the process to exit with reason reason
without entering the loop or calling terminate/2
.
Options
This callback may return options. Some options are specific to the chosen stage type while others are shared across all types.
:producer
options
:demand
- when:forward
, the demand is always forwarded to thec:handle_demand/2
callback. When:accumulate
, demand is accumulated until its mode is set to:forward
viademand/2
. This is useful as a synchronization mechanism, where the demand is accumulated until all consumers are subscribed. Defaults to:forward
.
:producer
and :producer_consumer
options
:buffer_size
- the size of the buffer to store events without demand. Can be:infinity
to signal no limit on the buffer size. Check the “Buffer events” section of the module documentation. Defaults to10_000
for:producer
,:infinity
for:producer_consumer
.:buffer_keep
- returns whether the:first
or:last
entries should be kept on the buffer in case the buffer size is exceeded. Defaults to:last
.:dispatcher
- the dispatcher responsible for handling demands. Defaults toGenStage.DemandDispatch
. May be either an atom representing a dispatcher module or a two-element tuple with the dispatcher module and the dispatcher options.
:consumer
and :producer_consumer
options
:subscribe_to
- a list of producers to subscribe to. Each element represents either the producer module or a tuple with the producer module and the subscription options (as defined insync_subscribe/2
).
Callback implementation for GenStage.init/1
.


Search continues for missing teens in Sea Point
by Dominique JefthaThe search for three missing teenagers near a beach in Sea Point continued on Monday.
The National Sea Rescue Institute (NSRI) said on Sunday they had received reports of four people in difficulty in the surf at Rocklands Beach, Sea Point.
According to NSRI spokesperson Craig Lambinon, they were "friends who were caught in rip currents after entering the water to swim when a wave washed over them".
"The four casualties who were originally in difficulty were an 18-year-old male from Burundi, a 16-year-old male from the Congo, a 15-year-old male from Burundi and a 15-year-old female from Congo," Lambinon said in a statement late on Sunday evening.
Three surfers who had been surfing nearby were able to reach the 15-year-old from Burundi and put him onto one of their surfboards.
"An NSRI rescue swimmer swam out from Rocklands beach and reached the surfers about 200m offshore and CPR efforts were commenced on the surfboard at sea on the teenager," said Lambinon.
A sea rescue craft arrived shortly after and the 15-year-old, the three surfers and the NSRI rescue swimmer were brought to shore.
Despite extensive advanced life support and CPR efforts, the boy was declared dead.
READ | UPDATE: One person found drowned at Sea Point, three still missing
The body of the deceased teenager was taken into the care of police and the government health forensic pathology services. Police have opened an inquest docket.
The families of the three missing teenagers have filed missing persons reports.
Western Cape police spokesperson Sergeant Noloyiso Rwexana said on Monday an inquest was opened for investigation for one of the teenagers.
"A missing persons file was opened for the other three that are still being sought. The SAPS (SA Police Service) divers are continuing with the search," Rwexana said.
Lambinon added in his statement: "Families of the deceased 15-year-old male, and the families of the three missing teenagers are being assisted by police and fire and rescue services trauma counsellors and the fire chaplains' services."
The NSRI conveyed its condolences to family and friends of the deceased teenager and said their thoughts and support were with the families of the three missing teenagers as the search continued.
"The NSRI commends the three unidentified surfers who intervened and were able to recover the 15-year-old male from the water onto a surfboard," said Lambinon.


Marian Shved defends Celtic switch and reveals why he hasn't had much game time
The Ukraine star has played just 35 minutes under Neil Lennon but he isn't worried about where his career is going.
by Mark WalkerCeltic winger Marian Shved insists he has no regrets about his move to Glasgow despite struggling for gametime.
The £2million was signed last season by Brendan Rodgers just before he quit to join Leicester City and was immediately loaned back to homeland club Karpaty Lviv before returning to Glasgow in the summer.
But he's made just two sub appearances under Neil Lennon totalling 35 minutes when he scored in a 2-0 Champions League qualifier win in Estonia against Nomme Kalju, but wasn't seen again until he appeared as a late sub in the 6-0 hammering of Ross County last month.
However, his lack of appearances for the Hoops didn't prevent Andriy Shevchenko including him in his squad and he played for the last 20 minutes as a sub for Euro 2020-bound Ukraine in a friendly win against Estonia.
But Shved insists he's satisfied in Glasgow.
He said: "I am happy I moved to Scotland. It's a different style of football than what I have been used to back home.
"I am working hard and learning so much.
"The coaches and manager of Celtic have told me if I keep working hard I will soon start to get minutes on the pitch for them, but it hasn't happened yet.
"It was great for me to get on the pitch against Ukraine and hopefully I will get some minutes for Celtic soon too."


-
What is the relationship between mindfulness and self-awareness? Mindfulness is a path to self-awareness; through paying attention to what is happening in the present moment, taking both positive and negative experiences and associated feelings we build self-awareness.
Try at least one of the self-awareness practices. What was your experience, how did you feel? I practised body scan in a seated position. Although feeling relaxed, the body felt heavy in the areas of focus with neutral emotions.
What did you take away from the "My Emotions are Not Me" section? Everything in moderation. It's good to be self-aware and have self-belief, including recognising one's strengths and weaknesses, but over analysing can lead to paralysis.


Gets information about you from GitHub. Input a personal token that has the 'user' permission. This token is not stored.


UofTHacks 2015
A chrome extension that allows you to use an X-Pad game controller to browse the internet. It was my first experience with Javascript and asynchronous programming. I worked with the Chrome.* API to implement tab management features and worked with it's message passing system.
Fall GI Jam 2014
A 2-player platformer game made using the Unity Game Engine and C#. We built a platformer where "one player screws over other as hard as possible." While one player is trying to reach the end of the level, the other is able to place obstacles to try and stop them. I worked on scripting obstacle and enemy behaviour, implementing balancing features such as drop zones and timers, and did the art.
Waterloo EngHack 2014
An application that transforms coordinates from a Myo Armband into a digital drawing. This was made using C++/OpenGL, and was an opportunity for me to learn about the graphics pipeline. I worked on using OpenGL to draw any processed coordinates/lines onto an actual GUI.
Winter GI Jam 2015
An RPG made using the Unity Game Engine and C#. The idea behind this RPG was to never give the player any solid information, only vague messages. A player won't know exactly how much health they have, or how much damage they can do. This game was meant as an experiment in saving game states and moving between scenes in Unity, and remains incomplete. I worked on the battle system, as well as the art.


Reports the problems if the arguments of the command you type in the console are not in the proper order. The inspection also verifies that option names and arguments are correct.
Do not disable the inspection if you are going to use command-line interfaces like manage.py in Django.


{% block subject %} [biostar-engine] {{subject}} {% endblock %} {% block html %}
Hello {{ target_email }},
This is an HTML email sent via the management command:
python manage.py send
{% if group %}You are included in the {{group}} mailing list.
{% endif %}
{{ site.name }} Team
{{ protocol }}://{{ site.domain }}


|
Bow and Arrow
|
#include <mouse.h>
Data Fields | |
| char | packet [3] |
| unsigned int | mouse_left_button |
| unsigned int | mouse_middle_button |
| unsigned int | mouse_right_button |
| unsigned int | overflow_x |
| unsigned int | overflow_y |
| unsigned int | sign_x |
| unsigned int | sign_y |
| int | pos_x |
| int | pos_y |


Cheatsheet
Whole Cheatsheet #xf000—#xf06d (you can use Select&Copy)
Aurebesh Character Set, Naboo Character Set


{% extends "layout.html" %} {% block content %}
Spontaneity has reached new heights
The Weekend Flyer doesn't have time for layovers and missed connections. Wheels up, Wheels down.
There's a limited set of tickets available for any given flight. The boarding door may close at any time.
You won't find a lower roundtrip fare to your destination. Promise.
The Weekend Flyer currently doesn't offer last minute weekday travel bookings, we're just giving the common man a shot at weekend greatness.
It's good to go and it's good to come back. Our fares include both legs of your journey.
We'll surprise you every week: just because you see a destination available this week doesn't mean it'll be available next weekend


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.FrontendAppConfig @this( main_template: main_template ) @(appConfig: FrontendAppConfig)(implicit request: Request[_], messages: Messages) @main_template( title = messages("noAccessVerified.title"), appConfig = appConfig, bodyClasses = None) {
@messages("noAccessVerified.youNeedTo") @messages("sign in with a different Government Gateway user ID.")
@messages("noAccessVerified.contactHMRC")
@messages("noAccessVerified.telephone")
@messages("noAccessVerified.telephoneNumber")
@messages("noAccessVerified.textphone")
@messages("noAccessVerified.textphoneNumber")
@messages("noAccessVerified.outsideUK")
@messages("noAccessVerified.outsideUKNumber")
@messages("noAccessVerified.openingTimes")
@messages("noAccessVerified.mondayToFriday")
@messages("noAccessVerified.ClosedWeekendsAndBankHolidays")
}


The Mental Health Benefits of Exercise
'Y'ou already know that exercise is good for your body. But did you know it can also boost your mood, improve your sleep, and help you deal with depression, anxiety, stress, and more?
What are the mental health benefits of exercise?
Exercise is not just about aerobic capacity and muscle size.  But that’s not what motivates most people to stay active. People who exercise regularly tend to do so because it gives them an enormous sense of well-being. They feel more energetic throughout the day, sleep better at night, have sharper memories, and feel more relaxed and positive about themselves and their lives. And it’s also a powerful medicine for many common mental health challenges. Regular exercise can have a profoundly positive impact on depression, anxiety, and ADHD. It also relieves stress, improves memory, helps you sleep better, and boosts your overall mood.  Research indicates that modest amounts of exercise can make a real difference.
Exercise and depression
Studies show that exercise can treat mild to moderate depression as effectively as antidepressant medication—but without the side-effects, of course. As one example, a recent study done by the Harvard T.H. Chan School of Public Health found that running for 15 minutes a day or walking for an hour reduces the risk of major depression by 26%. In addition to relieving depression symptoms, research also shows that maintaining an exercise schedule can prevent you from relapsing. Exercise is a powerful depression fighter for several reasons. Most importantly, it promotes all kinds of changes in the brain, including neural growth, reduced inflammation, and new activity patterns that promote feelings of calm and well-being.  Finally, exercise can also serve as a distraction, allowing you to find some quiet time to break out of the cycle of negative thoughts that feed depression.
3. It might make you age slower.
Exercise has been shown to lengthen lifespan by as much as five years. A small new study suggests that moderate-intensity exercise may slow down the aging of cells. As humans get older and their cells divide over and over again, their telomeres—the protective caps on the end of chromosomes—get shorter. To see how exercise affects telomeres, researchers took a muscle biopsy and blood samples from 10 healthy people before and after a 45-minute ride on a stationary bicycle. They found that exercise increased levels of a molecule that protects telomeres, ultimately slowing how quickly they shorten over time. Exercise, then, appears to slow aging at the cellular level.
Exercise and anxiety
Exercise is a natural and effective anti-anxiety treatment. It relieves tension and stress, boosts physical and mental energy, and enhances well-being through the release of endorphins. Anything that gets you moving can help, but you’ll get a bigger benefit if you pay attention instead of zoning out. Try to notice the sensation of your feet hitting the ground, for example, or the rhythm of your breathing, or the feeling of the wind on your skin. By adding this mindfulness element—really focusing on your body and how it feels as you exercise—you’ll not only improve your physical condition faster, but you may also be able to interrupt the flow of constant worries running through your head.
Exercise and stress
Ever noticed how your body feels when you’re under stress?  You may feel a tightness in your chest, a pounding pulse, or muscle cramps. You may also experience problems such as insomnia, heartburn, stomachache, diarrhea, or frequent urination. The worry and discomfort of all these physical symptoms can in turn lead to even more stress, creating a vicious cycle between your mind and body. Exercising is an effective way to break this cycle. As well as releasing endorphins in the brain, physical activity helps to relax the muscles and relieve tension in the body. Since the body and mind are so closely linked, when your body feels better so, too, will your mind.
Exercise and ADHD
Exercising regularly is one of the easiest and most effective ways to reduce the symptoms of ADHD and improve concentration, motivation, memory, and mood. Physical activity immediately boosts the brain’s dopamine, norepinephrine, and serotonin levels—all of which affect focus and attention. In this way, exercise works in much the same way as ADHD medications such as Ritalin and Adderall.
7.
The body uses both carbohydrates and fats as energy sources. But after consistent aerobic exercise training, the body gets better at burning fat, which requires a lot of oxygen to convert it into energy. “One of the benefits of exercise training is that our cardiovascular system gets stronger and better at delivering oxygen, so we are able to metabolize more fat as an energy source,” Hackney says. As a result, your fat cells—which produce the substances responsible for chronic low-grade inflammation—shrink, and so does inflammation.
Exercise and PTSD and trauma
Evidence suggests that by really focusing on your body and how it feels as you exercise, you can actually help your nervous system become “unstuck” and begin to move out of the immobilization stress response that characterizes PTSD or trauma. Instead of allowing your mind to wander, pay close attention to the physical sensations in your joints and muscles, even your insides as your body moves. Exercises that involve cross movement and that engage both arms and legs—such as walking (especially in sand), running, swimming, weight training, or dancing—are some of your best choices. Outdoor activities like hiking, sailing, mountain biking, rock climbing, whitewater rafting, and skiing (downhill and cross-country) have also been shown to reduce the symptoms of PTSD.
People Also Read:
Fitness Advice That Doesn't Work
‘Ignore bad fitness advice to make the most out of your time at the gym.”
7 Surprising Benefits of Exercise
‘'Y'ou probably have a vague sense that exercise is good for you—and you’ve probably heard that it’s “healthy for the heart.”’
Why Exercise Is Wise
You've probably heard countless times how exercise is "good for you." But did you know that it can help you feel good too?’
Bite-sized exercise breaks
Exercise snacking differs from HIIT in both the duration of the activity burst and the time in between.’


Version control is a system that allows a team to track, modify, and share different versions of a project. Individuals can make changes to their work that will be monitored. Team members can constantly obtain the newest revision by requesting a pull. Different members of a team can make revisions to the same project at the same time without affecting each other. When the revisions are completed, they can merge their changes back to the central project. Git is a distrubuted version control system. This means every team member has their own repository which they can change without connecting to the server every time. All revisions can be pushed into the main repository.
Git has a sophisticated system of keeping track of changes. The "git status" command will allow you to obtain information about the current state of your files. It will designate files as untracked if they were not present in the last commit. The "git add" command will track a file, and it will be staged to be committed. If you make changes to a file that was tracked at one point, then git will send out a message saying the file has been tracked but it is not staged to be committed. Again, the "git add" command will allow it to be staged. You can commit the files using the "git commit" command. Every file that has been committed or is staged to be committed will have a unique SHA-1 hash, which is essentially a 40 hex character "stamp". This allows Git to keep track of all the changes that have ever been made to a specific file.
GitHub has a number of unique features. The social network aspect of the website allows users to follow one another and learn more about other user's contributions. The GitHub fork, pull request, and merge features allow users to easily and efficiently make changes to different open-source projects. This free platform makes it easy for novice programmers to learn and grow. In addition, users can easily store all of their code in one location.


I began taking an Ephedrine based product to help me with strength and muscle endurance while rock climbing. I noticed that the substance did give me added endurance and a general overall feeling of excitement throughout the night after each workout (it is a stimulant after all).
I was taking the substance for about a month when out of nowhere one night, after smoking a few big bong rips I felt extremely uneasy. The feeling was of extreme disattachment from my body, but I could think in an extremely lucid manner. I also felt really really sick to my stomach. (I should point out here that I was a daily smoker all summer long and into the fall without any problems whatsoever.) So, after this nauseated feeling came onto me, I returned to my room, and lay on my bed, eventually, I went to the bathroom and threw up a few times.
After I took a day or so to recouperate, I smoked again. At this point, I hadn't taken the Ephedrine for about 48 hours. It was a good high with minimal problems. After a few days, I began to take the Ephedrine again, and once again, when I smoked, I threw up. I also took the Ephedrine one day and didn't smoke, and felt somewhat sick to my stomach as I worked out, but didn't acutally throw up. It took me about a week of nausea to realize that it was the Ephedrine that was making me sick.
I talked to my doctor and he informed me that Ephedrine rips away at the lining of one's stomach, causing a nauseated feeling. He told me to take some antacid until the feeling went away, then maybe I could try taking the Ephedrine with the antacid. I discovered eventually that I was taking more than twice the healthy daily dose of Ephedrine that I should have been. I am 19 and only 5'5'. I'm a pretty small guy and I realized that continuing the use of Ephedrine was probably a really bad idea. My theory is that the substance built up in my system over the month I was taking it, causing my stomach lining to deteriorate. In combination with the weed, I threw up because, generally, weed increases physical and emotional feelings. It was obvious that the weed was increasing my feeling of nausea each time I smoked while I had the Ephedrine in my system.
It has been about two weeks since I took any Ephedrine and towards the end of the first week, I could smoke almost normally without any problems. That weekend, however, I ate a huge italian meal that my mom cooked with plenty of tomatoes and wine, which I think momentarily weakened my stomach. I had also stopeed taking the antacid. That weekend I had trouble smoking again, I assume because the lining of my stomach still was not back to normal.
My advice: DO NOT TAKE COMMERCIAL EPHEDRINE. I talked to a friend of mine and he had the same exact problem I was having with nausea. I don't think I'll ever take commercial workout supplements again. I like smoking a whole lot more than I liked the Ephedrine, so I discontinued its use. If someone is planning on taking any sort of supplement, I would advise them to take an herbal one, such as extract of Ma Huang, which will be much easier to control and much more gentle and natural on their system.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.