|
DOT_Assignment
0.1.0
|
Public Member Functions | |
| def | __init__ (self, agents, targets, pol, assignment_epoch) |
| def | compute_assignments (self, t, x0, collisions) |
| def | compute_optimal_assignments (self, t, x0, collisions) |
| def | pre_process (self, t0, x0, collisions) |
| def | update (self, t0, x0, collisions, dt, tick) |
| Public Member Functions inherited from DOT_assignment.systems.System | |
| def | __init__ (self, agents) |
Public Attributes | |
| targets | |
| tsizes | |
| tsize_inds | |
| ntargets | |
| apol | |
| assignment_epoch | |
| optimal_assignment | |
| costs | |
| current_assignment | |
| Public Attributes inherited from DOT_assignment.systems.System | |
| agents | |
| nagents | |
| sizes | |
| size_inds | |
System representing scenario consisting of one agent to one target engagements Assumes equal agent and target swarm sizes
| def DOT_assignment.systems.OneVOne.__init__ | ( | self, | |
| agents, | |||
| targets, | |||
| pol, | |||
| assignment_epoch | |||
| ) |
Constructor for OneVOne System
| def DOT_assignment.systems.OneVOne.compute_assignments | ( | self, | |
| t, | |||
| x0, | |||
| collisions | |||
| ) |
Compute assignments between agent and target swarms Does not perfrom assignments for agents that are collided with targets
| def DOT_assignment.systems.OneVOne.compute_optimal_assignments | ( | self, | |
| t, | |||
| x0, | |||
| collisions | |||
| ) |
Compute optimal assignments (DYN) between agent and target swarms Does not perfrom assignments for agents that are collided with targets
| def DOT_assignment.systems.OneVOne.pre_process | ( | self, | |
| t0, | |||
| x0, | |||
| collisions | |||
| ) |
System pre-processor Perform functions prior to starting engine loop
| def DOT_assignment.systems.OneVOne.update | ( | self, | |
| t0, | |||
| x0, | |||
| collisions, | |||
| dt, | |||
| tick | |||
| ) |
Computes assignments at assignment epoch and advances dynamics per engine tick Input: - t0: start time of integration - x0: agent, target, target terminal states at start time of integration - dt: engine time step size Output: return tout, yout, assign_out, diagnostics - tout: time integrated over between [t0, t0+dt] - yout: agent states, target states between [t0, t0+dt] - assign_out: index assignments between agent_i and target_j - diagnostics: diagnostics recorded between [t0, t0+dt]


Wow, it’s now over three years since I started blogging. Quite some time, started at LiveJournal (how come they are so big and silent???), moved to my own server, changed to MovableType there and then on to TypePad. I am currently playing with WordPress but I doubt it will make me move away from TypePad.
It has been a great experience doing this and I learned a lot in the process and, even though I stopped a bit from time to time, I went over that one threshold that makes you not want to stop anymore. This is to another three years and more!


♥
Support Mongoid
With over 800,000 gem downloads over the course of the last 3.5 years,
Mongoid has been an actively maintained and popular project in the
Ruby community. I'd like to keep the project and it's ecosystem
going strong in the years to come, but your support is needed in
order to make this happen.
The current time alotted to gems in the Mongoid organization is around
8 hours a week. This includes the following gems and projects:
-
Mongoid:
The core Ruby ODM for MongoDB.
-
Moped:
Our pure Ruby driver for MongoDB.
-
Origin:
A DSL for generating MongoDB queries.
-
Moped-Turbo (in development):
C Extensions for Moped.
-
Evolver (in development):
Rails migrations for MongoDB.
-
Scooter (in development):
An asynchronous JVM driver for MongoDB.
1 day a week is simply not enough time to keep up with all the needed work for
these projects, which includes bug fixes, new feature implementations,
maintaining documentation, answering direct emails, and answering
questions on twitter and the mailing list.
The Goal: €20,000
If this amount of money can be raised, I can stop my part-time job and dedicate
20-30 hours a week to all projects in the Mongoid organization for the foreseeable
future. This would also include availability again in the #mongoid
IRC channel for those who need immediate assistance during reasonable hours.
The buttons below link to the donation pages on both Pledgie and WePAY. If you
do not want to donate via either of those methods and would prefer to send
money directly, please email me at durran at gmail dot com for
bank details. Please ensure to include your Github username as well when
sending donations if you do not wish to be anonymous.


rules
game
A constant which holds 'Game values'
if (tiles.length === rules.BINGO) { score = score + rules.BINGO_SCORE; }
rules(BINGO, MAX_TILES, BINGO_SCORE);
THE number of tiles to use to achive the bingo score
The number of tiles which make a full set
The score when a player uses all seven tiles


I've been working on a content management system for use with our clients. The system actually preceded me, but we undertook a complete rewrite for this next version. So we came in with certain architectural decisions already decided, and static publishing was one of them (i.e., the CMS publishes to files which Apache serves independently from the CMS).
While this always seemed like a pretty reasonable technique, I'm not sure if it would have been the first thing to occur to me. A more dynamic system (like Plone) seems a lot easier and more general. At least, easier if you do the Right Thing -- the naive approach is easy with a static CMS, but the naive approach fell far short of what we needed, which is why a rewrite was required.
But now that we are getting close to going live with the CMS, I'm very happy with static publishing. A big part is that it takes the pressure off of going live. I can be sure before going live that the public website is correct. The actual CMS may explode in flames, but the site will be fine. Going live with a web application is always a stressful process, and anything that reduces the stress of that is a great benefit. As time goes on, static publishing is also a big stress reduction for the system administrator, since a simple Apache configuration is a lot more reliable under different loads and configurations than any dynamic site will be.
Another benefit is that it's really easy to migrate existing sites into the CMS -- the pages only need to be as structured as you want them to be, and you can import the entire site verbatim if you really want, applying structure and template later. Anything that allows incremental processes is a big +1 in my book. Maybe that makes it +2.
This has also freed us up to do lots of tweaking of the system and UI. Unit tests have been very successful at giving us a solid foundation, but the user interface is very difficult to test, especially as it gets constantly tweaked. Inevitably there are bugs. If the CMS interface had to be as stable as the public site (which has to be extremely stable), then I'd be very nervous about the changes we are making late in the game. But I'm not worried, because the application remains Stable Enough, and it lets us make significant improvements instead of going into a long, deep pre-release freeze.
You can get much the same benefits of static page generation by sticking a good caching proxy in front of the CMS.
Set a simple spider that visits every page and you'll have a cached copy of the whole site that leaves the dynamic layer free.
It's a technique that's worked well for me in the past.# Adrian Howard
Doesn't work that well when you have large parts of the traffic in session based pages with personalized data. I usually tend to do a twofold system: part of it dynamic and part of it statically rendered. High-load parts get served with statically rendered pages that are rerendered on data triggers or time triggers. It's a bit more work to build but a very nice solution if your data is mostly read and much less changed. Gives fully dynamic user experience with fully static server experience.
Adrian: once you create a dynamic site that is actually cache-friendly (or spider-friendly), it's not just the same benefits, it's pretty much the same thing as a static site, isn't it? Well, I guess a truly static site is event-based (you actively rerender pages), where a cached site isn't (the proxy figures out that pages have updated over time). The differences become subtle. In the spidering version, you've really just replaced a push (file write) with a triggered pull (from the spider). Either way, how you actually move the files around -- cache, pull, push, file write, FTP upload, SCP upload, and so on -- should hopefully be somewhat abstracted from the CMS, since requirements vary considerably. Upon further thought, I think the distinguishing aspect is render-on-demand, vs. render-on-event.
Georg: yes, static is limited. The issue we're dealing with a lot is the workflow of publishing a site, and pieces that don't fit into the workflow usually wouldn't be put in the CMS. Though the more I work with the system, the more I see places where workflow applies. You could add or edit an item in your store, preview, have the copy reviewed, etc., then publish it to your site. But obviously a store item is much richer than your typical HTML file -- or at least has different set of metadata. And it has to interact with entirely non-static items, like a shopping cart, or inventory control. Some things don't make sense as event-based, or the events occur with a granularity that doesn't fit your model. When writing the CMS, I expect data to be updated on the order of a few items a day, or maybe the occassional big batch. An online forum wouldn't fit into this model at all. Anyway, it's my first foray into workflow, so I'm still thinking about the possibilities, and what it means for all the different parties involved.
Also, one of the benefits of publishing into a system like Apache is that it's a good basis for heterogeneous sites, so I'm inclined to simply call upon external applications in these cases.# Ian Bicking
Yep, Apache is a great base for mixed applications. That's what I usually do: Apache in the front, parts built on mod_perl or cgi, parts built on Zope (via mod_proxy and mod_rewrite behind the Apache) and parts with event based rendering that result in static HTML stuff.
Ok, with high traffic systems I usually have a bit more than just one Zope behind the Apache. Actually it's more like two Apache machines with load balancer in front, 4 Zope machines in the back, connected via a Zeo server, a PostgreSQL machine (with a spare one for failover) in the back. Several servers around all that to connect it and hold it together (for example two machines running load balancers to match up between two Apaches and 4 Zopes). But it's a system with 2500 hits per minute in it's prime time, 1000 hits alone to the Zope application parts. Each Zope page with 3-4 SQL statements. :-)
Mixing static and dynamic parts is essential with this system.
Oh, and even a forum can be built with static rendered output: a forum is much more read than written! So just render out index pages when someone writes a comment. Build dynamic parts with Javascript and Dynamic HTML (for example to build outline views of the forum). That way you get a very fast forum for readers - the rendering of new index pages can happen in the background. Or if you use Apache: the cleanup phase of a request is the right place for rendering stuff. In that phase the client is already satisfied, so you don't block anything (beside the process slot - but with high performance systems you already will have patched your system to unusual high values for running processes).
The main problem with really high performance systems that make use of event based rendering is how to build a really fast replicating filesystem. If you create a comment, the comment stuff should go to the background to some rendering machine, be rendered there into static pages that are pushed back to the front machines. That needs to be performant, if you do that wrong, your system will be blocked by shuffling files around :-)
Ian: Yup, you're right it is pretty much the same thing - which was my point ;-) However, I'm surprised how many people fail to see it that way.
I was talking to a guy I met on a previous project a couple of weeks ago who was having scaling problems with their Java based CMS. Proxying the (almost completely static) content hadn't occurred to him. Most odd since he was a technically literate bloke.
Somehow the attitude that "we could change this at any time" overrides the reality of things only changing once every three months. One Apache mod_proxy later and suddenly they don't have to purchase another Sun E350. Odd, but I've seen the same pattern several times.# Adrian Howard


