-
TEENS REACT TO NINTENDO (NES)
www.youtube.com
MIKE TYSON'S PUNCH-OUT!! (Teens React: Retro Gaming): http://goo.gl/FYZn6V Subscribe to TheFineBros Channel! New videos Sun/Thu/Sat: ...
-
World's Best Basketball Freestyle Dunks - Lords of Gravity in 4k
www.youtube.com
Watch the Behind the Scenes in the link below! http://youtu.be/ST5CeJomhNY Lords Of Gravity is the acrobatic dunk team in this video, check out their ...
-
Derek Jeter Isn't The Greatest Player Ever
www.youtube.com
Correction. Derek Jeter is not the greatest baseball player in the last 5 million years. Keith explains. Watch "Olbermann" weeknights on ESPN2 at 5pm ...
-
"Young Forever/Halo" #OnTheRunHBO
www.youtube.com
Thank you for making the On The Run Tour an unforgettable experience. ON THE RUN TOUR: BEYONCÉ AND JAY Z Now available on HBO On Demand and HBO GO ...
-
Blue Man Group Unboxing the iPhone 6
www.youtube.com
Announced on September 9th, Blue Man Group received a special pre-release iPhone 6 to Unbox.
-
funny 2 year old shouting at her mummy for laughing while she was singing ...
www.youtube.com
2 year old shouting at her mummy for laughing at her while she was trying to sing Disney Frozen Subtitles now added To use this video in a commercial ...
-
What Does a $295 Burger Taste Like? - GQ’s Most Expensivest S***
www.youtube.com
The bun is dusted with 24K gold and it once held the title of most expensive burger in the world. 2 Chainz tries the $295 burger from NYC's ...
-
13 Misconceptions About Global Warming
www.youtube.com
Common misconceptions about climate change. Check out Audible: http://bit.ly/AudibleVe References below: For CO2, sea levels, Arctic sea ice, ...
-
EVERYONE IS LONELY
www.youtube.com
So, just be nice. Subscribe now for more Animation Domination High-Def clips:http://bit.ly/RXLBii Listen to EVERYONE IS LONELY here: ...
-
Life looks really different through an MRI machine
www.youtube.com
Subscribe to our channel! http://www.youtube.com/subscription_center?add_user=voxdotcom Magnetic Resonance Imaging "sees" inside the body by mapping ...
-
Brunettes Shoot Blondes - Knock Knock (Official Video) - Music Video on 14 ...
www.youtube.com
BRUNETTES SHOOT BLONDES - Knock Knock (Official Video) http://brunettesshootblondes.org/ For record labels, concerts, interviews: ...
-
Last Week Tonight with John Oliver: Miss America Pageant (HBO)
www.youtube.com
The Miss America Pageant…how is this still a thing? They claim to give more scholarships to women than any other organization, and, unfortunately, ...
-
Can You Ice Cream It?
www.youtube.com
Ben & Jerry would be horrified. Share on Facebook: http://on.fb.me/1p8F0B5 Like BuzzFeedVideo on Facebook: http://on.fb.me/18yCF0b Share on Twitter: ...
-
Mesmerizing Tail
www.youtube.com
Watch Jesse Grow: http://instagram.com/littleballofpurrr To use this video in a commercial player or in broadcasts, please email ...
-
TWC News Austin: High School Blitz Interview with Apollos Hester
www.youtube.com
(TWC News Austin full video: http://bit.ly/1DsV4r2) TWC News Austin reporter Lauren Mickler interviews East View High School Football player Apollos ...
-
YouTube Trends: Trending This Week on YouTube: Would You Date a Homeless ...
youtube-trends.blogspot.com
-
Key & Peele - Alien Imposters
www.youtube.com
The survivors of an alien invasion come up with a way to tell whether someone is really a fellow human. Watch more Key & Peele: ...
-
Sesame Street: Lupita Nyong'o Loves Her Skin
www.youtube.com
Elmo is with his good friend, Lupita. They are talking about all the great things about their skin. For example, Elmo's skin just happens to be very ...
-
Adults Try 5th Grade Math
www.youtube.com
Can you remember how to do fractions? Like BuzzFeedVideo on Facebook: http://on.fb.me/18yCF0b MUSIC: Billy and Joe Licensed via Warner Chappell ...
-
Attempted robbery at gunpoint caught on GoPro!!!
www.youtube.com
**Subscribe to follow our 195 country journey!** :) Conecte con nosotros! https://www.facebook.com/GlobalDegreeTV I was on a bike tour in a rough ...
-
Peekaboo surprise!
www.youtube.com
Jukin Media Verified (Original) * For licensing / permission to use: Contact - licensing(at)jukinmediadotcom
-
Homeless Millennial Survives By Picking Up Women Every Night [Insights] | ...
www.youtube.com
If you were homeless, could you still pick up chicks? Meet Joe, the homeless Millennial who has mastered the art of getting women to take him home ...
-
Rory McIlroy's golf ball finds fan's pocket at TOUR Championship
www.youtube.com
In the second round of the 2014 TOUR Championship by Coca-Cola, Rory McIlroy’s tee shot goes left into the trees and somehow lands in the pocket of a ...

-
How To Use Fame To Get Any Girl's Number!
www.youtube.com
Another NEW Epic Prank:http://youtu.be/3m4TmmMju3Q ➤ Subscribe to me:http://goo.gl/HJUYN2 ➤Big Thanks To OckTV Subscribe to them: ...
-
Kitten slowly waves paws during nap
www.youtube.com
If you need an adorable moment to brighten up your day, look no further! Watch as this adorable kitten slowly waves side-to-side during an afternoon ...
-
Power of Optics | auひかり
www.youtube.com
光インターネットサービス auひかり http://www.au.kddi.com/internet/?sid=we-so-yt-hikari001-20140715 Fiber Optic Internet auHikari (in Japan)
-
President Obama Addresses the Nation on the ISIL Threat
www.youtube.com
Speaking from the State Floor in the White House on September 10, 2014, President Obama addressed the nation on the situation in Iraq and the United ...
-
LEGO Guardians of the Galaxy: Star-Lord's Mix Tape
www.youtube.com
Star-Lord's most prized possession is a mix tape left to him by his mother. But after playing the tape every day for over 20 years, the quality might ...


