GPXWaypointProtocol
public protocol GPXWaypointProtocol : GPXElement
Undocumented
-
Elevation of current point
Should be in unit meters (m)
Declaration
Swift
var elevation: Double? { get set }
-
Date and time of current point
Should be in Coordinated Universal Time (UTC), without offsets, not local time.
Declaration
Swift
var time: Date? { get set }
-
Magnetic Variation of current point
Should be in unit degrees (º)
Declaration
Swift
var magneticVariation: Double? { get set }
-
Geoid Height of current point
Should be in unit meters (m). Height of geoid, or mean sea level, above WGS84 earth ellipsoid
Declaration
Swift
var geoidHeight: Double? { get set }
-
Name of current point
Warning
- This attribute may not be useful, in schema context.
- This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var name: String? { get set }
-
Comment of current point
Warning
- This attribute may not be useful, in schema context.
- This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var comment: String? { get set }
-
Description of current point
Warning
- This attribute may not be useful, in schema context.
- This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var desc: String? { get set }
-
Source of data of current point
For assurance that current point is reliable
Declaration
Swift
var source: String? { get set }
-
Text of GPS symbol name
Warning
- This attribute does not appear to be useful due to
CoreLocation
API. - This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var symbol: String? { get set }
- This attribute does not appear to be useful due to
-
Type of current point
Declaration
Swift
var type: String? { get set }
-
Type of GPS fix of current point, represented as a number
- Supported Types: (written in order)
- None: No fix
- 2D: Position only
- 3D: Position and Elevation
- DGPS: Differential GPS
- PPS: Military Signal
Unknown fix should leave fix attribute as
nil
Warning
- This attribute may have limited usefulness due to
CoreLocation
API. - This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var fix: GPXFix? { get set }
- Supported Types: (written in order)
-
Number of satellites used to calculate GPS fix of current point
Declaration
Swift
var satellites: Int? { get set }
-
Horizontal dilution of precision of current point
Declaration
Swift
var horizontalDilution: Double? { get set }
-
Vertical dilution of precision of current point
Declaration
Swift
var verticalDilution: Double? { get set }
-
Position dilution of precision of current point
Declaration
Swift
var positionDilution: Double? { get set }
-
Age of DGPS Data
Number of seconds since last DGPS update
Warning
- This attribute may not be useful.
- This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var ageofDGPSData: Double? { get set }
-
DGPS’ ID
ID of DGPS station used in differential correction.
Warning
- This attribute may not be useful.
- This is carried over from GPX schema, to be compliant with the schema.
Declaration
Swift
var DGPSid: Int? { get set }
-
Latitude of current point
- Latitude value should be within range of -90 to 90
- Should be in unit degrees (º)
- Should conform to WGS 84 datum.
Declaration
Swift
var latitude: Double? { get set }
-
Longitude of current point
- Longitude value should be within range of -180 to 180
- Should be in unit degrees (º)
- Should conform to WGS 84 datum.
Declaration
Swift
var longitude: Double? { get set }


<dc.Panel Title="Panel with primary scope" Scope="Primary"> Panel Content </dc.Panel>

Panel with primary scope

Panel Content

<dc.Callout Title="Changing the icon font location">
Bootstrap assumes icon font files will be located in the ../fonts/ directory, relative to the compiled CSS files. Moving or renaming those font files means updating the CSS in one of three ways:

Change the @icon-font-path and/or @icon-font-name variables in the source Less files.

Utilize the relative URLs option provided by the Less compiler.

Change the url() paths in the compiled CSS.

Use whatever option best suits your specific development setup.
 </dc.Callout> <dc.Callout Title="Accessible icons" Scope="Warning">
Modern versions of assistive technologies will announce CSS generated content, as well as specific Unicode characters. To avoid unintended and confusing output in screen readers (particularly when icons are used purely for decoration), we hide them with the aria-hidden="true" attribute.

If you're using an icon to convey meaning (rather than only as a decorative element), ensure that this meaning is also conveyed to assistive technologies – for instance, include additional content, visually hidden with the .sr-only class.

If you're creating controls with no other text (such as a <button> that only contains an icon), you should always provide alternative content to identify the purpose of the control, so that it will make sense to users of assistive technologies. In this case, you could add an aria-label attribute on the control itself.
 </dc.Callout> <dc.Callout Title="Don't mix with other components" Scope="Danger">
Icon classes cannot be directly combined with other components. They should not be used along with other classes on the same element. Instead, add a nested  and apply the icon classes to the .
 </dc.Callout>

Changing the icon font location

Bootstrap assumes icon font files will be located in the ../fonts/ directory, relative to the compiled CSS files. Moving or renaming those font files means updating the CSS in one of three ways:

Change the @icon-font-path and/or @icon-font-name variables in the source Less files.

Utilize the relative URLs option provided by the Less compiler.

Change the url() paths in the compiled CSS.

Use whatever option best suits your specific development setup.

Accessible icons

Modern versions of assistive technologies will announce CSS generated content, as well as specific Unicode characters. To avoid unintended and confusing output in screen readers (particularly when icons are used purely for decoration), we hide them with the aria-hidden="true" attribute.

If you're using an icon to convey meaning (rather than only as a decorative element), ensure that this meaning is also conveyed to assistive technologies – for instance, include additional content, visually hidden with the .sr-only class.

If you're creating controls with no other text (such as a <button> that only contains an icon), you should always provide alternative content to identify the purpose of the control, so that it will make sense to users of assistive technologies. In this case, you could add an aria-label attribute on the control itself.

Don't mix with other components

Icon classes cannot be directly combined with other components. They should not be used along with other classes on the same element. Instead, add a nested  and apply the icon classes to the .

Bootstrap assumes icon font files will be located in the ../fonts/
directory, relative to the compiled CSS files. Moving or renaming those font files means updating the CSS in one of three ways:
@icon-font-path
and/or @icon-font-name
variables in the source Less files.url()
paths in the compiled CSS.Use whatever option best suits your specific development setup.
Modern versions of assistive technologies will announce CSS generated content, as well as specific Unicode characters. To avoid unintended and confusing output in screen readers (particularly when icons are used purely for decoration), we hide them with the aria-hidden="true"
attribute.
If you're using an icon to convey meaning (rather than only as a decorative element), ensure that this meaning is also conveyed to assistive technologies – for instance, include additional content, visually hidden with the .sr-only
class.
If you're creating controls with no other text (such as a <button>
that only contains an icon), you should always provide alternative content to identify the purpose of the control, so that it will make sense to users of assistive technologies. In this case, you could add an aria-label
attribute on the control itself.
Icon classes cannot be directly combined with other components. They should not be used along with other classes on the same element. Instead, add a nested
and apply the icon classes to the
.


A New Medium
Oct 9, 2015
This essay was written about Flash animation I completed in November 2013, during my first year of college. I later won first place in the state for Best Multimedia Package from the N.C. College Media Association. Although the project isn't advanced enough to have a spot in my portfolio, it is what led me to pursue interactive programming.
Journalism was at first to me an excuse to write, and investigate curiosities, and write more.
But during my first year of college, I was a political reporter for the Daily Tar Heel, and I learned that writing wasn’t the only tool at my disposal for storytelling. That in fact, for certain stories, merely writing about it wasn’t strong enough to get readers’ attentions.
My first semester I was assigned a beat for the Association of Student Governments — essentially a mini Board of Governors composed of student leaders in the UNC system. Every second Saturday of the month I would travel to a different school and sit in on six-hour-long meetings that started to blur together.
At one point I was sitting in the office writing another “meeting story,” trying to take a different angle on it, and realizing that if I wasn’t the one writing this, there’s no way I would read it. With an election coming up that would determine the University’s standing with the Association, I wanted to reach out to as many students as I could to inform them before the vote.
So I worked through the night, teaching myself Adobe Flash, writing a script and creating graphics for an animation that I’d hoped would grab the attention of our readers.
When I showed the animation to my editor the next morning, the results were immediate and powerful. The newsroom was abuzz: a reporter stepping out of the writing realm? Making? Online? Things?
It was perhaps expected that my story didn’t get a lot of views, and voter turnout was just about as low as was expected. I was too fresh into the realm of interactive graphics to know what I was doing. (I used Flash, which probably says enough about my knowledge of such things at the time).
And so I knew what I had to do. I started taking design and coding classes through the J School and the Computer Science department. The people I met had the same goal that I did: to figure out how to revolutionize the traditional daily paper digitally.
At the DTH, in other small papers, and even in reporting classes, we’re still struggling against a culture that has built a wall between the reporters and the designers, photographers, and those of us who are “web people.”
But I know, from the classes I’ve taken and the conferences I’ve gone to and the experiences I’ve had, that we need not new stories, but new mediums to tell those stories that need to be heard.


Blog Entries
About me
Projects
Blog
Contact
Week 1: Version Control and Git
Week 1: Chef's Kitchen
Week 2: CSS
Week 3: Arrays and Hashes
Week 3: Thinking styles
Week 4: Enumerable Methods
Week 4: Tech Issues
Week 5: Ruby Classes
Week 5: Feedback
Week 6: Object Oriented Programming
Week 6: Stereotype Threat
Week 7: JavaScript
Week 7: Values
Week 8: Rails
Week 8: Conflicts


Welcome to the ChatClient implementing WebSockets
Introduce your username:
Introduce the text you want to send:
Usuaris:


$def with (model)
This browser does not support PDFs. Please download the rules to view them Contest Rules.