{% extends "base.html" %} {% block title %}Material Assays{% endblock %} {% block mystyles %} {% endblock %} {% block myscripts %} {% endblock %} {% set isocols = ['U238', 'Th232', 'K40'] %} {% macro getsubspec(parent, name) %} {% for spec in parent.subspecs if spec.name == name %} {{ spec.getratestr() }} {% endfor %} {% endmacro %} {% macro getothersubspecs(parent, ignore) %} {% for spec in parent.subspecs if spec.name not in ignore -%} {%- if loop.index0>0 -%}; {% endif -%}{{spec.name}}: {{ spec.getratestr() }} {%- endfor %} {% endmacro %} {% macro printdescription(entry) %} {%- if entry.sampleinfo.vendor -%} {{ entry.sampleinfo.vendor }} {%- if entry.sampleinfo.batch -%} /{{ entry.sampleinfo.batch }} {%- endif -%} {%- endif %} {{ entry.sampleinfo.description | default('') }} {% endmacro %} {% macro printentryrow(entry) %}
Select entries to import into your model:
{% endif %}This area is for material assay references that are not associated to a single background model. It can be used as a primary location to store assay info and/or include external references. When imported into a model, the model entry retains a link to the entry in this database, but the information is copied. I.e., if you import an entry into your model and then change the entry in this database, the model's entry will still have the old version.
{% endblock %}


The rules are as follows:
Enter an integer into the box provided, and we will play some ping-pong!
- Numbers divisible by three become 'ping'
- Numbers divisible by 5 become 'pong'
- And numbers that are divisible by 15 will produce 'ping-pong!'
Enter your number below:


- A feature rich dashboard, provides you to edit your profile,see all your recieved wash requests and manage existing orders. Explore all the features from the side navigation bar.
-
If you are a new user, you must first create your profile, before handling your wash requests. The profile creation process is made to be completed within seconds, saving your valuable time.


The window.location object can be used to get the current page address (URL) and to redirect the browser to a new page.
The window.location object can be written without the window prefix.
Some examples:
The window.location.href property returns the URL of the current page.
The window.location.hostname property returns the name of the internet host (of the current page).
The window.location.pathname property returns the pathname of the current page.
The window.location.protocol property returns the web protocol of the page.
The window.location.port property returns the number of the internet host port (of the current page).
Note: Most browsers will not display default port numbers (80 for http and 443 for https)
The window.location.assign() method loads a new document.


WELCOME
TO DELANI STUDIOS
ABOUT US
When with us, you are part of commited colaborators.All aspects of our software development processes are intergrated, interactive
and agile.
Our approach unifies designs, development and product management to create exceptional products
We start each project by understanding your business goals, the user's needs and the product requirements.
Then we help them translate them into effective and elegant solutions.
SERVICES
WHAT WE DO
Design
Our design practice offers a full range of services including branding strategy,interaction and visual design and user experience testing. Throughout your project, our designers create and implement visual designs and workflows solicit user feedback, and work with you to make sure what gets built is what is needed.
Development
All engineers are fluent in the latest enterprise, mobile and web development technologies. They collaborate with your team to write, test, and improve code on a daily basis, using proven practices such as test-driven development and pair programming.
Production Management
Planning and development is iterative. Because we are constantly coding and testing, the products we build are always ready to go live.This iterative process allows for changes as business requirements eveolve.