module Position:sig
..end
A generic module for handling locations of errors.
type
position = {
|
start_p : |
(* | The start position. | *) |
|
end_p : |
(* | The end position. | *) |
The error is located between two positions in the buffer.
val dummy : position
A "dummy" error location.
val from : Stdlib.Lexing.position -> Stdlib.Lexing.position -> position
Build an error location from the start and end positions.
val err_loc : string -> position -> string -> unit
Print a located error message on the standard error output.
val get_pos : Stdlib.Lexing.lexbuf -> position
Build an error location from the lexer buffer.
val err_loc_lexbuf : string * Stdlib.Lexing.lexbuf -> string -> unit
Print an error message located with the lexer buffer.


English, Chinese
Source code and development
YouTube, Bilibili (Chinese)
Tweet your thoughts with #JuliaLang


bbLean 1.16
Overview
Quick Start
User Interface
Desktop
Toolbar
Menus
bbLeanbar
Keyboard
Plugins
Details
Building the menu
Backgrounds
Desktop Margins
Sticky Windows
Set as Shell
CommandLine
Broadcast Messages
Clock Formatting
Issues
Info
License
Links
Changes


Menu
Home
About
Menu
Gallery
Contact
Address
Shop no.1
Opposite Holy Cross Road,
IC Colony,
Borivali (West),
Mumbai 400 103
Recipies
Tomato Pasta:
Deep fry vegetables,Soak the
pasta in water
Heat butter in pan
Cook until smooth.
Connect us
Call us at:<PHONE_NUMBER>2


| 56 | (A) | and sone sett thaym one the see owte of the southe clene |
| 56 | (C) | And sone sette on þe see . on þe sowtħ syde |
| 56 | (D) | And sone sette on þe see on þe soutħ syde |
| 54 | (E) | & sone sette on þe se in soutħ ende . |
| (Ex) | ---- no text ---- | |
| 56 | (L) | & sone sette on þe se out of þe souþ syde |
| 51 | (P) | And sonn settes on þe see at þe south-weste |
| 56 | (U) | And sone set ouer the see / on the southe syde |
| (V) | ---- no text ---- |


The type of quotation can be named, pronominal, or implicit.
Named and pronominal types include referring expressions. A referring expression always indicates 1) who is speaking the quotation; 2) provides a very for the action of speaking, such as “said” or “exclaimed.” It sometimes also indicates 3) the addressee of the quotation.
An named quotation will include a referring expression that provides the speaker’s name as a proper noun. For example,
"But you forget, mamma," said Elizabeth, "that we shall meet him at the assemblies, and that Mrs. Long promised to introduce him."
An pronominal quotation employs a pronoun in the referring expression.
"We are not in a way to know what Mr. Bingley likes," said her mother resentfully, "since we are not to visit."
An implicit quotation uses no referring expression at all. The bolded quotation in the following is an example of an implicit quotation (Mr. Bennet is speaking, but no referring expression is given):
“Do you not want to know who has taken it?” cried his wife impatiently. “You want to tell me, and I have no objection to hearing it.” This was invitation enough.
Only annotate mentions within quotations.
Only annotate mentions of specific characters. Do not annotate mentions of abstractions (in “It is the role of a good man to do his duty,” leave “his” un-annotated) or of anything that is not a character.
Do not annotate first-person singular pronouns (“I,” “myself,” etc.) within quotations. Do annotate second- and third-person pronouns within quotations. For example, in “‘I am so cross with you,’ said Frederic,” only annotate the mention of “you”; not “I.”
When a mention is given as a pronoun modifying a noun, annotate the pronoun/noun phrase as one unit. In “I told your sister to leave me alone,” annotate “your sister” as a single entity.
In the case of group entities such as “her sisters,”
Ignore all quotations within quotations. Only annotate the outer level of quotation.
Quotations should be evaluated in their full context, and not just on a paragraph-by-paragraph basis. Consider the following example:
Observing his second daughter employed in trimming a hat, he suddenly addressed her with: “I hope Mr. Bingley will like it, Lizzy.”Even though no referring expression is given in the paragraph in which it appears, the bolded passage should be recorded as “pronominal”, because it is introduced by a referring expression in the previous paragraph.
Similarly, in multi-paragraph quotations, referring expressions will not appear with each paragraph. Annotate these multi-paragraph quotations by considering them as a single unit.
In some cases, a narrator will introduce a single quotation, sometimes in multiple places. These should nonetheless be treated as a single quotation and annotated in the same manner. If, at any point, the character’s name is given, tag it as a named quotation. If the character’s name is never given, but a pronoun is provided, tag it is as a pronominal quotation. If neither is given, tag it as implicit. For instance, all the passages of quotation in the following (bolded) are to be tagged together as a pronominal quotation, since Elizabeth is only referred to as “she” (underlined):
“You are a very strange creature by way of a friend!—always wanting me to play and sing before anybody and everybody! If my vanity had taken a musical turn, you would have been invaluable; but as it is, I would really rather not sit down before those who must be in the habit of hearing the very best performers.” On Miss Lucas’s persevering, however, she added, “Very well, if it must be so, it must.” And gravely glancing at Mr. Darcy, “There is a fine old saying, which everybody here is of course familiar with: ‘Keep your breath to cool your porridge’; and I shall keep mine to swell my song.”
Some paragraphs will contain more than one type of quotation. Each of these should be annotated separately.  “And I’ve had it with you, too, Richard.”Although they share the same referring expression, the two bolded phrases should be annotated separately, since they have different addressees.
By contrast, in the following example, both bolded passages can be annotated together:
“I am totally fed up with the both of you,” she said angrily. “You’re both driving me absolutely crazy.”
Do not include adverbs when marking referring expressions. In the above quotation, do not include “angrily.” However, when an adverb is wedged into the centre of a referring expression, include it. In the following example, include the full bolded passage as the referring expression
“I’m fed up with the both of you,” she said angrily to Margaret and Richard.
Do not annotate apparent referring expressions that come in the quotation itself (for instance, “Listen, Richard, I’ve had it with you”). Referring expressions as we understand them can only be given by the narrator and so can only come outside of quotations.
Some characters will be referred to by many names. For instance, Kitty Bennet in Pride and Prejudice is called “Kitty,” “Catherine,” “Miss Bennet,” and so on.
For our purposes, it does not matter which of these names you consider the principal name and which an alias. The important thing is that there is only one entry in the character list for each character and that you record all of their aliases.
Consider the following passage:
"My dear Mr. Bennet," said his lady to him one day, "have you heard that Netherfield Park is let at last?" Mr. Bennet replied that he had not. "But it is," returned she "for Mrs. Long has just been here, and she told me all about it."Suppose we are annotating the bolded quotation. The data we wish to obtain is the following:
'data/'
folder of the root directory and choose the text file that you wish to annotate.As you progress through the annotation task, the color of the quotations/mentions change to indicate the phase of annotation you are in. The following list describes them for quotes, but is equally applicable to mentions.
(Replace "quote" with "mention" wherever applicable.)
A quote needs to be identified before it can be annotated. To identify a portion of the text as a quote, simply select that portion with your cursor.
To start annotating an identified quote, proceed as follows:
Edit
button to select the speaker.
The character list on the right will change it's appearance to display selectable radio-buttons next to each character. Check the radio button for the
correct speaker, and click on the Submit
button for Speaker. You will see the selected character has been identified as the speaker. Edit
button to select them.
The character list on the right will change it's appearance to display selectable checkboxes next to each character. Check the checkbox for the
correct addressee(s), and click on the Submit
button. You will see the selected character(s) displayed as addressee(s). Edit
button.
Then select the correct portion of the text from the text-area on the right, and click Submit
. The selected text will be displayed as the referring
expression.
Additional Notes
Clear
button instead of OK


[1]
Touchscreen, Keypad, Camera, Apps; Battery, Limited on Accessories, Freezes some
[2]
new design. keyboard layout and size. resistve touch screen; FAT. SLOW. BULKY. HEAVY. HOT


--- layout: post title: Capistrano 2.0 Preview 3 post_id: 87 categories: - announcements date: 2007-06-15 21:10:00.000000000 -06:00 author: Jamis permalink: 2007/6/15/capistrano-2-0-preview-3.html ---
Alright, we’re nearing the finish line! Capistrano 2.0 Preview Release #3 is now available.
Capistrano is a utility for automating the execution of tasks on one or more remote machines. You can read all about it at www.capify.org.
To install Preview #3, you’ll need to grab it from the Rails beta gem server:
gem install -s http://gems.rubyonrails.org capistrano |
Accompanying PR3 is a new page of documentation on the capify.org site: Capistrano Basics. This walks you through the major features of Capistrano, but does not touch on deployment. This makes it a great introduction for those wanting to use Capistrano in non-deployment scenarios.
Preview #3 includes the following changes and enchancements:
Feature: Mercurial and CVS are now supported out of the box. Just set your :scm variable to :mercurial or :cvs, like so:
1 2 3 |
set :scm, :mercurial # or set :scm, :cvs |
Thanks to Tobias Luetke and Matthew Elder for the Mercurial module, and Brian Phillips for the CVS module.
Feature: There is now a :default_environment variable, which is a hash that can be used to set environment variables that should be present for all commands that are executed. For instance:
1 2 |
default_environment["PATH"] = "/bin:/usr/bin:/usr/local/bin:/home/jamis/bin" |
Feature: All commands are now explicitly invoked via “sh”, which means that even if your default user shell is non-POSIX (e.g., tcsh, csh, etc.), you can use Capistrano just fine. Note that if you were using tcsh or csh syntax in your Capistrano scripts, you now need to set the :default_shell variable to use your (non-POSIX) shell of choice:
set :default_shell, "/usr/bin/tcsh" |
Feature: You can declare empty roles, and Capistrano won’t complain. This is useful for predeclaring roles that need to exist (because task definitions depend on them), but which might not have any servers in them (depending on runtime conditions).
Feature: A username and port specified with the server definition (e.g., “fred@some.server.com:1234”) now take precedence over the :username and :port settings in the ssh_options hash, rather than the other way around. This lets you set a general default via ssh_options, and override on a per-server basis in the server definitions themselves.
There are several other minor changes and fixes as well; you can read the CHANGELOG for all the gory details.


Toggle navigation
ChatWork Preview
Tweet
Input
Information Mode
Plain Mode
[info]
[title]
[code]
[hr]
[qt]
Copy
Preview
About
This is Simple
ChatWork
Preview
Detail
https://github.com/sue445/chatwork-preview#chatwork-preview


--- layout: post title: Tom Hume, On Fire date: 2011-12-02 00:00:00 categories: business mobile ---
There's a little article I wrote for the Vexed Digital newsletter, over here on their web site. It's all about Kindle Fire and what it means for the tablet ecosystem and Google; I worked it all out the other week, and it only seems fair to tell you.


About Studs
With the increasing availability of low-cost embedded platforms, such as the Raspberry Pi and BeagleBone, there is a huge opportunity to bring embedded development to a much larger community, both as a hobby and commercially. Studs is an attempt to fill part of that void for developers who’s background or preference favors languages similar to Fantom.
The goal for Studs is to abstract away the complexity of booting and interfacing with hardware, and provide a turn-key framework for working with embedded systems. This allows developers to focus on what matters – the application – and avoid boiler plate like boot loaders, networking, serial communication, and updating firmware.
From a developer’s perspective, the worldview for a piece of hardware is presented purely through a Fantom API. This keeps the abstractions high and the interactions consistent. In most cases you never need to leave Fantom. However, if a low level feature is required, Studs also includes easy to use cross-compiler toolchains to easily compile and package C binaries into your firmware.
Architecture
Studs is composed of primarily 3 layers:
Looking at each section – starting from the bottom up:
System
Studs systems are simply minimal Linux images built using Buildroot. They provide only the bare necessities for booting onto a specific hardware platform.
Studs replaces the standard /sbin/init
with a custom faninit binary that boots directly into the JVM and starts the Fantom Application. By skipping general initialization, and only bringing up the required sub-systems, Studs applications can boot in seconds.
Framework
The bulk of Studs lives at the Framework level. Here we provide a suite of Fantom APIs to interact with the underlying hardware.
At boot time Studs will spawn a number of Fantom daemons. These are background threads that manage system and hardware resources. In many cases these daemons will interface with a corresponding native binary.
In general we eschew working with the standard linux utilities (such as ifconfig
or udhcpd
), in favor of using dedicated native daemons that efficiently marshal messages to and from the JVM process and interact directly with kernel. The standard utilities work great when scripting or manually managing a system, but they tend to be brittle when tooled – requiring lots of assumptions for how they work and what to expect as output and error conditions. By using custom binaries we can reduce unnecessary code and simplify integration, which results in a more robust system.
Application
Everything up until this point is included “out-of-the-box”. The last piece – the application – is where developers start. A simple “Hello World” application can be created, compiled, and loaded onto a hardware device in only a few minutes. This lets developers dive right into the most important part of their product.
Origin
Studs grew out of work on a commercial Fantom-based embedded system. One of the key take aways from that project was a large percentage of the effort involved in getting Fantom operating on, and interacting with, embedded hardware was primarily general purpose (and boiler-plate).
Early in the original design of Studs, the Nerves Project began to gain popularity. Nerves bears an uncanny similarity to what Studs was attempting to achieve – as well as including a number of very useful design decisions that had not been considered. The present Studs project is largely based on the phenomenal work of the Nerves team.