'Chair girl' pleads guilty to mischief endangering life
by Kayla Goodfield, Multi-Platform Writer, CTV News TorontoTORONTO – A 19-year-old woman who threw a chair off a downtown Toronto high-rise balcony over a busy highway earlier this year has pleaded guilty to mischief endangering life.
Marcella Zoia arrived at Old City Hall through a back entrance just before 10 a.m. on Friday wearing all black and large sunglasses.
She then entered a courtroom and pleaded guilty to a February incident that was caught on camera and shared widely online.
The video showed a young woman launch a chair off a balcony over a busy highway.
Following the mass-circulation of the video, Toronto police urged the woman to come forward and identify herself.
A few days later, Zoia turned herself in to officials.
She was subsequently charged with mischief endangering life, mischief endangering property under $5,000 and common nuisance.
Following her guilty plea to the one charge on Friday morning, her lawyer Gregory Leslie told reporters the young woman was “remorseful.”
“This was the first step – I think this was a necessary step, her guilty plea – that does show that she is remorseful for her actions,” he said.
“We could have gone to trial, in fact there were issues that allowed us to go to trial but the video is the video so based on that she entered a plea of guilty.”
When asked what “issues” he was referring to, Leslie said he could not comment further.
Her lawyer confirmed that the two additional charges she was facing will be dropped at a later date.
Leslie said his client has “learned and matured” from this matter.
“She is a young lady who made a mistake,” he said. “When you deal with persons her age we look at, one of the possibilities, or one of the factors that the judge has to examine is the issue of rehabilitation and she is, in my opinion, already a changed woman and she will be doing much better.”
Crown is seeking jail time
Leslie said the Crown is asking for Zoia to serve jail time, but he thinks this is a step too far.
“Of course it’s a possibility,” he said. “It’s anywhere between a suspended sentence, which we want, to up to six months in jail.”
“She understands that’s a possibility.”
According to Leslie, a suspended sentence would include Zoia being put on probation with undetermined conditions for an unknown period of time.
Leslie said his client is suffering from anxiety “as a result of this.”
“When anybody is facing jail time, especially a young lady like this, she understands the severity and the consequences of what she has done.”
Not allowed to return to school
Back in March, Leslie told reporters that his client had been expelled from the dental hygiene program she was previously enrolled in.
At the time, Leslie called the expulsion “unfortunate,” but added that it was “a hard lesson.”
On Friday, Leslie confirmed Zoia has not been allowed to return to school since then and said she is currently not working.
“There was a job opportunity that she had and a decision was made not to proceed with that,” he said outside of the courthouse. “Right now she does modelling when the opportunity presents itself.”
“She was doing modeling before this and she has had contracts since this. If you are asking me if those contracts were a result of this case, I honestly have no idea.”
A sentencing hearing in the case is expected to take place on Jan. 14.


Unpublish an existing service published by this application.
Create an instance of UnpublishAppService with the serviceID that corresponds with the service to be unpublished
- (nonnull instancetype)initWithServiceID:(nonnull NSString *)serviceID;
init(serviceID: String)
The ID of the service to be unpublished.
The ID of the service to be unpublished.
Required, String
@property (nonatomic, strong) NSString *_Nonnull serviceID;
var serviceID: String { get set }


☰
Zodiac sign
×
January
February
March
April
May
June
July
August
September
October
November
December


There is a video version of this tutorial on the homepage.
The first step in setting up a Mail-in-a-Box is to pick your new email address. An email address has two parts. The part after the @-sign is the domain name.
Josh’s email address is @occams.info. His domain name is occams.info
.
Some domain names have quirks, depending on which “top-level domain” (TLD) it is under. Please consult this list:
Next you will register your new domain name. It’s about $17/year, depending on the TLD. Buy basically anything you want, taking into account the TLD recommendations above. This will be the start of your new identity.
I recommend you use Gandi.net to register your domain name because I know it works well for Mail-in-a-Box. You can use other domain name registrars besides Gandi, but support for DNSSEC is not good everywhere. (DNSSEC is an optional security feature on Mail-in-a-Box. It’s nice to have but things will work just fine without it.)
Not all TLDs support DNSSEC either. If you will use Gandi, you should check their list of TLDs that support DNSSEC. For a more complete list of TLDs and their DNSSEC support, see ICANN Research TLD DNSSEC Report.
After you buy the domain name you’ll need to set it up, but that comes later so keep reading. Note that a Mail-in-a-Box box can handle the email for multiple domain names too — more on that later.
Every machine connected to the Internet has a name and an address.
The address, an IP address, is like a telephone number. It’s made up of numbers and is assigned to you by whoever provides Internet access to your mail server (that’s coming in the next section).
The name — called a hostname — is something you decide. It can be a domain name you own or any “subdomain” of a domain you own.
For your Mail-in-a-Box, we recommend naming your box box
+ .
+ your domain name.
Josh’s Mail-in-a-Box is named box.occams.info
. This is its hostname.
Your Mail-in-a-Box may handle the email for multiple domain names, but the box has a single name.
Your box’s name CANNOT be a domain name that you intend to serve a website on from another web hosting service. We strongly suggest using a subdomain like box
, as in the example above, so that you are able to use the main domain name for a website hosted from another web hosting service if you choose.
Now you will rent a machine, or a virtual part of a machine, somewhere in “the cloud.” We’ll call this machine your box. We recommend going over to Linode, 1&1, or Rimuhosting.com. (Most cloud providers will do, but not Amazon Web Services because its network is often blocked to prevent users from sending spam.)
You must choose the Ubuntu 22.04 x64 (server edition)
operating system and a machine with at least 512 MB of RAM. This setup currently costs around $5/month, depending on which provider you choose. We recommend you to use a box with 1 GB of RAM which costs around $10/month.
If you choose Digital Ocean, your machine is called a “droplet” and you must name your droplet the same as its hostname.
Josh’s droplet would be named box.occams.info
(if Josh used Digital Ocean).
If you have a choice, choose a location for your machine that is near you — it’ll be faster! And if disabling IPv6 is an option, disable it.
Each cloud provider will have different instructions for setting up “reverse DNS.” You must follow your cloud provider’s instructions for setting the reverse DNS of your box to your box’s hostname.
If you are using Digital Ocean, your reverse DNS is already done. (They automatically set it to what you entered as your droplet’s name, which per the instructions above was your box’s hostname.) Linode’s instructions are here, but you may not be able to set the reverse DNS on Linode until after you have finished the rest of this guide (Linode only accepts reverse DNS changes once the forward DNS is working, which your box will handle by the end of this guide). 1&1’s instructions are here.
Josh’s box’s reverse DNS is set to the same as the box’s hostname: box.occams.info
.
Your cloud provider will also now tell you the IP address of your machine. It looks like <IP_ADDRESS>.
Josh’s box’s IP address is <IP_ADDRESS>
.
Sometimes you might be assigned an IP address that is on a spam block list. You may wish to use a tool such as MXToolbox to ensure your IP address is not on these block lists. If you find your assigned IP is on a blacklist, you might have luck requesting a "clean" IP from your provider, or creating a new host if you're using a VPS service.
If your machine is behind a hardware firewall (or virtual equivalent, such as an AWS security group), ensure that the following ports are open: 22 (SSH), 25 (SMTP), 53 (DNS; must be open for both tcp & udp), 80 (HTTP), 443 (HTTPS), 465 (SMTP submission), 993 (IMAP), 995 (POP) and 4190 (Sieve). It doesn’t hurt to block other ports, but your box will take care of that itself by configuring a software firewall on the machine itself.
We’ll now go back to your domain name registrar to associate your domain name with your box’s IP address. This has two parts: glue records and nameservers.
Advanced Usage with External DNS: If you are using an external DNS provider, e.g. if you already have a website on your domain name, you may skip this section. However, we recommend that you continue and let your box take over your DNS so that it can set it up securely and correctly for email. If you choose to skip this section, pay special attention to “System status & DNS” toward the end.
The association between your domain name and IP address is . . . complicated. The domain name system (DNS) is a global, distributed network of machines that turn domain names into IP addresses. Your registrar and your box play a role in the domain name system.
The way this works varies from registrar to registrar, but it goes something like this:
First, you’ll create two “glue records.” The purpose of glue records is to say that your box is becoming a part of the domain name system. These records go by different names at different registrars, so also look out for “hostnames” or “child nameservers.”. This will not be found in a DNS control panel. [Gandi instructions | GoDaddy instructions]
A glue record consists of a hostname and an IP address. You will need two: ns1.
+ your box’s hostname and ns2.
+ your box’s hostname. (They stand for “nameserver one” and “nameserver two”.) For the IP address, enter the IP address of your box.
Josh’s box’s hostname is box.occams.info. The two glue records are for ns1.box.occams.info
and ns2.box.occams.info
and list the box’s IP address of <IP_ADDRESS>
.
It looks something like what’s shown here:
Your registrar may ask you to enter these hostnames with the domain name part omitted, as mine did in this case. If so, enter the part of the hostname up to the domain name.
Josh’s domain name is occams.info. The two glue hostnames are ns1.box.occams.info
and ns2.box.occams.info
, but his registrar asks him to enter them with “.occams.info” omitted leaving just ns1.box
and ns2.box
.
If your Mail-in-a-Box is handling mail for multiple domains, you only do glue records once (for your first domain name). Additional domain names skip this step.
Some domain name TLDs and some registrars will require that you enter two glue records with different IP addresses. That won’t work for Mail-in-a-Box’s typical setup since your machine will only have one IP address. You can either set up secondary DNS servers to get around this limitation (it’s not hard, but it’s more work), or use a different domain name under a different TLD or a different registrar.
If you are using Namecheap, check out this comment on how to enter the information in their control panel.
Advanced Usage with External DNS: If you skipped the previous section, you will skip this one too and follow your external DNS provider’s instructions instead. If you skip this section, pay special attention to “System status & DNS” toward the end.
Now you’ll tell your domain registrar that your domain name’s nameservers are ns1.
+ your box’s hostname and ns2.
+ your box’s hostname.
You will usually be turning off the registrar’s provided nameservers and turning on custom servers. This is usually not found in the domain name’s DNS control panel. You will be disabling that control panel.
Here’s what that looks like in my registrar:
Don’t worry if you are confused about what this all means. It is complicated — we all get confused at this point.
If you add another domain name to your box later, this section is repeated for each domain name you associate with your box. All domain names on the box will use the exact same two nameservers. So if you used ns1.yourdomain.com
for your first domain, use exactly the same thing for your second domain name. (You do NOT use ns1.yourseconddomain.com
, etc.)
DNSSEC adds a security layer on top of DNS, in the same way that HTTPS adds a security layer to HTTP. It is not necessary, but it is recommended. When enabled, mail between Mail-in-a-Boxes will always be encrypted.
Your box’s control panel will tell you to come back to your domain name registrar at the end to configure the DNSSEC DS record. It’s not something the box can set up on its own, but you also can’t configure it until after the box itself is set up — so you will come back to this.
You will now have to log into your running box using SSH. Your cloud provider will probably give you some instructions on how to do that. If your personal computer has a command line, you'll be doing something like this:
ssh -i yourkey.pem<EMAIL_ADDRESS>Once inside, you will now get the Mail-in-a-Box code onto your box and start its setup. Copy and paste this into your terminal and hit
curl -s https://mailinabox.email/setup.sh | sudo -E bash
Advanced: To change the default location where Mail-in-a-Box stores all of its data, you can set an environment variable named 'STORAGE_ROOT' before running the setup script.
export STORAGE_ROOT=/your/desired/path
You will be asked to enter the email address you want and a few other configuration questions. At the end you will be asked for a password for your email address.
This password will be used to login to webmail, the administrative interface, and on your devices. It will not be used to log onto your Mail-in-a-Box server using SSH (that’s what you did above).
It is always safe to re-run the setup, either because something went wrong or you just want to see it again. You can do so by following two the steps above again or just running sudo mailinabox
from the command line.
When it comes time to update to a newer release of Mail-in-a-Box, you’ll literally just run the above two commands again (ssh ...
and then curl ...
, as above) on your existing machine.
When the setup script is done running, you’ll been given instructions on how to access your box’s web-based administrative control panel:
Your Mail-in-a-Box is running. Please log in to the control panel for further instructions at: https://<IP_ADDRESS>/admin You will be alerted that the website has an invalid certificate. Check that the certificate fingerprint matches: C0:9B:FF:04:2B:2D:8F:47:5A:8B:D5:88:B7:05:D3:4B:6C:22:80:5F
Your SSL certificate is not yet signed so you will get a security warning when you visit the administrative URL. There is a way to proceed securely if you use Mozilla Firefox.
The page will then load securely.
You can also get a signed SSL certificate later (see below) so you don’t have to go through these steps.
Log in to the administrative control panel with the email address and password that you provided during Mail-in-a-Box’s setup. Proceed to the System Status Checks.
These checks will guide you toward finishing your setup:
The control panel will check if your DNS is set up correctly. Things related to the domain name system sometimes take several minutes, or much longer, to update. This is called DNS propagation. Wait for the control panel to report no DNS problems — reload the page every 15 minutes or so. If problems persist, something went wrong.
DNSSEC is an optional step that adds additional security to DNS. The control panel will walk you through setting up DNSSEC as well. You will need to go back to your domain name registrar and enter additional information.
If you skipped the DNS settings earlier, you should now go to the DNS (Custom/External) > External DNS section of the control panel and copy the DNS records into your own DNS control panel.
Use the TLS Certificates page of the control panel to provision a free TLS (SSL) certificate from Let’s Encrypt. If you don't want to use Let's Encrypt, you can also add any other certificate and import it in the box. The box will help you by generating a private key. Just follow the instructions given in the control panel.
The administrative control panel will provide instructions for how to check your email with webmail, IMAP/SMTP, or Exchange/ActiveSync.
You can also add or remove additional email accounts and mail aliases (forwarders).
Here you can configure backups, and get an overview of what has been backed up to date. Backups are encrypted, and are therefore safe to store anywhere you like.
By default, backups are stored on the box. You can also configure rsync to copy those local backups to another server, or store backups entirely on Amazon S3, or another compatible service (e.g. DigitalOcean Spaces). With S3, no backups are stored locally, preserving some disk space on the box.
However you store your backups, you must copy the encryption password file described on the Backup Status screen somewhere safe! Backups cannot be decrypted without the backup key!
The administrative control panel also helps you with...
Follow @Mailinabox on Twitter so you know when we post any updates to Mail-in-a-Box.
Check your box’s control panel periodically to see that the System Status Checks report everything is OK. Your box will also automatically email you whenever anything changes in the status checks.
Remember that it is always safe to re-run the setup script by typing sudo mailinabox
at the SSH terminal prompt.
Finally, consult the Maintenance Guide for further questions.
If you want to double-check that your system is configured correctly, here are some tools:


