FusionCharts PHP Class API > List of Functions |
Here is a list of the functions in FusionCharts_Gen PHP Class. These functions create the required XML output based on the parameters passed through and make the chart rendering process easier for you. |
| Constructor |
FusionCharts(string $chartType, string $width, string $height[,string $chartID]) |
Instantiates chart object. Use the constructor to specify chart type and chart width & chart height. |
| Parameters: |
|
Example: $FC= new FusionCharts("Column3D, "350", "250"); |
| General Functions |
setParamDelimiter(string $strDelm) |
| Sets the delimiter for lists of chart attributes which are passed to function like setChartParams, addDataset, addChartData etc. Delimiter is the character used to separate consecutive attributes for various chart elements. Default delimiter is semicolon (;). |
| Parameter: |
|
| Note: You can use this functions any number of times in a single code block for a chart. By defining a new delimiter one can use the earlier delimiter as a regular character in chart attributes. |
Example : $FC->setParamDelimiter("|"); |
setSWFPath(string $SWFPath) |
| Sets the path of the chart SWF file. Users may need to specify the relative file path of the SWF files while using them in different applications. This function allows users to set the path. The default path for SWF file is set to the application folder itself. |
| Parameter: |
|
Example : $FC->setSWFPath("FusionCharts/"); |
setChartParam(string $paramName, string $paramValue) |
| Sets a single chart attribute at a time. Attributes listed under <graph> element section in Chart XML Reference can be used here. |
| Parameters: |
|
Example: $FC->setChartParam("caption","Monthly Sales"); |
setChartParams(string $strParams) |
| Sets multiple chart attributes in one function call. Multiple attributes from <graph> element section of Chart XML Reference can be passed through this function. |
| Parameter: |
|
| Example: $FC->setChartParams("caption=Factory Sales;subCaption=Year 2007;bgColor=ffccff"); |
setCategoriesParams(string $catParams) |
| Sets category set's attributes in Multi-Series charts. Attributes mentioned under the <categories> element in Chart XML Reference section can be set through this function. |
| Parameter: |
|
Example: $FC->setCategoriesParams("font=Arial;fontColor=ff0000"); |
addCategory(string $label[, string $catParams]) |
| Adds a single category information at a time. |
| Parameters: |
|
Example: $FC->addCategory("Week 1"); |
addDataset(string $seriesName[, string $datasetParams]) |
Adds a dataset to multi-series chart. |
| Parameters: |
|
| Note: Remember to add data values pertaining to the dataset immediately after using this function. |
| Example: $FC->addDataset("This Month"); $FC->addChartData("40800"); $FC->addChartData("31400"); $FC->addDataset("Previous Month"); $FC->addChartData("38300"); Data values '40800' and '31400' will be assigned to the dataset "This Month" and the data value '38300' will be assigned to the dataset "Previous Month". |
addChartData(string $value[, string $params]) |
| Provides chart data. For single series charts $params must be passed having atleast an attrubite "name=foo". For multiseries, stacked and combination charts $params is optional. |
| Parameters: |
|
Example: For Single-Series Charts : $FC->addChartData("40800","name="Week 1"); For Multi-Series Charts: $FC->addChartData("40800"); |
addTrendLine(string $tlineParams) |
| Adds a trendline in the chart. All attributes for the <line> element of <trendlines> element like startValue, endValue, color, displayValue, isTrendZone, showOnTop etc. are passed here. |
| Parameter: |
|
| Example : $FC->addTrendLine("startValue=89.5;endValue=98;color=FF0000;displayvalue=Roll. Avg.; thickness=2;alpha=100;isTrendZone=0;showOnTop=1"); |
setChartMessage(string $msgParam) |
| Sets various chart messages. For more on chart messages please see the page: Changing chart messages |
| Parameter: |
|
Example : $FC->setChartMessage("ChartNoDataText=Chart Data not provided;PBarLoadingText=Please Wait.The chart is loading..."); |
| Array Handling |
addChartDataFromArray(array $dataArray[, array $dataCatArray]) |
| Adds chart data from array(s). We can use this function for both Single Series and Multi Series charts; however, the structure of the $dataArray should be different for single and multi-series charts. Also, the second parameter $dataCatArray is required only for Multi Series or Combination Charts. |
| Parameters: |
$dataArray (required for both Single Series and Multi Series/Stacked/Combination charts) For Single Series charts a 2 dimnestional array (n rows x 2 columns):
For MultiSeries/Stacked/Combination charts:
$dataCatArray (required only for Multi Series/Stacked/Combination charts)
|
Example: Single Series Chart: $arrData[0][0]="Week 1"; |
| Multi-Series/Stacked/Combination Charts: //Store Name of Products $arrCatNames[0] = "Week 1"; $arrCatNames[1] = "Week 2"; $arrCatNames[2] = "Week 3"; $arrCatNames[3] = "Week 4"; //Store sales data for current month $arrData[0][0] = "Current Month"; $arrData[0][1] = "color=ff0000"; // Dataset Parameters $arrData[0][2] = 567500; $arrData[0][3] = 815300; $arrData[0][4] = 556800; $arrData[0][5] = 734500; //Store sales data for previous month $arrData[1][0] = "Previous Month"; $arrData[1][1] = "color=0000ff"; // Dataset Parameter $arrData[1][2] = 547300; $arrData[1][3] = 584500; $arrData[1][4] = 754000; $arrData[1][5] = 456300; $FC->addChartDataFromArray($arrData,$arrCatNames); |
| For detailed examples on FusionCharts PHP Class' Array Handling function please go through the section Using with PHP Class |
| Database Handling |
addCategoryFromDatabase(resource $query_result, string $categoryColumn) |
| Creates the set of chart Category Names from database for database driven multi-series charts. |
| Parameters: |
|
Example: $strQuery = "select distinct weekNames from Sales"; |
| For detailed examples on FusionCharts PHP Class' Database Handling functions please go through the section Using with PHP Class |
addDatasetsFromDatabase(resource $query_result, string $ctrlField, string $valueField[, array $datasetParamArray, string $link]) |
| Adds datasets with data values for each dataset (only for multiseries/stacked/combination charts) from database. |
| Parameters: |
|
| Note: The control Break field must be sorted. |
Example: |
| For detailed examples on FusionCharts PHP Class' Database Handling functions please go through the section Using with PHP Class |
addDataFromDatabase(resource $query_result, string $db_field_ChartData[, string $db_field_CategoryNames, string $strParam, string $link]) |
| Adds chart data and category names from database. This function is specially designed for single-series charts, but can be used to provide chart values for a single dataset in multi-series/stacked/combination charts. |
| Parameters: |
|
Example: $strQuery = "select weekNames,revenue from Sales order by weekNames where CMonth=1"; |
| For detailed examples on FusionCharts PHP Class' Database Handling functions please go through the section Using with PHP Class |
| Chart rendering and XML generating functions |
string getXML() |
| This function is used to get the full XML required for chart generation. FusionCharts PHP Class functions build specific parts of chart XML. getXML() function assembles those parts and returns the full XML. Users can use this XML to render charts in dataURL method. |
| Return Type: |
|
Example: $xml=$FC->getXML(); |
renderChart() |
| This function builds the full XML required for chart generation and also renders chart based on chart type, width and height as specified. This function does not accept any parameter, nor does it return any value. |
Example: $FC->renderChart(); |
renderChartFromExtXML(string $dataXML) |
| Renders chart from XML which has not been created in the program. After creating chart object and setting relative SWF file path, this function can be used where the full XML is passed through. |
| Parameter: |
|
Example: $xml="<graph><set value='100' name='Product A' /><set value='120' name='Product B' /></graph>"; |


| Home | Trees | Indices | Help |
|
|---|
|
|
object --+ | RDD
A Resilient Distributed Dataset (RDD), the basic abstraction in Spark. Represents an immutable, partitioned collection of elements that can be operated on in parallel.
| Instance Methods | |||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from |
| Properties | |
|
Inherited from |
| Method Details |
x.__init__(...) initializes x; see help(type(x)) for signature
|
The SparkContext that this RDD was created on.
|
Mark this RDD for checkpointing. It will be saved to a file inside the
checkpoint directory set with |
Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results. >>> rdd = sc.parallelize([2, 3, 4]) >>> sorted(rdd.flatMap(lambda x: range(1, x)).collect()) [1, 1, 1, 2, 2, 3] >>> sorted(rdd.flatMap(lambda x: [(x, x), (x, x)]).collect()) [(2, 2), (2, 2), (3, 3), (3, 3), (4, 4), (4, 4)] |
Return a new RDD by applying a function to each partition of this RDD. >>> rdd = sc.parallelize([1, 2, 3, 4], 2) >>> def f(iterator): yield sum(iterator) >>> rdd.mapPartitions(f).collect() [3, 7] |
Return a new RDD by applying a function to each partition of this RDD, while tracking the index of the original partition. >>> rdd = sc.parallelize([1, 2, 3, 4], 4) >>> def f(splitIndex, iterator): yield splitIndex >>> rdd.mapPartitionsWithSplit(f).sum() 6 |
Return a new RDD containing only the elements that satisfy a predicate. >>> rdd = sc.parallelize([1, 2, 3, 4, 5]) >>> rdd.filter(lambda x: x % 2 == 0).collect() [2, 4] |
Return a new RDD containing the distinct elements in this RDD. >>> sorted(sc.parallelize([1, 1, 2, 3]).distinct().collect()) [1, 2, 3] |
Return the union of this RDD and another one. >>> rdd = sc.parallelize([1, 1, 2, 3]) >>> rdd.union(rdd).collect() [1, 1, 2, 3, 1, 1, 2, 3] |
Return the union of this RDD and another one. >>> rdd = sc.parallelize([1, 1, 2, 3]) >>> (rdd + rdd).collect() [1, 1, 2, 3, 1, 1, 2, 3] |
Return an RDD created by coalescing all elements within each partition into a list. >>> rdd = sc.parallelize([1, 2, 3, 4], 2) >>> sorted(rdd.glom().collect()) [[1, 2], [3, 4]] |
Return the Cartesian product of this RDD and another one, that is, the
RDD of all pairs of elements >>> rdd = sc.parallelize([1, 2]) >>> sorted(rdd.cartesian(rdd).collect()) [(1, 1), (1, 2), (2, 1), (2, 2)] |
Return an RDD of grouped items. >>> rdd = sc.parallelize([1, 1, 2, 3, 5, 8]) >>> result = rdd.groupBy(lambda x: x % 2).collect() >>> sorted([(x, sorted(y)) for (x, y) in result]) [(0, [2, 8]), (1, [1, 1, 3, 5])] |
Return an RDD created by piping elements to a forked external process. >>> sc.parallelize([1, 2, 3]).pipe('cat').collect() ['1', '2', '3'] |
Applies a function to all elements of this RDD. >>> def f(x): print x >>> sc.parallelize([1, 2, 3, 4, 5]).foreach(f) |
Reduces the elements of this RDD using the specified commutative and associative binary operator. >>> from operator import add >>> sc.parallelize([1, 2, 3, 4, 5]).reduce(add) 15 >>> sc.parallelize((2 for _ in range(10))).map(lambda x: 1).cache().reduce(add) 10 |
Aggregate the elements of each partition, and then the results for all the partitions, using a given associative function and a neutral "zero value." The function >>> from operator import add >>> sc.parallelize([1, 2, 3, 4, 5]).fold(0, add) 15 |
Add up the elements in this RDD. >>> sc.parallelize([1.0, 2.0, 3.0]).sum() 6.0 |
Return the number of elements in this RDD. >>> sc.parallelize([2, 3, 4]).count() 3 |
Return the count of each unique value in this RDD as a dictionary of (value, count) pairs. >>> sorted(sc.parallelize([1, 2, 1, 2, 2], 2).countByValue().items()) [(1, 2), (2, 3)] |
Take the first num elements of the RDD. This currently scans the partitions *one by one*, so it will be slow if a lot of partitions are required. In that case, use collect to get the whole RDD instead. >>> sc.parallelize([2, 3, 4, 5, 6]).cache().take(2) [2, 3] >>> sc.parallelize([2, 3, 4, 5, 6]).take(10) [2, 3, 4, 5, 6] |
Return the first element in this RDD. >>> sc.parallelize([2, 3, 4]).first() 2 |
Save this RDD as a text file, using string representations of elements. >>> tempFile = NamedTemporaryFile(delete=True) >>> tempFile.close() >>> sc.parallelize(range(10)).saveAsTextFile(tempFile.name) >>> from fileinput import input >>> from glob import glob >>> ''.join(sorted(input(glob(tempFile.name + "/part-0000*")))) '0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n' |
Return the key-value pairs in this RDD to the master as a dictionary. >>> m = sc.parallelize([(1, 2), (3, 4)]).collectAsMap() >>> m[1] 2 >>> m[3] 4 |
Merge the values for each key using an associative reduce function. This will also perform the merging locally on each mapper before sending results to a reducer, similarly to a "combiner" in MapReduce. Output will be hash-partitioned with >>> from operator import add >>> rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)]) >>> sorted(rdd.reduceByKey(add).collect()) [('a', 2), ('b', 1)] |
Merge the values for each key using an associative reduce function, but return the results immediately to the master as a dictionary. This will also perform the merging locally on each mapper before sending results to a reducer, similarly to a "combiner" in MapReduce. >>> from operator import add >>> rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)]) >>> sorted(rdd.reduceByKeyLocally(add).items()) [('a', 2), ('b', 1)] |
Count the number of elements for each key, and return the result to the master as a dictionary. >>> rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)]) >>> sorted(rdd.countByKey().items()) [('a', 2), ('b', 1)] |
Return an RDD containing all pairs of elements with matching keys in
Each pair of elements will be returned as a (k, (v1, v2)) tuple, where
(k, v1) is in Performs a hash join across the cluster. >>> x = sc.parallelize([("a", 1), ("b", 4)]) >>> y = sc.parallelize([("a", 2), ("a", 3)]) >>> sorted(x.join(y).collect()) [('a', (1, 2)), ('a', (1, 3))] |
Perform a left outer join of For each element (k, v) in Hash-partitions the resulting RDD into the given number of partitions. >>> x = sc.parallelize([("a", 1), ("b", 4)]) >>> y = sc.parallelize([("a", 2)]) >>> sorted(x.leftOuterJoin(y).collect()) [('a', (1, 2)), ('b', (4, None))] |
Perform a right outer join of For each element (k, w) in Hash-partitions the resulting RDD into the given number of partitions. >>> x = sc.parallelize([("a", 1), ("b", 4)]) >>> y = sc.parallelize([("a", 2)]) >>> sorted(y.rightOuterJoin(x).collect()) [('a', (2, 1)), ('b', (None, 4))] |
Return a copy of the RDD partitioned using the specified partitioner. >>> pairs = sc.parallelize([1, 2, 3, 4, 2, 4, 1]).map(lambda x: (x, x)) >>> sets = pairs.partitionBy(2).glom().collect() >>> set(sets[0]).intersection(set(sets[1])) set([]) |
Generic function to combine the elements for each key using a custom set of aggregation functions. Turns an RDD[(K, V)] into a result of type RDD[(K, C)], for a "combined type" C. Note that V and C can be different -- for example, one might group an RDD of type (Int, Int) into an RDD of type (Int, List[Int]). Users provide three functions:
In addition, users can control the partitioning of the output RDD. >>> x = sc.parallelize([("a", 1), ("b", 1), ("a", 1)]) >>> def f(x): return x >>> def add(a, b): return a + str(b) >>> sorted(x.combineByKey(str, add, add).collect()) [('a', '11'), ('b', '1')] |
Group the values for each key in the RDD into a single sequence. Hash-partitions the resulting RDD with into numPartitions partitions. >>> x = sc.parallelize([("a", 1), ("b", 1), ("a", 1)]) >>> sorted(x.groupByKey().collect()) [('a', [1, 1]), ('b', [1])] |
For each key k in >>> x = sc.parallelize([("a", 1), ("b", 4)]) >>> y = sc.parallelize([("a", 2)]) >>> sorted(x.cogroup(y).collect()) [('a', ([1], [2])), ('b', ([4], []))] |
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Sun Jun 2 14:51:26 2013 | http://epydoc.sourceforge.net |