God's own girl focus in developing a unique human inteligence.
| Year | Institution | Course | Qualification |
|---|---|---|---|
| 2020-2021 | Moringa School | Software Development | Front-end Mobile Developer |
| 2016-2020 | Technical University of Kenya | Information Technology | Certificate in Information Technology |
| 2013-2016 | Muhoroni High School | Secondary Education | Certificate of Secondary Education |
| 2005-2013 | Muhoroni Factory Primary school | Primary Eduon | Certificate of Primary Education |


Quick Links
ALGORITHM TEST
-
Guidelines
Procedure
Q&A :
- Where will the competition take place?
- What type of questions will I have to solve in this competition?
- Are the programming questions restricted to specific languages?
- What will happen in case of there is an issue with my computer
- Is it possible to change my submission after I have submitted a task?
- How does the checkYourCode determine whether a solution is correct?
- How does the time limit work?s
- How does the total execution time work?
- My program doesn't compile. Why?
- Why am I seeing a runtime error on the screen?


Votetakers must remain in regular contact with the other votetakers via
the "ukvotetakers" mailing list. If they are going to be off-net for a
significant period of time (longer than three weeks), they should notify
the other votetakers, via the list, in advance.
Votetakers must ensure that their contact information (including email
address and telephone number) is kept up to date on the UKVoting website.
A Coordinator is selected from among the votetakers by an internal
poll. The selected Coordinator appoints two Deputy Coordinators.
All votetakers must be subscribed to the "ukvotetakers" mailing list.
The Coordinator and Deputy Coordinators must be subscribed to the
"ukvoting" mailing list.
Votetakers (including the Coordinator) may be expelled from UKVoting by
an internal poll. The votetaker whose membership is in question does not
vote.
Proposed new votetakers must be accepted by an internal poll.
Official UKVoting statements may be ratified by an internal poll.
Official statements should be posted to uk.net.news.announce if
appropriate.
These rules may be amended by an internal poll.
Internal polls are carried out on the "ukvotetakers" list by the
votetakers mailing their vote to the list. Five working days must be
allowed for votetakers to respond, unless they all respond, in which case
the poll is immediately complete.
If it is necessary to take an action that normally requires an internal
poll in a shorter timescale than five working days, the Coordinator, or
in the Coordinator's absence a Deputy Coordinator, may take the action
unilaterally. This action must be subsequently approved by an internal
poll. If the poll does not approve the action, the action must be undone
if possible.
Votes
When a request for a votetaker is received, the Coordinator or a Deputy
Coordinator should request a votetaker from the "ukvotetakers" list as
soon as possible. The assignment of a votetaker is at the discretion of
the Coordinator, or in the absence of the Coordinator, a Deputy
Coordinator, but usually the first votetaker to respond will be assigned.
Votetakers must not take a vote if they took a partial position in the
discussion which resulted in the CFV.
The assigned votetaker for a vote must keep the database entry for the
vote on the www.ukvoting.org.uk web site updated at all times.
All email addresses used for receiving votes must go through the
UKVoting central mail server.
The votetaker must conduct the vote in good faith. No other party
outside of UKVoting may instruct the votetaker in how to operate the
vote; however the votetaker must take into consideration any comments
made, including the origin of the comments. The votetaker must bear in
mind at all times that the vote is being taken on behalf of, and for the
benefit of, the external organisation.
If the votetaker is considered not to be conducting the vote according
to best current practice, is not following the UKVoting guidelines or the
guidelines of the requesting organisation, or is in any other way not
conducting the vote in an appropriate manner, the votetaker may be
removed by an internal poll. If the votetaker is removed, a new votetaker
shall be assigned as soon as possible by the Coordinator or a Deputy
Coordinator.
Votetakers may not vote in votes they are operating.
If the smooth progress of any vote is threatened by circumstances
outside the votetaker's control, they must inform the "ukvotetakers"
mailing list as soon as possible, and consider whether or not the vote
should be handed to another votetaker.
If there is no contact for an extended period of time (such period to
be not less than 5 working days) with a votetaker currently assigned to a
vote then the votetaker may be declared absent by an internal poll. In
this situation a new votetaker should then be appointed by the
Coordinator or a Deputy Coordinator. If there is already a secondary
votetaker assigned to the vote then they should be promoted to primary.
Two-votetaker votes
If a vote is considered particularly important or sensitive - for
example, UK Usenet Committee elections, uk.* Guidelines changes, or where
the proponent of a vote is a UKVoting member - a secondary votetaker
should also be called for in the same way as and at the same time as the
call for the primary votetaker.
The secondary votetaker should keep a copy of all ballot requests and
votes received, but will not normally perform any other actions unless
they are promoted to primary votetaker.
All the restrictions on absence, public comment, etc that apply to the
primary votetaker apply equally to the secondary votetaker at all times.
If the primary votetaker indicates that they cannot continue the vote,
or is declared absent, then the secondary votetaker should immediately
take over the vote and attempt to bring the vote back on track.
Preparing a vote
After having agreed to undertake a vote, the votetaker must contact the
proponent by email within 48 hours of having the vote allocated to them.
While the time taken to prepare the CFV will depend on the proponent's
responses, the aim should be to have a draft CFV ready within one week.
All CFVs and voting procedures must conform to the rules laid down by
the organisation on whose behalf the vote is being taken (for example,
"Voting Procedures within the UK hierarchy" for uk.* hierarchy votes).
The draft CFV and ballot paper for all votes must be emailed to the
"ukvotetakers" mailing list as soon as it is ready, and a minimum of
three working days allowed for any comment before the CFV is implemented.
Any significant or unusual changes to any of the standard parts of the
CFV or ballot paper must be explicitly pointed out. If any changes are
subsequently made (other than trivial corrections to spelling or
grammar), the new version must again be emailed to the list, with a list
of the changes, and a further three working days allowed. The votetaker
must consider comments received, but is not compelled to act on them.
During the voting period
During the voting period, the votetaker should not be off-net for
greater than 48 hours consecutively. Votes must be acknowledged votes
within five days of receiving them. Even if acknowledgements are
automated, votes must be manually inspected within five days of receipt
to check validity.
Votetakers must not make any public comment on the subject of a vote
they are undertaking until the vote is complete, except to clarify
procedural issues. In particular, any information regarding the progress
of the vote (for example, how many people have voted, or how well
different options are doing) must never be disclosed during the vote.
A vote is not "complete" until the results are issued, and any
complaints have been ruled on by the committee, and the deadline for any
further complaints has expired.
After a vote is complete, there are no further restrictions on public
comments by the votetaker for that vote in their capacity as a private
individual, except that any information received by the votetaker in
confidence in their capacity as votetaker must be kept confidential.
After the voting period
Votetakers should aim to produce the draft results within one week of
the close of the vote. If, for whatever reason, this is not possible, a
summary of progress and the expected timetable must be posted to the
"ukvotetakers" list within one week of the close of the vote, and updates
provided thereafter at least once a week. Progress reports should also
be made to the external organisation (for uk.* hierarchy votes these
reports should be posted to appropriate newsgroups).
The results posting for all votes must be emailed to the "ukvotetakers"
mailing list as soon as it is ready, and a minimum of three working days
allowed for any comment before the result is made public. Any significant
or unusual changes to any of the standard parts of the results must be
explicitly pointed out. If any changes are subsequently made (other than
trivial corrections to spelling or grammar), the new version must again
be emailed to the list, with a list of the changes, and a further three
working days allowed. The votetaker must consider comments received, but
is not compelled to act on them.


Ocean [aj77], ocean, in Crystal Sea
Last updated Turn #118
Ocean [aj77], ocean, in Crystal Sea
------------------------------------------------------------------------
13: Pleasure Sloop [v5n], ship, 30 hulls, 1 rowing port, 90 sails, arrived
13: from Endless Plains [ai77], owner:
13: Dorothy [v1b], Pen, with 39 peasants, 30 soldiers, 94 sailors,
13: accompanied by:
13: Cindy [z1c], Pen, with six peasants, one worker, 40 soldiers,
13: ten skirmishers
13: Banian [e7n], Imperial Empire, knight, the High Priest of the
13: Church of Eres [151], with 16 soldiers, ten angels
13: Drummond [x8q], Imperial Empire, with 30 soldiers
13: Roland [o6t], Imperial Empire, Bishop of the Church of
13: Anteus [152], with 34 soldiers, five angels
13: Fortuis [h1m], Imperial Empire, with 20 soldiers
14: Pleasure Sloop [v5n], ship, 30 hulls, 1 rowing port, 90 sails,
14: departed for Ocean [ak77].
30: It has stopped raining.
Routes leaving Ocean:
North, plain, to Endless Plains [ai77], Imperia, 2 days
East, to Ocean [aj78], 6 days
South, to Ocean [ak77], 6 days
West, to Ocean [aj76], 6 days


if True:
import json
path = "/tmp/models.json"
with open(path, "w") as outfile:
json.dump(j, outfile, indent=2)
assert len(m["clusters"]) > 0
// This is handy debugging code (lets you look at the model)
// that can be enabled manually when needed.
with tempfile.NamedTemporaryFile(
prefix="bayeslite-models", delete=False) as f:
json.dump(j, f, indent=2)