The SVG Plugin for KUTE.js extends the core engine and enables animation for various SVG specific CSS properties, SVG morphing of path shapes and SVG transforms. We'll dig into this in great detail as well as provide valuable tips on how to configure your animation for best performance and visual aesthetics. The SVG Plugin is very light, maybe one of the lightest out there, still, you will find it to be very powerful and flexible.
Keep in mind that older browsers like Internet Explorer 8 and below as well as stock browser from Android 4.3 and below do not support inline SVG so make sure to fiter out your SVG tweens.
One of the most important parts of the plugin is the SVG morphing capability. It only applies to inline <path>
and <glyph>
SVG elements, with closed shapes (their d
attribute ends with z
).
On initialization or animation start, depending on the chosen KUTE.js method, it will sample a number of points along the two paths based on a default /
given sample size and will create two arrays with these points, the arrays that we need for interpolation. Further more, with a set of options we can then rearrange / reverse these arrays to optimize and / or maximize the visual effect
of the morph:
true
this option allows you to reverse the draw direction of the FIRST shape. By default this option is false
.true
this option allows you to reverse the draw direction of the SECOND shape. By default this option is also false
.In the first morph example we are going to go through some basic steps on how to setup and how to improve the morph animation. Our demo is a morph from a rectangle into a star, so first let's create an SVG element with two paths, first is going to be visible, filled with color, while second is going to be hidden. The first path is the start shape and the second is the end shape, you guessed it, and we can also add some ID to the paths so we can easily target them with our code.
<svg id="morph-example" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<path id="rectangle" class="bg-lime" d="M38.01,5.653h526.531c17.905,0,32.422,14.516,32.422,32.422v526.531 c0,17.905-14.517,32.422-32.422,32.422H38.01c-17.906,0-32.422-14.517-32.422-32.422V38.075C5.588,20.169,20.104,5.653,38.01,5.653z"/>
<path id="star" style="visibility:hidden" d="M301.113,12.011l99.25,179.996l201.864,38.778L461.706,380.808 l25.508,203.958l-186.101-87.287L115.01,584.766l25.507-203.958L0,230.785l201.86-38.778L301.113,12.011"/>
</svg>
Now we can apply both .to()
and fromTo()
methods:
// the fromTo() method
var tween = KUTE.fromTo('#rectangle', {path: '#rectangle' }, { path: '#star' }).start();
// OR
// the to() method will take the path's d attribute value and use it as start value
var tween = KUTE.to('#rectangle', { path: '#star' }).start();
// OR
// simply pass in a valid path string without the need to have two paths in your SVG
var tween = KUTE.to('#rectangle', { path: 'M301.113,12.011l99.25,179.996l201.864,38.778L461.706,380.808l25.508,203.958l-186.101-87.287L115.01,584.766l25.507-203.958L0,230.785l201.86-38.778L301.113,12.011' }).start();
For all the above tween objects the animation should look like this:
As you can see, the animation could need some fine tunning. Let's go ahead and play with the new utility, it's gonna make your SVG morph work a breeze.
Well, we're going to set the morphIndex: 127
tween option and we will get an improved morph. Sometimes the recommended value isn't what we're looking for, so you just have to experience values
around the recommended one. I also made a pen for you to play with.
Much better! You can play with the morphIndex
value, maybe you can get a more interesting morph.
When your paths are only lineto
, vertical-lineto
and horizontal-lineto
based shapes (the d
attribute consists of L
, V
and
H
path commands), the SVG Plugin will work differently: it will use their points instead of sampling new ones. As a result, we boost the visual and maximize the performance. The
morphPrecision
option will not apply since the paths are already polygons, still you will have access to all the other options.
The plugin will try to convert paths to absolute values for polygons, but it might not find most accurate coordinates values for relative v
and h
path commands. I highly
recommend using my utility converter to prepare your paths in that case.
// let's morph a triangle into a star
var tween1 = KUTE.to('#triangle', { path: '#star' }).start();
// or same path into a square
var tween2 = KUTE.to('#triangle', { path: '#square' }).start();
In the example below the triangle shape will morph into a square, then the square will morph into a star, so 2 tweens chained with a third that will morph back to the original triangle shape. For each tween the morph will use the number of points from the shape with most points as a sample size for the other shape. Let's have a look at the demo.
The morph for polygon paths is the best morph in terms of performance so it's worth keeping that in mind. Also using paths with only L
path command will make sure to prevent value processing
and allow the animation to start as fast as possible.
In other cases, you may want to morph paths that have subpaths. Let's have a look at the following paths:
<svg id="multi-morph-example" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<path d="M206.115,255.957c-23.854-12.259-47.043-18.479-68.94-18.479c-2.978,0-5.976,0.09-8.974,0.354 c-27.94,2.312-53.461,9.684-69.875,15.414c-4.354,1.599-8.817,3.288-13.415,5.152L0,414.096 c30.851-11.416,58.146-16.969,83.135-16.969c40.423,0,69.764,15.104,93.996,30.652c11.481-38.959,39.022-133.045,47.241-161.162 C218.397,262.975,212.334,259.332,206.115,255.957z
M264.174,295.535l-45.223,157.074c13.416,7.686,58.549,32.024,93.105,32.024 c27.896,0,59.127-7.147,95.417-21.896l43.179-150.988c-29.316,9.461-57.438,14.26-83.732,14.26 C318.945,326.01,285.363,310.461,264.174,295.535z
M146.411,184.395c38.559,0.399,67.076,15.104,90.708,30.251l46.376-158.672c-9.772-5.598-35.403-19.547-53.929-24.3c-12.193-2.842-25.01-4.308-38.602-4.308c-25.898,0.488-54.194,6.973-86.444,19.9 L60.3,202.564c32.404-12.218,60.322-18.17,86.043-18.17C146.366,184.395,146.411,184.395,146.411,184.395L146.411,184.395z
M512,99.062c-29.407,11.416-58.104,17.233-85.514,17.233c-45.844,0-79.646-15.901-101.547-31.183L278.964,244.23 c30.873,19.854,64.146,29.939,99.062,29.939c28.474,0,57.97-6.84,87.73-20.344l-0.091-1.111l1.867-0.443L512,99.062z"/>
<path d="M0.175 256l-0.175-156.037 192-26.072v182.109z
M224 69.241l255.936-37.241v224h-255.936z
M479.999 288l-0.063 224-255.936-36.008v-187.992z
M192 471.918l-191.844-26.297-0.010-157.621h191.854z"/>
</svg>
As you can see, both these paths have subpaths, and KUTE.js will only animate the first of both in this case. To animate them all, we need to break them into multiple paths, so we can handle each path morph properly.
<svg id="multi-morph-example" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<path id="w11" d="M206.115,255.957c-23.854-12.259-47.043-18.479-68.94-18.479c-2.978,0-5.976,0.09-8.974,0.354 c-27.94,2.312-53.461,9.684-69.875,15.414c-4.354,1.599-8.817,3.288-13.415,5.152L0,414.096 c30.851-11.416,58.146-16.969,83.135-16.969c40.423,0,69.764,15.104,93.996,30.652c11.481-38.959,39.022-133.045,47.241-161.162 C218.397,262.975,212.334,259.332,206.115,255.957z"/>
<path id="w12" d="M264.174,295.535l-45.223,157.074c13.416,7.686,58.549,32.024,93.105,32.024 c27.896,0,59.127-7.147,95.417-21.896l43.179-150.988c-29.316,9.461-57.438,14.26-83.732,14.26 C318.945,326.01,285.363,310.461,264.174,295.535z"/>
<path id="w13" d="M146.411,184.395c38.559,0.399,67.076,15.104,90.708,30.251l46.376-158.672c-9.772-5.598-35.403-19.547-53.929-24.3c-12.193-2.842-25.01-4.308-38.602-4.308c-25.898,0.488-54.194,6.973-86.444,19.9 L60.3,202.564c32.404-12.218,60.322-18.17,86.043-18.17C146.366,184.395,146.411,184.395,146.411,184.395L146.411,184.395z"/>
<path id="w14" d="M512,99.062c-29.407,11.416-58.104,17.233-85.514,17.233c-45.844,0-79.646-15.901-101.547-31.183L278.964,244.23 c30.873,19.854,64.146,29.939,99.062,29.939c28.474,0,57.97-6.84,87.73-20.344l-0.091-1.111l1.867-0.443L512,99.062z"/>
<path id="w21" style="visibility:hidden" d="M0.175 256l-0.175-156.037 192-26.072v182.109z"/>
<path id="w22" style="visibility:hidden" d="M224 69.241l255.936-37.241v224h-255.936z"/>
<path id="w23" style="visibility:hidden" d="M479.999 288l-0.063 224-255.936-36.008v-187.992z"/>
<path id="w24" style="visibility:hidden" d="M192 471.918l-191.844-26.297-0.010-157.621h191.854z"/>
</svg>
After a close inspection we determined that paths are not ordered the same so it seems we need to tween the paths in a way that their points travel the least possible distance, as follows: #w11
to #w24
, #w13
to #w21
, #w14
to #w22
and #w12
to #w23
.
Now we can write the tween objects and get to working:
var multiMorph1 = KUTE.to('#w11', { path: '#w24' }).start();
var multiMorph2 = KUTE.to('#w13', { path: '#w21' }).start();
var multiMorph3 = KUTE.to('#w14', { path: '#w22' }).start();
var multiMorph3 = KUTE.to('#w12', { path: '#w23' }).start();
As you can imagine, it's quite hard if not impossible to code something that would do all this work automatically, so after a minute or two tweaking the options, here's what we should see:
Note that this final touch required using reverseSecondPath:true
option for all tweens because each shape have a slightly different position from its corresponding shape, so make sure to
check the svg.js for a full code review.
The last morph example is a bit more complex as the paths have subpaths with different positions and other important differences such as having different amounts of subpaths as well as significant differences of their positions. In this case you have to manually clone one or more paths in a way that the number of starting shapes is equal to the number of ending shapes, as well as making sure the starting shapes are close to their corresponding end shapes; at this point you should be just like in the previous example.
An important aspect of multi path morph is syncronization: since the .to()
method will prepare the paths for interpolation at animation start, and this usually takes a bit of time,
the problem can be easily solved as always using the .fromTo()
method. So, let's get into it:
// complex multi morph, the paths should be self explanatory
var morph1 = KUTE.fromTo('#start-container', { path: '#start-container' }, { path: '#end-container' });
var morph2 = KUTE.fromTo('#startpath1', { path: '#startpath1' }, { path: '#endpath1' });
var morph3 = KUTE.fromTo('#startpath1-clone', { path: '#startpath1-clone' }, { path: '#endpath1' });
var morph4 = KUTE.fromTo('#startpath2', { path: '#startpath2' }, { path: '#endpath2' });
As with the previous example, you should change which path will morph to which path so that their points travel the least possible distance and the morph animation looks visually appealing. In the next
example, we have used a mask
where we included the subpaths of both start and end shape, just to get the same visual as the originals.
So you have many options to improve the visual and performance for your complex animation ideas. The SVG Plugin for KUTE.js uses approximatelly the same algorithm as D3.js for determining the coordinates for tween, it's super light, it's a lighter script, it might be a better solution for your applications.
morphPrecision
value (1-10) would be required, assuming performant hardware are powering the displays. For small displays
you can get quite comfortable with almost any value, including the default value.lineto
path commands are best for performance..to()
and .fromTo()
methods, but the ones that use the second method will start faster, because the values have been prepared
already and for the first method the processing of the two paths happens on tween start delaying the animation, so keep that in mind when working with syncing multiple tweens, the .to()
based morph will always start later. Of course this assumes the you cache the tween objects first and start the animation later, if not (you start the animation on object creation), both methods will
be delayed.Next, we're going to animate the stroking of some elements. Starting with KUTE.js version 1.5.2, along with <path>
shapes, <circle>
, <ellipse>
, <rect>
,
<line>
, <polyline>
and <polygon>
shapes are also supported; the script uses the SVG standard .getTotalLength()
method for <path>
shapes, while the others use some helper methods. Here some code examples:
// draw the stroke from 0-10% to 90-100%
var tween1 = KUTE.fromTo('selector1',{draw:'0% 10%'}, {draw:'90% 100%'});
// draw the stroke from zero to full path length
var tween2 = KUTE.fromTo('selector1',{draw:'0% 0%'}, {draw:'0% 100%'});
// draw the stroke from full length to 50%
var tween3 = KUTE.fromTo('selector1',{draw:'0% 100%'}, {draw:'50% 50%'});
We're gonna chain these tweens and start the animation real quick.
Remember: the draw
property also accepts absolute values, eg. draw: '0 150'
; the .to()
method takes 0% 100%
as start value for your
tweens when stroke-dasharray
and stroke-dashoffset
are not set.
Starting with KUTE.js 1.5.2, the SVG Plugin features a new tween property for cross browser SVG transforms, but was coded as a separate set of methods for SVG only, to keep performance tight and solve most browser inconsistencies. A very simple roadmap was described here; in brief we needed to find a way to enable SVG transforms in a reliable and cross-browser supported fashion.
With KUTE.js 1.6.0 the SVG transform is a bigger part of the SVG Plugin for two reasons: first is the ability to use the transformOrigin
just like for CSS3 transforms and secondly the unique
way to normalize translation to work with the transform origin in a way that the animation is just as consistent as for CSS3 transforms on non-SVG elements. Also the value processing is consistent with
the working draft.
While you can still use regular CSS3 transforms for SVGs on browsers like Google Chrome, Opera and others, Firefox struggles big time with the percentage based
transform-origin
values and ALL Internet Explorer versions have no implementation for CSS3 transforms on SVG elements.
KUTE.js SVG Plugin comes with a better way to animate transforms on SVGs shapes reliably on all browsers, by the use of the transform
presentation attribute and the
svgTransform
tween property with a special notation:
// using the svgTransform property works in all SVG enabled browsers
var tween2 = KUTE.to('shape', {svgTransform: { translate: [150,100], rotate: 45, skewX: 15, skewY: 20, scale: 1.5 }});
// regular CSS3 transforms apply to SVG elements but not all browsers fully/partially supported
var tween1 = KUTE.to('shape', { translate: [150,100], rotate: 45, skewX: 15, skewY: 20, scale: 1.5 }, { transformOrigin: '50% 50%' });
As you can see we have some familiar notation, but an important notice here is that svgTransform
tween property treat all SVG transform functions as if you are using the
50% 50%
of the shape box at all times by default, even if the default value is "0px 0px 0px" on SVGs in most browsers.
Perhaps the most important thing to remember is the fact that SVG tranformations always use SVG coordinates system, and the transform
attribute accepts no measurement units such as degrees
or pixels. For these reasons the transformOrigin
tween option can also accept array values just in case you need coordinates relative to the parent <svg>
element. Also values
like top left values will work.
In the following examples we showcase the animation of CSS3 transform applied to SVG shapes (LEFT) as well as svgTransform
based animations (RIGHT). I highly encourage you
to test all of them in all browsers, and as a word ahead, animations in Webkit browsers will look identical, while others are inconsistent or not responding to DOM changes. Let's break it down to pieces.
Our first chapter of the SVG transform is all about rotations, perhaps the most important part here. As of with KUTE.js 1.6.0 the svgTransform
will only accept single value
for the angle value rotate: 45
, the rotation will go around the shape's center point by default, again, contrary to the browsers' default value and you can set a transformOrigin
tween option to override the behavior.
The argument for this implementation is that this is something you would expect from regular HTML elements rotation and probably most needed, not to mention the amount of savings in the codebase department. Let's have a look at a quick demo:
The first tween uses the CSS3 transform notation and the animation clearly shows the shape rotating around it's center coordinate, as we've set transformOrigin
option to 50% 50%, but this
animation doesn't work in IE browsers, while in Firefox is inconsistent with the SVG coordinate system. The second tween uses the rotate: 360
notation and the animation shows the shape rotating
around it's own central point and without any option, an animation that DO WORK in all SVG enabled browsers.
When for CSS3 transforms we could have used values such as center bottom as transform-origin
(also not supported in all modern browsers for SVGs), the entire processing was basically in/by
the browser, however when it comes to SVGs the plugin here will compute the transformOrigin
tween setting value accordingly to use a shape's .getBBox()
value to determine for instance
the coordinates for 25% 75% position or center top.
In other cases you may want to rotate shapes around the center point of the parent <svg>
or <g>
element, and we use it's .getBBox()
to determine the 50% 50%
coordinate, so here's how to deal with it:
// rotate around parent svg's "50% 50%" coordinate as transform-origin
// get the bounding box of the parent element
var svgBB = element.ownerSVGElement.getBBox(); // returns an object of the parent <svg> element
// we need to know the current translate position of the element [x,y]
// in our case is:
var translation = [580,0];
// determine the X point of transform-origin for 50%
var svgOriginX = svgBB.width * 50 / 100 - translation[0];
// determine the Y point of transform-origin for 50%
var svgOriginY = svgBB.height * 50 / 100 - translation[1];
// set your rotation tween with "50% 50%" transform-origin of the parent <svg> element
var rotationTween = KUTE.to(element, {svgTransform: {rotate: 150}}, { transformOrigin: [svgOriginX, svgOriginY]} );
Note that this is the only SVG transform example in which we have adapted the transform-origin
for the CSS3 transform rotation so that both animations look consistent in all browsers, and if you are
interested in learning about this fix, similar to the above, just we are adding "px" to the calculated value, but you better make sure to check svg.js file.
In this example we'll have a look at translations, so when setting translate: [150,0]
, the first value is X (horizontal) coordinate to which the shape will translate to and the second value is
Y (vertical) coordinate for translation. When translate: 150
notation is used, the script will understand that's the X value and the Y value is 0 just like for the regular HTML elements
transformation. Let's have a look at a quick demo:
The first tween uses the CSS3 translate: 580
notation for the end value, while the second tween uses the translate: [0,0]
as svgTransform
value.
For the second example the values are unitless and are relative to the viewBox
attribute.
For skews for SVGs we have a very simple notation: skewX: 25
or skewY: -25
as SVGs don't support the skew: [X,Y]
function. Here's a quick demo:
The first tween skews the shape on both X and Y axis in a chain via regular CSS3 transforms and the second tween skews the shape on X and Y axis via the svgTransform
tween
property. You will notice translation kicking in to set the transform origin and the example also showcases the fact that chain transformations for SVGs via transform
attribute works just
as for the CSS3 transformations.
Another transform example for SVGs is the scale. Unlike translations, for scale animation the plugin only accepts single value like scale: 1.5
, for both X (horizontal) axis and Y (vertical) axis,
to keep it simple and even if SVGs do support scale(X,Y)
. But because the scaling on SVGs depends very much on the shape's position, the script will always try to adjust the translation to
make the animation look as we would expect. A quick demo:
The first tween scales the shape at scale: 1.5
via regular CSS3 transforms, and the second tween scales down the shape at scale: 0.5
value via svgTransform
.
If you inspect the elements, you will notice for the second shape translation is involved, and this is to keep transform-origin
at an expected 50% 50% value. A similar case as with the skews.
Our last transform example for SVGs is the mixed transformation. Just like for the other examples the plugin will try to adjust the rotation transform-origin
to make it look as you would expect it
from regular HTML elements. Let's combine 3 functions at the same time and see what happens:
Both shapes are scaled at scale: 1.5
, translated to translate: 250
and skewed at skewX: -15
. If you inspect the elements, you will notice the second shape's translation is
different from what we've set in the tween object, and this is to keep transform-origin
at an expected 50% 50% value. This means that the plugin will also compensate rotation transform origin
when skews are used, so that both CSS3 transform property and SVG transform attribute have an identical animation.
The SVG Plugin does not work with SVG specific chained transform functions right away (do not confuse with tween chain), but if your SVGs only use this feature to set a custom transform-origin
,
it should look like this:
<svg>
<circle transform="translate(150,150) rotate(45) scale(1.2) translate(-150,-150)" r="20"></circle>
</svg>
Well in this case I would recommend using the values of the first translation as transform-origin
for your tween built with the .fromTo()
method like so:
// a possible workaround for animating a SVG element that uses chained transform functions
KUTE.fromTo(element,
{svgTransform : { translate: 0, rotate: 45, scale: 0.5 }}, // we asume the current translation is zero on both X & Y axis
{svgTransform : { translate: 450, rotate: 0, scale: 1.5 }}, // we will translate the X to a 450 value and scale to 1.5
{transformOrigin: [256,256]} // tween options use the transform-origin of the target SVG element
).start();
Before you hit the Start button, make sure to check the transform
attribute value. The below tween will reset the element's transform attribute to original value when the animation is complete.
This way we make sure to count the real current transform-origin and produce a consistent animation with the SVG coordinate system, just as the above example showcases.
translate
,
rotate
, skewX
, skewY
and scale
to keep animation consistent and with same aspect as for CSS3 transforms on non-SVG elements..getBBox()
method, it's really useful to set custom transform-origin
.overflow: hidden
for <svg>
so child elements are partialy/completely hidden while animating. You might want to set overflow: visible
or some browser specific tricks if that is the case.viewBox="0 0 500 500"
attribute for <svg>
and no width
and/or height
attribute(s), means that you expect the SVG to be scalable and most
Internet Explorer versions simply don't work. You might want to check this tutorial.svgTransform
property DOES stack transform functions for chained tween objects created with the
.to()
method, you will have to provide only values for the functions that will change and the plugin will try to keep the unchanged values. However, there's a catch: you need to follow all
the properties and I highly recommend checking the example code for skews in the svg.js file..fromTo()
method with all proper values.svgTransform
tween property does not support 3D transforms, because they are not supported in all SVG enabled browsers.path
or glyph
elements, you might need a convertToPath
feature, so
check this out.


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Country Hills AutoSPA
Mailing Address:
20 Freeport Landing NECALGARY, Alberta
T3J 5H6
Location Address:
20 Freeport Landing NECALGARY, Alberta
T3J 5H6
Tel.:<PHONE_NUMBER>
Fax:
Logo
Company Profile
The Country Hills AutoSPA provides professional, cost effective car & truck detailing Calgary for all makes and models of vehicles. We understand that keeping your vehicle primed is important to you in order to maintain its value. We’d like to make that process simple and convenient for you. Use our online detail booking tool or Call us at<PHONE_NUMBER>.
Full profile
Full profile
Contact information
Company description
Product / Service / Licensing
Wet sanding is also known as color sanding. We mask off edges and sand the paint with 1500 grit sand paper to remove “orange peel” on brand new or older cars. Scratches and water spots are repaired and any oxidation. We then machine polish with a cutting compound to remove the 1500 grit sanding scratches. After that we machine polish with ultra fine polish for a wet looking mirror finish. We then finish with a long lasting synthetic sealer and/or wax that is very smooth to the touch.
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
Products, services and licensing
Product / Service / Licensing
Wet sanding is also known as color sanding. We mask off edges and sand the paint with 1500 grit sand paper to remove “orange peel” on brand new or older cars. Scratches and water spots are repaired and any oxidation. We then machine polish with a cutting compound to remove the 1500 grit sanding scratches. After that we machine polish with ultra fine polish for a wet looking mirror finish. We then finish with a long lasting synthetic sealer and/or wax that is very smooth to the touch.