MURIEL'S WEDDING A film review by Christopher Null Copyright 1995 Christopher Null
What is it with Australians and ABBA? First THE ADVENTURES OF PRISCILLA took ABBA worship to a new level. Now, MURIEL'S WEDDING seeks to break that boundary with a nearly non-stop ABBA soundtrack. After nearly two hours of exposure, I'm realizing that they weren't too bad of a band.
MURIEL'S WEDDING uses the songs of the Swedish supergroup as a clever link to the thoughts and feelings of Muriel, a young Australian woman obsessed with becoming married as soon as possible. Muriel (Toni Colette) lives with her go-nowhere family in the town of Porpoise Spit, where she spends most of her time in her room, listening to ABBA when her father isn't giving her grief.
With the rest of her family members constantly off in their own world, Muriel decides to take off on holiday with a little "borrowed" cash from her father in order to escape the routine of Porpoise Spit and make a new life for herself. She eventually settles in Sydney with her friend, Rhonda, where she can concentrate fully on her goal of marriage.
MURIEL'S WEDDING is an entertaining film with a bit of an identity crisis: it doesn't know if it wants to be a comedy or a drama. The filmmakers perpetually toy with the viewers, dragging them from high comedy to melodramatic tragedy in a heartbeat, and more than once. This problem arises whenever the camera is not on Colette, who really owns this picture completely. Whenever the plastic supporting cast is the main focus, the film falls flat. A tacked-on, bittersweet ending doesn't help, either.
Don't be discouraged; MURIEL'S WEDDING is still a solid and entertaining movie. Just understand what you're getting in to. There's lots of music, but this ain't no disco.
RATING: ***1/2
|* Unquestionably awful | |** Sub-par on many levels | |*** Average quality, hits and misses | |**** Good, memorable film | |***** Perfection |
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Best Sellers
Keep on-trend and in budget with Online Store HTML5 Template's variety of sale coats and coats. With falls jackets, dusters and more to choose from in a wide range of colours it's simple to stay fashionable and cosy without breaking the bank this season. Accompany with sale knitwear.
Just Arrived
With so many styles of guys's clothes in Online Shopping HTML5 Template, shoes and accessories to pick from, you'll undoubtedly find your new wardrobe favourites in Make over's guys's sale. Update your street, work or formal wear with our most current enhancements.


@(msg: String)
Welcome to Scalaz-Stream Demo Application built with @msg!
The service is running with HTTP4S Blaze Server and connecting it with the Twitter Stream Source. We are using Websocket from Http4s as Sink.
The code is shamelessly copied from Http4S Demo application available on github.
Both http4s and blaze are works in progress: if you find bugs or have suggestions,
please submit an issue.