Interlink Test Static 01
By Craig Peasley
Posted on 12-17-2020
In recent years, government agencies have been working to modernize human resources (HR). Agencies recognize that digital processes are more efficient and allow them to attract and retain better talent.
The transition to digital workflows was slow until the COVID-19 pandemic arrived, when suddenly staff needed to work remotely. Agencies across federal, state, and local governments quickly responded by implementing digital plans that had been discussed for months, or even years, practically overnight.
HR executives are often the strongest advocates — and benefactors — of digital-first solutions. However, research from Forrester Consulting, commissioned by Adobe, finds that more than 57 percent of government HR workflows and approvals are still not fully automated, hindering their ability to keep employees productive and engaged. Plus, HR executives are discovering how out-of-date agency tools limit their ability to attract millennials.
The pandemic accelerated HR document process transformation
In 2020, government HR teams were catapulted into the digital age. Processes that were considered cumbersome in everyday office settings became impossible in a remote environment. No one was in the office to conduct interviews or even check the mail. A new era of digital HR had begun — and it started with making document processes all digital and adopting e-signatures. Wet signatures instantly became a relic of the past.
Transitioning to working from home
HR teams were integral to getting employees prepared for remote work. With Adobe Document Cloud PDF tools and e-signatures, HR teams were able to quickly transition paper-based documents and forms into digital versions. From issuing equipment to setting guidelines about work-from-home policies, e-signatures make sending, tracking, and approving documents easy and secure. With Adobe Sign, employees had the resources and support to be productive while working remotely plus they were able to maintain the security and privacy standards required by the agency.
The Sign integration with the agency’s existing tools fast-tracked the transition to remote work. Posting employee request web forms on internal portals provided 24x7 access with automated workflows while maintaining a complete audit trail. With Sign, agencies can create professional-quality communications using templates and send them individually or in bulk to multiple recipients. Using a centralized dashboard, HR can track where documents are in the routing process and intervene at any time.
Finding top talent
In addition to keeping agency business moving, Document Cloud can help HR teams modernize their processes, from hiring to onboarding to retirement plans. Using Adobe Acrobat DC and Sign, document packets can be assembled, personalized, routed, tracked, and securely stored in days instead of weeks. Offer letters and background check request forms can be created quickly and sent to candidates for signature.
Digital document workflow case study: State of Hawaii
The State of Hawaii adopted e-signatures in 2015. Hawaii’s agencies are currently using Document Cloud solutions for everything from employee onboarding to signing common documents. Approval processes that typically took 30 days are now being completed in just three days. Employee onboarding time dropped from two hours to 20 minutes. By delivering documents electronically, the State of Hawaii saves printing of 24,000 pages of paper daily. Other agencies are looking to Hawaii as a model of digital adoption success.
Using the cloud for rapid time to value
Historically, one of the biggest barriers to adopting technology is the time and effort it takes to move from legacy systems and transition to new platforms. Thanks to FedRAMP authorized cloud-based solutions from Adobe, digital solutions can be integrated seamlessly with existing systems and implemented in a matter of days, not months. Employees work in the applications they use every day, like Workday or other human capital management (HCM) systems. Adobe also natively integrates with Microsoft 365 and Google G Suite for secure document sharing and storage.
HR agencies are challenged to recruit top talent and provide employee benefits while supporting a remote workforce. With Sign, recipients can legally sign agreements from any device in just a few minutes. Job candidates can verify their identity using knowledge-based authentication or by sharing a photo of their government-issued ID, like a driver’s license or passport. When employee signatures are required, the signer’s identity can be authenticated with sign sign-on or government IDs like PIV or CAC cards. The audit trail tracks authorization and follows the digital asset until it is stored in a secure content repository.
To begin the transition to all-digital workflows, most agencies start with the forms they already use, digitize them, and then post them on a website or employee portal. Sign forms include error checking and automated routing, reducing friction and getting approvals completed 28x faster.
Featured posts:
- https://blog.adobe.com/en/2020/11/24/e-signatures-at-the-core-of-government-innovation.html
- https://blog.adobe.com/en/2020/11/12/3-ways-electronic-signatures-can-improve-cx-and-drive-business-impact.html
- https://blog.adobe.com/en/2020/07/09/city-of-seattle-relies-on-adobe-and-microsoft-technology-to-help-with-operational-continuity-during-covid-19.html
Topics: Government, Productivity, Document Cloud, Future of Work, HR,
Products: Document Cloud, Acrobat, Sign,


{% extends 'mooring/email/base_email.html' %} {% block content %}
Your booking {{booking.confirmation_number}}, arrival {{booking.arrival|date:"d/m/Y"}} at {{booking.mooringarea.name}}, {{booking.mooringarea.park.name}} has been cancelled.
If we received an email from you notifying us of cancellation more than 28 days before your booking arrival date, 50% of the total fees paid will be refunded to the account used to make payment within 30 days.
View my mooring bookings {{my_bookings}}
{% endblock %}


Ethnic World
Indian culture is followed with their rituals with the simplest way. Indian culture covered all the rituals of all cast-people whose live in India and that's a real Indian culture. "Ethnic wear is the part of Indian culture that truly followed by the people". Indian culture is followed by the Indian people and also followed by the USA-people. Indian culture teaches us to respect the people and behaving well. Indian is said hello to another people with "Namaste" according to their good manner because Indians never underestimate to people. India accepts all people and never hurt too many- people and that's the real culture of India. The population of India is high as compared to USA population. Indian newspaper it comes out in many different languages like Marathi, Panjabi, Gujarati, English, Hindi and much more that are read by uncountable people. One more important thing is that many English words come from Indian Sanskrit languages.  Indian ethnic wear is that part of the Indian culture. Indians are wearing ethnic outfits like ghagra-choli, dhoti-kurta, salwar-suit, kurta-pajama, saree in wedding and some special occasion. This ethnic wear followed by all age of people. Indian people decide clothes according to occasion otherwise its base on the relation like if the relation is like "dur ke ristedar"(hindi words) then they don’t extraordinary. Lots of ethnic fashion is available in these days. Many sub-style of ethnic wear is also available like Gujrati ethnic wear, Rajputana-ethnic wears, Panjabi-ethnic wears, Marathi ethnic wear, Islamic-ethnic wear and much more. Much different dance style also comes with their own ethnic- traditional wear that type of dance is called folk dance.


Modules are Your Friends
The JET Cookbook has a section on ojModule and how to use it to split your code up into components. Here’s an example of breaking up code to make it modular and easier to understand in the context of an Oracle JET Train.
The ojTrain is a great way of leading a user through the steps of a process, letting them know where there are, where they’ve been, and how much is left to do. In the cookbook sample code, you can see it’s possible to stick all of the code for all panels of the train into one viewModel.
Here’s the code that creates that tab, modified from the Cookbook code to work with the JET QuickStart:
views/ojTrain.html

ojTrain Content

viewModels/ojTrain.js
define(['ojs/ojcore', 'knockout', 'jquery', 'ojs/ojknockout', 'ojs/ojtrain', 'ojs/ojbutton'],
function (oj, ko, $)
{
function TrainViewModel() {
var self = this;
this.currentStepValue = ko.observable('stp1');
this.stepArray =
ko.observableArray(
[{label: 'Step One', id: 'stp1'},
{label: 'Step Two', id: 'stp2'},
{label: 'Step Three', id: 'stp3'},
{label: 'Step Four', id: 'stp4'},
{label: 'Step Five', id: 'stp5'}]);
this.currentStepValueText = function () {
return ($("#train").ojTrain("getStep", this.currentStepValue())).label;
};
};
return new TrainViewModel();
});
But what happens when our panels get too huge? Or what if each panel should do something different? Combining all of the code for those panels into one view and viewModel could get messy quick, and maintaining the code gets harder and harder if it’s all jumbled together in one file.
ojModules to the rescue
JET’s ojModule Binding lets us break up our code into smaller components. With some creative directory naming and computed variables we can even gather everything together so that it’s easy to see where the code for our train panels is stored.
Let’s start by creating a folder for the modules just to keep things organized. Right-click on viewModels and choose New >> Folder and create a myTrain-modules
folder. Do the same for the views folder and use the same myTrain-modules
name.
In these folders we need some simple placeholder content for now, but we’ll wire it up with a proper viewModel for future use. We could set up a view-only ojModule by passing a {viewName: 'viewfilename'}
object instead of the moduleName below, but this way we’ll have a backing viewModel in case we need it later.
In the viewModels/myTrain-modules
folder create a simple stp1.js
file with a define()
block that returns a viewModel function, just like you would for a new tab in the QuickStart (which after all uses ojModule!). In the views/myTrain-modules
folder create a corresponding stp1.html
file with some HTML for our first panel. Here’s some suggested code that will get you going:
views/myTrain-modules/stp1.html

step1