Useful commands¶
Here we list some useful methods that can be applied to a CQCConnection
object or a qubit
object below.
CQCConnection
¶
The CQCConnection
is initialized with the name of the node (string
) as an argument.
sendQubit(q,name)
Sends the qubit q (qubit
) to the node name (string
).Return:
None
.recvQubit()
Receives a qubit that has been sent to this node.Return:
qubit
.createEPR(name)
Creates an EPR-pair \(\frac{1}{\sqrt{2}}(|00\rangle+|11\rangle)\) with the node name (string
).Return:
qubit
.recvEPR()
Receives qubit from an EPR-pair created with another node (that calledcreateEPR
).Return:
qubit
.sendClassical(name,msg)
Sends a classical message msg (int
in range(0,256) or list of suchint``s) to the node name (``string
). Opens a socket connection if not already opened.Return:
None
.startClassicalServer()
Starts a server that can receive classical messages sent bysendClassical
.Return
None
.recvClassical()
Receives a classical message sent by another node bysendClassical
.Return
bytes
.
qubit
¶
Here are some useful commands that can be applied to a qubit
object.
A qubit
object is initialized with the corresponding CQCConnection
as input and will be in the state \(|0\rangle\).
X()
,Y()
,Z()
,H()
,K()
,T()
Single-qubit gates.Return
None
.rot_X(step)
,rot_Y(step)
,rot_Z(step)
Single-qubit rotations with the angle \(\left(\mathrm{step}\cdot\frac{2\pi}{256}\right)\).Return
None
.CNOT(q)
,CPHASE(q)
Two-qubit gates with q (qubit
) as target.Return
None
.measure(inplace=False)
Measures the qubit and returns outcome. If inplace (bool
) then the post-measurement state is kept afterwards, otherwise the qubit is removed (default).Return
int
.


Header element inside article
header
element test

header element

Header element inside article

Header element inside article

aria-label
Aria-label should be used as accessible name.
No accessible description.

Aria-label should be used as accessible name.

aria-labelledby
Aria-labelledby should be used as accessible name.
No accessible description.

h1 referenced by aria-labelledby

Aria-labelledby should be used as accessible name.

title
attribute.Title should be used as accessible name.
No accessible description.

Title should be used as accessible name.

aria-describedby
Aria-describedby should be used as accessible description.
No accessible name.

h1 referenced by aria-describedby

Aria-describedby should be used as accessible description.

aria-label
& title
attributesAria-label should be used as accessible name.
Title should be used as accessible description.

Aria-label should be used as accessible name.

Title should be used as accessible description.


date2timeperiod.Rd
This function assigns dates to timeperiods a nessecary step for methods that use time periods rather than dates, such as Frescalo and Telfer
date2timeperiod(Date, time_periods)
| Date | Either a vector of dates or a 2 column data.frame where the first column is the start date and the second column is the end date. |
|---|---|
| time_periods | A data.frame with two columns, the first column gives the start year of each time period and the second column gives the end year. These year ranges are inclusive. |
A vector, the same length as date giving the time periods. Time period 1 is the time period with the earliest start year, 2 with the second earliest start year and so on. If the dates don't fit in a time period or overlap a time period they are given an NA value
# Create data n <- 15000 #size of dataset nyr <- 20 # number of years in data nSamples <- 100 # set number of dates nSites <- 50 # set number of sites # Create somes dates first <- as.Date(strptime("1980/01/01", "%Y/%m/%d")) last <- as.Date(strptime(paste(1980+(nyr-1),"/12/31", sep=''), "%Y/%m/%d")) dt <- last-first Date <- first + (runif(nSamples)*dt) # Create time periods dataframe time_periods <- data.frame(start=c(1980,1990),end=c(1989,1999)) # Create time periods column using a vector tps <- date2timeperiod(Date = Date, time_periods = time_periods) # Create time periods column using a data.frame tps <- date2timeperiod(Date = data.frame(start = Date, end = (Date+100)), time_periods = time_periods)