Convexity properties of graphs#
This class gathers the algorithms related to convexity in a graph. It implements the following methods:
Return the convex hull of a set of vertices |
|
Compute the hull number of a graph and a corresponding generating set |
|
Return the geodetic closure of a set of vertices |
These methods can be used through the ConvexityProperties
object
returned by Graph.convexity_properties()
.
AUTHORS:
Nathann Cohen
Methods#
- class sage.graphs.convexity_properties.ConvexityProperties#
Bases:
object
This class gathers the algorithms related to convexity in a graph.
Definitions
A set \(S \subseteq V(G)\) of vertices is said to be convex if for all \(u,v\in S\) the set \(S\) contains all the vertices located on a shortest path between \(u\) and \(v\). Alternatively, a set \(S\) is said to be convex if the distances satisfy \(\forall u,v\in S, \forall w\in V\backslash S : d_{G}(u,w) + d_{G}(w,v) > d_{G}(u,v)\).
The convex hull \(h(S)\) of a set \(S\) of vertices is defined as the smallest convex set containing \(S\).
It is a closure operator, as trivially \(S\subseteq h(S)\) and \(h(h(S)) = h(S)\).
What this class contains
As operations on convex sets generally involve the computation of distances between vertices, this class’ purpose is to cache that information so that computing the convex hulls of several different sets of vertices does not imply recomputing several times the distances between the vertices.
In order to compute the convex hull of a set \(S\) it is possible to write the following algorithm:
For any pair \(u,v\) of elements in the set \(S\), and for any vertex \(w\) outside of it, add \(w\) to \(S\) if \(d_{G}(u,w) + d_{G}(w,v) = d_{G}(u,v)\). When no vertex can be added anymore, the set \(S\) is convex
The distances are not actually that relevant. The same algorithm can be implemented by remembering for each pair \(u, v\) of vertices the list of elements \(w\) satisfying the condition, and this is precisely what this class remembers, encoded as bitsets to make storage and union operations more efficient.
Note
This class is useful if you compute the convex hulls of many sets in the same graph, or if you want to compute the hull number itself as it involves many calls to
hull()
Using this class on non-connected graphs is a waste of space and efficiency ! If your graph is disconnected, the best for you is to deal independently with each connected component, whatever you are doing.
Possible improvements
When computing a convex set, all the pairs of elements belonging to the set \(S\) are enumerated several times.
There should be a smart way to avoid enumerating pairs of vertices which have already been tested. The cost of each of them is not very high, so keeping track of those which have been tested already may be too expensive to gain any efficiency.
The ordering in which they are visited is currently purely lexicographic, while there is a Poset structure to exploit. In particular, when two vertices \(u, v\) are far apart and generate a set \(h(\{u,v\})\) of vertices, all the pairs of vertices \(u', v'\in h(\{u,v\})\) satisfy \(h(\{u',v'\}) \subseteq h(\{u,v\})\), and so it is useless to test the pair \(u', v'\) when both \(u\) and \(v\) where present.
The information cached is for any pair \(u,v\) of vertices the list of elements \(z\) with \(d_{G}(u,w) + d_{G}(w,v) = d_{G}(u,v)\). This is not in general equal to \(h(\{u,v\})\) !
Nothing says these recommandations will actually lead to any actual improvements. There are just some ideas remembered while writing this code. Trying to optimize may well lead to lost in efficiency on many instances.
EXAMPLES:
sage: from sage.graphs.convexity_properties import ConvexityProperties sage: g = graphs.PetersenGraph() sage: CP = ConvexityProperties(g) sage: CP.hull([1, 3]) [1, 2, 3] sage: CP.hull_number() 3
- hull(vertices)#
Return the convex hull of a set of vertices.
INPUT:
vertices
– A list of vertices.
EXAMPLES:
sage: from sage.graphs.convexity_properties import ConvexityProperties sage: g = graphs.PetersenGraph() sage: CP = ConvexityProperties(g) sage: CP.hull([1, 3]) [1, 2, 3]
- hull_number(value_only=True, verbose=False)#
Compute the hull number and a corresponding generating set.
The hull number \(hn(G)\) of a graph \(G\) is the cardinality of a smallest set of vertices \(S\) such that \(h(S)=V(G)\).
INPUT:
value_only
– boolean (default:True
); whether to return only the hull number (default) or a minimum set whose convex hull is the whole graphverbose
– boolean (default:False
); whether to display information on the LP
COMPLEXITY:
This problem is NP-Hard [HLT1993], but seems to be of the “nice” kind. Update this comment if you fall on hard instances \(:-)\)
ALGORITHM:
This is solved by linear programming.
As the function \(h(S)\) associating to each set \(S\) its convex hull is a closure operator, it is clear that any set \(S_G\) of vertices such that \(h(S_G)=V(G)\) must satisfy \(S_G \not \subseteq C\) for any proper convex set \(C \subsetneq V(G)\). The following formulation is hence correct
\[\begin{split}\text{Minimize :}& \sum_{v\in G}b_v\\ \text{Such that :}&\\ &\forall C\subsetneq V(G)\text{ a proper convex set }\\ &\sum_{v\in V(G)\backslash C} b_v \geq 1\end{split}\]Of course, the number of convex sets – and so the number of constraints – can be huge, and hard to enumerate, so at first an incomplete formulation is solved (it is missing some constraints). If the answer returned by the LP solver is a set \(S\) generating the whole graph, then it is optimal and so is returned. Otherwise, the constraint corresponding to the set \(h(S)\) can be added to the LP, which makes the answer \(S\) infeasible, and another solution computed.
This being said, simply adding the constraint corresponding to \(h(S)\) is a bit slow, as these sets can be large (and the corresponding constraint a bit weak). To improve it a bit, before being added, the set \(h(S)\) is “greedily enriched” to a set \(S'\) with vertices for as long as \(h(S')\neq V(G)\). This way, we obtain a set \(S'\) with \(h(S)\subseteq h(S')\subsetneq V(G)\), and the constraint corresponding to \(h(S')\) – which is stronger than the one corresponding to \(h(S)\) – is added.
This can actually be seen as a hitting set problem on the complement of convex sets.
EXAMPLES:
The Hull number of Petersen’s graph:
sage: from sage.graphs.convexity_properties import ConvexityProperties sage: g = graphs.PetersenGraph() sage: CP = ConvexityProperties(g) sage: CP.hull_number() 3 sage: generating_set = CP.hull_number(value_only=False) sage: CP.hull(generating_set) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- sage.graphs.convexity_properties.geodetic_closure(G, S)#
Return the geodetic closure of the set of vertices \(S\) in \(G\).
The geodetic closure \(g(S)\) of a subset of vertices \(S\) of a graph \(G\) is in [HLT1993] as the set of all vertices that lie on a shortest \(u-v\) path for any pair of vertices \(u,v \in S\). We assume that \(g(\emptyset) = \emptyset\) and that \(g(\{u\}) = \{u\}\) for any \(u\) in \(G\).
Warning
This operation is not a closure function. Indeed, a closure function must satisfy the property that \(f(f(X))\) should be equal to \(f(X)\), which is not always the case here. The term
closure
is used here to follow the terminology of the domain. See for instance [HLT1993].Here, we implement a simple algorithm to determine this set. Roughly, for each vertex \(u \in S\), the algorithm first performs a breadth first search from \(u\) to get distances, and then identifies the vertices of \(G\) lying on a shortest path from \(u\) to any \(v\in S\) using a reversal traversal from vertices in \(S\). This algorithm has time complexity in \(O(|S|(n + m))\) and space complexity in \(O(n + m)\).
INPUT:
G
– a Sage graphS
– a subset of vertices of \(G\)
EXAMPLES:
The vertices of the Petersen graph can be obtained by a geodetic closure of four of its vertices:
sage: from sage.graphs.convexity_properties import geodetic_closure sage: G = graphs.PetersenGraph() sage: geodetic_closure(G, [0, 2, 8, 9]) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
The vertices of a 2D grid can be obtained by a geodetic closure of two vertices:
sage: G = graphs.Grid2dGraph(4, 4) sage: c = G.geodetic_closure([(0, 0), (3, 3)]) sage: len(c) == G.order() True
If two vertices belong to different connected components of a graph, their geodetic closure is trivial:
sage: G = Graph([(0, 1), (2, 3)]) sage: geodetic_closure(G, [0, 2]) [0, 2]
The geodetic closure does not satisfy the closure function property that \(f(f(X))\) should be equal to \(f(X)\):
sage: G = graphs.DiamondGraph() sage: G.subdivide_edge((1, 2), 1) sage: geodetic_closure(G, [0, 3]) [0, 1, 2, 3] sage: geodetic_closure(G, geodetic_closure(G, [0, 3])) [0, 1, 2, 3, 4]


1. Connect to the Battlebot wifi network. 2. Navigate to the control page. 3. Try not to crash!NOTES: If the Battlebot begins to beep, disconnect and charge the battery immediately. Application set permanently to <IP_ADDRESS>:9999. This application supports bluetooth controllers.RESOURCESOur WebsiteOur GithubOur ThingiverseBattleBot ChatRoomOveride to Control


Bootstrap Basics
Click Me!
Click Me!
Click Me!
Bootstrap Docs
This is a jumbotron
jiberish that is good enought for now
Hi There!
Email address
We'll never share your email with anyone else.
Password
Check me out
Submit


- Technical
- BPL: OMG!
In my latest technical blog post, I will attempt to explain the difference of Blocks, Procs, and Lambdas in Ruby. These are called closures, which are basically functions that have an environment of their own. While each have their specific uses, they are confusingly similar. Can't we just interchange them all? What happens when we pass a block
instead of a Proc
, or a lambda
.
Blocks on blocks on blocks
The first closure on the list is Ruby blocks, which allow you to group statements together. A block must be passed to a method, where it is internalized by Ruby and run in context of the method in which it is found. Blocks are defined between either a set of curly braces, { ... }
, or by using the keywords do
and end
. See the structure of a block below:
do
puts "i am inside a block"
end
Now that you have a broad and basic understanding of what a block is, let's take a look at some code of a block in action. We will iterate, or go through, an array of strings, printing the value of each string object.
string_cheese = %w(cheddar swiss mozzerella)
string_cheese.each { |cheese| puts cheese }
output:
cheddar
swiss
mozzerella
The each
method takes a block as an argument. This allows for a clear and concise way to iterate through each of the items in the array, allowing us to pass each one of them to the block, which is then evaluated with the passed in value. Blocks are extremely common in Ruby, and you can even define your own methods that take blocks by using the keyword yield
. See the following example:
def i_take_a_block
puts "this is me, the method."
yield
puts "still here, the method that is."
end
i_take_a_block { puts "I AM A BLOCK!" }
output:
this is me, the method.
I AM A BLOCK!
still here, the method that is.
Procs on Procs on Procs
So, now the question is: What is a Proc, if a block is a block? Well, the answer to that may be a little confusing at first. A Proc is a block, of course, of course. Okay, in all seriousness a Proc is a block that can be re-used. Oh, I must have forgot to mention that a block is a one time deal, whereas a Proc can be saved and passed to many different methods.
def i_take_a_proc(proc)
puts "this is me, the new method."
proc.call
puts "back in the method again."
end
i_am_proc = Proc.new { puts "I AM A PROC" }
i_take_a_proc(i_am_proc)
output:
this is me, the new method.
I AM A PROC
back in the method again.
Procs are treated as any other object that gets passed to a method in Ruby. There is no special syntax needed, you just need to use the call
method on the proc object that is passed in. Now you have reusable blocks!
Mary had a little lambda
A lambda is an anonymous function in Ruby. So what's the difference between a lambda and a Proc? Well, there are 2 key characteristics that separate the them from each other. For starters, lambdas will check the number of arguments passed in. Lambdas will raise an error if the number of arguments passed to it are not exactly the same as those defined in the lambda, whereas Procs will set any missing arguments to nil
. The second difference is in the way a lambda returns a value to a method. Procs will break out of the method it is called within and return the value from the statement inside the Proc, while lambdas will return a value to the method it was called within. This allows a method to continue running, hitting a return statement inside the method. See below for examples:
def proc_method
Proc.new { return "return of the proc" }.call
return "this will never be returned."
end
def lambda_method
lambda { return "the lambda strikes back" }.call
return "this will be returned."
end
proc_method
=> "return of the proc"
lambda_method
=> "this will be returned."
That's a wrap!
So, there you have it. What's done is done.  There's no better way to find out how these things work than to mess around in good ol' irb!s


by Laura Pircalaboiu and Ricardo Vogel
Python compiler by Jonathan Dönszelmann
| Heartf❤ck | Brainfuck | Purpose |
|---|---|---|
| 💗 | > | increment the data pointer (to point to the next cell to the right). |
| 💜 | < | decrement the data pointer (to point to the next cell to the left). |
| 💖 | + | increment (increase by one) the byte at the data pointer. |
| ❤ | - | decrement (decrease by one) the byte at the data pointer. |
| 💌 | . | output the byte at the data pointer. |
| ❣ | , | accept one byte of input, storing its value in the byte at the data pointer. |
| 💛 | [ | if the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the 💙 command. |
| 💙 | ] | if the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the matching 💛 command. |


Login
Crypto Stocks
Crypto-Stock is being the biggest and first Crypto and Stock
Trade of Business Stage
The Best Investment Opportunity for Everyone
Register


Ruby Arrays & Hashes
This past week I've delved into learning about Arrays and Hashes in Ruby, and learned that there's a lot of opinions about using one or the other, or both. I'll present here what I've learned so far, but I know I'll need to revisit this blog when I see both their uses on regular basis.
As a quick intro, Arrays and Hashes are two types of data structures that allow you to sort and search through a list of elements (ANY list, a list of words, numbers, mix of the two, or even a list of a list of a list).
Arrays
There are several ways to create an array in Ruby, and it's good to note that each element in an array can be a different data type:
array_name = Array.new
array_name = ["item 1", 24, true]
%w{This is an array}
Using the array new method
Using the array literal notation with square brackets
Using the %w operator, the above will create the array ["This", "is", "an", "Array"]
A simple array looks like this:
ice_cream = ["chocolate", "vanilla", "strawberry", "cookies & cream"]
This array has 4 elements, if we wanted to know which ice cream was third in the list, we could check at the index 2. Arrays in Ruby start counting elements from 0.
ice_cream[2]
=>"strawberry"
There's a ton of different methods you can use to manipulate and iterate over an array! You can insert (.push
), retrieve (array[0]
) or remove (.delete_at()
any element in an array. You can also retrieve 1 or more array elements at a time. You can also combine two or more different arrays into one, which can give you an array within an array, or a "flattened" array, where all elements are taken our of each of their own individual arrays and added together to make one array. The element .join will string together string elements, and alternatively, the .split method will take a string and split it into an array based on a specified character divider. Iterating over an array means you can define a method to look at each element and do something with it.
Hashes
Just like the Array, the hash is what's considered a "collection" in Ruby, meaning that it's a collection of elements that can be accessed and manipulated in different ways. A hash is set up a bit differently than an array, instead of a list of elements, it's a list of key/value pairs. The key/value pair's key is used to quickly identify access the value needed. Check out this great explanation of the difference between accessing a value in an Array vs. a hash!
To create a new hash, you can use similar methods to creating an array:
hash_name = Hash.new(default value)
Hash[[key,value], [key2,value2]]
hash = {}
Using the hash new method with a default value specified in the argument will give any key that is not paired with a value the default value.
Hash can use the inner arrays to create the key/value pairs, or, it can also take a list of elements and assign the left element as key and right element as value. If there's an odd number of elements, it will produce an error.
This creates an empty hash that you can then push the key/value pairs into. To push the pairs, you would use the following syntax: hash["key"] = "value"
A simple hash:
food_stuffs = ["ice cream" => "chocolate", "sandwich" => "BLTA", "soup" => "potato leek"]
This hash has 3 key/value pairs, if we wanted to know which value corresponds with which key, would could check by calling that key. Unlike an Array, a Hash doesn't necessarily sort the key/value pairs in any order because they can be accessed by the key instead of the index position
food_stuffs["ice cream"]
=>"chocolate"
Just like arrays, you can retrieve information from a hash, select key/value pairs within a hash, and transform a hash by inverting it, clearing it, rejecting elements, or replacing the contents of the key/value pairs. You can also combine hashes.
One thing that is clearly different between an array and a hash is the reason you would iterate over it. For an array, you are iterating over each element to find the value you need. In a hash, the key tells you the value almost instantly, so you don't necessarily need to iterate over a hash to find a value. Iterating over a hash will give you the key/value pairs.


Choristers in tune for Celebration of Life concert
The school won the Devon Schools Choir competition at Southernhay Church on October 3
by Lewis ClarkeChoristers at Uffculme School have won the privilege of performing at a Celebration of Life concert in Plymouth.
The school won the Devon Schools Choir competition at Southernhay Church on October 3, and are now set to perform with La La Choirs concert at Plymouth Guildhall on Friday, December 6.
Only five schools from across the county were selected for the final stage.
Samantha Abrahams, musical director of La La Choirs, said: “I am so delighted that the work of the music team at Uffculme School has been showcased today and that they have won and will be performing with us in December.
“The staff are clearly very dedicated, and it really shone through at the final.
“This event is one of the highlights of the year for La La Choirs and will be raising money for St Luke’s Hospice, a vital and much loved Plymouth charity. For an opportunity to support their work and to see La La Choirs and the marvellous Uffculme Choral Collective in action, go to lalachoirs.co.uk/product/celebration-of-life-for-st-lukes-hospice/ and celebrate the joy of the Christmas season with us all.”


<%= name %>
v<%= moduleVersion %> <%= moduleSize %>- Declarations
- <%= moduleObj.declarations.total %>
- Selectors
- <%= moduleObj.selectors.total %>
- Max. Specificity Score
- <%= moduleObj.selectors.specificity.max %>
- Size of Avg. Rule
- <%= moduleObj.rules.size.average %>
line-height is a css property
lead [rhyming with red]:
Originally a strip of soft metal used
for vertical spacing between lines of type. Now meaning the
vertical distance from the baseline of one line to the baseline of the next. Also
called leading.
There are generally 3 to 4 different line-heights you will need when setting type. Line-height affects how easy it is to read a piece of text, so having a well constructed set of values can help make your text a little easier to digest.


As different applications have different requirements, we've carefully considered the capabilities that should be included in DistributedLog leaving the rest up to the applications. These considerations are:
Consistency, Durability and Ordering
The distributed systems literature commonly refers to two broad paradigms to use a log for building reliable replicated systems (Figure 1). The Pub-Sub paradigm usually refers to an active-active model where we keep a log of the incoming requests and each replica(reader) processes each request. While the Master-Slave paradigm elects one replica as the master to process requests as they arrive and log changes to its state. The other replicas referred to as slaves apply the state changes in the same order as the master, thereby being in sync and ready to take over the mastership if the current master fails. If the current master loses connectivity to the slaves due to a network partition, the slaves may elect a new master to continue forward progress. A fencing mechanism is necessary for the old master to discover that it has lost ownership and prevent it from modifying state after network connectivity is restored.
These two different approaches indicate two different types of ordering requirements - Write Ordering and Read Ordering. Write ordering requires that all writes issued by the log writer be written in a strict order to the log, while read ordering only requires that any reader that reads the log stream should see the same record at any given position, the log records however may not appear in the same order that the writer wrote them. The replicated log service should be able to support both use cases.
Partitioning
Partitioning (also known as sharding or bucketing) facilitates horizontal scale. The partitioning scheme depends on the characteristics of the application and is closely related to the ordering guarantees that the application requires. For example, distributed key/value store that uses DistributedLog as its transaction log, distributes the data into partitions each of which is a unit of consistency. Modifications within each partition are required to be strictly ordered. On the other hand, real-time analytics workloads don't require strict order, can use round-robin partitioning to evenly distribute the reads and writes across all partitions. It is therefore prudent to provide applications the flexibility to choose a suitable partitioning scheme.
Processing Semantics
Applications typically choose between at-least-once and exactly-once processing semantics. At-least-once processing guarantees that the application will process all the log records, however when the application resumes after failure, previously processed records may be re-processed if they have not been acknowledged. Exactly once processing is a stricter guarantee where applications must see the effect of processing each record exactly once. Exactly once semantics can be achieved by maintaining reader positions together with the application state and atomically updating both the reader position and the effects of the corresponding log records. For instance, for strongly consistent updates in a distributed key/value store the reader position must be persisted atomically with the changes applied from the corresponding log records. Upon restart from a failure, the reader resumes from the last persisted position thereby guaranteeing that each change is applied only once. With at least once processing guarantees the application can store reader positions in an external store and update it periodically. Upon restart the application will reprocess messages since the last updated reader position.


|
traj_gen
v2.1.0
Optimal trajectory generation library given equality and inequality constraints (C++/Matlab). https://github.com/icsl-Jeon/traj_gen
|
The trajectory is represented as the linear interpolation of discrete points. More...
#include <TrajGen.hpp>
Public Member Functions | |
| OptimTrajGen (time_knots< T > ts_, float pntDensity) | |
| void | addPin (const Pin< T, dim > *pin) |
| bool | solve (bool isPrint) |
| Vector< T, dim > | eval (T t_eval, d_order d) |
| Public Member Functions inherited from trajgen::TrajGen< T, dim > | |
| TrajGen (time_knots< T > ts_) | |
| TrajGen () | |
| void | addPinSet (const vector< Pin< T, dim > *> &pinPtrSet) |
| void | setDerivativeObj (VectorX< T > weights) |
Private Member Functions | |
| ConstraintMatPair< T, dim > | fixPinMatSet (const FixPin< T, dim > *pPin, uint blockSize=1) |
| ConstraintMatPair< T, dim > | loosePinMatSet (const LoosePin< T, dim > *pPin, uint blockSize=1) |
| uint | matchIdx (T eval_t, d_order d=0) |
| spMatrixRow< T > | getDiff (d_order d) |
| QpForm< T, dim > | getQPSet () |
Private Attributes | |
| float | pntDensity |
| uint | nPnt |
| T | dt |
| time_knots< T > | tPnts |
| VectorX< T > * | trajPnts |
Additional Inherited Members | |
| Protected Member Functions inherited from trajgen::TrajGen< T, dim > | |
| void | findSegInterval (T t, uint &m) |
| Find a segment index (0,1,...,M-1) which contains t (ts[m]<= t < ts[m+1] || t< ts[1] || ts[M-1]<= t) More... | |
| void | findSegInterval (T t, uint &m, T &tau) |
| uint | getTotalNineq () |
| virtual uint | getTotalNeq () |
| Protected Attributes inherited from trajgen::TrajGen< T, dim > | |
| uint | M |
| bool | isSolved = false |
| time_knots< T > | ts |
| vector< FixPin< T, dim > > * | fixPinSet |
| vector< LoosePin< T, dim > > * | loosePinSet |
| set< d_order > * | fixPinOrderSet |
| VectorX< T > | weight_mask |
The trajectory is represented as the linear interpolation of discrete points.
In this method, the optimization variables are coordinate of each point
| T | |
| dim |
Definition at line 386 of file TrajGen.hpp.
| trajgen::OptimTrajGen< T, dim >::OptimTrajGen | ( | time_knots< T > | ts_, |
| float | pntDensity | ||
| ) |
Definition at line 1071 of file TrajGen.hpp.
|
virtual |
Add pin struct to corresponding segment
| T | |
| dim |
| pin |
Reimplemented from trajgen::TrajGen< T, dim >.
Definition at line 1097 of file TrajGen.hpp.
|
virtual |
Evalute the value of the dth dertivative trajectory at time t. If sill no solution, returing empty vector.
| dim |
| t_eval | evaluation time |
| d | order of derivative |
Implements trajgen::TrajGen< T, dim >.
Definition at line 1249 of file TrajGen.hpp.
|
privatevirtual |
For given set of loosePin, we calculate (A,b) pair s.t Aeq x = beq for the entire dimension
| T | |
| dim |
| pPin | |
| blockSize |
Implements trajgen::TrajGen< T, dim >.
Definition at line 1137 of file TrajGen.hpp.
|
private |
return the matrix Dd s.t x^(d) = Dd x. The number of points will be (nVar-d)
| T | |
| dim |
| d |
Definition at line 1165 of file TrajGen.hpp.
|
privatevirtual |
construct qp problem
| dim |
Implements trajgen::TrajGen< T, dim >.
Definition at line 1184 of file TrajGen.hpp.
|
privatevirtual |
For given set of loosePin, we calculate (A,b) pair s.t A x <= b for the entire dimension
| T | |
| dim |
| pPin | |
| blockSize |
Implements trajgen::TrajGen< T, dim >.
Definition at line 1109 of file TrajGen.hpp.
|
private |
This function finds the nearest time index in optimtraj, given a query time
| T | |
| dim |
| eval_t | query time |
| d | in case of evaluation of dth order derivative, we naturally lose the last d element. |
Definition at line 1062 of file TrajGen.hpp.
|
virtual |
solve the quadratic programming
| T | |
| dim |
| isPrint |
Implements trajgen::TrajGen< T, dim >.
Definition at line 1224 of file TrajGen.hpp.
|
private |
Definition at line 391 of file TrajGen.hpp.
|
private |
Definition at line 390 of file TrajGen.hpp.
|
private |
Definition at line 389 of file TrajGen.hpp.
|
private |
Definition at line 392 of file TrajGen.hpp.
|
private |
Definition at line 393 of file TrajGen.hpp.


Rand Paul speaks at Trump's Kentucky rally
Senator calls for ID of whistleblower
Republican Sen. Rand Paul, before a raucous crowd on Monday, demanded members of the media print the identity of the anonymous whistleblower at the heart of the House impeachment inquiry into President Donald Trump's dealings with Ukraine.


Incident List
Request has been submitted successfully.'; } else if($_GET['result'] == 'successfulInsertForNotSevere'){ echo 'Incident has been marked as not severe.
'; } } else if(isset($_GET['error'])){ if($_GET['error'] == 'sqlError'){ echo 'Database connection error. Please try again later
'; } else if($_GET['error'] == 'viewSentRequestError'){ echo 'Database execution error. Please try again later
'; } } ?>


We only store a hashed version of your password in our database. This cannot be restored. If you forget your password, your encrypted keys will be lost! Please make sure you remember the password and/or have written it down somewhere safe. To make sure you understand the consequences of losing your password, please type the following sentence in the text field below: I understand that nobody can restore my password if I forget it
To secure your account, please setup 2-factor authentication using an OTP app like Google Authenticator to scan the following QR code:


You've got a tray full of mashed potatoes and meatloaf. What would you like to do?


Cost of a Vote
Cost of a vote is a visualization of campaign contributions and legislative voting. See it live
Motivation
One might wonder why a company would aid potential political candidates unless it had some something to gain from their winning. COV was an initial attempt at visualizing a correlation between how money went from a company to a candidate, and how that might ultimately affect how this candidate voted on bills.
Audience
COV is for people who are interested in the American legislative system but do not necessarily have the background to analyze what’s going on.
Goal
Cost of a Vote is a project that aims to make clear correlations between where a political candidate’s campaign finances come from and how it ultimately affects the way she votes on a bill.
Wanted Patterns
We wanted an easy to consume visualization that showed the link between campaign contributions and subsequent votes.
Visualization
Found Patterns
My friend Saied who does campaign work had this to say:
Special interest groups dominate the American political process. From vetting potential candidates to shaping their platforms, special interest groups use their financial muscle to influence every branch of government. This is done explicitly, through direct campaign contributions, and implicitly with the use of super PACs, dark money groups, lobbying, and the “revolving door.” The candidate who capitulates the most to these powerful groups often wins their backings and those that don’t find themselves being outspent by their opponent. As a result, many of our politicians are not accountable to the American public but rather to a small group of individuals and institutions that fund their political campaigns.Essentially just looking at money and votes may be interesting but it’s not telling the full story. Furthermore the data is dense enough that it’s hard to understand without pruning, but the process of pruning itself can, and does, lead to biases within the visualization.
Implementation
Data Sources
- Campaign contributions and candidates
- OpenSecrets
- Bills
- UnitedStates/congress
- Legislators
- UnitedStates/congress-legislators
- Votes
- Govtrack
Front-end choices
D3.js (along with HTML, Javascript, CSS) and the Sankey Plugin for D3. We went with D3, because it offered flexibility using Scalable Vector Graphics. Having the ability to scale up and down was useful in our implementation as there was the potential to have a lot of data appear on the screen at once. The Sankey Diagram was our choice for visualizing the data. Instead of having all links be a fixed width, as is the case with standard flow diagrams, a Sankey diagram normalizes link values by representing them as a percent of the sum of all links. Link widths are determined using these percentages.


FETCH [ direction [ FROM | IN ] ] cursor_name
where direction can be empty or one of:
NEXT
PRIOR
FIRST
LAST
ABSOLUTE count
RELATIVE count
count
ALL
FORWARD
FORWARD count
FORWARD ALL
BACKWARD
BACKWARD count
BACKWARD ALL
FETCH retrieves rows using a previously-created cursor.
A cursor has an associated position, which is used by FETCH. The cursor position can be before the first row of the query result, on any particular row of the result, or after the last row of the result. When created, a cursor is positioned before the first row. After fetching some rows, the cursor is positioned on the row most recently retrieved. If FETCH runs off the end of the available rows then the cursor is left positioned after the last row, or before the first row if fetching backward.
The forms NEXT, PRIOR, FIRST, LAST, ABSOLUTE, RELATIVE fetch a single row after moving the cursor appropriately. If there is no such row, an empty result is returned, and the cursor is left positioned before the first row or after the last row as appropriate.
The forms using FORWARD and BACKWARD retrieve the indicated number of rows moving in the forward or backward direction, leaving the cursor positioned on the last-returned row (or after/before all rows, if the count exceeds the number of rows available).
RELATIVE 0, FORWARD 0, and BACKWARD 0 all request fetching the current row without moving the cursor, that is, re-fetching the most recently fetched row. This will succeed unless the cursor is positioned before the first row or after the last row; in which case, no row is returned.
Note: This page describes usage of cursors at the SQL command level. If you are trying to use cursors inside a PL/pgSQL function, the rules are different — see Section 39.7.
direction defines the fetch direction and number of rows to fetch. It can be one of the following:
Fetch the next row. This is the default if direction is omitted.
Fetch the prior row.
Fetch the first row of the query (same as ABSOLUTE 1).
Fetch the last row of the query (same as ABSOLUTE -1).
Fetch the count'th row of the query, or the abs(count)'th row from the end if count is negative. Position before first row or after last row if count is out of range; in particular, ABSOLUTE 0 positions before the first row.
Fetch the count'th succeeding row, or the abs(count)'th prior row if count is negative. RELATIVE 0 re-fetches the current row, if any.
Fetch the next count rows (same as FORWARD count).
Fetch all remaining rows (same as FORWARD ALL).
Fetch the next row (same as NEXT).
Fetch the next count rows. FORWARD 0 re-fetches the current row.
Fetch all remaining rows.
Fetch the prior row (same as PRIOR).
Fetch the prior count rows (scanning backwards). BACKWARD 0 re-fetches the current row.
Fetch all prior rows (scanning backwards).
count is a possibly-signed integer constant, determining the location or number of rows to fetch. For FORWARD and BACKWARD cases, specifying a negative count is equivalent to changing the sense of FORWARD and BACKWARD.
An open cursor's name.
On successful completion, a FETCH command returns a command tag of the form
FETCH count
The count is the number of rows fetched (possibly zero). Note that in psql, the command tag will not actually be displayed, since psql displays the fetched rows instead.
The cursor should be declared with the SCROLL option if one intends to use any variants of FETCH other than FETCH NEXT or FETCH FORWARD with a positive count. For simple queries PostgreSQL will allow backwards fetch from cursors not declared with SCROLL, but this behavior is best not relied on. If the cursor is declared with NO SCROLL, no backward fetches are allowed.
ABSOLUTE fetches are not any faster than navigating to the desired row with a relative move: the underlying implementation must traverse all the intermediate rows anyway. Negative absolute fetches are even worse: the query must be read to the end to find the last row, and then traversed backward from there. However, rewinding to the start of the query (as with FETCH ABSOLUTE 0) is fast.
DECLARE is used to define a cursor. Use MOVE to change cursor position without retrieving data.
The following example traverses a table using a cursor:
BEGIN WORK; -- Set up a cursor: DECLARE liahona SCROLL CURSOR FOR SELECT * FROM films; -- Fetch the first 5 rows in the cursor liahona: FETCH FORWARD 5 FROM liahona; code | title | did | date_prod | kind | len -------+-------------------------+-----+------------+----------+------- BL101 | The Third Man | 101 | 1949-12-23 | Drama | 01:44 BL102 | The African Queen | 101 | 1951-08-11 | Romantic | 01:43 JL201 | Une Femme est une Femme | 102 | 1961-03-12 | Romantic | 01:25 P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08 P_302 | Becket | 103 | 1964-02-03 | Drama | 02:28 -- Fetch the previous row: FETCH PRIOR FROM liahona; code | title | did | date_prod | kind | len -------+---------+-----+------------+--------+------- P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08 -- Close the cursor and end the transaction: CLOSE liahona; COMMIT WORK;
The SQL standard defines FETCH for use in embedded SQL only. The variant of FETCH described here returns the data as if it were a SELECT result rather than placing it in host variables. Other than this point, FETCH is fully upward-compatible with the SQL standard.
The FETCH forms involving FORWARD and BACKWARD, as well as the forms FETCH count and FETCH ALL, in which FORWARD is implicit, are PostgreSQL extensions.
The SQL standard allows only FROM preceding the cursor name; the option to use IN, or to leave them out altogether, is an extension.


What I am thinking of doing?
I am going to bring some Indian alternatives to the products that you want and will share them with our readers. This will help our readers to find the Indian alternatives including the ways to buy and directly pay the corresponding Indian producer.


| . |
|
DISCLAIMER: All articles, photos, etc. are from public domain and or from expired copyright sources. Individuals with information showing otherwise or holding copyright on materials presented within this site are encouraged to submit it to the webmasters e-mail at<EMAIL_ADDRESS>The information presented here is simply collected from publicly published sources. Most of the material presented here is available at public libraries. This site is in no way trying to infringe on the respective copyrights or businesses of any entities.
Privacy Policy Statement For each visitor to our Web page, our Web server automatically recognizes the consumer's domain name. We collect the e-mail addresses of those who communicate with us via e-mail, the e-mail addresses of those who make postings to our chat areas or submit images and information. We collect aggregate information on what pages consumers access or visit, information volunteered by the consumer, such as survey information and/or site registrations. The information we collect is used for internal review and is then discarded and disclosed only when legally required to do so, at the request of governmental authorities conducting an investigation, to verify or enforce compliance with the policies governing our Website and applicable laws or to protect against misuse or unauthorized use of our Website. With respect to cookies: We use cookies to record session information, such as items that consumers add to their shopping cart or when users vote online etc. We use third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.
|
|
photos I documents I stories I books I links I Copyright © 2001 and Website Design by Ared Networks. All rights reserved. Disclaimer For contemporary Panama Canal Stock Images please see this page here. |


I'm a Ph.D student based in Tampere, Finland. My thesis focuses on collaborative robots and human-robot interaction.
I try to develop new reasoning and interaction methods. Applied to industrial robots this would allow to change the current settings of industrial floors allowing robots and humans to work together sharing their workspaces.
Led by Pr. Roel Pieters, the Cognitive Robotics group in Tampere University of Technology focuses on human centered designs for learning and interacting with industrial but also social robots. All our projects are open source.
If you have a proposition for a potential collaboration, a question or just want to say hi, drop me a line.


This project is created to visualize the UX in 3d format
this is my contribution
UI will become more interactive


Annotated Bibliography
An "annotated bibliography" is a compilation of sources related to a given subject which includes critical or explanatory information.
Annotated bibliographies (AB) have many uses:
- First, they provide a compilation of sources with intelligent commentary; meaning, that not only do you have a summary of the content of an article, but you also have some comment as to why the article is (or is not) of use.
- Second, ABs provide a quick reference for useful definitions and key ideas (if you've done your job).
- Finally, ABs help to provide you an overview of the field so that you are not repeating work that's already been done, but can make a genuine contribution (or at least get a better grade on your current project).
Format
- An APA style reference.
- A short paragraph of 3 or 4 sentences indicating:
- The question or problem addressed by the article (the "topic" and research question);
- The article's method of analysis (experimental? theoretical?);
- The article's thesis, conclusions, and/or recommendations.
- Your assessment of the article's usefulness (global and specific) to your research goals
- For example, maybe you need only the bibliography or a specific discussion of a particular theory
- Any useful definitions or key ideas, in quotes, with page number specified!
These ABs are not summaries! You only need to include enough summary to remind you what was done and why. These ABs are meant to allow you to think about and write down why something is helpful to you and shape how you are thinking about your research or topic.
- Don't confuse abstracts or summaries with annotations.
- Abstracts are the purely descriptive summaries often found at the beginning of scholarly journal articles or in periodical indexes.
- Annotations are descriptive and critical; they expose the author's point of view, clarity and appropriateness of expression, and authority - see below
A good annotated bibliography:
- Encourages you to think critically about the content of the research that you’re reading
- Proves you have read and understand your sources
- Establishes your work as a valid source and you as a competent researcher
- Situates your study and topic in a continuing professional conversation. You don’t want to come out of left field (even if your work is dramatically separating from previous findings/understanding). You have to ground your work in the past (especially when it departs from past work)
- Provides a way for others to decide whether a source will be helpful to their research if they read it
See this document for how to summarize a research article and these two documents (1, 2) for examples of annotated bibliographies.
Further Reading and References
Skidmore College. Writing an annotated bibliography. Retrieved from http://lib.skidmore.edu/library/index.php/li371-annotated-bib
UMUC Writing and Annotated Bibliography (watch out for autoplay movie) Retrieved from http://www.umuc.edu/library/libhow/bibliography_tutorial.cfm
UNC Writing and Annotated Bibliography Retrieved from http://writingcenter.unc.edu/handouts/annotated-bibliographies/
The Annotated Bibliography (with examples) Retrieved from https://web.njit.edu/~dm279/annotatedibliography.pdf


{% extends 'base.html' %} {% load custom_tags %} {% block title %}Welcome to motifDB{% endblock %} {% block head_block %} {% endblock %} {% block body_block %}
MotifDB is accessible via an API.
The following instructions demonstrate how to interact with the API
http://m2slda.org/motifdb/list_motifsets will return a json dictionary that gives the names of available motif sets and their IDs.
To access a particular motifset, there are two options. Send a get request to http://ms2lda.org/motifdb/get_motifset/ID, where ID is the ID obtained from the motifset list will return a json object including all of the motifs in that motifset. Replacing get_motifset with get_metadata will return the metadata for those motifs.
Alternatively, if you want to get the motifs and metadata together for multiple motifsets, you can send a POST request to http://ms2lda.org/motifdb/get_motifset. Within the payload dictionary you should include a field motifset_id_list which holds a list of the IDs of the motifsets you'd like.
In addition, you will need to include a field called csrfmiddlewaretoken which holds a valid token. You can get one by sending a GET request to http://ms2lda.org/motifdb/initialise_api.
This way of getting motifs also allows you to filter duplicates. Simply add the field filter with the value "True" to your payload. The default filter threshold (cosine score) is 0.95. To change this, add a field "filter_threshold" to your payload.
Example
import requests server_url = "http://ms2lda.org" # Get the list of motif sets output = requests.get(server_url + '/motifdb/list_motifsets') motifset_list = output.json() # Get a token url = server_url + '/motifdb/initialise_api' client = requests.session() token = client.get(url).json()['token'] url = server_url + '/motifdb/get_motifset/' data = {'csrfmiddlewaretoken': token} data['motifset_id_list'] = [motifset_list['massbank_binned_005'],motifset_list['gnps_binned_005']] data['filter'] = "True" # data['filter_threshold'] = 0.95 # Default value - not required output = client.post(url,data = data).json() print len(output['motifs']),len(output['metadata'])


|
Can't
Stop
(Red Hot Chili Peppers) |
|
Can't
stop addicted to the shin dig
Chop top he says I'm gonna win big Choose not a life of imitation Distant cousin to the reservation Defunkt the pistol that you pay for This punk the feeling that you stay for In time I want to be your best friend Eastside love is living on the westend Knock out but boy you better come to Don't die you know the truth is some do Go write your message on the pavement Burnin' so bright I wonder what the wave meant White heat is screaming in the jungle Complete the motion if you stumble Go ask the dust for any answers Come back strong with 50 belly dancers [Chorus:] The world I love The tears I drop To be part of The wave can't stop Ever wonder if it's all for you The world I love The trains I hop To be part of The wave can't stop Come and tell me when it's time to Sweetheart is bleeding in the snowcone So smart she's leading me to ozone Music the great communicator Use two sticks to make it in the nature I'll get you into penetration The gender of a generation The birth of every other nation Worth your weight the gold of meditation This chapter's going to be a close one Smoke rings I know your going to blow one All on a spaceship persevering Use my hands for everything but steering Can't stop the spirits when they need you Mop tops are happy when they feed you J. Butterfly is in the treetop Birds that blow the meaning into bebop [Repeat Chorus] Wait a minute I'm passing out Win or lose just like you Far more shocking Than anything i ever knew How about you 10 more reasons Why i need somebody new just like you Far more shocking than anything I ever knew Right on cue Can't stop addicted to the shin dig Chop top he says I'm gonna win big Choose not a life of imitation Distant cousin to the reservation Defunkt the pistol that you pay for This punk the feeling that you stay for In time I want to be your best friend Eastside love is living on the westend Knock out but boy you better come to Don't die you know the truth is some do Go write your message on the pavement Burnin' so bright I wonder what the wave meant Kick start the golden generator Sweet talk but don't intimidate her Can't stop the gods from engineering Feel no need for any interfering Your image in the dictionary This life is more than ordinary Can I get 2 maybe even 3 of these Come from space To teach you of the pliedes Can't stop the spirits when they need you This life is more than just a read thru |


I am a full-time graduate student at Northeastern Illinois University. I am seeking my Geography & Environmental Studies Master degree and Graduate Geographic Information Systems (GIS) Certification. My personal goal is to graduate from NEIU with my Master GES degree by summer of 2018 and obtain my graduate GIS Certificate by January 2018. I have a double major bachelor's degree in Geography and History. I have a strong interest in learining more about GIS and other related programs. This website theme features some wonderful GIS maps and many other different software programs created by Robert Senow for GIS III course and beyond.
The name Geo stands for spatial data, and database is a data repository acting as a storage and management for spatial and attrubute data. For my geodatabase's project and assignment, I used the ArcGIS Catalog 10 and ArcGIS catalog tree in ArcMap 10.
Learn More"A visual programming language for GIS workflow automation"(Ting Liu, 2016). I used the model maker under Arc Catalog in ArcGIS Map 10.
Learn MoreQGIS is an advanced and open source GIS program to help enhance its cartographic capabilities. For my QGIS project, I used Native American's trust land data for Oklahoma. I wanted to see where exactly the trust land is located in Oklahoma along with which tribe owns the land.
Learn MoreAn advancement in programming language which helps to acheive concepts with simpler and shorter lines than another software programs. For my Python, I had to develop the user-defined program environment to use in the ArcGIS program.
Learn More


by Jia Yumeng (Beijing Foreign Studies University)
Posted on August 23, 2017 at 18:00 PM
When people think about a terrorism conducted by Muslim people then they come into conclusion that it is related to all the Muslim.
In May the attacks in Westminster, Manchester and London Bridge has killed 36 individuals and injured at least 217. It is the latest in a long list of violence stretching back to the 1990s.In the 1990s, a wave of bombings came from the Irish Republican Army, which fought against British rule in Northern Ireland.
Meanwhile, there are now more than 45 countries around the world where the Foreign Office believes a terror attack is "very likely" to be attempted.
Below is a chart showing that how many terrorism attacks for each country in the world. Iraq suffered the most due to terrorist attacks than any other country in the world. Following Iraq, it is Pakistan, India, Afghanistan and Colombia on the top 5 since 1970.
From the chart below we can see how terrorism attacks changes from year to year since the year 1970 to 2015.
From this chart we can see how many terrorist attacks occurred in history in different countries.
Terrorists vs peacemakers?
 An ISIS-affiliated news agency said the terror group took responsibility for the van atrocity.
The Spain terror attacks put Muslims in Catalonia under harsh spotlight.
When people think about a terrorism conducted by Muslim people then they come into conclusion that it is related to all the Muslim. The 1.3 billion Muslim held responsibility for this and they should apologize for it.
But why should Muslim have to apologize for a violence that they have no connection to?
This comes to why do people have this prevalent idea?
A reason of this is that a research shows that attacks by Muslim perpetrators received on average 449% more coverage than other attacks between 2011 and 2015.
For those five years, the researchers found, Muslims carried out only 11 out of the 89 attacks, yet those attacks received 44 percent of the media coverage. Overall, the authors report, "The average attack with a Muslim perpetrator is covered in 90.8 articles. Attacks with a Muslim, foreign-born perpetrator are covered in 192.8 articles on average. Compare this with other attacks, which received an average of 18.1 articles.
The same statistical assumptions being used to falsely portray Muslims as violent people can be used more accurately to portray Muslims as peaceful people. When we look at the number of Muslims who have won Nobel Prize it is surprising that seven have won it in Nobel Peace Prize history.
The Georgia State researchers conclude: "By covering terrorist attacks by Muslims dramatically more than other incidents, media frame this type of event as more prevalent. Based on these findings, it is no wonder that Americans are so fearful of radical Islamic terrorism. Reality shows, however, that these fears are misplaced."
Source: Global Terrorism Database


Bonjour! i'm blessed dharly
To all the little girls who are watching this, never doubt that you are valuable and powerful, and deserving of every chance and opportunity in the world to pursue and achieve your own dreams.
#Girls can do anything
About me
I am a young enterprenuer and software developper, business and technology has been always my interest. as the world moving so fast i really want to do my party by solving problems using E-commerce in technology in business by buying and selling of goods and services over the Internet. and aparty from that i like fashion and beauty and i enjoyed music in my free time


Before Change
if "strand" not in cmb:
cmb["strand"] = merge_strands
table = table.sort_values(groupkey + ["start", "end"])
return (table.groupby(by=groupkey,
as_index=False, group_keys=False, sort=False)
.apply(_merge_overlapping, cmb))
def _merge_overlapping(table, combiners):
Merge overlapping regions within a chromosome/strand.
After Change
if "strand" not in cmb:
cmb["strand"] = merge_strands
table = table.sort_values(groupkey + ["start", "end"])
cmb = {k: v for k, v in cmb.viewitems() if k in table}
out = (table.groupby(by=groupkey,
as_index=False, group_keys=False, sort=False)
.apply(_merge_overlapping, cmb)
.reset_index(drop=True))
// Re-sort chromosomes cleverly instead of lexicographically
return out.reindex(out.chromosome.apply(sorter_chrom)
.sort_values(kind="mergesort").index)
def _merge_overlapping(table, combiners):
Merge overlapping regions within a chromosome/strand.


{{ add_includes() }}
Hi, I am a header!
My content will change!!
Push the button to start the timer
Please push me!


My Song
Create Song
Lastest Song
Login
Register
Create Song
Name
Singer
Description
Author
Thumbnail
Link


Software Engineer
11/21/2019
A freelancer is a self-employed person who often works on several projects for multiple clients at any one time
| Full-Time job | vs. | Freelancing | |
|---|---|---|---|
| Location | Office based | Remote / Non-location | |
| Working hours | 8/9am - 5/6pm (30 - 40 h/w) | [X]am - [X]pm (0 - 100 h/w) | |
| Freedom | Follows | Utmost freedom (!) | |
| Contract | Long-term | Long-term / Short-term | |
| Learning curve at work | Mediocre level | Higher learning curve. High productivity | |
| Compensation | Regular paycheck each month, year-end raise | Non-steady paycheck. You work more, you earn more | |
| Benefits | Health care, pension plan, and paid time off... | Typically, no benefits nor bonuses |
Full-Time freelancer 2018/10 - Present
| Fixed-price | Hourly rate | |
|---|---|---|
| Upwork.com | 32 | 5 281 hours |
| Freelancer.com | 1 | - |
| Direct | 5 | - |
| 43 contracts |
Job offer as a Remote full-time worker
MEAN stack development
MongoDB Express JS Angular Node JS
Long-term contract: 2019/06 - Present
| Founder of MEDGIC | Reid Lim |
| Site | https://www.medgic.co |
| Location | Singapore |
Reid Lim
MBBS (National University of Singapore)
GDFM (NUS)
Founder, MEDGIC
Innovfest 2019
Websites for you and your projects
Hosted directly from your GitHub repository
Freelance and remote workers have to work late or even skip sleep in order to meet deadlines. Insufficient sleep leads to lower productivity and higher risk of illnesses
Source: RAND Corporation
The end ツ


This is a simple demo for form-change-tracker
. Change some of the form controls below and you’ll see that the controls’ styling and the corresponding’s label styling change (plus, if your viewport is wide enough, you’ll see a “Changed” badge, which is injected via CSS) and return to their inital styling when the control is changed back to its original value. Plus, the “Reset” button at the end of the form will be enabled or disabled depending on the form.


Reactions Trail Davido’s ‘A Good Time’ Album
by Oyindamola OlubajoPositive reactions have continued to roll in since Award-winning singer, Davido dropped his much anticipated album ‘A Good Time’.
Concise News reports that ‘A Good Time’ is Davido’s third studio album coming after ‘Omo Baba Olowo’ and ‘Baddest’.
Since the album was released by 12 am on Friday, November 22, music lovers have taken to Twitter to share how they feel about it, with majority showering praises on the DMW boss for a job well done.
Below are some reactions gathered


Boot2Docker for Mac OS X v%INSTALLER_VERSION% was successfully installed.
docker run ubuntu echo "Hello world"
.boot2docker stop && boot2docker download && boot2docker up
.docker
and boot2docker
binaries are in /usr/local/bin
which you can access from your terminal.


Both nc2moml and ncapp2moml convert nesC (.nc) files into MoML (.moml) files. MoML is a specialization of XML used by Ptolemy II. See any Ptolemy II demo .xml file for an example.
nc2moml converts .nc files that have interface(s) into an actor that can be used in Ptolemy II. If you look at it graphically, then the resulting file can be incorporated as an item in the left-hand pane in Vergil (the GUI of ptII) and dragged onto the workspace as a graphical block. (The result is basically a block).
ncapp2moml converts .nc files that do not have interface(s) into a complete Ptolemy II model. It assumes that the source .nc file is a complete TinyOS/nesC application. If you look at it graphically, then the resulting model may have multiple levels of hierarchy, but the bottom-most level of the hierarchy will be a workspace that has all the nesC blocks (the nesC blocks are created from nc2moml above) connected together with lines. (The result is basically a block and line diagram).
The reason why there are two different tools is that the resulting MoML code have very different structures, and the output required from the nesC compiler (it uses the xml output of the nesC compiler) is very different. nc2moml only inspects the interface information from the nesC xml output. ncapp2moml gets the wiring (+ more) information from the nesC xml output. You must pass completely different flags to the nesC compiler to get these different xml outputs.
If you are a Viptos user, then after installing Viptos, you can run nc2moml to convert the .nc files in the tinyos-1.x/tos, etc directories of your TinyOS tree into .xml (moml) files. Then, when you run Viptos, it automatically reads in these .xml (moml) files and will display them in the left hand pane so that you can use them to build block and arrow diagrams by dragging and dropping.
You can also run ncapp2moml to convert existing applications (in tinyos-1.x/apps) into .xml (moml) files. You can open these .xml (moml) files in Viptos, and you will see a block and arrow diagram that represents the original .nc application. You can also run the code generator built into Viptos on the .xml (moml) file/model to generate a .nc file that is equivalent to the original source .nc file.
So, the combination of nc2moml/ncapp2moml/Viptos allows you to convert both ways between .nc and .xml (moml) files. Here, I state (moml) in parentheses to differentiate it from the .xml (nc) file generated from the nesC compiler.
ncapp2moml depends quite a bit on ptII. The implementation basically calls methods in the ptII kernel in order to convert the entire nesC wiring graph into ptII graph (the result is an almost working ptII model). Then it traverse the ptII graph and generate xml code for each element in the xml hierarchy. It would not be difficult to convert the ptII-specific calls into custom calls, because ncapp2moml only uses very basic parts of the ptII kernel.
Neither nc2moml nor ncapp2moml require actually starting up ptII or Vergil (the GUI). In other words, it does not use the ptII runtime. It just depends on some of the methods in the Java classes in ptII.
If you are building a translation tool from .nc to some intermediate language, I recommend at least using the .xml output from the nesC compiler as one of your intermediary steps. I do not recommend using nesC code directly, since the syntax may change, but the routines that generate the nesC xml output will be kept up to date. nc2moml and ncapp2moml extend the these java files. See net.tinyos.nesc.dump.NDReader in the nesC distribution.


The non-profit that Ben has chosen is St. John’s Program for Real Change in Sacramento. The goal of St. Johns is to support homeless women and children to advance from a point of crisis to a position of self-sufficiency. With the $25,000 award, Ben plans on purchasing a van for the facility that can safely transport the children of St. John's to and from school, as well as to after school programs and YMCA Camp during the summer.


Find opportunities based on the skills you learn from courses. Select a course, and we analyse it to find relevant job listings.


tools¶
Lennard Jones¶
-
class
thermo.tools.lj.
LJ
(symbols=None, ignore_pairs=None, cut_scale=2.5)[source]¶ Bases:
object
Stores all atoms for a simulation with their LJ parameters.
A special dictionary with atom symbols for keys and the epsilon and sigma LJ parameters for the values. This object interfaces with the UFF LJ potential parameters but can also accept arbitrary parameters.
- Args:
- symbols (str or list(str)):
Optional input. A single symbol or a list of symbols to add to the initial LJ list.
- ignore_pairs (list(sets)):
List of sets where each set has two elements. Each element is a string for the symbol of the atom to ignore in that pair. Order in set is not important.
- cut_scale (float):
Specifies the multiplicative factor to use on the sigma parameter to define the cutoffs. Default is 2.5.
-
acknowledge_pair
(pair)[source]¶ Removes the pair from the ignore list and acknowledges it during the output.
- Args:
- pair (set):
A two-element set where each entry is a string of the symbol in the pair to un-ignore.
-
acknowledge_pairs
(pairs)[source]¶ Removes pairs from the ignore list.
- Args:
- pairs (list(set)):
A list of two-elements sets where each entry in each set is a string of the symbol in the pair to un-ignore.
-
add_UFF_params
(symbols, replace=False)[source]¶ Adds UFF parameters to the LJ object. Will replace existing parameters if ‘replace’ is set to True. UFF parameters are loaded from the package.
- Args:
- symbols (str or list(str)):
A single symbol or a list of symbols to add to the initial LJ list.
- replace (bool):
Whether or not to replace existing symbols
-
add_param
(symbol, data, replace=True)[source]¶ Adds a custom parameter to the LJ object.
- Args:
- symbol (str):
Symbol of atom type to add.
- data (tuple(float)):
A two-element tuple of numbers to represent the epsilon and sigma LJ values.
- replace (bool):
Whether or not to replace the item.
-
create_file
(filename='ljparams.txt', atom_order=None)[source]¶ Outputs a GPUMD style LJ parameters file using the atoms defined in atom_order in the order defined in atom_order.
- Args:
- filename (str):
The filename or full path with filename of the output.
- atom_order (list(str)):
List of atom symbols to include LJ params output file. The order will determine the order in the output file. Required Ex. [‘a’, ‘b’, ‘c’] = pairs => ‘aa’, ‘ab’, ‘ac’, ‘ba’, ‘bb’, ‘bc’, ‘ca’, ‘cb’ ‘cc’ in this order.
-
custom_cutoff
(pair, cutoff)[source]¶ Sets a custom cutoff for a specific pair of atoms.
- Args:
- pair (set):
A two-element set where each entry is a string of the symbol in the pair.
- cutoff (float):
Custom cutoff to use. In Angstroms.
-
ignore_pair
(pair)[source]¶ Adds a pair to the list of pairs that will be ignored when output to file.
- Args:
- pair (set):
A two-element set where each entry is a string of the symbol in the pair to ignore.
-
ignore_pairs
(pairs)[source]¶ Adds a list of pairs that will be ignored when output to file.
- Args:
- pairs (list(set)):
A list of two-element sets where each entry of each set is a string of the symbol in the pair to ignore.
-
remove_custom_cutoff
(pair)[source]¶ Removes a custom cutoff for a pair of atoms.
- Args:
- pair (set):
A two-element set where each entry is a string of the symbol in the pair.
-
remove_param
(symbol)[source]¶ Removes an element from the LJ object. If item does not exist, nothing happens.
- Args:
- symbol (str):
Symbol of atom type to remove.
-
replace_UFF_params
(symbols, add=False)[source]¶ Replaces current LJ parameters with UFF values. Will add new entries if ‘add’ is set to True. UFF parameters are loaded from the package.
- Args:
- symbols (str or list(str)):
A single symbol or a list of symbols to add to the initial LJ list.
- add (bool):
Whether or not to replace existing symbols


Matt KellyWeb and Software Engineer - Working in blockchain development
Portfolio
About
I am a web and software developer with 7 years of professional experience, currently working on front and back end software in the blockchain industry.
I have extensive experience working with React, Redux, Node.js, Express and .NET. I love to write clean, simple to understand code and to make things which look and feel good!
EOSIO BaaS is an automated blockchain platform fully managed by Block.one, EOSIO BaaS allows companies to leverage
blockchain technology without having to dedicate internal resources to set-up and ongoing maintenance.
My work on BaaS included researching and building proof of concepts to decide which technologies would be used to
build the product, organizing meetings with technical
& non-technical team members to define requirements & resolve technical issues in planning, designing the
structure of and building back end microservices and
implementing complex front end functionality & components.
I contributed to all levels of the project, from front end, to microservices, to business logic, to database
operations, which has allowed me to design &
build software which accounts for the complexities of a large, inter-connected system.
I was responsible for the creation of two of our most important back end services: blockchain backend and billing
service. Building these services from scratch has allowed me
to gain a lot of experience in solving the architectural challenges of back end development. I am especially happy
with my work on blockchain backend as the complexity
involved allowed me to improve my knowledge in software design, development and infrastructure. This is valuable
knowledge for future projects.
Service: Software Development, Blockchain Development
EOSIO Testnet
The EOSIO Testnet is a public facing testing network which allows developers to test their applications knowing their
smart contracts will behave similarly to the production blockchain.
Testnet Website is a web app which allows developers to create blockchain accounts, deploy smart contracts and push
actions to the testnet in seconds, with no code or command line required.
I worked on the planning, architecture & development of Testnet Website & Monitor. I built the blockchain polling,
data analysis & alerts, blockchain accounts & action history modules, using a combination of React, Redux, Node.js
and socket.io.
My work on the Testnet itself included creating new smart contracts in C++ to manage blockchain account resources and tokens in the blockchain.
Service: Software Development, Blockchain Development
Elemental Battles
Elemental Battles is a free single player card game and eight-lesson online tutorial based around that card game in which users can engage with the basic building blocks of the EOSIO codebase and learn how to create apps on the platform. It was built using React, Redux, Node JS and eosjs.
I have worked on Elemental Battles for over a year, adding & improving functionality, as well as responding to community feedback to shape the direction of the project.
EOSIO Explorer is a web based GUI which improves & simplifies the EOSIO blockchain developer experience.
Previously, developers would have to use a command-line based toolchain that is less user-friendly and more difficult for developers who prefer a visual interface. Using the EOSIO Explorer and their browser, developers can now easily view connected blockchain information, individual block, transaction and action details, as well as creeating & updating accounts, generating ABIs, deploying smart contracts and pushing smart contract actions.
My contributions to Explorer included major pieces of functionality like blockchain polling, 'Push Action' page and 'Action Viewer', the overall CSS Framework of the site and how it interacts with the blockchain. EOSIO Explorer was built with React, Redux, axios & rxjs.
RightsApp is a SaaS Web App I worked on for Sentric Music. It's aim is to make music publishing as easy as possible for publishers and artists.
RightsApp is built in ASP.NET MVC5, using KnockoutJS, jQuery, Bootstrap and MySQL to automate the process of making royalty claims with performing rights societies around the world for song plays and live performances, as well as dividing royalties between contributors and helping with song placement in TV, film and advertistment soundtracks.
I was asked to redesign the Sentric Music brochure site to make it more inviting to potential clients, as well as easier for Sentric Music employees to use the CMS it was based on.
I created new document types, templates and scripting files using Umbraco as well as developing custom plugins to make use of the CMS easier.
I adapted the site to brand guidelines as well as improving responsiveness. The site now adapts to devices of any size.
The response to the redesign was very positive and led to requests for additional redesigns for Connect Songs and Sentric Music Germany.
The next match app is a personal project I decided to work on when I wanted an app for my phone to tell me when the next Liverpool game was on with just one tap.
The app is built in Xamarin Forms and uses the Football-Data API to show users the details and time of the next game for their chosen team.
The user can also see details of past and future football matches on a results carousel page and the current league table for their chosen league.
This app is still in development but the Git Repo can be found here.
Client: Personal Project
Date: May 2017 - Present
Service: App Development
TSB
I worked on TSB (Technology strategy Board) in collaboration with Imperial College London to build a web app which predicts future revenue for bands using a combination of their social media data and past claims with performing rights societies.
This was a fun project to work on as it allowed me to experiment with different ways to represent large amounts of data on the web. We used a combination of .NET, HTML5, CSS3, jQuery and Highcharts to provide users with their predicted revenue information.
Brooks Brothers is the oldest men's clothier in the United States; specializing in suits and dress shirts.
I worked on the full bleed redesign of the Brooks Brothers Australia site, adapting the old site to work better with modern devices of all screen sizes, as well as improving user experience in the process of browsing and buying. Using Salesforce Commerce Cloud, I implemented a new real-time order delivery tracking feature, store tracker and gift card process.
AcceptCookies is a jQuery plugin which allows your to inform users of your use of cookies in a stylish, non-obtrusive way. I created a cookie notification popup for another project and decided to turn it into a simple jQuery plugin to save others the trouble of building on themselves! AcceptCookies is available here if you want to give it a try.


Header phones:
Phone1:
+7 888 888-88-88
Phone2:
+7 888 888-88-88
Bottom phones:
Phone1:
+7 888 888-88-88
Phone2:
+7 888 888-88-88


SMCallState Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | SMCallState.h |
type
Enum type of CallState
@property (nonatomic, readonly) SMCallStates type
Availability
3.0.5
Declared In
SMCallState.h
reason
Reason of state transition
@property (strong, nonatomic, readonly) NSString *reason
Availability
3.0.5
Declared In
SMCallState.h
statusCode
HTTP status code
@property (nonatomic, readonly) NSInteger statusCode
Availability
3.0.5
Declared In
SMCallState.h
– initWithType:andReason:
Creates an CallState oject with specified type and reson
- (id)initWithType:(SMCallStates)type andReason:(NSString *)reason
Parameters
type |
of CallState |
|---|---|
reason |
of CallState transition |
Return Value
SMCallState object
Availability
3.0.5
Discussion
Creates an CallState oject with specified type and reson
Declared In
SMCallState.h
– initWithType:andReason:andStatusCode:
Creates an CallState oject with specified type and reson and http code
- (id)initWithType:(SMCallStates)type andReason:(NSString *)reason andStatusCode:(NSInteger)statusCode
Parameters
type |
of CallState |
|---|---|
reason |
of CallState transition |
statusCode |
HTTP code comes from SPiDR for state transition |
Return Value
SMCallState object
Availability
3.0.5
Discussion
Creates an CallState oject with specified type and reson and http code
Declared In
SMCallState.h


Squirrels Tracker
Home
Map
Sightings
Add
Statistics
All squirrels:
You can click on the squirrel id to see the detail information!
Add new squirrel
{% for squr in squrs %}
ID:
{{ squr.unique_squirrel_id }}
Date: {{squr.date}}
{% endfor %}


About US
welcome to out website
we hope that you'll like our salmon cookies
If you don't like salmon
it's ok
you just have to like cookies
Products
Opening Hours
| Branch | Hours |
|---|---|
| Seatle | 6:00 AM to 8:00PM |
| Tokyo | 6:00 AM to 8:00PM |
| Dubai | 6:00 AM to 8:00PM |
| Paris | 6:00 AM to 8:00PM |
| Lima | 6:00 AM to 8:00PM |


Set of callbacks that allow users to define custom file streams. More...
#include <InputStream.h>
Data Fields | |
| sfInputStreamReadFunc | read |
| Function to read data from the stream. More... | |
| sfInputStreamSeekFunc | seek |
| Function to set the current read position. More... | |
| sfInputStreamTellFunc | tell |
| Function to get the current read position. More... | |
| sfInputStreamGetSizeFunc | getSize |
| Function to get the total number of bytes in the stream. More... | |
| void * | userData |
| User data that will be passed to the callbacks. More... | |
Set of callbacks that allow users to define custom file streams.
Definition at line 44 of file InputStream.h.
| sfInputStreamGetSizeFunc sfInputStream::getSize |
Function to get the total number of bytes in the stream.
Definition at line 49 of file InputStream.h.
| sfInputStreamReadFunc sfInputStream::read |
Function to read data from the stream.
Definition at line 46 of file InputStream.h.
| sfInputStreamSeekFunc sfInputStream::seek |
Function to set the current read position.
Definition at line 47 of file InputStream.h.
| sfInputStreamTellFunc sfInputStream::tell |
Function to get the current read position.
Definition at line 48 of file InputStream.h.
| void* sfInputStream::userData |
User data that will be passed to the callbacks.
Definition at line 50 of file InputStream.h.


Multiple Directive Resource Contention
$compile
Multiple directives [{0}, {1}] asking for {2} on: {3}
This error occurs when multiple directives are applied to the same DOM element, and processing them would result in an collisions or unsupported configuration.
To resolve this issue remove one of the directives which is causing the collision.
Example scenarios of multiple incompatible directives applied to the same element include:
isolated scope
.transclusion
option.template
or templateURL
.


Compiles PaperScript code into JavaScript code.
Evaluates parsed PaperScript code in the passed PaperScope object. It also installs handlers automatically for us.
Copyright © 2011 Jürg Lehni & Jonathan Puckey. All Rights Reserved.


6 references to EnsureDriveIsRooted
System.Management.Automation (6)
namespaces\FileSystemProvider.cs (6)
1197
path =
EnsureDriveIsRooted
(path);
4978
parentPath =
EnsureDriveIsRooted
(parentPath);
5128
path =
EnsureDriveIsRooted
(path);
5134
basePath =
EnsureDriveIsRooted
(basePath);
5170
result =
EnsureDriveIsRooted
(result);
5740
result =
EnsureDriveIsRooted
(path);


| 1 | package fr.sii.ogham.sms.splitter; | |
| 2 | ||
| 3 | import fr.sii.ogham.sms.encoder.Encoded; | |
| 4 | ||
| 5 | /** | |
| 6 | * Represents a segment that has been encoded. | |
| 7 | * | |
| 8 | * @author Aurélien Baudet | |
| 9 | * | |
| 10 | */ | |
| 11 | public class EncodedSegment implements Segment { | |
| 12 | private final Encoded encoded; | |
| 13 | ||
| 14 | /** | |
| 15 | * Initializes the segment with the encoded content. | |
| 16 | * | |
| 17 | * @param encoded | |
| 18 | * the encoded content for the segment | |
| 19 | */ | |
| 20 | public EncodedSegment(Encoded encoded) { | |
| 21 | super(); | |
| 22 | this.encoded = encoded; | |
| 23 | } | |
| 24 | ||
| 25 | /** | |
| 26 | * @return the encoded content | |
| 27 | */ | |
| 28 | public Encoded getEncoded() { | |
| 29 |
1
1. getEncoded : replaced return value with null for fr/sii/ogham/sms/splitter/EncodedSegment::getEncoded → NO_COVERAGE |
return encoded; |
| 30 | } | |
| 31 | ||
| 32 | @Override | |
| 33 | public byte[] getBytes() { | |
| 34 |
1
1. getBytes : replaced return value with null for fr/sii/ogham/sms/splitter/EncodedSegment::getBytes → RUN_ERROR |
return encoded.getBytes(); |
| 35 | } | |
| 36 | } | |
Mutations | ||
| 29 |
1.1 |
|
| 34 |
1.1 |


PySpecData Examples¶
Below is a gallery of examples using our various functions.
Simple Cary UV-Vis loading
Polynomial Fitting
Bruker cw ESR Data
Simple Convolution Example
Plotting Routines
ppm Example
Manipulation of UV-Vis data
Fit Using Bounds
Fit complex data
Using the DCCT function
Basic Slicing/Filtering Example
Basic Slicing/Filtering Example
BSA UV-Vis Calibration
Fitting Data (Nonlinear + Symbolic)
Fitting Data (Nonlinear + Symbolic)
Quantitative ESR
Individual Functions¶
These are not very important – just tests to verify the performance of individual functions.