viewModels/myTrain-modules/stp1.js
/**
* step1 module
*/
define(['ojs/ojcore', 'knockout'
], function (oj, ko) {
/**
* The view model for the main content view template
*/
function step1ContentViewModel() {
var self = this;
self.message = ko.observable("this is the modular step one panel");
}
return step1ContentViewModel;
});
We have five steps in our cookbook sample, so go ahead and duplicate the stp1 files to stp2, stp3, stp4 and stp5 and make edits accordingly to the viewModels’ self.message
observable.
Call your submodules from your module
Now we need to modify the ojTrain code so that it uses our module content. We’ll hard-code stp1 first to make sure all is in place, and after that we’ll make the module dynamically load depending on what step in the train we’re on.
Since we’ll be using ojModule in the view’s HTML, we need to add 'ojs/ojmodule'
to the define block for our viewModels/ojTrain.js
file:
define(['ojs/ojcore', 'knockout', 'jquery', 'ojs/ojknockout', 'ojs/ojtrain', 'ojs/ojbutton', 'ojs/ojmodule'],
function (oj, ko, $)
{ ...
With that in place we can modify the views/ojTrain.html
file to pull in the step 1 file as a module. Replace the <h3 id="currentStepText"...
code with a

that is data-bound to our module. Again, we’re hardcoding with a string here; we’ll make it dependent on the train’s current step in the next section:
...

...
So now you should see new content under the train, but there’s that problem that the content is the same no matter which step of the train we’re on. We need to make our ojModule dependent upon the ojTrain’s current state, and for that we need a computed observable.
Make it change based on the current train step
Instead of that hard-coded string in the ojModule data-bind
, we can have an observable in the viewModel tell us the path to the module. If we make that observable a pureComputed, it will always have the right value for the ojModule call even as we click through the steps of our train.
The cookbook code for the Train is already storing its selected:
state in a currentStepValue
observable, and we conveniently named our module filenames with the same naming convention as the currentStepValue. We just need to prepend the module directory and put it in a function that will return the live value of the ojTrain’s current step.
...
this.modulePath = ko.pureComputed(
function () {
return ('myTrain-module/' + self.currentStepValue());
}
);
Last, update the views/ojTrain.html
binding for ojModule to point to our ModulePath pureComputed observable instead of the hard-coded string above.
final views/ojTrain.html

ojTrain Content

final viewModels/ojTrain.js
define(['ojs/ojcore', 'knockout', 'jquery', 'ojs/ojknockout', 'ojs/ojtrain', 'ojs/ojbutton', 'ojs/ojmodule'],
function (oj, ko, $)
{
function TrainViewModel() {
var self = this;
this.currentStepValue = ko.observable('stp1');
this.stepArray =
ko.observableArray(
[{label: 'Step One', id: 'stp1'},
{label: 'Step Two', id: 'stp2'},
{label: 'Step Three', id: 'stp3'},
{label: 'Step Four', id: 'stp4'},
{label: 'Step Five', id: 'stp5'}]);
this.modulePath = ko.pureComputed(
function () {
return ('myTrain-modules/' + self.currentStepValue());
}
);
};
return new TrainViewModel();
});
Finished product
When you click the steps in the train it updates the selected currentStepValue, which creates a new function for the modulePath, which is used to load the correct ojModule. Click another step in the train, and the beautiful process repeats.


CHAR_LENGTH(value) → length
Return the number of characters in value (not byte length).
| input | length |
|---|---|
| String | number of unicode characters |
| Number | number of unicode characters that represent the number |
| Array / Object | number of unicode characters from the resulting stringification |
| true | 4 |
| false | 5 |
| null | 0 |


You are not currently browsing this site through an encrypted SSL session. If you submit your Windows Azure storage account name and access key, this information will be sent over the wire unencrypted. Don't do it. Please.
You're using an SSL connection with this cloud service - your credentials will be transmitted securely. The credentials are sent with every dynamic request and immediately destroyed.
Please select a table on the side to get started.


Docs.rs
Releases
Rust
The Rust Programming Language
The Book
Standard Library API Reference
Rust by Example
Crates.io
The Cargo Guide
About Docs.rs
Docs.rs
Search
I'm Feeling Lucky
Recent Releases
perftacho-0.4.2
Tool for measuring performance of binaries
6 minutes ago
sysinfo-0.11.7
Library to get system information such as processes, processors, disks, components and networks
8 minutes ago
emacs-rs-module-0.13.0
An Emacs dynamic module that helps developing other dynamic modules, in Rust
10 minutes ago
emacs-0.13.0
Rust library for creating Emacs's dynamic modules
11 minutes ago
emacs-macros-0.13.0
Proc macros for emacs modules
12 minutes ago
leg-0.4.1
🔈 Elegant logging for CLIs made simple
19 minutes ago
activitystreams-0.4.0-alpha.2
Activity Streams in Rust
33 minutes ago
activitypub-0.4.0
ActivityPub in Rust
35 minutes ago
shunkakinoki-4.19.11
shunkakinoki
39 minutes ago
dtn7-0.8.4
Rust delay-tolerant-networking daemon and CLI tools based upon bp7 (dtn version 7 draft)
42 minutes ago
c2rust-bitfields-derive-0.2.1
C-compatible struct bitfield derive implementation used in the C2Rust project
44 minutes ago
perftacho-0.4.1
Tool for measuring performance of binaries
45 minutes ago
cmdex-0.2.5
Search for those commands you don't remember!
47 minutes ago
shunkakinoki-4.19.10
shunkakinoki
48 minutes ago
leg-0.4.0
🔈 Elegant logging for CLIs made simple
53 minutes ago


!You should reconsider. The strength already exceeds that level. It is already reinforced to x%level% of normal. Think about allocating your resources elsewhere.


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
के न्द्रीयसूचनाआयोग Central Information Commission बाबागंगनाथमागग,मुननरका Baba Gangnath Marg, Munirka नईददल्ली, New Delhi - 110067 नितीय अपील संख्या / Second Appeal No. CIC/DPCCM/A/2017/148197 Shri Prem Prakash Shokeen ... अपीलकताग/Appellant VERSUS बनाम PIO, Delhi Pollution Control Committee ...प्रनतवादीगण /Respondents Dept. of Environment, Kashmiri Gate, Delhi-110006 Date of Hearing : 30.04.2019 Date of Decision : 03.06.2019 Information Commissioner : Shri Y. K. Sinha Relevant facts emerging from appeal: RTI application filed on : 30.03.2017 PIO replied on : 12.04.2017 First Appeal filed on : 24.04.2017 First Appellate Order on : 21.06.2017 2ndAppeal/complaint received on : 13.07.2017 Information sought and background of the case: The Appellant filed an RTI application dated 30.03.2017, seeking information regarding copy of budget allocated to DPCC and expenditure against the allocation each head wise and sub head wise for the last three financial years i.e. 2014-15, 2015-16 and 2016-17. PIO/DPCC, Kashmiri Gate, Vide letter dated 12.04.2017 as below:- "There is No Budget granted to Delhi Pollution Control Committee by Delhi Government & other Government agencies". Being dissatisfied, the Appellant filed the First Appeal dated 24.04.2017. FAA vide order dated 21.06.2017 upheld the reply of PIO. Feeling aggrieved as dissatisfied, the Appellant approached the Commission with the instant Second Appeal. Page 1 of 3 Facts
emerging in Course of Hearing:
Both the parties are present and heard. An important issue of public interest has been raised by the Appellant. The Appellant submits that the respondent public authority i.e. Delhi Pollution Control Committee, GNCTD is being run without any budgetary planning and there is no budgetary control being exercised by Govt. of NCT Delhi. He relies on the reply of PIO to buttress his claim. The PIO submits that DPCC does not get any financial assistance or budgetary directive from Govt. of NCT Delhi. The Appellant asserts that he wanted to access the internal budget made by DPCC. It emerges from the deliberations of the parties that no such budget is prepared by the DPCC and money is spent on purely on contingencies as per the financial rules.
The frame of question stands clarified in course of hearing. The Appellant apprehends that no internal audit has been done by the DPCC. The PIO submits that no statutory audit is undertaken and only internal audit is undertaken.
Decision:
The Respondent DPCC hosts the following information on its website on the About Us section. The same reads as:
Under Section 4 of the Water (Prevention and Control of Pollution) Act, 1974 and Section 6 of the Air (Prevention and Control of Pollution) Act, 1981 the Central Pollution Control Board (CPCB) is empowered to perform the functions of the State Pollution Control Board for all Union Territories. However, Section 4(4) of the Water (Prevention and Control of Pollution) Act, 1974 and Section 6 of the Air (Prevention and Control of Pollution) Act, 1981 provides that CPCB may delegate all or any of its powers and functions of a State Board in a UT under the said Acts to such person or body of persons as the Central Government may specify. The CPCB has delegated all its powers and functions as a State Board in respect of the UT of Delhi to a committee of officials as specified by the Central Government in March, 1991. This committee has been reconstituted on 14th June 2002 vide notification No. B-12015/7/92-AS.
Commission wonders as to how a public authority entrusted to oversee the implementation of anti pollution laws is running without budgetary provisioning. Even autonomous organizations follow the provisioning and budgetary tools to ensure financial efficacy and transparency. Lack of proper financial audit also raises concerns. The Commission finds that the Appellant has made his point through the information accessed under the present RTI application. However, it for the appropriate authority or judicial forum to issue appropriate instructions to remedy the situation, if warranted. No further Page 2 of 3 adjudication on the present second appeal is required. The Appellant is at liberty to seek redressal of his grievance which certainly attracts larger public interest before an appropriate forum.
Let a copy of the present decision be sent to Chief Secretary, Govt. of NCT Delhi for information and action as deemed fit.
The Appeal is disposed off.
Y. K. Sinha (वाई. के . नसन्द्हा) Information Commissioner (सूचना आयुक्त ) Authenticated true copy (अभिप्रमाणितसत्यापितप्रतत) Ram Parkash Grover (राम प्रकाश ग्रोवर) Dy. Registrar (उप-पंजीयक)<PHONE_NUMBER>4 Page 3 of 3


Ignored
Three Successes:
Success
Success
Success
Two Failures:
Failure
Failure
One Exception:
Exception
This test is used to check that the runTotals test executes successfully. It should be marked as @Ignore in the fixture.


Cloud Computing: A Short Guide For The Perplexed
Over the last couple of years the term cloud computing has become become public relations shorthand for “Look, look, we’re also cool.” The expression is now so overused and is applied so widely that it has become almost meaningless. That’s a problem. Senior business decision makers have been set a drift in a sea of PR and marketing confusion just at a time when they need to be making strategic technology choices that may directly impact the future of their firms. I offer this brief guide to cloud computing in an effort to help cut through the fog currently enveloping this important topic.
Let’s start with a formal definition of cloud:
The provision of computing infrastructure, platform or application service as a utility, which can be consumed by any Internet connected device, using open standard protocols where variability in demand is satisfied through the dynamic and automatic provisioning of pooled hardware, network, and software service resources providing the illusion of infinite scalability and are generally billed for on a pay-as-you-go basis.
Now we can deconstruct this definition to hopefully separate reality from hype.
The provision of computing infrastructure, platform or application service as a utility - Cloud computing is composed of three complimentary layers of service.
- Infrastructure as a Service (IaaS) is where all the basic computing resources - computation (CPU), program memory, disk storage and network connections - are managed and allocated to higher level software services and applications as needed.
- Platform as a Service (PaaS) - is a set of higher level software services that are used by software developers to build cloud based applications. PaaS might include services such as security and authentication, data access and transaction logging.
- Software as a Service (SaaS) is the highest level of cloud service consisting of the applications directly consumed by end users generally through a web browser and without the need to install software locally on the users PC.
There is a helpful shorthand for each of these layers of cloud computing service: IaaS is a computing resource management model, PaaS is a software development model and SaaS is an application delivery model.
The description of these services layers as a Utility means that they are consistently available at any time and accessible from anywhere.
Which can be consumed by any internet connected device, using open standard protocols - In general cloud based applications and services can be accessed by any device that can connect to the internet using standard internet protocols. Generally a web browser would be used by an end-user to access services. However, native applications on smart phones may also be the interface through which users connect.
Where variability in demand is satisfied through the dynamic and automatic provisioning of pooled hardware, network, and software service resource - This is one of the key differentiators of cloud computing which separates marketing spin from reality. For a service to truly be considered as cloud computing it must be able to automatically scale up and down to meet variations in demand. Hosting a website on an internet server - or even a group of servers - does not qualify as cloud computing because if demand exceeds the capacity of the underlying hardware then human intervention is required to either add additional servers or to move the workload to a larger capacity machine. Cloud services make these adjustments automatically.
Providing the illusion of infinite scalability — Users of true cloud computing services never experience a lack of resource due to an excess of demand. Cloud provider organizations constantly build out their infrastructures so that available capacity always exceeds near-term user demand. It is the 'Illusion' of infinite capacity that separates cloud architecture from more traditional forms of hosted computing infrastructure.
Generally billed for on a pay-as-you-go basis - Though not universally the case, the charge for cloud computing services is normally based on the amount of computing resource consumed over time. This is the model general used for IaaS services. This compares the fixed or contract pricing models used for more traditional hosted application services.
True cloud services should meet all the the criteria outlined above but in particular they should be able to provision new services and scale automatically based on fluctuating consumer demand without human intervention. Services being sold as "Cloud" which come with fixed capacity limits or obligations to purchase defined hardware configurations are - by definition - nothing of the sort.
There is one other aspect to cloud computing that creates significant confusion: How it is deployed? There are three accepted models of cloud deployment: Public, Private and Hybrid.
Public Cloud is where an application is deployed on a cloud infrastructure that is shared by multiple customers and is directly accessible over the internet. The most commonly used public cloud service is Amazon's Web Services. Other public cloud environments include Microsoft's Azure and Google's App Engine. Unfortunately the Public deployment model is often made synonymous with the term cloud computing. It is not.
Private Cloud is a cloud infrastructure that is dedicated to one particular customer. The environment may be run behind a firewall in the customer's own data center or it may be run for the customer by a third party. In either case the private cloud resources are dedicated to the needs of one company or organization. Due to privacy and security concerns, government's are likely to create private cloud infrastructures that are shared by multiple agencies or ministries.
Hybrid Cloud is a deployment choice where public and private cloud infrastructures are linked together. A company may choose to run certain sensitive workloads on its dedicated private cloud infrastructure while running less sensitive workloads on a public cloud infrastructure. The two environments are joined together to give application users a seamless experience. A company may also temporarily utilize public cloud infrastructure capacity to help manage peak demand that exceeds the capacity of the company's private cloud infrastructure.
We now have a complete definition of cloud computing: Cloud Computing is a specific form of systems architecture - meeting the criteria outlined above - plus a particular approach to resource management and application development and delivery. This cloud architecture can then be deployed either publicly on a shared infrastructure, privately on a dedicated infrastructure or in a hybrid of public and private.
Diffusing the Cloud: Cloud Computing and Implications for Public Policy takes a deeper dive into the world of cloud computing examines it’s evolution and some of the economic and policy issues surrounding this important new domain.
Update: Since writing this last night @fscavo has written an excellent blog on the fallacy of Oracle’s cloud offerings. Well worth the read!


--- layout: layout-container name: List Entity Reference title: List Entity Reference order: 60 published: false showInNav: false back_to_top: true showBreadcrumbs: true ---
Updated: November 30, 2016
This topic describes the entity and type representations for common items that the List API uses. To learn about how to set up your developer account and work with the SKY API, see the Getting Started guide.
The collection entity has the following properties:
| Property | Type | Description |
|---|---|---|
| count | integer | The total number of items in the collection. |
| next_link | URI | For paginated responses, this represents the URI for the next page of results. |
| value | list | Contains a collection of items included in this response (which may be a subset of the total items in the collection). |


Space APIs, JSON and REST (SOCIS 2017)
After setting up the blog, it was time to start with the first week of my timeline. The task for this week was to research the available NASA Open APIs and other NEOs databases that could better fit for this project.
I had already studied some APIs, and taked a look at their capabilities, but further research was needed. As my proposal was made of 3 different pages, I analyzed each one separately.
CNEOS page
In the CNEOS page there is a list of tools, but it can be shorten to four different APIs/Databases:
-
JPL Small-Body Database Browser: allows to search any small-body (like NEOs) by entering the IAU number, name, or designation, and also supports wild-cards
*
and/or?
. Available data include, quoting the page itself:- orbital elements
- orbit diagrams
- physical parameters
- discovery circumstances
Newly discovered objects and their orbits are added on a daily basis.
-
JPL Small-Body Database Search Engine: can be used to generate custom tables of orbital and/or physical parameters for all asteroids and comets or a specified sub-set. There is a huge amount of search contraints, for example: And you can also select output fields, and choose between HTML and CSV output format.
-
Horizons: provides access to highly accurate ephemerides for solar system objects, not only small-body. Can be accessed using telnet, email and web-interface.
NEOWS
Among NASA OPEN APIs, it is NeoWs. It can be used to get lists of Near Earth Objects (within a date range, for today...), and to retrieve orbital elements and close aproaches data given a SPK-ID (integer code that JPL uses to identify objects). Despite his name, only works with NEAs (Near Earth Asteroids), and therefore there is no information about comets.
JPL SSD/CNEOS API SERVICE
As stated on his web, JPL SSD/CNEOS API SERVICE
provides an interface to machine-readable data (JSON-format) related to SSD and CNEOS.
The more relevant tools are:
-
Close-Approach Data (CAD): provides access to current close-approach data for all asteroids and comets in JPL Small-Body DataBase.
-
Accessible NEAs (NHATS): is provided by Near-Earth Object Human Space Flight Accessible Targets Study (NHATS), and can be used to identify those NEAs that may be well-suited to future human space flight round trip rendezvous missions.
-
Scout: Scout system provides trajectory analysis and hazard assessment for recently detected objects.
-
Sentry: Sentry is a highly automated collision monitoring system that continually scans the most current asteroid catalog for possibilities of future impact.
Choosing the APIs
Once all the possibilities were studied, it was time to choose the APIs that seem more suitable for our purpose.
Given that poliastro
core are Orbit objects, our main goal is to automatically create a NEO orbit, based on data from internet APIs. In order to achieve this, orbital elements or position and velocity vectors are needed, so this was the first requeriment that APIs had to comply with.
Therefore several APIs could be discarded because they do not provide needed data: Accesible NEAs
, Scout
, Sentry
and Close-Approach Data
.
Since we would rather not have to deal with intricate POST requests, another important requeriment for APIs was to provide a good interface (the "I" in API stands for interface, so...), and with luck something close to RESTFul webservices.
JPL Small-Body Database Search Engine
requires POST requests that are more than 150 lines long, so we automatically discarded it.
Finally, the third requeriment, considering that we are writing code in Python, was machine-readable data output, with JSON being the best format and awfully written HTML being the worst.
Both JPL Small-Body Database Browser
and Horizons
provide HTML output, which have to be parsed, with all the risks that imply, so they were discarded.
In order to clarify all of this data sequence, I made a table:
| API | Orbital elements? | REST-style? | Machine-readable? | Other |
|---|---|---|---|---|
| JPL Small-Body Database Browser | Yes | Yes | No | Not limited to NEOs |
| JPL Small-Body Database Search Engine | Yes | No | Yes (CSV) | Not limited to NEOs |
| Horizons | Yes | No | No | existent Python interface |
| NeoWs | Yes | Yes | Yes (JSON) | Only for NEAs (asteroids) |
| Close-Approach Data (CAD) | No | Yes | Yes (JSON) | |
| Accessible NEAs (NHATS) | No | Yes | Yes (JSON) | |
| Scout | No | Yes | Yes (JSON) | |
| Sentry | No | Yes | Yes (JSON) |
With all this requeriments in mind, the best option seemed to be NeoWs
. Although it doesn't provides information about NECs (comets), they are only 0.7% of NEOs total, so they could be discarded (only for the moment :P). Another issue related to NeoWs
is the fact that it only allows to browse by SPK-ID number (do not confuse with IAU number), which is unknown for most people, so before doing any query, SPK-ID number has to be found.
And that was all for this week. Next week, we will start with coding itself, adding an orbit_from_spk_id
function to poliastro
, that queries NeoWs
API. See you!


SAVE_EPOCHS(rootdir,epoch_names,epochs)
SAVE_EPOCHS(rootdir,epoch_names,epochs) Saves epoch definitions to a epochs.def file in rootdir/epochs


Before Change
DOCLINES = __doc__.strip().split("\n")
os.chdir(os.path.dirname(os.path.abspath(__file__))) // setup.py should be ran from its folder, just in case one tries to execute it from a different folder
CLASSIFIERS = \
Development Status :: 5 - Production/Stable
After Change
package_dir={"": "src"},
packages=find_packages("src"),
include_package_data=True,
install_requires=[
"numpy>=1.12.0",
"scipy>=0.17.1",
"matplotlib>=2.0.0",
"pandas>=0.19.2",
"scikit-learn>=0.18.1",
"scikit-image>=0.13.1",
"h5py>=2.6.0",
]
)


These “Safe” Dividends Are Not What You Think
by Michael FosterIt’s been a terrific year for one specific group of funds—and that means, if you’re one of many people who own them, you need to be very careful.I’m talking about senior-loan (also known as floating-rate) funds, which have made big gains in 2019. That’s lulled many folks into a false sense of security, idly thinking these steady returns will roll in for the long term.
That’s a big mistake.
To see what I mean, look at the Invesco Senior Loan ETF (BKLN), which serves as something of an index for senior loans. It yields 5.2% and is up 7.3% in 2019. That gain may not sound like much compared to, say, the S&P 500’s 20% rise, but it’s actually huge for senior loans.
What’s more, this gain is largely a correction to 2018’s oversold market, where fear caused investors to sell everything. Now, we’ve seen BKLN and similar funds make up those losses and return to a sky-high valuation.
Again, that 6.3% return over almost two years sounds humble, but it’s far ahead of the trend; in the last five years, BKLN has risen 2.7% on average annually, making its two-year return far higher than the norm, even with the big dip in late 2018.
But the big post-panic recovery isn’t the only reason why now is a good time to move your money out of senior loans. Let’s move on to two even bigger reasons.
The Fed Story
Before we go further, a quick primer on senior loans: they’re securitized loans usually given out to mid-sized companies that, for whatever reason, don’t want to issue bonds. Unlike bonds, which have a fixed interest rate, the rate on senior loans varies according to a benchmark rate. That’s another way of saying that when the Fed raises rates, interest payments on these loans rise, too.
In short, senior loans earn more profit for lenders when interest rates rise. That’s the problem: rates are now falling, which means lower income for BKLN and its shareholders.
Interest Rates Falling
Right now, the market expects the Fed to cut its interest-rate target in the next year, with a 75% probability of rates being cut at least once.
If BKLN is going up more now than it was when rates were rising, when the fund would naturally earn more income for its shareholders, that means BKLN’s recent run-up is unsustainable for as long as the Fed plans to cut rates.
That’s another reason to worry about senior-loan funds, but it’s not the biggest.
Smart Money Flees
In anticipation of a fall in senior loans, most investors familiar with this asset class are running away. In the last year, they’ve taken out $42 billion in assets, according to data from EPFR Global. BKLN has seen $2.4 billion of outflows in that time—half its current assets under management.
Major outflows on top of abnormal market returns add up to a bubble of misinformed or distracted investors mistakenly keeping their money where it shouldn’t be—another reason to run from senior-loan funds.
CEF Investors: It’s Past Time to Dump This Loser
Finally, if we look at closed-end funds (CEFs) that hold senior loans, we see that most are seeing lower-than-average outflows as a portion of total assets.
That would be the First Trust Senior Floating Rate 2022 Target Fund (FIV), a floating-rate fund whose year-to-date market price (in orange below) exceeds its NAV return (or the gain posted by its portfolio of loans), meaning its discount has been shrinking.
As a result, FIV’s 5.5% discount is much smaller than it was in 2018—it’s also smaller than the average 4.4% discount among all CEFs. What’s more, FIV has cut its dividend four times in 2019, a year when many CEFs have raised payouts!
Investors who bought FIV for the “big” dividend have seen the fund’s yield shrink to 3.7%. That’s half the yield on the average CEF and far lower than the yields on many CEFs that are growing their payouts.
With many headwinds in senior-loan funds and a declining income stream, no one should be holding FIV right now. Yet the fund has seen $32.7 million of net inflows of assets in the last year—which shows you how irrational some CEF investors can be!
Disclosure: none


|
IVT
|
Functions for drawing 2D primitives into images. More...
Functions | |
| void | DrawPoint (CByteImage *pImage, const Vec2d &point, int r=255, int g=255, int b=255) |
| Draws a point into a CByteImage. More... | |
| void | DrawPoint (CByteImage *pImage, int x, int y, int r=255, int g=255, int b=255) |
| Draws a point into a CByteImage. More... | |
| void | DrawPointBlended (CByteImage *pImage, const Vec2d &point, int r=255, int g=255, int b=255, float blend=1.0f) |
| Draws a point into a CByteImage, with blending. More... | |
| void | DrawPointBlended (CByteImage *pImage, int x, int y, int r=255, int g=255, int b=255, float blend=1.0f) |
| Draws a point into a CByteImage, with blending. More... | |
| void | DrawPoints (CByteImage *pImage, const CVec2dArray &points, int r=255, int g=255, int b=255) |
| Draws a list of points of type CVec2dArray into a CByteImage. More... | |
| void | DrawRegion (CByteImage *pImage, const MyRegion ®ion, int r=255, int g=255, int b=255, int thickness=1) |
| Draws a rectangle into a CByteImage. More... | |
| void | DrawCircle (CByteImage *pImage, float mx, float my, float radius, int r=255, int g=255, int b=255, int thickness=1, bool bAntiAlias=false) |
| Draws a circle into a CByteImage. More... | |
| void | DrawCircle (CByteImage *pImage, const Vec2d ¢er, float radius, int r=255, int g=255, int b=255, int thickness=1, bool bAntiAlias=false) |
| Draws a circle into a CByteImage. More... | |
| void | DrawCircle (CByteImage *pImage, const Circle2d &circle, int r=255, int g=255, int b=255, int thickness=1, bool bAntiAlias=false) |
| Draws a circle into a CByteImage. More... | |
| void | DrawEllipse (CByteImage *pImage, const Ellipse2d &ellipse, int r=255, int g=255, int b=255, int thickness=1) |
| Draws an ellipse into a CByteImage. More... | |
| void | DrawLine (CByteImage *pImage, const PointPair2d &line, int r=255, int g=255, int b=255, int thickness=1) |
| Draws a line segment into a CByteImage, given its two end points. More... | |
| void | DrawLine (CByteImage *pImage, const Vec2d &p1, const Vec2d &p2, int r=255, int g=255, int b=255, int thickness=1) |
| Draws a line segment into a CByteImage, given its two end points. More... | |
| void | DrawLinePolar (CByteImage *pImage, float theta, float r, int color_r, int color_g, int color_b, int thickness=1) |
| Draws a straight line into a CByteImage, given its parameters in polar form. More... | |
| void | DrawLineNormal (CByteImage *pImage, float nx, float ny, float c, int r, int g, int b, int thickness=1) |
| Draws a line into a CByteImage, given its parameters in normal form. More... | |
| void | DrawLine (CByteImage *pImage, const StraightLine2d &line, int r, int g, int b, int thickness=1) |
| Draws a line into a CByteImage, given its representation as StraightLine2d. More... | |
| void | DrawCross (CByteImage *pImage, const Vec2d &point, int length, int r, int g, int b) |
| Draws a small cross into a CByteImage. More... | |
| void | DrawPolygon (CByteImage *pImage, const Vec2d *pPoints, int nPoints, int r, int g, int b, int thickness=1) |
| Draws a polygon into a CByteImage. More... | |
| void | DrawPolygon (CByteImage *pImage, const CVec2dArray &points, int r, int g, int b, int thickness=1) |
| Draws a polygon into a CByteImage. More... | |
| void | DrawRectangle (CByteImage *pImage, const Rectangle2d &rectangle, int r, int g, int b, int thickness=1) |
| Draws a rectangle into a CByteImage. More... | |
Functions for drawing 2D primitives into images.
| void PrimitivesDrawer::DrawCircle | ( | CByteImage * | pImage, |
| float | mx, | ||
| float | my, | ||
| float | radius, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 , |
||
| bool | bAntiAlias = false |
||
| ) |
Draws a circle into a CByteImage.
The function is safe, i.e. it checks for image boundaries. Circle points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | mx | The x-coordinate of the center of the circle. |
| [in] | my | The x-coordinate of the center of the circle. |
| [in] | radius | The radius of the circle. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. |
| [in] | bAntiAlias | If set to true, anti-aliasing will be applied for drawing. |
Definition at line 417 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawCircle | ( | CByteImage * | pImage, |
| const Vec2d & | center, | ||
| float | radius, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 , |
||
| bool | bAntiAlias = false |
||
| ) |
Draws a circle into a CByteImage.
The function is safe, i.e. it checks for image boundaries. Circle points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
Internally, the function PrimitivesDrawer::DrawCircle(CByteImage*, float, float, float, int, int, int, int, bool) is called.
| [out] | pImage | The target image. |
| [in] | center | The center of the circle. |
| [in] | radius | The radius of the circle. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. |
| [in] | bAntiAlias | If set to true, anti-aliasing will be applied for drawing. |
Definition at line 539 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawCircle | ( | CByteImage * | pImage, |
| const Circle2d & | circle, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 , |
||
| bool | bAntiAlias = false |
||
| ) |
Draws a circle into a CByteImage.
The function is safe, i.e. it checks for image boundaries. Circle points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
Internally, the function PrimitivesDrawer::DrawCircle(CByteImage*, float, float, float, int, int, int, int, bool) is called.
| [out] | pImage | The target image. |
| [in] | circle | The circle representation. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. |
| [in] | bAntiAlias | If set to true, anti-aliasing will be applied for drawing. |
Definition at line 544 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawCross | ( | CByteImage * | pImage, |
| const Vec2d & | point, | ||
| int | length, | ||
| int | r, | ||
| int | g, | ||
| int | b | ||
| ) |
Draws a small cross into a CByteImage.
The cross consists of two line segments (a vertical and a horizontal one) of same size intersecting each other in the center of the cross.
The function is safe, i.e. it checks for image boundaries. Points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | point | The center of the cross. |
| [in] | length | The length of each of the two lines of the cross. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
Definition at line 615 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawEllipse | ( | CByteImage * | pImage, |
| const Ellipse2d & | ellipse, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 |
||
| ) |
Draws an ellipse into a CByteImage.
The function is safe, i.e. it checks for image boundaries. Ellipse points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | ellipse | This parameter specifies the location, orientation and shape of the ellipse. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. |
Definition at line 990 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawLine | ( | CByteImage * | pImage, |
| const PointPair2d & | line, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 |
||
| ) |
Draws a line segment into a CByteImage, given its two end points.
The function is safe, i.e. it checks for image boundaries. Line points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
Internally, the function DrawLine(CByteImage*, const Vec2d&, const Vec2d&, int, int, int, int) is called.
| [out] | pImage | The target image. |
| [in] | line | This parameter specifies the two end points of the straight line segment. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the line. |
Definition at line 298 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawLine | ( | CByteImage * | pImage, |
| const Vec2d & | p1, | ||
| const Vec2d & | p2, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 |
||
| ) |
Draws a line segment into a CByteImage, given its two end points.
The function is safe, i.e. it checks for image boundaries. Line points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | p1 | The first end point of the straight line segment. |
| [in] | p2 | The second end point of the straight line segment. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the line. |
Definition at line 201 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawLine | ( | CByteImage * | pImage, |
| const StraightLine2d & | line, | ||
| int | r, | ||
| int | g, | ||
| int | b, | ||
| int | thickness = 1 |
||
| ) |
Draws a line into a CByteImage, given its representation as StraightLine2d.
The function is safe, i.e. it checks for image boundaries. Line points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
Internally, the function PrimitivesDrawer::DrawLineNormal(CByteImage*, float, float, float, int, int, int) is called.
| [out] | pImage | The target image. |
| [in] | line | The line representation. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the line. |
Definition at line 610 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawLineNormal | ( | CByteImage * | pImage, |
| float | nx, | ||
| float | ny, | ||
| float | c, | ||
| int | r, | ||
| int | g, | ||
| int | b, | ||
| int | thickness = 1 |
||
| ) |
Draws a line into a CByteImage, given its parameters in normal form.
The equation of the straight line reads:
The function is safe, i.e. it checks for image boundaries. Line points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | nx | The x-component of the normal vector. |
| [in] | ny | The y-component of the normal vector. |
| [in] | c | If nx and ny are normalized, this parameter specifies the distance of the straight line to the origin in pixels. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the line. |
Definition at line 549 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawLinePolar | ( | CByteImage * | pImage, |
| float | theta, | ||
| float | r, | ||
| int | color_r, | ||
| int | color_g, | ||
| int | color_b, | ||
| int | thickness = 1 |
||
| ) |
Draws a straight line into a CByteImage, given its parameters in polar form.
The equation of the straight line reads:
.
The function is safe, i.e. it checks for image boundaries. Line points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
Internally, the function PrimitivesDrawer::DrawLineNormal(CByteImage*, float, float, float, int, int, int) is called.
| [out] | pImage | The target image. |
| [in] | theta | The angle of the normal to the line in radians. theta = 0.0f draws a vertical line. |
| [in] | r | The distance of the straight line to the origin in pixels. |
| [in] | color_r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | color_g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | color_b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the line. |
Definition at line 605 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPoint | ( | CByteImage * | pImage, |
| const Vec2d & | point, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 |
||
| ) |
Draws a point into a CByteImage.
The function is safe, i.e. it checks for image boundaries. If the point is outside the image, this function returns.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | point | The location of the point to be drawn. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
Definition at line 82 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPoint | ( | CByteImage * | pImage, |
| int | x, | ||
| int | y, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 |
||
| ) |
Draws a point into a CByteImage.
The function is safe, i.e. it checks for image boundaries. If the point is outside the image, this function returns.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | x | The x-coordinate of the point to be drawn. |
| [in] | y | The y-coordinate of the point to be drawn. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
Definition at line 87 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPointBlended | ( | CByteImage * | pImage, |
| const Vec2d & | point, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| float | blend = 1.0f |
||
| ) |
Draws a point into a CByteImage, with blending.
The function is safe, i.e. it checks for image boundaries. If the point is outside the image, this function returns.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | point | The location of the point to be drawn. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | blend | The parameter for adjusting the amount of blending. It must be 0.0f <= blend <= 1.0f. blend = 1.0f means that no transparency will be applied. |
Definition at line 116 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPointBlended | ( | CByteImage * | pImage, |
| int | x, | ||
| int | y, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| float | blend = 1.0f |
||
| ) |
Draws a point into a CByteImage, with blending.
The function is safe, i.e. it checks for image boundaries. If the point is outside the image, this function returns.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | x | The x-coordinate of the point to be drawn. |
| [in] | y | The y-coordinate of the point to be drawn. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | blend | The parameter for adjusting the amount of blending. It must be 0.0f <= blend <= 1.0f. blend = 1.0f means that no transparency will be applied. |
Definition at line 121 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPoints | ( | CByteImage * | pImage, |
| const CVec2dArray & | points, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 |
||
| ) |
Draws a list of points of type CVec2dArray into a CByteImage.
The function is safe, i.e. it checks for image boundaries. If the point is outside the image, this function returns.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | points | The list of type CVec2dArray, containing the points to be drawn. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
Definition at line 170 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPolygon | ( | CByteImage * | pImage, |
| const Vec2d * | pPoints, | ||
| int | nPoints, | ||
| int | r, | ||
| int | g, | ||
| int | b, | ||
| int | thickness = 1 |
||
| ) |
Draws a polygon into a CByteImage.
The provided points must build a polygon in the given order.
The function is safe, i.e. it checks for image boundaries. Polygon points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | pPoints | An array of points containing the points of the polygon in order. |
| [in] | nPoints | The number of points. Must be >= 3. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. The polygon will be closed if the first and last point are not equal. If set to -1 the polygon is filled, otherwise must be >= 1. |
Definition at line 954 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawPolygon | ( | CByteImage * | pImage, |
| const CVec2dArray & | points, | ||
| int | r, | ||
| int | g, | ||
| int | b, | ||
| int | thickness = 1 |
||
| ) |
Draws a polygon into a CByteImage.
The provided points must build a polygon in the given order.
The function is safe, i.e. it checks for image boundaries. Polygon points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
This is a convenience function calling DrawPolygon(CByteImage*, const Vec2d*, int, int, int, int, int);
| [out] | pImage | The target image. |
| [in] | points | The list of points containing the points of the polygon in order. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. The polygon will be closed if the first and last point are not equal. If set to -1 the polygon is filled, otherwise must be >= 1. |
Definition at line 976 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawRectangle | ( | CByteImage * | pImage, |
| const Rectangle2d & | rectangle, | ||
| int | r, | ||
| int | g, | ||
| int | b, | ||
| int | thickness = 1 |
||
| ) |
Draws a rectangle into a CByteImage.
The function is safe, i.e. it checks for image boundaries. Polygon points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | rectangle | The rectangle representation. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. The polygon will be closed if the first and last point are not equal. If set to -1 the polygon is filled, otherwise must be >= 1. |
Definition at line 1096 of file PrimitivesDrawer.cpp.
| void PrimitivesDrawer::DrawRegion | ( | CByteImage * | pImage, |
| const MyRegion & | region, | ||
| int | r = 255 , |
||
| int | g = 255 , |
||
| int | b = 255 , |
||
| int | thickness = 1 |
||
| ) |
Draws a rectangle into a CByteImage.
The function is safe, i.e. it checks for image boundaries. Rectangle points lying outside the image will not be drawn.
All types of CByteImage are supported (CByteImage::eGrayScale, CByteImage::eRGB24, CByteImage::eRGB24Split).
| [out] | pImage | The target image. |
| [in] | region | This parameter specifies the location and size of the rectangle. |
| [in] | r | The red component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | g | The green component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | b | The blue component (RGB) of the color to be used for drawing. It must be 0 <= r <= 255. |
| [in] | thickness | This parameter specifies the thickness of the lines. |
Definition at line 179 of file PrimitivesDrawer.cpp.


Educate developers about secure programming techniques.
Have the developers study the TeamMentor and TeamProfessor materials.


The `core` subproject contains the things needed by a dependent project. The entry point of the library is {@link name.rayrobdod.fightStage.BattleAnimation#buildAnimation}; all that method's inputs are its parameters, and it returns a Node and Animation which can be added to a Scene and played, respectively. The primary extension point is implementing {@link name.rayrobdod.fightStage.UnitAnimationGroup} and {@link name.rayrobdod.fightStage.SpellAnimationGroup} and providing those custom implementations in `buildAnimation`'s parameters.


Navbar
Home
Users
Projects
Tasks
Dropdown
Action
Another action
Something else here
Disabled
User
Username
Login
Logout
Hello, world!


I created these visualizations to show how different bikeshare systems perform. I accessed the data from each system's respective open data portal.
Graduated points show how much each station is used in relation to other stations in the system and graduated lines show the most popular trips in between stations. Bikes in these systems are not GPS-enabled so we cannot see where specifically each bike traveled between the origin and the destination. These visualizations, however, help paint a picture of travel patterns such as last-mile solutions to transit, recreational use around parks, and changes in use dependent on bicycle infrastructure quality.
These Carto maps are interactive so feel free to zoom in and out and to click on the points to find out station names and their respective use:


Eeprom values
MaxStepRate (steps/sec)
Acc
Dec
JerkSpeed
StepsPerMm1000 (steps/0.001mm)
Calculated values
Distance per Step (mm)
Steps per rotation
Distance per Rotation (mm)
Steps per mm
Estimated values
MaxStepRate (steps/sec)
MaxSpeed (mm/sec)
MaxSpeed (mm/min)
Acceleration (mm/sec^2)
Deceleration (mm/sec^2)
Distance acceleration 0 to MaxSpeed (mm)
Distance break MaxSpeed to 0 (mm)
EstimatedAcc
EstimatedDec
EstimatedJerkSpeed