[ The judges |
IOCCC home page |
How to enter |
FAQ |
IOCCC news |
People who have won |
Winning entries ]
If you want to contact the IOCCC please send email to
<EMAIL_ADDRESS>You must include the following two words (separated by a space) in the subject of your email, otherwise the email will be rejected:
IOCCC 2020
© Copyright 1984-2020,
Leo Broukhis, Simon Cooper, Landon Curt Noll
- All rights reserved |


---
layout: post
title: 'Fluxx: The Card Game with Ever-Changing Rules'
date: '2008-02-03T15:24:56+00:00'
tags: []
tumblr_url: http://backlog.robbevan.com/post/25402139/fluxx-the-card-game-with-ever-changing-rules
---
Fluxx: The Card Game with Ever-Changing Rules


Hello, lazy people
Lean back.......and listen to wave net.......😎
Plain text
Maximum 100000 characters
Address to article
Don't be eager...
Convert to audio!
German
English
French
Male voice
Female voice


Man gets stuck in manhole trying to escape cold weather in Texas
by KZTV StaffCORPUS CHRISTI, Texas — A homeless man trying to keep warm crawled into a manhole Tuesday night and got stuck.
According to Corpus Christi Independent School District Police Chief Kirby Warnke, the man crawled into the manhole in front of Haas Middle School Tuesday night to avoid the weather and somehow got trapped.
Around 8:20 a.m. local time Wednesday morning, a student heard the man yelling and found him. He called school administrators for help.
Warnke said the man appeared to be suffering from hypothermia and was taken to the hospital.
There's no word on his condition.
This story was originally published by KZTV in Corpus Christi, Texas.


Ouija Board
Spirit Box
Ouija Board
Topic:
Question
Get Question
Spirit Box
Topic:
Question
Get Question