Quicksort Is Optimal for Many Equal Keys
In this paper, I give the first analysis of Quicksort with median-of-$k$ pivot sampling on inputs with equal elements. I presented this result at ANALCO 2018; the slides are available on slideshare.net.
I also presented the main result at the informal AofA meeting 2017, see AofA slides.
The result settles—under some restrictions—a long-standing open problem, the Sedgewick-Bentley conjecture, posed in two talks by Robert Sedgewick:
Median-of-$k$ Quicksort with fat-pivot partitioning has asymptotically optimal average behavior on any randomly ordered input up to a constant factor, and that factor converges to 1 as $k\to\infty$.
(New research on the theory and practice of sorting and Quicksort is Optimal)
Fat-pivot partitioning means that we split the input into three segments: elements strictly smaller than the pivot, strictly larger than the pivot, and equal to the pivot. Hence all duplicates of the pivot are removed from recursive calls.
Input Model: Many Duplicates
The input model are random permutations of fixed multisets, i.e., there are $u$ different values occurring exactly $x_1,\ldots,x_u$ times in the input. For this general setting, no progress has been made since Sedgewick’s seminal 1977 paper.
I therefore restrict the inputs to allow only those that have “many duplicates”: every of the $u$ distinct values appears $\Omega(n^\varepsilon)$ times in expectation for some constant $\varepsilon>0$.
Having many duplicates is arguably the most relevant scenario for studying how Quicksort performs:
- This is the setting that differs most from the classic distinct-keys case.
- It is the setting that seems to suggest the use of tailor-based methods, so that the result that the general-purpose Quicksort performs just as good is most interesting.
I have no reason to believe that the below result is not true for the unrestricted case, but there are several technical reasons why the restriction is hard to drop.
The result
In a nutshell, we find that Quicksort needs asymptotically at most a factor $\alpha_k = \ln(2) / (H_{k+1} - H_{(k+1)/2})$ more comparisons than needed by any comparison-based method to sort a random multiset permutation with many duplicates.
The key idea is to consider a related input model where each value is drawn i.i.d. (independent and identically distributed) from a distribution with probability weights $\mathbf q = (x_1/n,\ldots,x_u/n)$.
Step 1: Separating n and q
The first ingredient for the analysis is a separation theorem that expresses Quicksort’s cost as $a_{\mathbf q} n \pm O(n^{1-\varepsilon})$.
A form of this theorem is already given in my dissertation (Theorem 8.16) for the general case of $s$-way Quicksort with generic one-pass partitioning. In my dissertation, I used a stronger many-duplicates assumption, but for this step it can be generalized. The ANALCO paper gives the detailed proof for median-of-$k$ Quicksort on $n$ elements drawn i.i.d. from any discrete distribution $\mathbf q$.
Step 2: Path Length of Fringe-Balanced Trees with duplicates
The term $a_{\mathbf q}$ corresponds to the average search costs in a fringe-balanced search tree built from inserting $\mathbf q$ distributed values until the tree contains all $u$ possible values.
Fringe-balanced trees are the search-tree equivalent of median-of-$k$ Quicksort: Leaves collect up to $k$ elements before a new internal nodes is created, which then get the median of the $k$ collected elements as label. That way, the bottommost subtrees, i.e., those at the fringe of the tree, have more balanced splits than in an ordinary search tree.
We can show that $a_{\mathbf q}$ is $\alpha_k$ times the entropy of $\mathbf q$ in an asymptotic sense (unless the distribution becomes degenerate, i.e., the entropy is bounded by a constant). That result might be of independent interest.
Step 3: Translating between the models
These two steps together imply the main result for i.i.d. inputs with many duplicates. We can transfer them back to an upper bound for the multiset model.
General Case for Discrete Uniform Inputs
In the general setting for multiway Quicksort, an explicit expression for $a_{\mathbf q}$ is still to be found, although it is naturally to conjecture a similar entropy-bound as above.
For the special case of a discrete uniform distribution in $ \lbrace 1,\ldots,u \rbrace $, I found a general asymptotic solution in my dissertation (Theorem 8.17) that even applies to more cost measures than comparisons. This case is particularly nice in that—under the many duplicates assumption—the costs for Quicksort have the same form as for random permutations, only with $\ln(n)$ replaced by $\ln(u)$.
I presented this part of the analysis in Dagstuhl, see the slides on slideshare.


Indvidioucious settings:
URL of the Invidious server invidio.us 🇺🇸fi.invidious.snopyta.org 🇫🇮de.invidious.snopyta.org 🇩🇪vid.wxzm.sx 🇳🇱invidious.kabi.tk 🇫🇮invidiou.sh 🇳🇱no.invidiou.sh 🇳🇴invidious.enkirton.net 🇩🇪tube.poal.co 🇺🇸invidious.13ad.de 🇩🇪
Server URL override (This overrides the selected instance.)
Dark mode
Thin mode
Always loop
Autoplay
Autoplay next video
Audio only
Quality DASHhd720MediumSmall (DASH sets the bitrate dynamically)
Language ardeen-USeseufritnb_NOnlplru
Proxy video (Prevent connections to youtube/google. This may not be available on every Invidious instance.)
Other arguments (&xxx=yyy&aaa=bbb) (This only works with cookie mode disabled.)
Cookie mode (Sends a cookie header instead of url arguments.)
Important:
Invidioucious does not store an actual cookie. If you need to log in on Invidious you need to disable cookie mode.
Sometimes Invidous connects to youtube/googlevideo servers even if the proxy mode is enabled. If you want to make sure Firefox is not talking to those servers you should use some sort of personal firewall or an extension like uMatrix/uBlockO.


Media Markup
| Id | Job Id | Pipeline | Output Path | Source Medium | View | Download |
|---|
This view will display the path of the source medium and the marked up output path of any media processed using a pipeline that contains a markup action. The table can be refreshed with the "Refresh" button below.
| Id | Job Id | Pipeline | Output Path | Source Medium | View | Download |
|---|


Welcome to U-KNEADA PIZZA!
Select your pizza size:
Large
Medium
Small
Pepper
Mushroom
Sausage
Pepperoni
Onion
Anchovy
Submit


Class: Map(…)
Description:
This is the main ReClassMap object that compiles all the python node descriptions and translates them into *.reclass XML schema. Invoking the write() function will cause the Map engine to elaborate all assigned node classes and their children nodes
Constructor Arguments:
· file = [string, filepath to write *.reclass file]
Object Functions:
· add_class(cls)
o This function adds a Class() object into the class directory for this Map() object
o No return value
· Class(<Class() Constructor Arguments>)
o This function creates a Class() object and associates it to this Map() object
o Return: the Class() object created
o Note: this is just a faster way to create and associate a Class() object
· write(hidepad=0,custompad=0)
o This function causes the Map engine to elaborate all assigned node classes and their children nodes. The result is a *.reclass 2016 XML payload that is saved to the path specified by file
o No return value
o Argument hidepad accepts int 0 or 1 (default 0). This tells the elaboration engine to mark all generated pad as hidden from the user
o Argument custompad accepts int 0 or 1 (default 0). This tells the elaboration engine to use Custom() node objects instead of Hex*() node object to model as padding
Class: Class(…)
Description:
This ReClassMap object models a Class nodetype in ReClass. An instance can be generated by the Map() object for a 1-line create and associate. The Class object is a special node type in charge of keeping track of all children node objects. Class objects allow for assignment into its memory map using indexing and will autopad undefined memory.
Constructor Arguments:
· name = [string, the name of this node]
· offset = [int, optional, default=0, specify a static offset for this class]
· size = [int, optional, default=0, specify a size for this class node to pad to]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
· empty = [bool, optional, default=False, used internally to mark this class node as an auto generated node (do not use)]
Object Functions:
· The most used functions of this object is the index assignment overload. All other node class object get associated in the Class memory map by leveraging these overloaded functions
Class: Hex64(…)
Description:
This node type object creates and models an nt_hex64 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Hex32(…)
Description:
This node type object creates and models an nt_hex32 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Hex16(…)
Description:
This node type object creates and models an nt_hex16 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Hex8(…)
Description:
This node type object creates and models an nt_hex8 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Int64(…)
Description:
This node type object creates and models an nt_int64 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Int32(…)
Description:
This node type object creates and models an nt_int32 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Int16(…)
Description:
This node type object creates and models an nt_int16 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Int8(…)
Description:
This node type object creates and models an nt_int8 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Qword(…)
Description:
This node type object creates and models an nt_uint64 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Dword(…)
Description:
This node type object creates and models an nt_uint32 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Word(…)
Description:
This node type object creates and models an nt_uint16 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Byte(…)
Description:
This node type object creates and models an nt_uint8 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Bits(…)
Description:
This node type object creates and models an nt_bits ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Double(…)
Description:
This node type object creates and models an nt_double ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Float(…)
Description:
This node type object creates and models an nt_float ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Int64(…)
Description:
This node type object creates and models an nt_int64 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Ascii(…)
Description:
This node type object creates and models an nt_text ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Unicode(…)
Description:
This node type object creates and models an nt_unicode ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Pchar(…)
Description:
This node type object creates and models an nt_pchar ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Pwchar(…)
Description:
This node type object creates and models an nt_pwchar ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Vec2(…)
Description:
This node type object creates and models an nt_vec2 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Vec3(…)
Description:
This node type object creates and models an nt_vec3 ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Vec4(…)
Description:
This node type object creates and models an nt_quat ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Matrix(…)
Description:
This node type object creates and models an nt_matrix ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Custom(…)
Description:
This node type object creates and models an nt_custom ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Functionptr(…)
Description:
This node type object creates and models an nt_functionptr ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Pointer(…)
Description:
This node type object creates and models an nt_pointer ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object. This object must associate with an existing Class() object through the use of the classname argument. If the classname specified is not found then the elaboration engine will generate one for it to associate to.
Constructor Arguments:
· classname = [string, the name of the Class object to associate to]
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Instance(…)
Description:
This node type object creates and models an nt_instance ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object. This object must associate with an existing Class() object through the use of the classname argument. If the classname specified is not found then the elaboration engine will generate one for it to associate to.
Constructor Arguments:
· classname = [string, the name of the Class object to associate to]
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Array(…)
Description:
This node type object creates and models an nt_array ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object. This object must associate with an existing Class() object through the use of the classname argument. If the classname specified is not found then the elaboration engine will generate one for it to associate to.
Constructor Arguments:
· classname = [string, the name of the Class object to associate to]
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Vtable(…)
Description:
This node type object creates and models an nt_vtable ReClass node. This object has no public functions and is meant to be assigned into a memory index of a Class() object. This object keeps a directory of virtual function objects. Like the Class() object you can assign a Vfunc() object to it by indexing into the object at a specific virtual function number. Virtual functions which are not defined will be auto generated by the elaboration engine
Constructor Arguments:
· name = [string, the name of this node]
· comment = [string, optional, default=””, specify an inline ReClass comment for this node]
Class: Vfunc(…)
Description:
This object is not a node object but a virtual function object declaration. This object has no public functions and is meant to be assigned into a virtual function index of a Vtable() object
Constructor Arguments:
· name = [string, the name of this virtual function]
· comment = [string, optional, default=””, specify an inline ReClass comment for this virtual function]