Image interface to a PvBuffer. More...
Public Member Functions | |
| const uint8_t * | GetDataPointer () const |
| Get the buffer's data pointer. More... | |
| uint8_t * | GetDataPointer () |
| Get the buffer's data pointer. More... | |
| uint32_t | GetWidth () const |
| Get the image's width. More... | |
| uint32_t | GetHeight () const |
| Get the image's height. More... | |
| PvPixelType | GetPixelType () const |
| The buffer's GigE Vision pixel type. More... | |
| uint32_t | GetBitsPerPixel () const |
| Returns how many bits are required to hold a pixel using the current buffer's pixel type. More... | |
| uint32_t | GetRequiredSize () const |
| Gets the size of buffer required to hold the acquired image. More... | |
| uint32_t | GetImageSize () const |
| Actual image size within the payload or buffer. More... | |
| uint32_t | GetEffectiveImageSize () const |
| Effective image size. More... | |
| uint32_t | GetOffsetX () const |
| Get the image's horizontal offset. More... | |
| uint32_t | GetOffsetY () const |
| Get the image's vertical offset. More... | |
| uint16_t | GetPaddingX () const |
| Get the horizontal image padding. More... | |
| uint16_t | GetPaddingY () const |
| Get the vertical image padding. More... | |
| PvResult | Alloc (uint32_t aSizeX, uint32_t aSizeY, PvPixelType aPixelType, uint16_t aPaddingX=0, uint16_t aPaddingY=0) |
| Allocates memory for this PvImage. More... | |
| void | Free () |
| Frees (de-allocates) the buffer's internal memory. More... | |
| PvResult | Attach (void *aRawBuffer, uint32_t aSizeX, uint32_t aSizeY, PvPixelType aPixelType, uint16_t aPaddingX=0, uint16_t aPaddingY=0) |
| Attach this PvImage to an external memory buffer. More... | |
| uint8_t * | Detach () |
| Releases an attached memory buffer. More... | |
| bool | IsPartialLineMissing () const |
| If true, the grabber (on the device) was missing at least one pixel in at least one of the lines when the frame was grabbed. More... | |
| bool | IsFullLineMissing () const |
| If true, the grabber (on the device) was missing at least one line when the frame was grabbed. More... | |
| bool | IsEOFByLineCount () const |
| End of Frame by Line Count status bit. More... | |
| bool | IsInterlacedEven () const |
| The image contained in the PvImage is an interlaced Even field. More... | |
| bool | IsInterlacedOdd () const |
| The image contained in the PvImage is an interlaced Odd field. More... | |
| bool | IsImageDropped () const |
| Image dropped status bit. More... | |
| bool | IsDataOverrun () const |
| Data overrun status bit. More... | |
| PvBuffer * | GetBuffer () |
| Returns the PvBuffer this PvImage belongs to. More... | |
Static Public Member Functions | |
| static uint32_t | GetPixelSize (PvPixelType aPixelType) |
| Static method returning the pixel size in bits for a specific pixel type. More... | |
| static bool | IsPixelColor (PvPixelType aPixelType) |
| Static method returning whether a pixel type is color or not. More... | |
| static bool | IsPixelHighRes (PvPixelType aPixelType) |
| Static method returning whether a pixel type is higher than 8-bit per channel or not. More... | |
| static uint32_t | GetBitsPerComponent (PvPixelType aPixelType) |
| Static method returning the number of bit per components for a pixel type. More... | |
Protected Member Functions | |
| PvImage (PvBufferLib::Image *aImage) | |
| Constructor. More... | |
| virtual | ~PvImage () |
| Destructor. More... | |
Friends | |
| class | PvTruesenseConverter |
Image interface to a PvBuffer.
A PvBuffer represents a generic buffer with no specific payload type. If the payload type is image, the user can obtain a pointer to a PvImage buffer interface through PvBuffer::GetImage.
This PvImage pointer is owned by the PvBuffer and does not need to be released after use. It is valid as long as the PvBuffer exists.
To determinate the payload type and access image specific data:
|
protected |
Constructor.
Declared as protected as PvImage cannot be instantiated by the user.
A pointer to the PvImage interface can be obtained from a PvBuffer using PvBuffer::GetImage.
| [in] | aImage | Pointer to internal PureGEV class. |
|
protectedvirtual |
Destructor.
Declared as protected as the user does no need (or can) delete a PvImage directly.
| PvResult PvImage::Alloc | ( | uint32_t | aSizeX, |
| uint32_t | aSizeY, | ||
| PvPixelType | aPixelType, | ||
| uint16_t | aPaddingX = 0 , |
||
| uint16_t | aPaddingY = 0 |
||
| ) |
Allocates memory for this PvImage.
Allocs a PvImage of specific width, height and pixel format
| [in] | aSizeX | The width of the image, in pixels. See GetWidth. |
| [in] | aSizeY | The height of the image, in pixels. See GetHeight. |
| [in] | aPixelType | The GEV pixel type from which the pixel depth is extracted. For supported pixel types, see PvPixelType.h. |
| [in] | aPaddingX | The horizontal padding of the image, in pixels. See GetPaddingX. |
| [in] | aPaddingY | The vertical padding of the image, in pixels. See GetPaddingY. |
| PvResult PvImage::Attach | ( | void * | aRawBuffer, |
| uint32_t | aSizeX, | ||
| uint32_t | aSizeY, | ||
| PvPixelType | aPixelType, | ||
| uint16_t | aPaddingX = 0 , |
||
| uint16_t | aPaddingY = 0 |
||
| ) |
Attach this PvImage to an external memory buffer.
This method is identical to Alloc(uint32_t,uint32_t,PvPixelType,uint16_t,uint16_t), with the following exceptions:
| [in] | aRawBuffer | A pointer to the buffer. |
| [in] | aSizeX | See Alloc(uint32_t,uint32_t,PvPixelType,uint16_t,uint16_t). |
| [in] | aSizeY | See Alloc(uint32_t,uint32_t,PvPixelType,uint16_t,uint16_t). |
| [in] | aPixelType | See Alloc(uint32_t,uint32_t,PvPixelType,uint16_t,uint16_t). |
| [in] | aPaddingX | See Alloc(uint32_t,uint32_t,PvPixelType,uint16_t,uint16_t). |
| [in] | aPaddingY | See Alloc(uint32_t,uint32_t,PvPixelType,uint16_t,uint16_t). |
| uint8_t * PvImage::Detach | ( | ) |
Releases an attached memory buffer.
Does nothing other then resetting the memory buffer pointer to NULL.
| void PvImage::Free | ( | ) |
Frees (de-allocates) the buffer's internal memory.
|
static |
Static method returning the number of bit per components for a pixel type.
PvPixelMono8 and PvPixelRGBa8 would be 8. Mono16, PvPixelRGB16, PvPixelBayerRG16 would be 16, etc.
| [in] | aPixelType | Pixel type. |
| uint32_t PvImage::GetBitsPerPixel | ( | ) | const |
Returns how many bits are required to hold a pixel using the current buffer's pixel type.
| PvBuffer * PvImage::GetBuffer | ( | ) |
| const uint8_t * PvImage::GetDataPointer | ( | ) | const |
Get the buffer's data pointer.
| uint8_t * PvImage::GetDataPointer | ( | ) |
Get the buffer's data pointer.
Const version.
| uint32_t PvImage::GetEffectiveImageSize | ( | ) | const |
Effective image size.
Uses same size x and y as GetImageSize() but excludes all padding.
| uint32_t PvImage::GetHeight | ( | ) | const |
Get the image's height.
| uint32_t PvImage::GetImageSize | ( | ) | const |
Actual image size within the payload or buffer.
Uses the GEV leader for the actual width. Uses the GEV trailer for line count which is the actual height.
| uint32_t PvImage::GetOffsetX | ( | ) | const |
Get the image's horizontal offset.
| uint32_t PvImage::GetOffsetY | ( | ) | const |
Get the image's vertical offset.
| uint16_t PvImage::GetPaddingX | ( | ) | const |
Get the horizontal image padding.
Images lines could be grabbed in increments of, let's say, 32 bytes. For an image 511 bytes across, the video interface adds a meaningless byte to make the line total 512 bytes (divisible by 32). In this case, the paddingX value would be 1 (byte).
Other GigE Vision devices may have different requirements on line length. Divible by 4, 8, 16, etc. or no specific limitations or requirements.
| uint16_t PvImage::GetPaddingY | ( | ) | const |
Get the vertical image padding.
Additional bytes appended at the end of an image.
See GetPaddingX.
|
static |
Static method returning the pixel size in bits for a specific pixel type.
| [in] | aPixelType | Pixel type. |
| PvPixelType PvImage::GetPixelType | ( | ) | const |
The buffer's GigE Vision pixel type.
| uint32_t PvImage::GetRequiredSize | ( | ) | const |
Gets the size of buffer required to hold the acquired image.
This attribute is valid if the last image acquisition was successful or if it failed because the buffer was too small. It can be used to re-allocate the acquisition buffers if the acquisition failed because the buffer was too small.
The required size is only computed for the last image - based on the number of lines as provided in the GigE Vision streaming protocol trailer.
It is possible that with devices outputting images of varying length (like line scan cameras) that the last image required size may be smaller than the maximum possible size.
In order to be 100% sure of allocating buffers correctly, you should either hard code the buffer size to known big enough sizes or use the device GenICam GevPayloadSize parameter for dynamic cases.
| uint32_t PvImage::GetWidth | ( | ) | const |
Get the image's width.
| bool PvImage::IsDataOverrun | ( | ) | const |
Data overrun status bit.
| bool PvImage::IsEOFByLineCount | ( | ) | const |
End of Frame by Line Count status bit.
| bool PvImage::IsFullLineMissing | ( | ) | const |
If true, the grabber (on the device) was missing at least one line when the frame was grabbed.
| bool PvImage::IsImageDropped | ( | ) | const |
Image dropped status bit.
| bool PvImage::IsInterlacedEven | ( | ) | const |
The image contained in the PvImage is an interlaced Even field.
| bool PvImage::IsInterlacedOdd | ( | ) | const |
The image contained in the PvImage is an interlaced Odd field.
| bool PvImage::IsPartialLineMissing | ( | ) | const |
If true, the grabber (on the device) was missing at least one pixel in at least one of the lines when the frame was grabbed.
|
static |
Static method returning whether a pixel type is color or not.
| [in] | aPixelType | Pixel type. |
|
static |
Static method returning whether a pixel type is higher than 8-bit per channel or not.
10, 12, 14 and 16-bit pixel type are considered high resolution. RGB8 counts as 8 so high resolution here means per channel.
| [in] | aPixelType | Pixel type. |
Copyright (c) 2002-2015 Pleora Technologies Inc.
www.pleora.com


This service provides two public Programming Interfaces enabling customers to integrate the data collector to there own applications. All API's are RESTful and can be integrated with any programming language which supports RESTful requests. You need an API access code to use these APIs. If you have none register one here
This API allows you to control who can access your forms online, for example allow only your system users alone to access a form without sharing an access code.
You request via the API for a link for a user this link can only be used once and has an expiry time that you can set NB: The form must be secured ie have an access code to use this feature. The API simply bypasses the code.
Request must be made to the following url {{apiLink}} via POST method contained in the body must be the your API key and expiry date following is an example using JQuery
$.ajax({ url: {{apiLink}}, method: "POST", data: { //replace with your own data key: yourkey, expiry: 0.1 //the expiry is set in hours in this example the link expires in 6 minutes }, success: function(result){ //handle result } });
A successful request is an object in the following form
{response:{ link: link, //this will be replaced by the link to use by the specific user expiry: 0.1, //the links expiry time counting has already started } }
Errors that can be experienced include Form not found, Form not secured, System error.
{error:{ type: "form_not_secure", remedy: "set_security" } }
This API allows our customers to live track data results from collection through graphs
Monitor your console for errors or successes. You need to login to your data collector dashboard on the same browser where the lIVE data will be run
A red button with the 'Live' will mean everything is set and well while a grey one means connection is either in progress or has failed if the button is grey check your console for errors


conservation protected management areas local attitudes participants trust Fig Norwegian nature perceptions variables advisory area approach groups land loss support data Norway reform threats acceptable degradation {border-style "nature community-based councils survey use PAs boards development governance px;} stakeholder #ffffff;} Environmental Table biodiversity national people stakeholders Click LINK additional environmental file. study threat (DOCX) MFA high owners priorities County [In dimensions low values Nature cultural despite different economic level property (e.g., (i.e., contribution grazing human members (%) Norwegian]. Table). actors analysis dimension interests livestock main perceived public related relatively representation responsibility results stakeholders’ "people Conservation Local National actions areas. associated included increase people" result vehicle ./.. Conserv Environ approaches did lack motorized number policy px; reform. regional {font-family (%), (see Governor Ministry Norway. Public Research Trust University [Internet]. areas, authority factor font-size group park participation political population questionnaire recreation representatives selected similar species used using value variables. Biol. Ecol Facilitate Hausner Hovik Lundberg Management Rep age authorities benefits categorical category council decision double; ecological ecosystem following general government hay hunting imputed increasing involved knowledge larger making managers nationwide nature" opinion original participants’ partly perception proportion protection provided represented representing social social-ecological study, use, values, variation Act Agency Arctic Auditor Climate Data Diversity Engen Environ. European Manag. Multiple Participants’ activities activity administration approach. boards’ border-color border-width buffer categories collab: compared conflicts continuous cos developed distribution diversity form group, higher highest improve instance, interactions large levels like little lower natural open prioritized questions reduce reducing reform, solid; statistical studies tourism traffic understanding way years {font-style {font-weight (in Analysis Attitudes Ban Bennett Biggs Buijs Community-based Conserv. Fauchald Int Mace Nat Norway: Norwegian] Plan Stakeholders’ Variables Young allowed article asked assessed attitude bold central chose compensation conditions conflict contact courier; culture current decisions demographics development, differently dimensions. education effect em; existing expansion farming favorable favored fishing, focus focusing followed funded goals good greater held heritage heritage, humans information landscapes maintain modern multiple nature, output overall paper parenthesis. participant people", plotted preferences prior priority pt;} publication rate regulations relational response second services supplementary supportive time total traditional views work


STEAM
Reviewed by Harvey Karten, Ph.D. Strand Releasing Director: Ferzan Ozpetek Writer: Ferzen Ozpetek, Stefano Tummolini Cast: Alessandro Gassman, Francesca D'Aloja, Carlo Cecchi, Halil Ergun, Serif Sezer, Mehmet Gunsur, Basak Koklukava, Alberto Molinari, Zozo Toledo, Ludovica Modugno
Pop psychologists say that you can't get away from yourself; that no matter where you travel, you always have yourself for company, and so a neurotic in Canada will be disturbed in Australia. Director Ferzan Ozpetek, using a script he co-wrote with Stefano Tummolini, challenges that prevalent belief. In "Steam," an Italian-Turkish co-production known as "Hamam" in Turkish and "Il Bagno Turco" in Italian, workaholic Franceso (Alessandro Gassman) makes a business trip from his office in Rome to a neighborhood in Istanbul, falls in love with the history-saturated city, and resolves to stay for a while. He becomes a hero to the working-class folks in the neighborhood by saving their homes. But does the city change him as well? Unequivocally so. So much does Francesco evolve from an uptight designer who finds nothing strange about taking cellular phone calls at the dinner table that even his termagant wife grows to like him.
The story, which contains elements of melodramatic Italian opera, has mythic resonance, entailing the role of fate and family history and reflecting the cultural duality of its director. The bilingual Ferzan Ozpetek, who is at home in the manners of Turkey and Italy, has fashioned a fable-like narrative about characters from two distinct civilizations who alter one another profoundly in the course of a few weeks, empathizing with one another even before they have gained sufficient vocabulary for reasonable verbal communication. When Francesco receives word from the Turkish Embassy in Rome that he has inherited some property from his recently deceased expatriate aunt, he flies to Istanbul fully expecting to sell off the land at the best price he can get and return home. When he discovers, however, that the buyer is intent on devouring and displacing an entire neighborhood, he reconsiders his options. After learning that the business bequeathed to him is a defunct Turkish bath, he resolves lovingly to refurbish the place with the help of a band of new friends he has acquired. Though the 19-year-old Fusun (Basak Koklukava) flirts openly with the handsome Italian, Francesco ultimately pairs off with another man, Mehmet (Mehmet Gunsur), who has introduced the staid businessman to the pleasures of his flesh, the relaxing steam of the Turkish bath serving as an aphrodisiac. When Francesco's wife Marta (Francesca D'Aloja), a buttoned-down woman who has enjoyed a two-year affair whenever she could get away from her husband, discovers Francesco in flagrante, she is at first furious but ultimately accepting of the new man which the Istanbul environs have made of him.
Before tragedy strikes, photographer Pasquale Mari takes us on a tour of the renowned city, setting his camera on a ferry that cruises the Bosporous; one of the major bazaars of the town; a circumcision ceremony involving two boys of about seven who "become men" without the benefit of anesthesia in a ceremony complete with belly dancers; a dining table which features the delicies of Armenia and Turkey in a thoroughly amicable family setting; and to the hilly, residential streets surrounding the once-prominent hamam. Any in the audience with the preconception that Muslim countries are alike in their sexual repressiveness will be set straight by indications of a tolerance of homosexuality and the open participation of women in dance, physical work, and high finance. Alessandro Gassman does a credible job of changing his character virtually overnight while as his argumentative wife, Francesca D'Aloja projects a similar metamorphosis during her own short visit to the country.
It's easy to see why the Turkish government and people would be eager for Americans to see a movie which glorifes their country to such an extent that it appears like a modern Shangri-La. The one scene involving the physical affection which Francesco has developed for Mehmet is so fleeting and in such good taste that few liberal Muslims could possibly object. Supporting performers like Zozo Toledo as an intermediary handling the affairs of the bath and Basak Koklukava as a woman who decides she will marry only for love add depth to this tale, which shows that even as much of Europe has given up the manana attitude for the rat race, there are still large pockets of land where a laid-back attitude can have a salubrious effect indeed.
Not Rated. Running time: 94 minutes. (C) Harvey Karten 1998
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


| Services |
| AccessibleChartDocumentView |
The AccessibleChartDocumentView service is supported
by a Component that represents the view of a Chart document to
provide an entry point to the document tree for accessibility.
|
| AccessibleChartElement |
This service is supported by all components that are contained in
the view of a chart document that are controlled by the chart.
Shapes added by a user via the clipboard are not treated as chart
elements.
|
| AreaDiagram |
This is a service for area diagrams.
|
| BarDiagram |
This is a service for bar and column diagrams.
|
| BubbleDiagram |
a service for bubble diagrams. |
| Chart3DBarProperties |
Specifies all the properties for the graphic object of a data point in a
three-dimensional bar diagram. |
| ChartArea |
Specifies the area elements of a chart, e.g. the
background area, the diagram wall, and the diagram floor of
three-dimensional charts.
|
| ChartAxis |
Specifies the axes in a diagram.
|
| ChartAxisXSupplier |
has to be supported by charts providing the cpabilities of a
horizontal axis, i.e., an x-axis.
|
| ChartAxisYSupplier |
A helper service for the y-axis.
|
| ChartAxisZSupplier |
A helper service for chart documents which supply a z-axis.
|
| ChartData |
must be supported by every component that wants to provide data
for a chart
|
| ChartDataArray |
must be supported by each data source for charts, where you want
to access the values directly.
|
| ChartDataPointProperties |
specifies all the properties for the graphic object of
a data point (e.g., a single bar in a bar chart).
|
| ChartDataRowProperties |
specifies the properties for a group of graphic elements which
belong to a data row (also known as data series).
|
| ChartDocument |
is the service for a chart document.
|
| ChartGrid |
specifies the grid of the diagram in a chart.
|
| ChartLegend |
specifies the legend of a chart.
|
| ChartLine |
specifies line elements in a chart (regression lines, etc.).
|
| ChartPieSegmentProperties |
specifies all the properties for the graphic object of a
pie segment. |
| ChartStatistics |
offers statistical properties for the data in the chart. It is
available for a single data row and for the whole diagram.
|
| ChartTableAddressSupplier |
This is a helper service for access to table Address to
cell ranges of the container document of a chart.
The cell addresses are in the format of the application that
contains this chart.
|
| ChartTitle |
specifies titles in a chart.
|
| ChartTwoAxisXSupplier |
a helper service for chart documents which supply
primary and secondary x-axes.
|
| ChartTwoAxisYSupplier |
a helper service for chart documents which supply
primary and secondary y-axes.
|
| Diagram |
the base service for the diagram of the chart document.
|
| Dim3DDiagram |
is a service for diagrams that support the capability to render
themselves as three-dimensional diagrams as well as
two-dimensional ones.
|
| DonutDiagram |
a service for donut diagrams.
|
| FilledNetDiagram |
specifies filled net diagrams. |
| LineDiagram |
specifies line, spline and symbol diagrams.
|
| NetDiagram |
specifies net diagrams.
|
| PieDiagram |
a service for pie diagrams.
|
| StackableDiagram |
a helper service for stackable chart types (e.g., charts in
which the data rows may be displayed stacked on each other or in
percent relation).
|
| StockDiagram |
specifies a diagram which can be used for presenting stock quotes.
|
| XYDiagram |
a service for X/Y diagrams (Also known as scatter charts).
|
| Enums |
| ChartAxisArrangeOrderType |
Values specify the arrangement of the axes descriptions.
|
| ChartAxisLabelPosition |
Specifies the position of the axis labels with respect to the axis on the scale of the crossing axis.
|
| ChartAxisMarkPosition |
Specifies the position of the axis interval marks.
|
| ChartAxisPosition |
Specifies the position of the axis on the scale of the crossing axis.
When the property is set at a x-axis it indicates a position on the scale of the primary y-axis.
When the property is set at a y-axis it indicates a position on the scale of the primary x-axis.
|
| ChartDataChangeType |
specifies the type of change that was applied to the data.
|
| ChartDataRowSource |
specifies if the data rows (aka data series) displayed in the
chart, take their values from the row or the column in the underlying
data source (ChartDataArray).
|
| ChartErrorCategory |
specifies the category of error indicators.
|
| ChartErrorIndicatorType |
specifies how the error is indicated.
|
| ChartLegendExpansion |
Specifies sizing aspects of the legend
|
| ChartLegendPosition |
specifies one of the default positions of the legend in relation
to the diagram.
|
| ChartRegressionCurveType |
specifiest the type of the regression curve to be displayed.
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


This file is part of Terminalor.
For the full copyright and license information, please view the LICENSE file that was distributed with this source code.
Terminalor DocParser Template Interface responsible for rendering parsed php doc tags
Located in /DocParser/Template/Interface.php (line 16)
Build commands help for each command using given variables, each tag is parsed separetly using specified or default parser
Get all registred renderers
Get variables available to the template
Render given tag for specified command if tag has an induvidual renderer it will be parsed using it, otherwise default renderer _renderUnspecifiedTag() will be used
Set variables available for given command
Wrapper for setVar() method, allow to specify array of variables for given command
Check if given tag has a renderer
Documentation generated on Tue, 07 Feb 2012 14:40:55 +1100 by phpDocumentor 1.4.4


Home
Recipes
Videos
Recommendations
Contact Us
Contact Us
Your opinion matters!
Please fill out the form, and we will get back to you.
Your Name (Required)
Email (Required)
What was your favorite recipe? (Required)
Please Select
Pasta w/ Cherry Tomato Sauce
Butternut Squash Pasta
Mango Chicken
Fried Chicken and Rice
Carolina Style Sloppy Joe
What was your least favorite recipe? (Optional)
Please Select
Pasta w/ Cherry Tomato Sauce
Butternut Squash Pasta
Mango Chicken
Fried Chicken and Rice
Carolina Style Sloppy Joe
Cooking experience (Optional)
Professional
Intermediate
Beginner
I do not cook.
Feedback (Required)
Showcase Your Recipe (Optional)


--- layout: default title: "Robin in the Trees" ---
my name is Robin. Welcome to my website.
Here you can find all the informations about me, please discover and explore freely. If you don’t know anything about me, I would kindly direct you to my artistic statement and biography. Otherwise, you may be here to get my latest news, dive into my writings, learn about my performative lectures, leave a note in the guest book, or become a patron. Finally, don’t hesitate to get in touch !
I wish you the most pleasant visit. Don’t hesitate to contact me for any additional information.
Tenderly,
Robin


Phuong is a fifth-year Ph.D. candidate in social psychology working with Drs. Kentaro Fujita and Lisa Libby. Her research interests encompass topics in motivation, self-regulation, and perspectives. She is investigating how subjective perceptions influence people’s strategies for pursuing valued goals and facilitate effective communication.


{% load static %}
ICOD
Increase Font
Decrease Font
{% block sidebar %}
Home
About Us
Meet the Team
Services we Provide
User Involvment
News & Events
Link
Link
Link
Contact Us
{% endblock %}
{% block content %} {% endblock %}


KABUL, Afghanistan — A suicide bomber driving a truck packed with explosives attacked an isolated base manned by Georgian troops in Helmand Province on Thursday evening, killing seven soldiers after penetrating the outer perimeter, but failing to get inside the base, according to Georgian and Afghan officials in Helmand.
Taliban Attack Kills 7 Georgian Soldiers in Afghanistan
By ALISSA J. RUBIN and TAIMOOR SHAH
Published: June 7, 2013
Connect With Us on Twitter
Follow @nytimesworld for international breaking news and headlines.
It was the second truck bomb attack on a Georgian base in Helmand in less than a month; the earlier bombing on May 13 killed three Georgians, according to Georgian defense officials. Helmand has been the deadliest province for coaltion troops.
The Taliban claimed responsibility for the attack in a text message sent to journalists.
The Georgian contingent is the largest non-NATO member of the International Security Assistance Force and because the country is not a NATO member, ISAF officials said they did not issue a news release on the bombing even though it was one of the most lethal this year for international coalition troops. The Georgian contingent of 1,570 soldiers is now based in one of the most dangerous areas of Afghanistan, helping to defend a province that the American Marines have drawn back from, leaving less than a third of the nearly 20,000 soldiers they once had in the province. The Georgians now have three bases in one of the most dangerous areas of Helmand, in the districts of Nawzad and Musa Qala.
General Irakli Dzneladze, chief of the Georgian army joint staff, told a news conference in Tbilisi, the Georgian capital, that in addition to the seven killed, nine Georgia soldiers were wounded. The incident brings to 30 the number of Georgians killed in Afghanistan.
“I offer my deepest condolences to the families of our fallen heroes and to all of Georgia,” President Mikhail Saakashvili of Georgia said in a televised address. “Our duty to their memory is to continue our path toward NATO membership,” he added.
The Georgian forces have sometimes appeared to lack the caution of the troops from other nations stationed in Afghanistan. In an e-mail earlier this spring to reporters inviting them to embed with Georgian troops, a Georgian press officer described the area where they operate in Helmand as “the triangle of violence” but offered to take reporters “on foot patrols in Afghan villages and to meet locals.”
According to some local elders the Georgian troops are not particularly well liked in the area because they arbitrarily stop people for searches, do not treat them with respect and don’t understand their language. However, local Afghan government officials said they found their presence helpful in helping to keep the roads open.
“They don’t know English and speak a Russian-sounding kind of language,” said Abdul Rahman Mutmain, an elder from Landy-Nawa where the Georgians have one of their three bases.
“Georgians are like our warlords, they don’t behave well with people,” he said. “Sometimes they stop passengers to search them and people complain they steal their belongings, their money, wrist watches and other valuables.”
“Once my car broke down near their base in Landy-Nawa,” he added. “They rushed towards me and forced me to take the car away from the area. I explained that I cannot take it away alone, but they didn’t help me to push the car nor would they let me to fix it. So they start abusing me and I didn’t know what they were saying and they didn’t know what I was telling them.”
Georgians contributed forces to both the wars in Iraq and in Afghanistan. They have been engaged in Afghanistan since 2004, and deployed to the area of Helmand where the attack took place when the British left, about three years ago, according to Afghan officials.


Canterbury Police thank Cup and Show Week attendees
by New Zealand Police"Canterbury Police thank Cup and Show Week attendees"
Canterbury Police would like to thank those who attended the Cup and Show Week events held at Riccarton Racecourse today.
The event was a great success thanks to good-natured attendees, and the hard work of a number of organisations leading into and during the event who ensured it ran smoothly.
Police made three arrests for minor offences, but overall were pleased with the behaviour of those who attended.
ENDS


Dependencies for using rx_zmq_streams in your code:
resolvers += "zenaptix at bintray" at "http://dl.bintray.com/zenaptix/rx_zmq_streams"
libraryDependencies += "com.zenaptix" %% "rx_zmq_streams" % "0.3.1"
This application is a somewhat heuristic implementation of Reactive Streams utilizing zeroMQ as transport layer
It creates a ReactiveZeroMQ Akka Extension that provides a:
It uses zeroMQ Pub/Sub socket as the transport for a Reactive Streams implementation with Akka Streams.
Akka Streams is an implementation of Reactive Streams
zeroMQ is a Socket Library disguised as a concurrency framework. "Sockets on steroids"
The project depends on either jeromq or jzmq
"org.zeromq" % "jzmq" % "3.1.0"
"org.zeromq" % "jeromq" % "0.3.5"
A pubSink is acquired from the RxZMQExtension and is used as a sink at the end of a Akka Stream. All the messages will be forwarded over zeroMQ to a subscriber (subSource)
A subSource is acquired from the RxZMQExtension and is used as a source at the start of a Akka Stream. All themessages received from the zeroMQ socket is pushed onto the Akka Stream.
Below is a trivial example running a connected processes.
Connecting over zeroMQ
import com.zenaptix.reactive.RxZMQExtension
import akka.actor.{Props, ActorSystem}
import akka.stream.ActorFlowMaterializer
import akka.stream.scaladsl.{Sink, Source}
import akka.util.Timeout
import com.typesafe.config.{Config, ConfigFactory}
import com.typesafe.scalalogging.LazyLogging
import zeromq.Message
import scala.concurrent.duration._
class RxZMQExtensionExample {
implicit val timeout: Timeout = Timeout(5 seconds)
implicit val materializer = ActorFlowMaterializer()
val conf = ConfigFactory.load()
def rxZmq = RxZMQExtension(system)
val sourcePath = conf.getString("gateway.source_path")
val file = new File(sourcePath)
// publish the messages from the file
SynchronousFileSource(file,13).map(b => {
println(s"[SOURCE] -> ${b.decodeString("UTF8")}")
Message(b)
}).runWith(rxZmq.pubSink())
// receive the messages from the file
var i = 0
val subSource = rxZmq.subSource("<IP_ADDRESS>:5556")
subSource.map(
m => {
i += 1
println(s"[SINK]] <- ${m.part.utf8String}")
}).runWith(Sink.ignore)
}
To run the above code - cd to the directory where the project was cloned and execute:
export RX_ZMQ_INSTALL_DIR=`pwd`
sbt test
</pre>
The Reactive Publisher
package com.zenaptix.reactive
import java.io.File
import akka.actor.ActorSystem
import akka.stream.ActorFlowMaterializer
import akka.stream.io.SynchronousFileSource
import com.typesafe.config.ConfigFactory
import com.typesafe.scalalogging.LazyLogging
object ReactivePublisher extends App with LazyLogging {
implicit val system = ActorSystem("publisher")
implicit val materializer = ActorFlowMaterializer()
lazy val log = system.log
def rxZmq = RxZMQExtension(system)
val conf = ConfigFactory.load()
val sourcePath = conf.getString("gateway.source_path")
val file = new File(sourcePath)
SynchronousFileSource(file,13).map(b => {
logger.debug(s"[SOURCE] -> ${b.decodeString("UTF8")}")
Message(b)
}).runWith(rxZmq.pubSink())
system.awaitTermination()
}
Running
sbt
> project publisher
> run
The Reactive Subscriber
package com.zenaptix.reactive
import akka.actor.ActorSystem
import akka.stream.ActorFlowMaterializer
import akka.stream.scaladsl.Sink
import com.typesafe.config.ConfigFactory
import com.typesafe.scalalogging.LazyLogging
object ReactiveSubscriber extends App with LazyLogging {
implicit val system = ActorSystem("subscriber")
implicit val materializer = ActorFlowMaterializer()
def rxZmq = RxZMQExtension(system)
val conf = ConfigFactory.load()
val conn = s"${conf.getString("zeromq.host")}:${conf.getInt("zeromq.port")}")
rxZmq.subSource(conn).map(m =>
logger.debug(s"SINK <- ${m.part.decodeString("UTF8")}")).
runWith(Sink.ignore)
}
Running:
sbt
> project subscriber
> run
</pre>
The Publisher
On OSX first install and run boot2docker:
export RX_ZMQ_INSTALL_DIR=`pwd`
sbt
> project publisher
> docker:publishLocal
> exit
docker run -v $RX_ZMQ_INSTALL_DIR/data:/data -p 5556:5556 -p 5557:5557 \
-d --name rx_zmq_publisher com.zenaptix/rx_zmq_publisher:v0.3.1
The Subscriber
and again:
sbt
project subscriber
> docker:publishLocal
> exit
docker run -i -t --name rx_zmq_subscriber com.zenaptix:rx_zmq_subscriber:v0.3.1 -Dzeromq.host=$RXZMQ_PUBLISHER_IP
The Logs then view the publisher log:
docker logs rx_zmq_publisher
rx_zmq_streams is implemented using a Req/Rep channel for exchanging control messages, and a pub/sub channel for receiving the actual data.


Welcome to KUTE.js API documentation, here we're going to talk about how to download, install, use, control and set up cross browser animations, in great detail. KUTE.js can be found on CDN and also npm and Bower repositories with all it's features and tools.
You can install KUTE.js package by using either Bower or NPM.
$ npm install --save kute.js
# Or
$ bower install --save kute.js
// CommonJS style
var kute = require("kute.js"); //grab the core
require("kute.js/kute-svg"); // Add SVG Plugin
require("kute.js/kute-css"); // Add CSS Plugin
require("kute.js/kute-attr"); // Add Attributes Plugin
require("kute.js/kute-text"); // Add Text Plugin
// AMD style
define([
"kute.js",
"kute.js/kute-svg.js", // optional for SVG morph, draw and other SVG related CSS
"kute.js/kute-css.js", // optional for additional CSS properties
"kute.js/kute-attr.js", // optional for animating presentation attributes
"kute.js/kute-text.js" // optional for string write and number incrementing animations
], function(KUTE){
// ...
});
In your website add the following code, the best would be to put it at the end of your body
tag:
<script src="https://cdn.jsdelivr.net/kute.js/1.6.5/kute.min.js"></script> <!-- core KUTE.js -->
An alternate CDN link here:
<script src="https://cdnjs.cloudflare.com/ajax/libs/kute.js/1.6.5/kute.min.js"></script> <!-- core KUTE.js -->
The CDN repositories receive latest updates here and right here. You might also want to include the tools that you need for your project:
<script src="https://cdn.jsdelivr.net/kute.js/1.6.5/kute-css.min.js"></script> <!-- CSS Plugin -->
<script src="https://cdn.jsdelivr.net/kute.js/1.6.5/kute-svg.min.js"></script> <!-- SVG Plugin -->
<script src="https://cdn.jsdelivr.net/kute.js/1.6.5/kute-text.min.js"></script> <!-- Text Plugin -->
<script src="https://cdn.jsdelivr.net/kute.js/1.6.5/kute-attr.min.js"></script> <!-- Attributes Plugin -->
Alternate CDN links:
<script src="https://cdnjs.cloudflare.com/ajax/libs/kute.js/1.6.5/kute-css.min.js"></script> <!-- CSS Plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/kute.js/1.6.5/kute-svg.min.js"></script> <!-- SVG Plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/kute.js/1.6.5/kute-text.min.js"></script> <!-- Text Plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/kute.js/1.6.5/kute-attr.min.js"></script> <!-- Attributes Plugin -->
Your awesome animation coding would follow after these script links.
You need to know when users' browser is a legacy one in order to use KUTE.js only for what browsers actually support. A quick note here: IE8 doesn't support any transform
property or
RGBA
colors while IE9 can only do 2D transformations. Check the 2D transforms and the
3D transforms browser support list for more information.
Don't use Modernizr, the best thing you can actually do is to use the Microsoft's synthax for it's own legacy browsers, and here is the full refference on that. For other legacy browsers there is a ton of ways to target them, quite efficiently I would say: there you go.


Terms And Conditions
These terms and conditions govern the access to and the use of ForYouForME services and platforms, through the website or through the mobile apps.
All users must comply with the terms and conditions on this page to be able to use ForYouForME and its services and platforms.
Public Use
All users should commit to ethics and values and should refrain from insult and abuse of the site.
Privacy Policy
You understand that through your use of the Services, you consent to the collection and use of your data and information, as set forth in the Privacy Policy. You need to read it before you use or access the Services.
Non-Registered Users
Non-registered users are able to access only the parts of the Services that are publicly available and do not enjoy all of the privileges of being a registered member. Non-registered users are, however, still subject to the TC and Privacy Policy.
Denial of Access
ForYouForME has the right to block any user from accessing the website or using it's services in general.
Impersonation
Impersonation by name or subdomain is not allowed and ForYouForME has the right to take adequate actions.
Inactive Accounts
ForYouForME has the right to remove inactive accounts under the duration that ForYouForME sees adequate.
Removal and Blocking of Content and Accounts
ForYouForME has the right to block or remove content and accounts for any reason it sees adequate. In addition, you acknowledge that we have your consent to monitor and block content that we consider to be harassing or bullying.
Age
We require our users to be at least 13 years old to access or use any of our platform and services.
Information
ForYouForME has the right to use the information input by users with agreement to the privacy policy
E-mail
ForYouForME has the right to e-mail users with what ForYouForME sees adequate with the option to unsubscribe from notification e-mails.
Modifications of Terms and Conditions
We have the right to modify terms and conditions if needed and whenever adequate
Limits of Responsibility
All communicated content on the website is the responsibility of their owners and ForYouForME is not responsible for its content or any damage that could result from this content or the use of any of the site's services.
Governing Law
You agree that the Services provided by ForYouForME shall be subject to all the applicable regulations in the Republic Of India. Any dispute shall be before the courts of India.
Contact Us
You can contact us using the "Contact Us" page.


Tutors246
Home
About
Services
Our Tutors
Members
Join Our Team
Resources
Early Childhood Learning Software
ABC MOUSE
Bajan Authors
Anansi and the Yam Hills
The Adventures of two Tiger Cubs
Traditional Anasi Stories
The Monkey-Doodles Picnic - in a Barbados Banana Patch!
Spider Woman, Anansi and Iktomiic
Online Learning
Book Adventure
Reading Buddy
ABC Mouse
K5 Learning
Subscription Library
Adult Learning
Read & Write Text Help


./komodod -ac_name=KMDICE -ac_supply=10500000 -ac_reward=2500000000 -ac_halving=210000 -ac_cc=2 -addressindex=1 -spentindex=1 -addnode=<IP_ADDRESS> &
https://kmdice.pool-mining.xyz/ <- pool
https://pool.forkwitch.com/ <- another pool
https://minerpond.com <- another pool
it used to just mine to a non imported address ...
I probably need to do something about that pool at some point LOL(edited)
polycryptoblog23-Oct-18 04:00 AM
I think a fork happened, @forkwitch pool and @blackjok3r pool showing way different stats
Block 7427 on @blackjok3r and 8091 on @forkwitch
blackjok3r23-Oct-18 04:04 AM
My pool is on a notary node
investigating now
well not on an actaly notary node
but the same server
if my pool is forked ... then my notary is awell
polycryptoblog23-Oct-18 04:11 AM
I think forkwitchs is on the fork it's nailing every block in its chain
blackjok3r23-Oct-18 04:40 AM
Its mine
and my notary has no blocks for like 10H or something
resyncing both see what happens
blackjok3r23-Oct-18 04:50 AM
resynced both nodes and they went to the longer chain
I guess my old Knomp must have mined an invalid block and the chain stopped.
I still had 13 connections, so there is a fork out there for sure
polycryptoblog23-Oct-18 04:52 AM
Ah ok
blackjok3r23-Oct-18 04:52 AM
the longer chain is being notarised so its all ok I think ... just feel sorry for the ppl with hash on my pool lol
polycryptoblog23-Oct-18 04:52 AM
Will switch back to forkwitch pool then, knew 2msol network hash was too good to be true lol
blackjok3r23-Oct-18 04:52 AM
12H with no blocks maybe more
should be fixed now(edited)
its all updated and on right chain
polycryptoblog23-Oct-18 04:53 AM
Oh ok won't switch then
blackjok3r23-Oct-18 04:53 AM
i'll keep an eye on it
if something wrong ill let you kow
polycryptoblog23-Oct-18 04:53 AM
Just have the mini on it now, will throw some nicehash
blackjok3r23-Oct-18 05:51 AM
my pool just got a block Its working @polycryptoblog
polycryptoblog23-Oct-18 05:51 AM
Nice
Had a nice string there for a sec
blackjok3r23-Oct-18 05:58 AM
yea it turns out the update I merged in earlier needed npm install... it was an update to a nodejs module for equihash
pool should be solid ... someon put 60 k sol on MGNX
polycryptoblog23-Oct-18 05:59 AM
That's the proof of stake masternodes one ?
blackjok3r23-Oct-18 05:59 AM
I should probably remove all those small AC, as someone can easily just drrive by on them with high hash rate and they will stall...
pool config script has an ignore, but itwas 4am whne I set pool up and just let it all all of them
MGNX is 90% PoS and they ahve a second coin with masternodes
polycryptoblog23-Oct-18 06:01 AM
Seems like an attack vector, high hashrate stalling that is
blackjok3r23-Oct-18 06:01 AM
has been that way for a long time...
polycryptoblog23-Oct-18 06:01 AM
Because of the ondemand?
blackjok3r23-Oct-18 06:01 AM
using a PoS percentage basically stops it being possible,... even a 10% PoS will force the diff higher than ZEC if someone hash attacks it(edited)
I also did some work on staked, where I made a chain, that enforces ondemand as a consensus rule pretty much, although if someone spent he time, they cna still make a stratum that works with them.
make the coinbase all weird... and stratum just fails on it ... so can only mine with KMD daemons built in ondemand miner
polycryptoblog23-Oct-18 06:08 AM
How often does your pool update info, just keeping an eye on it with a decent amount of hash just seeing if getting expected blocks
blackjok3r23-Oct-18 07:05 AM
not sure... ive never used the website part of it before tbh...
it seems to be finding quite regular bloocks with 7MSol on it lol.(edited)
Flexatron23-Oct-18 07:27 AM
waiting for his coins to mature
so he can play already(edited)
blackjok3r23-Oct-18 07:29 AM
you can create a dice table on any AC with CC enabled if you just want to play
1
1
Flexatron23-Oct-18 07:29 AM
how do you play without coins?
oh any
blackjok3r23-Oct-18 07:31 AM
yes ... if you can use CLI, create a new chain with billions of coins to play against your self... the maximum supply an AC cna have as premine is over 77 billion I tested it.
Flexatron23-Oct-18 07:31 AM
cool
blackjok3r23-Oct-18 07:31 AM
just make sure to use -ac_cc=2
so dice is enabled...
jl777c23-Oct-18 07:38 AM
playing with real coins seems a lot more real than dicing test coins
Flexatron23-Oct-18 07:40 AM
yup
blackjok3r23-Oct-18 07:42 AM
he said hedidnt want to wait... I was just saying he didnt have to
gt23-Oct-18 07:46 AM
are there any write ups on how to play?
Flexatron23-Oct-18 07:53 AM
bitcointalk thread has some
you have to use dicebet
jl777c23-Oct-18 07:57 AM
when GUI?
1
1
Flexatron23-Oct-18 07:59 AM
some are in development
a nice GUI will shoot this to the stars in a far away galaxy
there's a seller for 0.5 KMD
gt23-Oct-18 08:10 AM
you have to define pubkey to use CC?
1
blackjok3r23-Oct-18 08:10 AM
do validateaddress
then restart with -pubkey=
gt23-Oct-18 08:11 AM
do you have to restart? or should one
blackjok3r23-Oct-18 08:11 AM
you have to restart the daemon, you cant change pubkey in runtime
gt23-Oct-18 08:11 AM
noted, thanks!
blackjok3r23-Oct-18 08:11 AM
although being able to do that seems like a goo dthing to add... possible @jl777c
?
ph03nix23-Oct-18 08:17 AM
i wouldn't buy kmdice with genie's kmd
1
polycryptoblog23-Oct-18 08:19 AM
Why not
blackjok3r23-Oct-18 08:21 AM
glad there are some people here with sense
1
ph03nix23-Oct-18 08:22 AM
stopped typing
blackjok3r23-Oct-18 08:22 AM
ph03nix23-Oct-18 08:24 AM
why not...because any chain can implement it
drops the mic
blackjok3r23-Oct-18 08:30 AM
Yes we are in early planning to finally launch staked.. nSeriously considering having a dedicated dice chain there


Lucene Search terms can include the following operators:
- '+' specifies AND operation: token1+token2
- '|' specifies OR operation: token1|token2
- '-' negates a single token: -token0
- '"' creates phrases of terms: "term1 term2 ..."
- '*' in a term specifies wildcard for multiple characters: te*m
- '?' in a term specifies wildcard for single character: ter?m
- '~N' at the end of terms specifies fuzzy query: term~1
- '~N' at the end of phrases specifies near query: "term1 term2"~5
- '^N' at the end of phrases boosts the term for the query: "term1^2 term2"
- '/[expression]/' enables regular expressions: "/[mh]otel]"
- '(' and ')' specifies precedence: token1 + (token2 | token3)
More information on search syntax can be found
here.


#include <psymbol.h>
Data Fields | |
| char * | name |
| void * | data |
| Psymbol_Table * | table |
| Psymbol * | next_hash |
| Psymbol * | prev_hash |
| Psymbol * | next_symbol |
| Psymbol * | prev_symbol |
Definition at line 75 of file psymbol.h.
| void* Psymbol::data |
Definition at line 78 of file psymbol.h.
Referenced by add_Pdef(), add_Psymbol(), delete_Psymbol(), free_Psymbol_Table(), Plookup(), and process_include_directive().
| char* Psymbol::name |
Definition at line 77 of file psymbol.h.
Referenced by add_Psymbol(), delete_Psymbol(), find_Psymbol(), free_Psymbol_Table(), and print_Psymbol_hash_table().
| struct Psymbol* Psymbol::next_hash |
Definition at line 80 of file psymbol.h.
Referenced by add_Psymbol(), delete_Psymbol(), find_Psymbol(), and print_Psymbol_hash_table().
| struct Psymbol* Psymbol::next_symbol |
Definition at line 82 of file psymbol.h.
Referenced by add_Psymbol(), delete_Psymbol(), and free_Psymbol_Table().
| struct Psymbol* Psymbol::prev_hash |
| struct Psymbol* Psymbol::prev_symbol |
| struct Psymbol_Table* Psymbol::table |


World class software engineer that understands it takes people to write software. I have a passion for technology and how it can make the world a better place. Bravery is an undervalued commodity.


GREETINGS HUMAN
HELLO PUNY HUMAN. I AM DESTRUCTOID. ROBOGER GONE. ONLY DESTRUCTOID. FOLLOW INSTRUCTION. PRESS BUTTON WHEN INSTRUCTION FOLLOWED.
ENTER NUMBER
DESTRUCTOID
TRY MORE NUMBER
I HAVE SPOKEN:


| Type |
Description |
Sample BioPAX Structure |
Inferred Binary Relation(s) |
| controls-state-change-of |
First protein controls a reaction that changes the state of the second protein. |
|
|
| controls-transport-of |
First protein controls a reaction that changes the cellular location of the second protein. |
|
|
| controls-phosphorylation-of |
First protein controls a reaction that changes the phosphorylation status of the second protein. |
|
|
| controls-expression-of |
First protein controls a conversion or a template reaction that changes expression of the second protein. |
|
|
| catalysis-precedes |
First protein controls a reaction whose output molecule is input to another reaction controled by the second protein. |
|
|
| in-complex-with |
Proteins are members of the same complex. |
|
|
| interacts-with |
Proteins are participants of the same MolecularInteraction. |
|
|
| neighbor-of |
Proteins are participants or controlers of the same interaction. |
|
|
| consumption-controled-by |
The small molecule is consumed by a reaction that is controled by a protein |
|
|
| controls-production-of |
The protein controls a reaction of which the small molecule is an output. |
|
|
| controls-transport-of-chemical |
The protein controls a reaction that changes cellular location of the small molecule. |
|
|
| chemical-affects |
A small molecule has an effect on the protein state. |
|
|
| reacts-with |
Small molecules are input to a biochemical reaction. |
|
|
| used-to-produce |
A reaction consumes a small molecule to produce another small molecule. |
|
|