{% extends "prose.html" %} {% block title %}Biolookup Service Downloads{% endblock %} {% block content %}
The content of the Biolookup Service's underlying database is broken into several pieces:
The names dataframe has three columns: prefixes, identifiers, and names.
The species dataframe has three columns: prefixes, identifiers, and species denoted with NCBI taxonomy identifiers.
The definitions dataframe has three columns: prefixes, identifiers, and text descriptions.
The alternative identifiers dataframe has three columns: prefixes, identifiers, and alternative identifiers.
The synonyms dataframe has three columns: prefixes, identifiers, and synonyms.
The cross-references dataframe has five columns: prefixes, identifiers, xref prefix, xref identifier, and
source.
The cross-references dataframe has six columns: prefixes, identifiers, relation prefix, relation identifier,
target prefix, and target identifier.


| Class | Description |
|---|---|
| GetClassAnnotation |
Purpose
This test verifies the behavior of the public String getClassAnnotation(Class cl)
method of thenet.jini.loader.pref.PreferredClassProvider
class. |
| GetClassLoader |
Purpose
This test verifies the behavior of the public ClassLoader getClassLoader(String codebase)
throws MalformedURLException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Returns a class loader that loads classes from the given codebase URL path. |
| GetClassLoaderMalformedURLException |
Purpose
This test verifies the behavior of the public ClassLoader getClassLoader(String codebase)
throws MalformedURLException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Returns a class loader that loads classes from the given codebase URL path. |
| GetClassLoaderSecurityException |
Purpose:
Purpose
This test verifies the behavior of the public ClassLoader getClassLoader(String codebase)
throws MalformedURLException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Returns a class loader that loads classes from the given codebase URL path. |
| LoadClasses |
Purpose
This test verifies the behavior of the public Class loadClass(String codebase, String name,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Loads a class from a codebase URL path, only using the supplied loader if the given name is not preferred by the class loader for the codebase path. |
| LoadClassesClassNotFoundException |
Purpose
This test verifies the behavior of the public Class loadClass(String codebase, String name,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Loads a class from a codebase URL path, only using the supplied loader if the given name is not preferred by the class loader for the codebase path. |
| LoadClassesMalformedURLException |
Purpose
This test verifies the behavior of the public Class loadClass(String codebase, String name,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Loads a class from a codebase URL path, only using the supplied loader if the given name is not preferred by the class loader for the codebase path. |
| LoadClassesSecurityException |
Purpose
This test verifies the behavior of the public Class loadClass(String codebase, String name,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Loads a class from a codebase URL path, only using the supplied loader if the given name is not preferred by the class loader for the codebase path. |
| LoadProxyClasses |
Purpose
This test verifies the behavior of the public Class loadProxyClass(String codebase, String[] interfaces,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Define and return a dynamic proxy class in a class loader with URLs supplied in the given location. |
| LoadProxyClassesClassNotFoundException |
Purpose
This test verifies the behavior of the public Class loadProxyClass(String codebase, String[] interfaces,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Define and return a dynamic proxy class in a class loader with URLs supplied in the given location. |
| LoadProxyClassesMalformedURLException |
Purpose
This test verifies the behavior of the public Class loadProxyClass(String codebase, String[] interfaces,
ClassLoader defaultLoader)
throws MalformedURLException, ClassNotFoundException
method of
method of thenet.jini.loader.pref.PreferredClassProvider
class:
Define and return a dynamic proxy class in a class loader with URLs supplied in the given location. |
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.


Package: closure-html
Class lhtml-builder
Superclasses
abstract-handler, common-lisp:standard-object, sb-pcl::slot-object, common-lisp:t
Documented Subclasses
None
DetailsA HAX handler which builds LHTML list structures.
LHTML represents each HTML element as a list of the form (name (attributes...) children...) and each attribute as a list of the form (name value) Element and attribute names are symbols in the keyword package with uppercase names. Attribute values are rods or strings. |
See also |


from . import utilities as utili
import logging
from mpl_toolkits.axes_grid1 import make_axes_locatable
import matplotlib
import matplotlib.pyplot as plt
from numpy import unique, round, array, nanmin, nanmax, nan, nanpercentile, nanmean
from scipy.sparse import coo_matrix
from tqdm import tqdm
matplotlib.use('TkAgg')
funcs for plotting
def shift_map_matr(coordinates_array):
function to shift all the coordinates in a coordinates array so that it start from zero.
:param coordinates_array: an np array of mxn with the coordinates of each scan at each position
:return: the shifted coordinates array
logging.debug('shifting coordinates array')
coordinates_array[:, 0] = coordinates_array[:, 0] - \
min(coordinates_array[:, 0])
coordinates_array[:, 1] = coordinates_array[:, 1] - \
min(coordinates_array[:, 1])
return coordinates_array
function to generate a map matrix based on a dictionary of coordinates and peak_label_vals. both have matching keys
and the coordinates values are (x,y) tuples, peak_label_vals is a dictionary of values of what is being mapped.
:param coordinates: dictionary of keys corresponding to thunder objects, values are (x,y)
:param peak_label_vals: same keys as coordinates but with values which will be mapped to a matrix
:return: a matrix of dimensions from coordinates. each
element corresponds to a new scan, so assumes a uniform grid. the spacing of scans isn't coded in here, but can be
accessed from the X and Y which are returned (lists of the coodinates)
def generate_map_matrix(coordinates, peak_label_vals):
X = [] # initialise these
Y = []
Z = []
for key in peak_label_vals.keys(): # corresponding to a pixel
x, y = coordinates[key] # coordinates
z = peak_label_vals[key] # value at those coordinates
if isinstance(z, str): # not sure why this is here.
return [], [] # probably will break if this happens. better to raise an error
X.append(x) # append to coordinates and values to the lists
Y.append(y)
Z.append(z)
x_step = unique(X)[1] - unique(X)[0] # what are the step sizes in x
turn the x coordinates into an array of integer steps
xx = (round(X / x_step)).astype(int)
y_step = unique(Y)[1] - unique(Y)[0]
yy = round((Y / y_step)).astype(int)
build a dense array by using sparse array notation and converting
data_ = coo_matrix((Z, (yy, xx))).toarray()
if its zero we assume thats because there was no data taken there.
data_[data_ == 0] = nan
return X, Y, data_
function to generate dictionaries of X and Y coordiantes, as well as dict of data matrices. does this for all
the peak types in the passed in dictionaries. keys are the properties e.g. 'center' etc
:param coordinates: dictionary of coordinates for each property (usually doesn't differ though so is a repeat of the same ones)
:param values: dict of values for each property (key). e.g. 'center' has value which is a dict of run keys and values at that key
:return: data dict, and X_, Y_ coordinate dicts. same keys as input
def map_scan_matrices_from_dicts(coordinates, values):
logging.debug('generating map matrices')
peak_labels = list(values.values())[0].keys()
data = {}
X_ = {}
Y_ = {}
for peak_label in peak_labels:
peak_label_vals = {
key: values[key].get(
peak_label,
nan) for key in values.keys()}
X, Y, data_ = generate_map_matrix(coordinates, peak_label_vals)
data[peak_label] = data_
X_[peak_label] = X
Y_[peak_label] = Y
return data, X_, Y_
function to plot a mapscan given a data matrix and the actual coordinates to plot on the map
:param data: np array of values
:param X: x coordinates corresponding to each element in data in x direction
:param Y: same as for x
:return: figure and axis to be reused/saved etc later
def map_plotter(data, X, Y):
f = plt.figure()
ax = plt.gca()
magma_cmap = matplotlib.cm.get_cmap('magma')
magma_cmap.set_bad(color='green')
im = plt.imshow(
data,
cmap=magma_cmap,
vmin=nanpercentile(
data,
3),
extent=[
min(X),
max(X),
max(Y),
min(Y)],
vmax=nanpercentile(
data,
97)) # we plot the 99th percentile and 1st percentil as the max and min
colours
plt.xlabel('x coordinates')
plt.ylabel('y coordinates')
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
plt.colorbar(im, cax=cax)
return f, ax
plot all the data and save all the plots into dicts which are returned
:param data_mat: data matrices as dicts. keys are for the properties for which each map matrix is the value
:param X_coords: x coordinates as dicts. keys same as data_mat
:param Y_coords: same as for x
:return:
def map_scan_plot_dicts(data_mat, X_coords, Y_coords):
logging.debug('plotting mapscans')
peak_labels = data_mat.keys()
figs = {}
axs = {}
for peak_label in peak_labels:
data = data_mat[peak_label]
X = X_coords[peak_label]
Y = Y_coords[peak_label]
f, ax = map_plotter(data, X, Y)
figs[peak_label] = f
axs[peak_label] = ax
return figs, axs
function to return the mean center values from fit_params dict. isn't a great abstraction barrier though!
:param peak_label: the label of the peak you want the mean center value for e.g. 'm0' for mdoel 0
:param fit_params: fit params dict with keys of properties for peaks e.g. 'center' and 'amplitude'
these have values which are dicts which include peak_label as a key. those values are the values for that property for each peak :return: the mean center value
def get_cent_mean(peak_label, fit_params):
cents = [
cent.get(
peak_label,
0) for cent in fit_params.get(
'center',
{}).values()]
cent_mean = nanmean(cents)
return cent_mean
given a mapscan plot save it and add a title
:param peak_label: the label of the peak the mapscan is for
:param fit_params: the dicitonary of all peak properties and peaks values
:param plot: the plot to save
:param dirname: str: where to save it
:param p: str: what is the peak being saved
:return:
def save_mapscan(peak_label, fit_params, plot, dirname, p):
cent_mean = get_cent_mean(peak_label, fit_params)
plot[peak_label].suptitle(
f"{p}_{peak_label}_heatmap. peak {peak_label} is centered at: {cent_mean}")
utili.save_plot(
plot[peak_label],
path=dirname,
figname=f"{p}_{peak_label}.svg")
given the map matrices coordinates dictionaries and fit parameters, plot all the mapscans and then call them all to be saved
:param map_matrices: a dict of map matrices, keys are the type of map to save e.g. 'center'. the values are dicts of
actual data matrices as values and keys correspond to the model keys e.g. 'm0'
:param X_coords: coordinates dict with keys same as map_matrices
:param Y_coords: same as for x
:param p: key for what mapscan to access
:param fit_params: fit parameters dictionary as made by multi_obj method
:param dirname: where to save the mapscans
:return:
def mapscans_for_parameter(
map_matrices,
X_coords,
Y_coords,
p,
fit_params,
dirname):
data_mat = map_matrices[p]
plot, ax = map_scan_plot_dicts(data_mat, X_coords[p], Y_coords[p])
for peak_label in plot.keys():
save_mapscan(peak_label, fit_params, plot, dirname, p)
plt.close('all')
def plot_all_maps(fit_params, map_matrices, X_coords, Y_coords, dirname):
fit_params_iter = tqdm(fit_params.keys())
fit_params_iter.set_description('plotting and saving all maps')
for p in fit_params_iter:
mapscans_for_parameter(map_matrices, X_coords, Y_coords, p, fit_params, dirname)
function to plot the mapscans given user input on what to plot for.
:param fit_params: a dictionary of dicts. 1st keys are properties e.g. 'center' and second keys are for each model
e.g. 'm0'. values are a dict of the actual values for each pixel in the map
:param map_matrices: same as fit_params but the values are map matrices instead of dicts
:param X_coords: same as map_matrices except the values are lists of X_coords
:param Y_coords: same as x
:param dirname: str: where to save the plots
:return:
def plot_map_scan(fit_params, map_matrices, X_coords, Y_coords, dirname, plot_all=False):
logging.debug(
'runnning user input routine to generate/save user chosen variables in maps')
if plot_all:
plot_all_maps(fit_params, map_matrices, X_coords, Y_coords, dirname)
return map_matrices
while True:
ans = input(
"making map scans, please input which property you would like to scan. options are:"
f"\n {[p_ for p_ in fit_params.keys()]}, or type 'all' to plot all, or type e to exit")
if ans == 'e':
break
elif ans == 'all':
plot_all_maps(fit_params, map_matrices, X_coords, Y_coords, dirname)
break # break the while loop
else:
try:
p = ans
mapscans_for_parameter(map_matrices, X_coords, Y_coords, p, fit_params, dirname)
except KeyError:
print('wrong answer entered, trying again!')
plt.close('all')
return map_matrices


Possible after adding the faUser
icon from the free-solid-svg-icons
package to the library.
The default prefix of fas
is assumed. Also, add a border.
Swap layer opacity.
Custom primary or secondary layer opacity.
Custom primary or secondary layer color.
icon
should be set equal to an array object with two string elements: the prefix and the icon name.
Using a string for an icon name also requires that this icon has been added to the library with
library.add()
The icon object knows its own prefix, so the prefix is not specified in this case.
Slide to turn up the magic.
Stack multiple icons into one.
Custom icons created with multiple layers.
Using text as one of the layers.
Select a position.
Icon uses a fallback icon when the main icon parameter is not specified. Useful for when the icon is loaded asynchronously. If no fallback icon is specified, the icon will not appear. (Not shown in this example.)


BREAKING Tory general election manifesto released confirming no-deal Brexit threat in 2020
The document pledges not a day's delay to the implementation period beyond 31 December 2020 - prompting fears there'll be a no-deal Brexit if we don't get a trade deal in time
by Dan Bloom, https://www.facebook.com/mirrordanbloomBoris Johnson today launched the Tory manifesto as he confirmed he will follow through on a threat to end the Brexit transition in 2020 - deal or no deal.
The document pledges not to extend the implementation period for Brexit beyond December 2020.
Although Boris Johnson has said this before it is the first time it has appeared in black-and-white as a Tory manifesto pledge - binding a Conservative government.
And it realises Remainers' worst fears that Britain could still crash out of the EU with no deal in a "trapdoor" on 31 December 2020 - even if Boris Johnson's deal passes.
That is because the Tories' plan gives the new Prime Minister just 11 months to secure a full-blown trade deal with the EU.
The manifesto claims: "We will start putting our deal through Parliament before Christmas and we will leave the European Union in January."
And it claims the Tories will secure free trade agreements to cover 80% of UK trade within three years.
This breaking news story is being updated.


--- layout: post title: Why is AutoGK producing bad quality files? tags: - General - video - video-conversion status: publish type: post published: true meta: _edit_last: '1' jd_tweet_this: 'yes' --- I had this problem when trying to encode a TV Series disc.  I had a Homer Simpson moment after about five goes - what I thought was an episode actually was actually all episodes from the disc. So, simple answer - look at the duration of the output clip. It might be case of AutoGK bundling all vobs together, even though it showed you a list of chapters(or so I thought, they are actually "program chains") when you selected an IFO. It will do that by design as described in the FAQ: http://www.autogk.me.uk/modules.php?name=TutorialEN
If you want to encode multiple input files into one resulting AVI you can do it by appropriately naming input files: *_1.vob;*_2.vob etc and selecting just the first one (Extension can be any of supported types apart from AVI). In IFO mode AutoGK automatically selects all VOBs that belong to one vobset.Another thing to note is that there is no 1 to 1 mapping between an individual VOB file and an episode. In order to rip the eps properly you will need to do extra mocking around like described here: http://download.videohelp.com/cheekie_moonkie/guides/ddtool.html I haven't tried the above tutorial as just yet, but I might give it a go later on. UPDATE: Tried the DVD Demux tool and it works quite well. Read the above guide and remember to turn on "Remux to one .VOB". This will make sure you have a VOB file with both video and sound. By default the sound is separated from the video and AutoGK does not pick it up.


"s"
for speaker notes
What can you expect to cover in class today?
Node.js? Backend? huh?
NodeJS is Javascript on the server (also known as the "backend").
Many clients, such as your mobile phones, talk to a central
server, such as Google or Facebook.
When you upload pictures to the cloud, servers are what processes and stores them.
If front-end applications (like the ones you build in your browser) are the restaurant floor, servers are the back kitchen.
We already know Javascript!
Node is fast, and built for the web.
You want to resize and image? There is a library.
You want to encode video? There is a library.
 There. Is. A. Library.
A dependency management tool that helps us install libraries and manage the lifecycle of our projects.
It's a library that helps us do routing and accepting input from users!
Serving images, text, audio and video that don't change and that the user doesn't interact with.
(~20 min)
"s"
for speaker notes


Hello World! After graduating UMass Amherst with a degree in communications and Japanese in 2008, I have held an extremely wide range of positions - from waitressing to technical support to medical biller to struggling actress. Back when I graduated, I was eager to join the workforce and put off going back to school until I found a subject that I was truly passionate about.
Web design and front-end coding has always been a hobby of mine. At 13 years old I created my first website with HTML. At 15 I was president of my High School's Technology’s Project where I helped designed websites for local artists. When I decided to go back to school it all became clear that web design and development would be the right path to take in order to obtain a rewarding career. Now that I have immersed myself in developing the web, I can not imagine doing anything else.
Close
My latest position required to learn many skills to accommodate the eCommerce and online marketing side of web development. I have created banners, e-mail newsletters, customer resources and much more.
Close
Even though I have been sketching for fun for most of my life, Graphic Design was not something I expected to be very good at. However, with some training and a lot of practice I began to surprise myself. Many of my graphic art are modeled after existing products and popular characters. Nonetheless, all the graphics below are made from a blank photoshop canvas. Below is a sample of some graphic art I have done using Adobe photoshop and Illustrator.
Close
A current project I am doing for a Dog Grooming Business in East Boston
Front-End Developer and Designer
In Progress
Front-End Developer and Designer
This portfolio was the final project for my Advanced Website Design Class for the The University of Massachusetts Lowell Certificate in Website Design and Development program.
I Although I am happy with it, I feel that I have come some ways since starting to do actual work in web development. I also think it may be a little too intricate leaving room for a lot of errors.
Published May 2015
Front-End Developer and Designer
This was my first paid real world project and first time using frameworks like Bootstrap and jQuery. I was limited to the design due to the clients demands, however, I gained an abundance of knowledge in real world aspects such as responsive design and development.
Back-end development, code review and pair programming was done by Evan Lloyd.
Published October 2015
Front-End Developer and Designer
This was my first web project since high school and was a final project for one of my first classes for the UMass Lowell's Certificate Program in Website Design and Development program.
I honestly hadn’t made a webpage since the days of geocities and a lot had changed since I had last dabbled in web development (which why it may look a little dated). I was required to learn external CSS and JavaScript for the first time as well as get re-acquainted with HTML. I was a little limited with this site since I was required to use dreamweaver and it was mandatory that I used tables. However, it was the perfect way to get back get up to date with the current way the web works.
Published May 2015
Close
2015
2008
2009
2008
January 2016 - Current
Responsible for the design, development and maintenance of RMA's e-Commerce website, social media marketing, SEO and user experience.
June 2014 - May 2015
Administer the preparation and submission of all insurance claims and prior authorization. Responsible for maintaining working knowledge of Medical and third-party billing requirement.
July 2013 - June 2014
Provide over the phone sales and technical diagnosing in order to solve hardware and software faults.
July 2012 - July 2013
Accountable for the supervision of all staff and successful training of new employees. Perform general management duties, such as inventory, product orders and cash management.
April 2009 - August 2011
Oversee all operations activity to correct any unanticipated routing and capacity adjustments. Create training material and provide training for new team members both locally and remotely.
Front-End Developer and Designer
In Progress
Front-End Developer and Designer
Published October 2015
Front-End Developer and Designer - Designed for a web development class
Published May 2015
Boston Casting
2011 - 2014
CISS Boston Language Camp
Summer 2013
UMLan.com
2012 - 2013
Close
I have been involved with several with the social media aspect of several projects both personal and professional. Below are some hightlights.
At RMA Electronics I run maintain and update all of their social media, as well as their wordpress blog.
Madoka News is a tumblr I run and maintain. It gained popularity when I became the first North American outlet to post translate the animation studio’s official announcement of a new character.
For three months in the winter of 2012, I worked as a brand ambassador at a promotional pop-up for the PlayStation Vita. Since I knew the most about gaming than any other employee I took over the social media for the club. I promoted events and tournaments hosted by the club via Facebook and twitter. The club has long been closed but and since it we've been inactive for so long the facebook page is no longer viewable. Luckily I took some screenshots that are featured below.
Close
ActionScript was the first object-oriented programming language that I learned. Even though Flash may soon become obsolete, learning ActionScript helped develop important fundamentals for languages more in demand, like JavaScript. Other than the ActionScript Class I took, I have never felt the need to work with flash. However, I was still was eager to display my ActionScript class final project.
When I was a brand ambassador for the PS Vita, I was also writing gaming reviews for an electronics website. Here is the review video I made for the Vita.
I've been making anime music videos since jr. high. This is one I submitted to the Anime Boston AMV contest in 2014.
I made this montage for 3 of my friends with the same birthday since I was broke and couldn't afford gifts.
A few years ago I was thrown into a DME medical billing position with only outdated forms available to me. Rather than have the company pay a third party for up-to-date forms, I studied the guidelines and made my own.


6
Bear One Another's Burdens
1 Brothers, if anyone is caught in any transgression, you who are spiritual should restore him in a spirit of gentleness. Keep watch on yourself, lest you too be tempted.
2 Bear one another's burdens, and so fulfill the law of Christ.
3 For if anyone thinks he is something, when he is nothing, he deceives himself.
4 But let each one test his own work, and then his reason to boast will be in himself alone and not in his neighbor.
5 For each will have to bear his own load.
6 One who is taught the word must share all good things with the one who teaches.
7 Do not be deceived: God is not mocked, for whatever one sows, that will he also reap.
8 For the one who sows to his own flesh will from the flesh reap corruption, but the one who sows to the Spirit will from the Spirit reap eternal life.
9 And let us not grow weary of doing good, for in due season we will reap, if we do not give up.
10 So then, as we have opportunity, let us do good to everyone, and especially to those who are of the household of faith.
Final Warning and Benediction
11 See with what large letters I am writing to you with my own hand.
12 It is those who want to make a good showing in the flesh who would force you to be circumcised, and only in order that they may not be persecuted for the cross of Christ.
13 For even those who are circumcised do not themselves keep the law, but they desire to have you circumcised that they may boast in your flesh.
14 But far be it from me to boast except in the cross of our Lord Jesus Christ, by which the world has been crucified to me, and I to the world.
15 For neither circumcision counts for anything, nor uncircumcision, but a new creation.
16 And as for all who walk by this rule, peace and mercy be upon them, and upon the Israel of God.
17 From now on let no one cause me trouble, for I bear on my body the marks of Jesus.
18 The grace of our Lord Jesus Christ be with your spirit, brothers. Amen.


| Package | flare.analytics.graph |
| Class | public class BetweennessCentrality |
| Inheritance | BetweennessCentrality Operator |
| Property | Defined by | ||
|---|---|---|---|
| centralityField : String The property in which to store the centrality score.
| BetweennessCentrality | ||
| enabled : Boolean Indicates if the operator is enabled or disabled.
| Operator | ||
| links : int = 3 Flag indicating the type of links to follow in the graph.
| BetweennessCentrality | ||
| parameters : Object
Sets parameter values for this operator.
| Operator | ||
| visualization : Visualization
The visualization processed by this operator.
| Operator |
| Method | Defined by | ||
|---|---|---|---|
|
Creates a new BetweennessCentrality operator.
| BetweennessCentrality | ||
|
applyParameters(op:IOperator, params:Object):void
[static]
Static method that applies parameter settings to an operator.
| Operator | ||
|
Calculates the betweenness centrality values for the given data set.
| BetweennessCentrality | ||
|
operate(t:Transitioner = null):void
Performs an operation over the contents of a visualization.
| BetweennessCentrality | ||
|
setup():void
Setup method invoked whenever this operator's visualization
property is set.
| Operator |
| centralityField | property |
centralityField:String
[read-write]The property in which to store the centrality score. This property is used to annotate nodes with their betweenness centrality score. The default value is "props.centrality".
Implementation public function get centralityField():String
public function set centralityField(value:String):void
| links | property |
public var links:int = 3
Flag indicating the type of links to follow in the graph. The
default is NodeSprite.GRAPH_LINKS
.
| BetweennessCentrality | () | constructor |
public function BetweennessCentrality()
Creates a new BetweennessCentrality operator.
| calculate | () | method |
public function calculate(data:Data):void
Calculates the betweenness centrality values for the given data set.
Parametersdata:Data — the data set for which to compute centrality measures
|
| operate | () | method |
public override function operate(t:Transitioner = null):void
Performs an operation over the contents of a visualization.
Parameterst:Transitioner (default = null ) — a Transitioner instance for collecting value updates.
|


MSI Q Quartz Countertops
Quartz is one of the most reliable materials we use for kitchen and bathroom countertops. It is a permanent stone, which lasts a lifetime for customers.Additionally, quartz is also a flexible material that is easier to install. The strength, durability, and flexibility are due to a composition of 93% quartz and 7% resin. In fact, quartz is stronger than natural stones like granite and marble.Sophisticated yet practical, Quartz countertops are scratch, stain, and heat resistant. Eternally beautiful while impressively durable, Q Premium Natural Quartz is the latest in advanced quartz countertop surfaces from MSI.
View Stones→filter
sort by
237 stones found
-
special
DESERT BLOOM
- MSI Q Quartz
- $39 / square feet
3.5 -
special
Grey
- MSI Q Quartz
- $45 / square feet
3.5 -
special
Brown Quarz
- MSI Q Quartz
- $45 / square feet
3.5 -
special
DESERT BLOOM
- MSI Q Quartz
- $45 / square feet
3.5 -
special
DESERT BLOOM
- MSI Q Quartz
- $45 / square feet
3.5 -
special
Wite Smoke
- MSI Q Quartz
- $45 / square feet
3.5 -
special
Golden
- MSI Q Quartz
- $49 / square feet
3.5 -
special
Beige Desert
- MSI Q Quartz
- $49 / square feet
3.5 -
special
DESERT BLOOM
- MSI Q Quartz
- $49 / square feet
3.5 -
special
Brown Grey
- MSI Q Quartz
- $59 / square feet
3.5 -
special
DESERT BLOOM
- MSI Q Quartz
- $59 / square feet
3.5 -
special
White
- MSI Q Quartz
- $59 / square feet
3.5
stones shown:12 of 237
load moreDo you have questions about granite or quartz countertops in Chicago?
Request a free consultation or visit our office.


Western Union tasked us to develop a digital solution that would build interest and drive potential customers to their tradeshow booths across the United States
We developed Payments Legend — a mobile video game inspired by the days of 8-bit Nintendo games. While the users are trying to get the high score, they are learning about Western Union’s offerings and networking via LinkedIn integration with their fellow tradeshow visitors.
With solid pre-tradeshow responses, traffic was increased to Western Union's booths where the game was presented on iPads. The high score leaderboard was displayed on a large flat panel screen with each player's LinkedIn photo, name and status.
My role was digital strategist, ux architect, and javascript / rails developer. The screens were designed by Mike Mioduski at Pure.


Project FINN is a scavenger hunt, meets an arts and crafts class, meets a virtual gallery… Users can create teams to participate in Art Challenges. These challenges are made up of randomly chosen prompts and a list of randomly chosen materials.
The rules are simple. In order for a challenge to be completed, each team must create a piece of art that answers the prompt and uses at least all of the materials listed within an allotted time frame. Users can join a team by using a token that is sent to them from a team leader via text or email. Post-Challenge, teams can share their creations in the Gallery and see what other teams have come up with!


The Fastest Way to Space
Make your way to space in the comfort of your own rocket, elevator or transporter.
Book Today!
Even if you"re travelling tomorrow, you can stil get tickets today. We have a number of conveniently located ports around the globe to service everyone.
Go Anywhere
If you need to get to space today, why not try out a transporter? Despite the claims, there"ve been no deaths in the last 6 weeks!
RocketBus®
For the cheapest fares, catch the next RocketBus® to the stars. Cheaper on your wallet and the easiest way to make friends.


| Occurred On |
{{::vm.event.date | date: 'medium'}} () |
| Machine Name |
{{::vm.environment.machine_name}} |
| IP Address |
{{::vm.environment.ip_address}} |
| Processor Count |
{{::vm.environment.processor_count}} |
| Total Memory |
{{::vm.environment.total_physical_memory | bytes}} |
| Available Memory |
{{::vm.environment.available_physical_memory | bytes}} |
| Process Memory |
{{::vm.environment.process_memory_size | bytes}} |
| OS Name |
{{::vm.environment.o_s_name}} |
| OS Version |
{{::vm.environment.o_s_version}} |
| Architecture |
{{::vm.environment.architecture}} |
| Runtime Version |
{{::vm.environment.runtime_version}} |
| Process ID |
{{::vm.environment.process_id}} |
| Process Name |
{{::vm.environment.process_name}} |
| Command Line |
{{::vm.environment.command_line}} |


instanceof
expressions that consist of different operators
without parentheses. Such expressions can be less readable due to different precedence rules of operators.
Example:
int n = 3 + 9 * 8 + 1;
After quick-fix is applied:
int n = 3 + (9 * 8) + 1;


Spicy jalapeno bacon ipsum dolor amet ball tip jerky biltong pork belly bacon, strip steak porchetta t-bone
turkey.
Drumstick venison flank, buffalo t-bone ball tip beef ribs. Buffalo picanha ball tip pancetta pork loin
drumstick
meatball cow chicken kevin pork boudin corned beef. Ham hock kielbasa corned beef jowl venison burgdoggen,
shankle
capicola chislic.
Spicy jalapeno bacon ipsum dolor amet ball tip jerky biltong pork belly bacon, strip steak porchetta t-bone
turkey.
Drumstick venison flank, buffalo t-bone ball tip beef ribs. Buffalo picanha ball tip pancetta pork loin
drumstick
meatball cow chicken kevin pork boudin corned beef. Ham hock kielbasa corned beef jowl venison burgdoggen,
shankle
capicola chislic.
Spicy jalapeno bacon ipsum dolor amet ball tip jerky biltong pork belly bacon, strip steak porchetta t-bone
turkey.
Drumstick venison flank, buffalo t-bone ball tip beef ribs. Buffalo picanha ball tip pancetta pork loin
drumstick
meatball cow chicken kevin pork boudin corned beef. Ham hock kielbasa corned beef jowl venison burgdoggen,
shankle
capicola chislic.
Spicy jalapeno bacon ipsum dolor amet ball tip jerky biltong pork belly bacon, strip steak porchetta t-bone
turkey.
Drumstick venison flank, buffalo t-bone ball tip beef ribs. Buffalo picanha ball tip pancetta pork loin
drumstick
meatball cow chicken kevin pork boudin corned beef. Ham hock kielbasa corned beef jowl venison burgdoggen,
shankle
capicola chislic.


Vera Nazarian's hilarious and surprisingly romantic Supernatural Jane Austen Series is a supernatural "mash-up" series of parody novels of the entire oeuvre of Jane Austen.
Visit the official Supernatural Jane Austen Series website for more information on these delightful and comical Regency fantasies, available now from Curiosities, an imprint of Norilana Books.
Current books in the series:
Forthcoming books:


The Question Website
Answer these questions to receive a free gift!
* Required
How much wood could a wood chuck chuck if a wood chuck could chuck wood?
*
Approximately 900 logs
A wood chuck cannot actually chuck wood
This is a required question
How do you spell supercalifragilisticexpialidocious
supercalifragilisticexpialidocious
That's not a real word.
This is a required question
Would you rather live at disney world or live in Hawaii
Hawaii
Disney World
This is a required question
How many animals did Moses take on his ark
Two of each kind
Moses did not go on the ark
This is a required question
Can you cry under water?
Yes
No
This is a required question
What happens if you get scared half to death twice?

Yes
This question is unnecessary
This is a required question
An apple a day keeps the ___ away
Doctor
monsters
This is a required question
If you had one wish what would you wish for?
To travel the world for you're whole life
one million $
This is a required question
Is there a leprechaun at the end of the rainbow?
Yes
No, just a pot of gold and a "DO NOT TOUCH" sign
This is a required question
Never submit passwords through Google Forms.
Screen reader support enabled.


Playtesters' Queue
All explorations on this page are still in beta. Play them and give feedback to make them better!
{% extends "base.html" %} {% block subtitle %} Playtesters' Queue {% endblock subtitle %} {% block content %}
All explorations on this page are still in beta. Play them and give feedback to make them better!


"""
A convenient method to execute shell commands and return their output.
Note: that this method requires that the
command be completely execute before the output is returned.
For many activities in cloudmesh this is sufficient.
"""
import subprocess
import sys
from sys import platform
import ctypes
from cloudmesh.common.Shell import Shell as Shell2
from cloudmesh.common.StopWatch import StopWatch
from cloudmesh.common.console import Console
[docs]class Shell(Shell2):
[docs] @staticmethod
def run(command, encoding='utf-8'):
"""
executes the command and returns the output as string
:param command:
:param encoding:
:return:
"""
command = f"{command}; exit 0"
r = subprocess.check_output(command,
stderr=subprocess.STDOUT,
shell=True)
if encoding is None or encoding == 'utf-8':
return str(r, 'utf-8')
else:
return r
[docs] @staticmethod
def run2(command, encoding='utf-8'):
"""
executes the command and returns the output as string
:param command:
:param encoding:
:return:
"""
if platform.lower() =='win32':
class disable_file_system_redirection:
_disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
_revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
def __enter__(self):
self.old_value = ctypes.c_long()
self.success = self._disable(ctypes.byref(self.old_value))
def __exit__(self, type, value, traceback):
if self.success:
self._revert(self.old_value)
with disable_file_system_redirection():
command = f"{command}"
r = subprocess.check_output(command,
stderr=subprocess.STDOUT,
shell=True)
if encoding is None or encoding == 'utf-8':
return str(r, 'utf-8')
else:
return r
elif platform.lower() == 'linux' or platform.lower() == 'darwin':
command = f"{command}"
r = subprocess.check_output(command,
stderr=subprocess.STDOUT,
shell=True)
if encoding is None or encoding == 'utf-8':
return str(r, 'utf-8')
else:
return r
[docs] @staticmethod
def run_os_system(command, encoding='utf-8'):
return NotImplementedError
[docs] @staticmethod
def cms(command, encoding='utf-8'):
return Shell.run("cms " + command, encoding=encoding)
[docs] @staticmethod
def run_timed(label, command, encoding=None, service=None):
"""
runs teh command and uses the StopWatch to time it
:param label: name of the StopWatch
:param command: the command to be executed
:param encoding: the encoding
:param service: a prefix to the stopwatch label
:return:
"""
_label = str(label)
print(_label, command)
StopWatch.start(f"{service} {_label}")
result = Shell.run(command, encoding)
StopWatch.stop(f"{service} {_label}")
return str(result)
[docs] @classmethod
def check_python(cls):
"""
checks if the python version is supported
:return: True if it is supported
"""
python_version = sys.version_info[:3]
v_string = [str(i) for i in python_version]
if python_version[0] == 2:
Console.error(
f"You are running an unsupported version "
f"of python: {python_version}")
Console.error("Please update to python version 3.7 or 3.8")
sys.exit(1)
elif python_version[0] == 3:
python_version_s = '.'.join(v_string)
if (python_version[0] == 3) and (python_version[1] >= 7) and \
(python_version[2] >= 0):
Console.ok(f"You are running a supported version of python: "
f"{python_version_s}")
else:
Console.error(
"WARNING: You are running an unsupported version of "
"python: {:}".format(python_version_s))
Console.error(" We recommend you update your python")
# pip_version = pip.__version__
python_version, pip_version = cls.get_python()
if int(pip_version.split(".")[0]) >= 18:
Console.ok(
f"You are running a supported version of pip: {pip_version}")
else:
Console.error(
"WARNING: You are running an old version of pip: " + str(
pip_version))
Console.error(" We recommend you update your pip with \n")
Console.error(" pip install -U pip\n")


FreeCodeCamp Survey Form
This is a Survey Form Created for the Responsive Responsive Web Design Project certification.
Name:
Email:
Age:
Current Role:
Select an option
Student
Fulltime Job
Fulltime Student
Prefer not to Say
Other
Would you recommend FreeCodeCamp?
Definitely
Maybe
Definitely Not
What tech are you most interested in?
Front-End
Back-End
Data Science
Leave a Message:
Submit


We believe in good, honest food. We believe that the people who grow and make our food should receive a fair return. We are working to create a world where food production does not harm the land, nor weaken economies, but restores environmental health, and strengthens communities both economically and socially.
We created FoodTrade because we believe delicious food doesn't have to cost the earth. On the surface, FoodTrade is a local food map, for anyone, anywhere to find or trade real food. Delve deeper and you’ll see it offers resilience, prosperity and sustainability to small farmers and producers. It creates humanity and connection in the supply chain. It puts an honesty and transparency that has been sorely missing in the last few decades, right back at the heart of the trade relationship.
In 2014, we built FoodTrade Menu to help accelerate our mission of good food, for everyone, forever. If we can help independent restaurants deal with complicated food rules and regulations by using a simple menu management tool, then we can help them find great local offers on the items they buy. Every ingredient brings us closer to a better, fairer food network.
When the new food regulations were announced in December 2014, we knew they’d be a challenge for independent restaurants. And so, eager to help, we jumped on the case and created FoodTrade Menu. Because the tool uses and creates a lot of open data which SMEs can use to improve their business, we entered the Open Data Challenge – a tech competition run by NESTA and the Open Data Institute. In February 2015 we won.
We’re humbled by the support we received during the competition and deeply grateful for this opportunity. With the prize money, we’ve now launched FoodTrade Menu nationally and, most excitingly, we’re growing our team, too.