Due to the Z-Wave specific protocol, this API Rest uses only GET methods for every endpoints (network, sensors, switches, controller).
| Routes |
Description |
| /sensors |
Display the list of all sensors in the network |
| /sensors/add |
Add a sensor to the network when its button is pressed |
| /sensors/remove |
Remove a sensor from the network when its button is pressed |
| /sensors/{$sensor_id}/all_measures |
Return all measures (temp, hum, lum, motion) for sensor $sensor_id |
| /sensors/{$sensor_id}/temperature |
Return current temperature for sensor $sensor_id |
| /sensors/{$sensor_id}/humidity |
Return current humidity for sensor $sensor_id |
| /sensors/{$sensor_id}/luminance |
Return current luminance for sensor $sensor_id |
| /sensors/{$sensor_id}/motion |
Return presence detection value for sensor $sensor_id |
| /sensors/{$sensor_id}/battery |
Return current level of battery for sensor $sensor_id |
| /sensors/{$sensor_id}/updateRoutes |
Heal sensor $sensor_id by rediscovering its neighbours + Init new routes |
| /sensors/{$sensor_id}/updateNeighbourhood |
Heal sensor $sensor_id by rediscovering its neighbours |
| /sensors/{$sensor_id}/refreshStaticValues |
Refresh node info (configuration and values) for sensor $sensor_id |
| /sensors/{$sensor_id}/set/{$param_index}/to/{$param_value} |
Set $param_value as value for the parameter $param_index |
| /sensors/{$sensor_id}/get/{$param_index} |
Get the value for the parameter $param_index |
| /sensors/{$sensor_id}/setNameTo/{$name} |
Set the new name of the sensor $sensor_id to the value $name |
| /sensors/{$sensor_id}/setLocationTo/{$location} |
Set the new location of the sensor $sensor_id to the value $location |
| Routes |
Description |
| /switches |
Display the list of all switches in the network |
| /switches/add |
Add a switch to the network when its button is pressed |
| /switches/remove |
Remove a switch from the network when its button is pressed |
| /switches/{$switch_id}/{$control_type} |
Apply the $control_type (on, off or check) to the switch $switch_id |
| /switches/{$switch_id}/setNameTo/{$name} |
Set the new name of the switch $switch_id to the value $name |
| /switches/{$switch_id}/setLocationTo/{$location} |
Set the new location of the switch $switch_id to the value $location |
| Routes |
Description |
| /devices |
Display the list of all devices in the network |
| /devices/add |
Add a device to the network when its button is pressed |
| /devices/remove |
Remove a device from the network when its button is pressed |
| /devices/{$device_id}/battery |
Return current level of battery for device $device_id |
| /devices/{$device_id}/setNameTo/{$name} |
Set the new name of the device $device_id to the value $name |
| /devices/{$device_id}/setLocationTo/{$location} |
Set the new location of the device $device_id to the value $location |


This class provides the distance sensor service and the steering actuator service.
More...
#include <dist_steer_service.hpp>
|
|
CSharedMemory | shm_di |
| | Shared memory used for IPC between the distance sensor reader program and this class.
|
| |
|
Buffer | buf_di |
| | Cyclic buffer for keeping track of distance values in the shared memory.
|
| |
|
CSharedMemory | shm_st |
| | Shared memory used for IPC between this class and the steering control program.
|
| |
|
Buffer | buf_st |
| | Cyclic buffer for keeping track of requested steering values in the shared memory.
|
| |
|
| void | run_di () |
| | This method is the method run by pub_di_thread_. More...
|
| |
| void | on_steer_req (const std::shared_ptr< vsomeip::message > &msg) |
| | Function that is called when a message with STEER_METHOD_ID arrives. More...
|
| |
| void | on_shutdown (const std::shared_ptr< vsomeip::message > &msg) |
| | Function that is called when a message with SHUTDOWN_METHOD_ID arrives. More...
|
| |
| void | on_go_availability (vsomeip::service_t serv, vsomeip::instance_t inst, bool go) |
| | Function that is called when the availability of the go-service changes. More...
|
| |
| void | on_state (vsomeip::state_type_e state) |
| | Function that is called when the registration state of the application changes. More...
|
| |
|
| bool | run_ |
| | Main on/off switch for application. More...
|
| |
| bool | go_ |
| | Pause switch for all threads. More...
|
| |
| bool | skip_go_ |
| | Disables pause switch (go_) for all threads. More...
|
| |
|
uint32_t | pub_di_sleep_ |
| | Time (in milliseconds) that the distance publisher thread will sleep between cycles.
|
| |
| std::thread | pub_di_thread_ |
| | The thread object for the function run_di. More...
|
| |
|
std::mutex | mu_run_ |
| | Mutex for synchronizing the start of all threads.
|
| |
|
std::condition_variable | cond_run_ |
| | Condition variable for synchronizing the start of all threads.
|
| |
|
std::shared_ptr< vsomeip::application > | app_ |
| | VSOMEIP app that provides the dist and steer services.
|
| |
|
std::shared_ptr< vsomeip::payload > | payload_ |
| | Payload that is used for the VSOMEIP packets.
|
| |
This class provides the distance sensor service and the steering actuator service.
The distance service publishes (notifies) sensor data at a set interval. Another vsomeip application may subscribe to this sevice to get regular distance sensor updates. The steering service follows a client-server model where the client app sends a request and the server (this class) sets the wheels to the requested angle.
- Author
- Leon Fernandez
◆ DistSteerService()
| DistSteerService::DistSteerService |
( |
uint32_t |
di_sleep, |
|
|
bool |
skip_go |
|
) |
| |
Constructor for the DistSteerService class.
- Parameters
-
| di_sleep | Time (in millisec) that the distance notifier thread will sleep during each cycle. |
| skip_go | Allows threads to ignore the value go_. Only for testing purposes! |
◆ init()
| bool DistSteerService::init |
( |
| ) |
|
◆ on_go_availability()
| void DistSteerService::on_go_availability |
( |
vsomeip::service_t |
serv, |
|
|
vsomeip::instance_t |
inst, |
|
|
bool |
go |
|
) |
| |
|
private |
Function that is called when the availability of the go-service changes.
- Parameters
-
| serv | ID of the service, should always be ==GO_SERVICE_ID |
| inst | ID of the specific service instance, should always be ==GO_INSTANCE_ID |
| go | True if the service is available, false otherwise |
The go-service is a service made available by the central node (bbb-car-controller) when that node has a preset number of services (ie when it has discovered all actuators). The availability of the go-service basically works as a pause/play switch for this Class.
◆ on_shutdown()
| void DistSteerService::on_shutdown |
( |
const std::shared_ptr< vsomeip::message > & |
msg | ) |
|
|
private |
Function that is called when a message with SHUTDOWN_METHOD_ID arrives.
- Parameters
-
| msg | vsomeip message with SHUTDOWN_METHOD_ID |
Shuts down the application and the entire program by calling stop.
◆ on_state()
| void DistSteerService::on_state |
( |
vsomeip::state_type_e |
state | ) |
|
|
private |
Function that is called when the registration state of the application changes.
- Parameters
-
| state | The incoming state that the application has within the vsomeip runtime. |
Upon succesful registration within the vsomeip runtime it offers the steering and distance services (makes them available) and requests association with the go-server.
◆ on_steer_req()
| void DistSteerService::on_steer_req |
( |
const std::shared_ptr< vsomeip::message > & |
msg | ) |
|
|
private |
Function that is called when a message with STEER_METHOD_ID arrives.
- Parameters
-
| msg | vsomeip message with STEER_METHOD_ID and a payload representing the desired angle for the wheels. |
Unpacks and writes the received request data to a shared memory, which can then be read by the process controlling the steering.
◆ run_di()
| void DistSteerService::run_di |
( |
| ) |
|
|
private |
This method is the method run by pub_di_thread_.
It basically waits for the initialization to complete then enters an eternal loop. If the go-service is unavailable it spins around doing nothing. If the go-service is available it publishes some data (preferably sensor data) and then goes to sleep for a set amount of time.
◆ start()
| void DistSteerService::start |
( |
| ) |
|
Starts the application by registering it to the vsomeip runtime environment.
- Author
- Leon Fernandez
◆ go_
| bool DistSteerService::go_ |
|
private |
Pause switch for all threads.
All threads will just loop in one place without doing anything if set to false. Set to true when a remote server (the go-server) comes online. Set to false if the go-server goes offline or if stop is called. Initial value is set to false.
◆ pub_di_thread_
| std::thread DistSteerService::pub_di_thread_ |
|
private |
The thread object for the function run_di.
Thread that is instatiated inside init. Continuously reads a sensor value then publishes it for all subscribers to see. Sleeps for pub_di_sleep_ milliseconds between cycles.
◆ run_
| bool DistSteerService::run_ |
|
private |
Main on/off switch for application.
Set to true when initialization is succesfully completed. Set to false when stop is called, causing all threads to run to completion so they can be joined.
◆ skip_go_
| bool DistSteerService::skip_go_ |
|
private |
Disables pause switch (go_) for all threads.
Can only be set by passing an argument at the cmd line when starting the program.
The documentation for this class was generated from the following files:


--- layout: article title: Messy Databases description: Cleaning Up a Messy Donor Database Can Boost Fundraising Results ---
My article on how to clean and structure a donor database was one of the most popular articles of 2013 and inspired a live chat discussion on the subject.
Read an excerpt below.
By Sarah Frostenson
When Amanda Zambrano started her new fundraising job in January, she inherited a database of information about donors that was in utter disarray.
The data were inconsistent, a jumble of duplicate and blank records, some containing arbitrary dollar amounts.
"I'd come across a lump gift of $5,000 that in reality might be 40 gifts spread over the course of 10 years," says Ms. Zambrano, director of advancement at Grace Village Retirement Community, in Indiana, who was the fourth person in five years to oversee the charity's donor records.
Haphazard databases are common at nonprofits, and the problem is an expensive one, experts say, because a bad database can hobble fundraising efforts.
When Ms. Zambrano started her job, she was new to the group and didn't know a single donor. As a one-woman development office, without a database of reliable donor information to draw from, she was at a loss as to how to start because she had so few clues about who had been asked and who had given.
In a lot of cases, fundraisers enter information haphazardly, experts say.
"Databases become these oral-history, patchwork projects," says Maya Gasuk, a senior consultant at West Wind Consulting Strategies in Fund Raising. "People adapt things on the fly without first really learning how to use them, and they don't document procedures."
Following are some tips from charity officials and consultants on how to manage and clean up messy records so they can be used to help an organization raise money and better meet the needs of its clients:
Think about how the data will be exported.This will help determine how the information should be entered in the first place, says Ms. Gasuk. For instance, she suggests standardizing how biographical data about a donor is formatted. Break up a donor's name into multiple fields (salutation, first name, last name), which makes it easier to work with for different uses than one long string of text.
Most important, Ms. Gasuk recommends creating a unique identifier, such as a number, for each donor record if it is not automatically generated by the database software. This helps fundraisers accurately modify records and oversee large imports and exports of data.


{% extends "login/index.html" %} {% set active_page = 'help' %} {% block content %}
Enter your email address below to recieve an email with instructions on how to recover your account:
Success!
An email containing further instructions has been sent to {a resetPasswordRequest.email a}.
Please allow a few minutes for it to arrive and be sure to check your junk/spam folder!
Thanks for using the Manager!
For more information about this application, including information about privacy, usage and intellectual property, please click here.
{% endblock %}


Button
Button component is an enhanced version of the standard HTML <
button
>
element. A button consists of text and/or an image that clearly communicates what action will occur when user clicks or touches it. Propeller button component provides various types of buttons, and allows user to add both display and click effects.
Bootstrap provides different classes for button based upon its purpose. For example - Include Default Button to the code by adding .btn-default
.
Propeller button consists of Bootstrap HTML structure with Propeller customized classes based on material design standards. Add .pmd-ripple-effect
followed by Bootstrap classes to get ripple effect to button.
Raised Button is used to give prominence to actions in a layouts with a lot of varying content. Include Raised Button to the code by adding .pmd-btn-raised
.
Flat Button is text-only button. Include Flat Button to the code by adding .pmd-btn-flat
.
Outline Button is a button with a border rather that background color. It is generally used to define secondary action. Include Outline Button to the code by adding .pmd-btn-outline
.
Include FAB Button to the code by adding .pmd-btn-fab
.
Include Raised Floating Action Button to the code by adding .pmd-btn-fab .pmd-btn-raised
.
Include Flat FAB Button to the code by adding .pmd-btn-fab .pmd-btn-flat
.
Button Sizes
Want Fancy larger or smaller button? Add .btn-lg
, .btn-sm
for additional sizes.
Create block level button—those that span the full width of a parent— by adding .btn-block
.
Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with our button plugin.
Configuration Options
The Propeller CSS classes apply various predefined visual enhancements to the button. The table lists the available classes and their effects.
| Propeller Class | Effect | Remark |
|---|---|---|
.pmd-ripple-effect |
Supporting class which, when used with .btn adds a ripple effect to the button. |
Optional |
.pmd-btn-raised |
Supporting class which, when used with .btn makes the button look raised. |
Optional |
.pmd-btn-flat |
Supporting class which, when used with .btn makes the button flat. |
Optional |
.pmd-btn-fab |
Supporting class which, when used with .btn makes it circular. |
Optional |
.pmd-btn-outline |
Supporting class which, when used with .btn creates a Outline button. |
Optional |


001 002/* 003 * Copyright (C) 2015 Archie L. Cobbs. All rights reserved. 004 */ 005 006package org.jsimpledb.kv.raft; 007 008import com.google.common.base.Preconditions; 009 010import java.util.Comparator; 011 012/** 013 * Represents a relative timestamp in milliseconds. 014 * 015 *
 016 * Values are stored as an unsigned 32 bit integer, which therefore recycles after 232 milliseconds (about 48 days). 017 * Two values to be {@linkplain #compareTo compared} must have been generated within 24 days of each other to be ordered correctly. 018 * 019 *
 020 * This class uses {@link System#nanoTime}, not {@link System#currentTimeMillis}, and so is immune to changes in the system clock. 021 * To facilitate debugging, the zero mark is set at class initialization time. 022 * 023 *
 024 * Instances are immutable. 025 */ 026public class Timestamp implements Comparable<Timestamp> { 027 028 /** 029 * Sorts possibly null {@link Timestamp}s in chronological order, with null sorting first. 030 * 031 *
 032 * All non-null {@link Timestamp}s must be contained within a single 231-1 range; otherwise results are undefined. 033 */ 034 public static final Comparator<Timestamp> NULL_FIRST_SORT = new Comparator<Timestamp>() { 035 @Override 036 public int compare(Timestamp t1, Timestamp t2) { 037 return t1 == null ? 038 (t2 == null ? 0 : -1) : 039 (t2 == null ? 1 : t1.compareTo(t2)); 040 } 041 }; 042 043 // Make timestamps start at zero to facilitate debugging 044 private static final int TIME_BASE = Timestamp.milliTime(); 045 046 private final int millis; 047 048 /** 049 * Construtor returning the current time. 050 */ 051 public Timestamp() { 052 this(Timestamp.now()); 053 } 054 055 /** 056 * Constructor. 057 * 058 * @param millis relative milliseconds value from {@link #getMillis} 059 */ 060 public Timestamp(int millis) { 061 this.millis = millis; 062 } 063 064 /** 065 * Get the relative milliseconds value contained by this instance. 066 * 067 * @return relative millisecond value 068 */ 069 public int getMillis() { 070 return this.millis; 071 } 072 073 /** 074 * Get the number of milliseconds this instance is offset from the current time. 075 * 076 *
 077 * A positive offset means this instance is in the future. 078 * 079 * @return relative millisecond offset 080 */ 081 public int offsetFromNow() { 082 return this.millis - Timestamp.now(); 083 } 084 085 /** 086 * Get the number of milliseconds this instance is offset from the given instance. 087 * 088 *
 089 * A positive offset means this instance is after {@code base}. 090 * 091 * @param base base timestamp 092 * @return relative millisecond offset 093 * @throws IllegalArgumentException if {@code base} is null 094 */ 095 public int offsetFrom(Timestamp base) { 096 Preconditions.checkArgument(base != null, "null base"); 097 return this.millis - base.millis; 098 } 099 100 /** 101 * Return this timestamp offset by the given amount. 102 * 103 * @param offset offset in milliseconds 104 * @return adjusted timestamp 105 */ 106 public Timestamp offset(int offset) { 107 return new Timestamp(this.millis + offset); 108 } 109 110 /** 111 * Determine whether this timestamp is in the past or the future. 112 * 113 * @return true if this timestamp is in the past 114 */ 115 public boolean hasOccurred() { 116 return Timestamp.now() - this.millis >= 0; 117 } 118 119 /** 120 * Determine whether this timestamp is so far in the past that it is in danger of rolling over to the future 121 * as time continues to move forward. 122 * 123 *
 124 * This returns true if this timestamp is within 5% of the roll-over point relative to the current time. 125 * This would represent a time approximately 22.8 days in the past. 126 * 127 * @return true if this timestamp's offset is dangerously negative 128 */ 129 public boolean isRolloverDanger() { 130 return this.offsetFromNow() <= (int)(Integer.MIN_VALUE * 0.95f); 131 } 132 133// Internal methods 134 135 private static int now() { 136 return Timestamp.milliTime() - TIME_BASE; 137 } 138 139 private static int milliTime() { 140 return (int)(System.nanoTime() / 1000000L); 141 } 142 143// Object 144 145 @Override 146 public boolean equals(Object obj) { 147 if (obj == null || obj.getClass() != this.getClass()) 148 return false; 149 final Timestamp that = (Timestamp)obj; 150 return this.millis == that.millis; 151 } 152 153 @Override 154 public int hashCode() { 155 return this.millis; 156 } 157 158 @Override 159 public String toString() { 160 final long value = this.millis & 0xFFFFFFFFL; 161 return String.format("%05d.%03d", value / 1000, value % 1000); 162 } 163 164// Comparable 165 166 /** 167 * Compare two instances, where "smaller" means earlier in time. 168 * 169 *
 170 * Note: because timestamps recycle every 48 days, this method does not totally order instances. 171 * 172 * @param that timestamp to compare with 173 * @throws IllegalArgumentException if this instance and {@code that} differ by exactly 231 milliseconds 174 * @throws NullPointerException if {@code that} is null 175 */ 176 @Override 177 public int compareTo(Timestamp that) { 178 Preconditions.checkArgument(this.millis != (that.millis ^ 0x80000000)); 179 final int diff = this.millis - that.millis; 180 return diff < 0 ? -1 : diff > 0 ? 1 : 0; 181 } 182} 183


ARMAGEDDON A film review by Matt Williams
RATING: * * out of * * * *
Armageddon, the second of this year's death-from-above thrillers (the first being Deep Impact), has entered our atmosphere. And though it hardly fizzles out in the atmosphere, it is far from being a global killer.
Just to give you an example of the differing paces of Deep Impact and Armageddon, the former film detected the incoming comet with a roomy two years to spare...in Armageddon, the asteroid is detected with only 18 days to impact. To counter the threat, NASA creates a plan, gathers a crew, trains the crew, readies not one, but two Space Shuttles for the mission, and launches them all within that narrow window. You can tell realism is not the object here.
NASA head honcho Dan Truman (Billy Bob Thorton) realizes he needs a drilling team to plant a mega-nuke inside the asteroid's belly. For some reason, even though the asteroid is "as big as Texas", they only need to drill 800 feet to get to the very center. But in any case, they need a master driller to head the operation. Enter Harry S. Stamper (Bruce Willis) and his team of overly colorful roughnecks.
Of course, where would the dramatic tension be without a pointless romantic subplot. This is provided by Harry's daughter, Grace (Liv Tyler), who's in love with Harry's right-hand-man A.J. (Ben Affleck). Now, I have yet to become a fan of Liv Tyler, and have yet found no proof that she can actually act. This film gives no exception.
The one thing the film does have going for it is its special effects. The destructive shots as mini-showers pelt major cities are spectacular. Comparatively, the space scenes are nothing special, and even border on bland. The filmmakers seem to recognize this however, and periodically throughout the film they treat us to an intermission of another city being leveled. (Though, you begin to wonder why the asteroids only target urban areas.)
Director Michael Bay has been previously criticized for his music-videoesque directing style of constant motion and quick cuts. However, while not an appropriate style for all films, it certainly fits the action thriller. However, in Armageddon, the effects are a little more disorienting than in, say, The Rock. Particularly once you reach the asteroid where everything is gray and spiky, and everyone is wearing identical spacesuits. It simply gets difficult to identify the characters in the quick shots (a frustrating thing when death is involved).
The action sequences are exciting at times, though the film is hampered when it attempts to find a human villain. The military subplot that's thrown in is just plain ludicrous. The action sequences never quite leave you completely satisfied, but you're never bored either.
The acting in the film is par for the course. Most of the characters are one-dimensional quip machines...but they're funny one-dimensional quip machines. Billy Bob Thornton strives for, but never quite reaches the level of Ed Harris' similar role in Apollo 13. Bruce Willis handles himself capably, yet again, as an action lead, though this is far from his best character-driven work.
The wafer thin plot of Armageddon can't hold up to any scrutiny whatsoever. Deep Impact may have been shallow at times, but at least it covered more of the bases.
Still, with its pleasing eye candy and the occasional moment of humor, Armageddon is not a total disaster. But then again, it doesn't rank up with the best of escapist fare either.
Copyright 1998 Matt Williams
- Matt Williams<EMAIL_ADDRESS>Reviewer for Cinematter: http://www.cinematter.com Home of over 500 reviews, and information on over 600 upcoming releases
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| Specification Name | Last updated by | Last updated date |
|---|---|---|
| specification.Rmd | Ashley Tarasiewicz | 2020-06-16 |
This section contains details of each test executed. Checks verifying each test are included as sub-bullets of their associated test.
Setup: No prerequisites required
R version 3.6.2 (2019-12-12) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Ubuntu 18.04.5 LTS
Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3 LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so
locale: [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8
[4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8
[7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
attached base packages: [1] stats graphics grDevices utils datasets methods base
other attached packages: [1] forcats_0.4.0 readr_1.3.1 tidyr_1.0.2 tibble_3.0.1
[5] ggplot2_3.3.3 tidyverse_1.3.0 huxtable_5.2.0 pharmaRTF_0.1.2 [9] purrr_0.3.3 stringr_1.4.0 kableExtra_1.3.1 knitr_1.28
[13] testthat_2.3.1 dplyr_1.0.2 plyr_1.8.5
loaded via a namespace (and not attached): [1] tidyselect_1.1.0 xfun_0.21 haven_2.2.0 lattice_0.20-38
[5] colorspace_1.4-1 vctrs_0.3.4 generics_0.0.2 htmltools_<IP_ADDRESS> [9] viridisLite_0.3.0 yaml_2.2.1 rlang_0.4.8 pkgdown_1.5.1
[13] pillar_1.4.4 glue_1.4.2 withr_2.1.2 DBI_1.1.0
[17] dbplyr_1.4.2 readxl_1.3.1 modelr_0.1.5 lifecycle_0.2.0
[21] cellranger_1.1.0 gtable_0.3.0 munsell_0.5.0 rvest_0.3.5
[25] memoise_1.1.0 evaluate_0.14 fansi_0.4.1 highr_0.8
[29] broom_0.5.4 Rcpp_1.0.3 scales_1.1.0 backports_1.1.5
[33] desc_1.2.0 jsonlite_1.6.1 webshot_0.5.2 fs_1.5.0
[37] hms_0.5.3 digest_0.6.23 stringi_1.4.5 rprojroot_1.3-2
[41] grid_3.6.2 cli_2.0.1 tools_3.6.2 magrittr_1.5
[45] crayon_1.3.4 pkgconfig_2.0.3 MASS_7.3-51.4 ellipsis_0.3.0
[49] xml2_1.3.2 reprex_0.3.0 lubridate_1.7.4 assertthat_0.2.1 [53] rmarkdown_2.7 httr_1.4.1 rstudioapi_0.10 R6_2.4.1
[57] nlme_3.1-142 compiler_3.6.2


--- layout: page title: About Me background: '/img/bg_about2.jpg' ---
Hello Everyone :)
My name is Eunike Ardytasari, you can call me Eunike, Nike or Dita.
I really like reading and writing. That’s why I made this blog to share my stories, thinking, journey and another things else. Most of my posts are about mental health. Because I want to spread Mental Health Awareness through my writings.
My dream is not only to write and to share everything but also to bless and to encourage all people who read my writings on this blog or my other channels. I am not a perfect person, many times I am weak and fail. But I often found a new hope from some readings, so I just want to do the same thing, to share and to help other people finding their HOPE.
Find me here :I am a writer, English - Bahasa Indonesia translator and Editor, content creator and website developer. Contact me here for bussiness or project needed<EMAIL_ADDRESS>Thank you for visiting this blog, hope you’re enjoy and blessed. Don’t hesitate to leave comment or to contact me if you have some quetions or something to share.
Blessings,
-Eunike-


This web page simulates the famous "Magic Eight Ball" toy, a registered trademark of Mattel Inc. The "Magic Eight Ball" trademark and various 8-Ball answers are used without permission of Mattel Inc. Mattel Inc. is neither affiliated with this site, nor with authors of this site. By using this oracle you agree that your doing so at your own risk. Authors will not be responsible for any choices based on advices from this oracle. Informations displayed within this site are not necessarily based on facts. Void where prohibited, taxed, or misconstrued. No children or animals were harmed in the process of construction of this oracle.
8ball, 2021 — 3000


- Competition type:
- Study of feasibility
- Area:
- High value manufacturing
- Funding available:
- £250,000
- Lead tech:
- Mike Baddle
- Comp exec:
- Jess Smith
In assessment
12:00
30th March 2016
Funders panel
Feedback to applicants
Feedback to applicants
Project setup
12:00
12th April 2016


Angular directive in action using the
official examples
Minimum Setup (with ngModel)
Using Locales
Custom Formats
Enabled/Disabled Dates
Custom Icons
View Mode
Min View Mode
Disabled Days of the Week
Using a
$scope
d variable
Inline


--- permalink: /homecoming/ title: Homecoming ---
Every year in fall Jacobs alumni from all over the world reunite at their alma mater. For the classes that celebrate their 5th or 10th anniversary, this is a very special weekend of the year. While there are many highlights such as the Gala Dinner or the Theme Party, simply getting together and seeing old faces as well as connecting with new alumni, is what makes this event so memorable every year.
The event is organized by the Class Representatives of the anniversary classes in collaboration with the Assessor for Event Management of the Alumni Association and the Alumni Office of the university.
|
Homecoming 2020 15-year reunion Class of 2005 10-year reunion Class of 2010 5-year reunion Class of 2015 |
19th - 20th September 2020 | General Assembly | ||
|
Homecoming 2019 15-year reunion Class of 2004 10-year reunion Class of 2009 5-year reunion Class of 2014 |
20th - 22nd September 2019 | |||
|
Homecoming 2018 10-year reunion Class of 2008 5-year reunion Class of 2013 |
21st - 23rd September 2018 | Picture Gallery | ||
|
Homecoming 2017 10-year reunion Class of 2007 5-year reunion Class of 2012 |
22nd - 24th September 2017 | Picture Gallery | ||
|
Homecoming 2016 10-year reunion Class of 2006 5-year reunion Class of 2011 |
23rd - 25th September 2016 | Picture Gallery | ||
|
Homecoming 2015 10-year reunion Class of 2005 5-year reunion Class of 2010 |
25th - 27th September 2015 | Picture Gallery | ||
|
Homecoming 2014 10-year reunion Class of 2004 5-year reunion Class of 2009 |
19th - 21st September 2014 | General Assembly (Recording) |


Core Components¶
In Pyxley, the core component is the UILayout
. This component is
composed of a list of charts
and filters
, a single React
component from a JavaScript file, and the Flask app.
# Make a UI
from pyxley import UILayout
ui = UILayout(
"FilterChart",
"./static/bower_components/pyxley/build/pyxley.js",
"component_id")
This will create a UI object that’s based on the FilterChart
React
component in pyxley.js
. It will be bound to an html div
element
called component_id
.
If we wanted to add a filter and a chart we could do so with the following
# Make a Button
cols = [c for c in df.columns if c != "Date"]
btn = SelectButton("Data", cols, "Data", "Steps")
# Make a FilterFrame and add the button to the UI
ui.add_filter(btn)
# Make a Figure, add some settings, make a line plot
fig = Figure("/mgchart/", "mychart")
fig.graphics.transition_on_update(True)
fig.graphics.animate_on_load()
fig.layout.set_size(width=450, height=200)
fig.layout.set_margin(left=40, right=40)
lc = LineChart(sf, fig, "Date", ["value"], init_params={"Data": "Steps"}, timeseries=True)
ui.add_chart(lc)
Calling the ui.add_chart
and ui.add_filter
methods simply adds
the components we’ve created to the layout.
app = Flask(__name__)
sb = ui.render_layout(app, "./static/layout.js")
Calling ui.render_layout
builds the JavaScript file containing everything we’ve created.
Charts¶
Charts are meant to span any visualization of data we wish to construct. This includes line plots, histograms, tables, etc. Several wrappers have been introduced and more will be added over time.
Implementation¶
All charts
are UIComponents
that have the following attributes and methods
- An endpoint route method. The user may specify one to override the default.
- A
url
attribute that the route function is assigned to by the flask app. - A
chart_id
attribute that specifies the element id. - A
to_json
method that formats the json response.
Filters¶
Filters are implemented in nearly the same way that charts
are implemented. The only
difference is the lack of the to_json
method.


You can use a credit card to order TeamDrive online, and
within a few minutes, receive a
registration code to unlock TeamDrive.
(Our registrations are handled by RegSoft. If you have problems with the secure form, you can use the
standard form.)
If you would like to order directly from us, please contact us
at:
TeamStream, Inc.
4320 Stevens Creek Blvd.
Suite 285
San Jose, CA 95129Phone:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
E-mail: orders@teamstream.com


Back to the index page
Login and Registration Form
Log in
Your email
Your password
Not a member yet ?
Join us
Sign up
Your username
Your email
Your password
Already a member ?
Go and log in


Service is running...
This is a REST service that supports the following operations
company
- add - to add register a new company
- list - to view all registered companies
- update/{id} - to update a company
- delete/{id} - to delete a company
company
- add - to add register a new beneficiary
- list - to view all registered beneficiaries
- update/{id} - to update a beneficiary
- delete/{id} - to delete a beneficiary


This service provides the CIMI (Cloud Infrastructure Management Interface) for the StratusLab cloud infrastructure. CIMI is a standard developed by DMTF.
The following links provide interesting entry points to this service:
See other files in the parent directory for information and links to services running on this machine.


This is a heading
Try to change the background of this paragraph
Change the background to yellow
Next


--- layout: tweet ---
Training day today. Should be good fun.
12/10/2008, 8:50:30 AM
Favs: 0
Retweets: 0


Wander algorithm simulates the random movement of the agent.
To achieve the desired movement the random number theta is created outside of the method. Theta is a random degree (from 0 to 360), which will be an initial direction for the vehicle.
Inside the Wander method, theta is modified by a random number of a certain length (in this example it's range is from -15 to 15).
Then a new theta is used to calculate points on a circle with a certain radius. The calculated position is returned by Wander and passed to Seek.
Thanks to small steps vehicle is able to move ahead quite smoothly and randomly.
The orange vector sticking out of the center of the vehicle is a visualization of the desired velocity and the violet one shows the current velocity of the agent. The radius of a circle and the vector pointing to that circle can be modified using sliders below.
The orange vector sticking out of the center of the vehicle is a visualization of the desired velocity and the violet one shows the current velocity of the agent. The radius of a circle and the vector pointing to that circle can be modified using sliders below.
Vehicle position x:
y:
velocity:


The Lord of the Rings: The Card Game is a cooperative adventure game in which the players attempt to complete a scenario, each with three heroes of their choice and a deck of allies, events and attachments to support them. Each round, players send their heroes and allies to quest or to fight with enemies that engage them. However, as the heroes and allies exhaust after questing, defending, or attacking, the players' options are typically insufficient to deal with everything at once. Therefore, players need to determine whether it is more urgent to quest and make progress in the scenario while the enemy forces gain power, or to take down enemies while making no progress, not knowing what will come next.


Inherito
Select a heritage place to explore
Gothenburg
London
Kaylaka
Vaxjo
It takes a human to turn a space into a place


--- layout: post title: supertab tags: ---
Just wanted to put up a quick note here that vim-supertab is a sweet plugin. I haven’t really looked into it fully but so far the simple fact that if I have MyAwesomeClass defined somewhere in my project, if I type MyAwe and then hit tab, it will offer to finish it for me, is awesome. Check it out!


Statistics
7%
700 Likes
Today's Foods
23%
5.000 Likes
This Week's Foods
9%
20.000 Likes
This Month's Foods
19%
300.000 Likes
This Year's Foods
400 / Day
Average Employee Eats


“Immersion is the most effective form of foreign language instruction ever implemented in a school setting.
Studies have shown that immersion students develop near-native skills in understanding and reading a foreign language, and high levels of proficiency in speaking and writing it”
Dr Myriam Met
Teacher-led study clubs run throughout the week, allowing students to socialize and practice their language skills at the same time.
Take the test now!Our K +notes course books cover all the key areas of language. Each book is directly linked to online learning materials and to interactive whiteboards used in class.
These online materials allow students to reinforce progress made in class and receive instant feedback, with additional exercises and examples.
This package of online learning materials is designed to facilitate self-directed study, allowing students to move beyond progress made in class with interactive questions, videos, audio examples and assessment tasks.
K+ is aligned to CEFR (Common European Framework of Reference) levels.
Choose from grammar, vocabulary or pronunciation and study at your own pace with carefully developed lessons.
Our three-step study process encourages you to learn new material, practise what you know, then review your knowledge with specialised mini tests.
Progress step-by-step and reach fluency the Kaplan way!
“The ability to understand and speak more than one language is not the only benefit of immersion education.
Research shows that students gain additional cognitive, academic and employment benefits.”
– Center for Advanced Research on Language Acquisition, 2007
Helping you define your learning goals
KITE, our advanced, psychometrics-based testing system adapts to students' responses to build a highly accurate impression of their English proficiency.
Understanding your needs allows us to place you in the correct class and fine-tune your learning experience.


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.imaging.formats.tiff.photometricinterpreters; | |
| 18 | ||
| 19 | import java.io.IOException; | |
| 20 | ||
| 21 | import org.apache.commons.imaging.ImageReadException; | |
| 22 | import org.apache.commons.imaging.common.ImageBuilder; | |
| 23 | ||
| 24 | public class PhotometricInterpreterPalette extends PhotometricInterpreter { | |
| 25 | ||
| 26 | /** | |
| 27 | * The color map of integer ARGB values tied to the pixel index of the | |
| 28 | * palette | |
| 29 | */ | |
| 30 | private final int[] indexColorMap; | |
| 31 | ||
| 32 | public PhotometricInterpreterPalette(final int fSamplesPerPixel, | |
| 33 | final int fBitsPerSample[], final int Predictor, final int width, final int height, | |
| 34 | final int[] fColorMap) { | |
| 35 | super(fSamplesPerPixel, fBitsPerSample, Predictor, width, height); | |
| 36 | ||
| 37 | final int fBitsPerPixel = bitsPerSample[0]; | |
| 38 |
1
1. |
final int colormap_scale = (1 << fBitsPerPixel); |
| 39 | indexColorMap = new int[colormap_scale]; | |
| 40 |
3
1. 2. 3. |
for (int index = 0; index < colormap_scale; index++) { |
| 41 |
2
1. 2. |
final int red = (fColorMap[index] >> 8) & 0xff; |
| 42 |
3
1. 2. 3. |
final int green = (fColorMap[index + (colormap_scale)] >> 8) & 0xff; |
| 43 |
4
1. 2. 3. 4. |
final int blue = (fColorMap[index + (2 * colormap_scale)] >> 8) & 0xff; |
| 44 |
5
1. 2. 3. 4. 5. |
indexColorMap[index] = 0xff000000 | (red << 16) | (green << 8) |
| 45 | | blue; | |
| 46 | } | |
| 47 | ||
| 48 | } | |
| 49 | ||
| 50 | @Override | |
| 51 | public void interpretPixel(final ImageBuilder imageBuilder, final int samples[], final int x, | |
| 52 | final int y) throws ImageReadException, IOException { | |
| 53 |
1
1. interpretPixel : removed call to org/apache/commons/imaging/common/ImageBuilder::setRGB → SURVIVED |
imageBuilder.setRGB(x, y, indexColorMap[samples[0]]); |
| 54 | } | |
| 55 | } | |
Mutations | ||
| 38 |
1.1 |
|
| 40 |
1.1 2.2 3.3 |
|
| 41 |
1.1 2.2 |
|
| 42 |
1.1 2.2 3.3 |
|
| 43 |
1.1 2.2 3.3 4.4 |
|
| 44 |
1.1 2.2 3.3 4.4 5.5 |
|
| 53 |
1.1 |


Using what we have learned about iterators, and one more new fact, we can reimplement
the extract_fails
function in a way that does not use indexing at all:
// version 3: iterators but no indexing; still potentially slow vector<Student_info> extract_fails(vector<Student_info>& students) { vector<Student_info> fail; vector<Student_info>::iterator iter = students.begin(); while (iter != students.end()) { if (fgrade(*iter)) { fail.push_back(*iter); iter = students.erase(iter); } else ++iter; } return fail; }
We start by defining fail
as we did before. Next, we define the iterator, named iter
,
that we'll use—in place of an index—to look at the elements in students
. Note that we
give it type iterator
instead of const_iterator
:
vector<Student_info>::iterator iter = student.begin();
because we intend to use it to modify students
, which we do in the call to erase
. We
initialize iter
to denote the first element in students
.
We continue with a while
statement that will look at every element of students
.
Remember that iter
is an iterator that denotes an element in the container, so *iter
is
the value of that element. To decide whether a student passed or failed, we pass that
value to fgrade
. Similarly, we changed the code that copies the failing records into
fail
by writing
fail.push_back(*iter) ; // dereference the iterator to get the element
instead of
fail.push_back(students[i]); // index into the vector to get the element
The erase has gotten simpler, because we now have an iterator to pass directly:
iter = students.erase(iter);
We no longer have to calculate an iterator by adding the index i
to students.begin()
.
The new fact that we used here is easy to overlook, but crucially important: We now
assign to iter
the value that erase
returns. Why?
A bit of thinking should convince us that removing the element that iter
denoted
must invalidate that iterator. After we have called students.erase(iter)
, we know
that iter
can no longer refer to the same element because that element is gone. In fact,
calling erase
on a vector
invalidates all iterators that refer to elements after the one
that was just erase
d. If you look back at the diagram in §5.1.1/78, it should be obvious
that after we erase the element marked FAIL
, that element is gone, and each of the elements
after it has moved. If the elements have moved, any iterators referring to them
must be meaningless as well.
Fortunately, erase
returns an iterator that is positioned on the element that follows
the one that we just erased. Therefore, executing
iter = students.erase(iter);
makes iter
refer to the element after the erasure, which is exactly what we need.
If we're dealing with an element that did not represent a failing grade, then we still
need to increment iter
so that we'll be positioned on the next element for the next trip
through the loop. We do so by incrementing iter
in the else
branch.
Incidentally, as in §5.1.1/78, we might be tempted to optimize the loop by saving the
value of students.end()
to avoid evaluating it each time through the while
. In other
words, we might be tempted to change
while (iter != students.end())
to
// this code will fail because of misguided optimization vector<Student_info>::iterator iter = students.begin(), end_iter = students.end(); while (iter != end_iter) { // . . . }
This loop will almost surely fail at run time. Why?
The reason is that if we ever execute students.erase
, doing so will invalidate every
iterator after the point erased, including end_iter
! Therefore, it is essential that we call
students.end
each time through the loop, just as it was essential in §5.1.1/78 to call
students.size
each time through the loop.


Description
Models the position and velocity of an object whose position is known under noise by a latent variables distribution that is linear-Gaussian
Contents
Generate synthetic data
observationLength = 30; % State transition matrix. A = [1 0 1 0; ... % constant velocity in the x1 direction per unit of time 0 1 0 1; ... % constant velocity in the x2 direction per unit of time 0 0 1 0; ... 0 0 0 1]; % Observation matrix, velocity is unobserved C = [1 0 0 0; 0 1 0 0]; q = 0.1; % random accelerations as changes in velocity term r = 0.5; % observation model variance (sensor error) [obsDim, hiddenDim] = size(C); mu_0 = [0 0 1 0]'; % initialization state for initial state distr. V_0 = 5*eye(hiddenDim); % intial covariance for starting position Z = zeros(hiddenDim, observationLength); % true state (position and velocity) X = zeros(obsDim, observationLength); % observable state (position only) eps = normrnd(0, q, [hiddenDim observationLength]); del = normrnd(0, r, [obsDim observationLength]); Z(:,1) = zeros(hiddenDim,1); % true position as latent variable X(:,1) = C*Z(:,1) + del(:,1); % observed for t = 2:observationLength Z(:, t) = A*Z(:, t-1) + eps(:, t); X(:, t) = C*Z(:, t) + del(:, t); end options_kalman = []; options_kalman.A = A; options_kalman.C = C; options_kalman.mu_init = [0 0 1 0]'; options_kalman.V_init = 5*eye(hiddenDim); options_kalman.G = q*eye(hiddenDim); options_kalman.S = r*eye(obsDim);
Train model
model = ml_unsupervised_LGSSM(X, options_kalman);
Run forwards-backwards algorithm for LG-SSM
mu_init = [0 0 1 0]'; V_init = 5*eye(hiddenDim); [mu, V] = model.KalmanFilter(X); [mu_hat, V_hat] = model.KalmanSmoothing(mu, V); % Plot results figure; hold on plot(Z(1,2:end), Z(2,2:end), '-kh', ... 'LineWidth',2, ... 'MarkerSize',10)%, ... plot(mu_hat(1,:), mu_hat(2,:), '--rd') plot(Z(1,1), Z(2,2), 'gh','MarkerSize',10,'MarkerFaceColor','green') legend('True Position','Tracked Position','Starting Position')


Place points on left canvas with Left Click Finish contour with Double Click, ENTER or ESC Delete / Add points by hovering on them and pressing DEL / INS Clear canvas with c key


Get All Todo
limit:
Limit the todos return
status:
get todo by status
contains:
get todo by string contained in bodies
owner:
get todo by owner
category:
get todo by category
Json will go here


--- layout: post title: Limits on message size and why it might be a problem for you date: 2011-01-18 14:35:00.000000000 +01:00 categories: - Cloud - Messaging - NServiceBus - Queuing tags: [] status: publish type: post published: true meta: dsq_thread_id: '299892772' blogger_blog: andreasohlund.blogspot.com blogger_permalink: "/2011/01/limits-on-message-size-and-why-it-might.html" _edit_last: '1' author: login: andreas.ohlund email<EMAIL_ADDRESS>display_name: Andreas Öhlund first_name: Andreas last_name: "Öhlund" ---
Message queuing technologies always have an upper limit set for the message size they are able to transport. The size limit is usually related to some constraint imposed by the underlying technologies used to implement the queuing system. Usually this is not a problem since the limit for the common enterprise messaging systems are quite large. MSMQ for example has a limit on 4 MB and that should be more than enough for the common use case. With the introduction of cloud bases queues this limit has increased due to the challenges that comes with cloud based infrastructure, scalability, geographic distribution, replication across data centers etc etc. The limits for Azure Queues is 64KB and 256 KB for AzureServiceBus and AmazonSQS. With these lower limits the maximum message size is something that is more likely to cause problems for you as an application developer.
There are a couple of scenarios where you might run into trouble with and I’ll try to explain them below.
Some queuing abstractions, eg. NServiceBus, allows you to send multiple messages in the same “batch” in order to preserve message ordering and make sure that those messages gets process in the same Unit of Work by the receiver. This technique is often used when clients wants to send a batch of commands for processing by a backend service. This is usually not a problem since there needs to be a lot of commands to reach the limit even with the cloud based queues. If you do get into trouble you might want to look into using Sagas to coordinate your message interactions. Events on the other hand should never be published in a “batch” since ordering and UoW doesn’t make sense for events. So the bottom line is that if you hit the limit when trying to batch messages your best bet is to change your design.
This usually happens when your trying to transmit messages whose schema is based on some industry standard such as EDIFACT or some other bloated behemoth. One solutions is transforming the message to a custom message schema where all the unused properties are removed. A slight variation of the former technique is to extract the relevant properties but also transmit the original data serialized in a more compact format as a special property of your message. Depending on the compression rate and the limit on message size this might not be enough and that leads us to the final scenario.
This is the most common scenario for breaking the message size limit. This can happen because of the reason mentioned above or in general when the payload contains a large object of some kind. Examples are images that needs to be processed, scientific data, weather data etc etc , you get the point. This is a valid scenario where it makes sense to use messaging so developers needs to find a way to work around this limitation.
In order to keep message size down we need to find a way to send the large properties on a separate channel from our regular message. To be able to correlate between the message and the separated data an ID needs to be sent together with the message so that the receiver can get the data from the separate channel using the ID when the message is received. Examples of such data channels are FileShare, Ftp, Cloud Blob storage, database, etc etc. All this can be summarized in the following steps:
There are some issues that you need to be aware of though:
What about transactions?
A “Put” operation can easily be made idempotent by just overwriting the existing key if it already exists, just make sure to generate unique ID’s. This combined with a separated cleanup process to purge to data channel periodically lets you do a simple “get” to fetch the data on the other side. This should remove the need for your data channel to enlist in any transaction at all.
Given the lower limits imposed by cloud based queues this has become a more common problem than before. The workaround is quite straight forward but can bite you if you’re not careful. To help developers in this regard we have plans to introduce a “Databus” feature to NServiceBus that hopefully will make it a lot easier to send and receive messages containing large properties. I’ll save the details for an upcoming post.


| << Shïp | Table of Contents | Sÿst >> |
Spöb Resource
Spöb resources describe stellar objects, such as planets and space stations. (spob stands for space object) Each spöb resource represents one stellar object, whose name is the name as the name of the resource. The first three fields tell Nova where to put the stellar and what graphics to use for it:
xPos & yPos The stellar's X and Y positions in the system (0, 0) is centered Type Which graphic to use, from 0 to 255. The next field stores the flag bits that tell Nova what many of the characteristics of the stellar are. Perform an OR operation on the following flags to get the final flag value:
0x00000001 - Can land/dock here
0x00000002 - Has commodity exchange
0x00000004 - Can outfit shïp here
0x00000008 - Can buy ships here
0x00000010 - Stellar is a station instead of a planet
0x00000020 - Stellar is uninhabited (no traffic control or refuelling)
0x00000040 - Has bar
0x00000080 - Can only land here if stellar is destroyed first
0x00000000 - Won't trade in food
0x10000000 - Low food prices
0x20000000 - Medium food prices
0x40000000 - High food prices
0x00000000 - Won't trade in industrial goods
0x01000000 - Low industrial prices
0x02000000 - Medium industrial prices
0x04000000 - High industrial prices
0x00000000 - Won't trade in medical supplies
0x00100000 - Low medical prices
0x00200000 - Medium medical prices
0x00400000 - High medical prices
0x00000000 - Won't trade in luxury goods
0x00010000 - Low luxury prices
0x00020000 - Medium luxury prices
0x00040000 - High luxury prices
0x00000000 - Won't trade in metal
0x00001000 - Low metal prices
0x00002000 - Medium metal prices
0x00004000 - High metal prices
0x00000000 - Won't trade in equipment
0x00000100 - Low equipment prices
0x00000200 - Medium equipment prices
0x00000400 - High equipment pricesTribute The stellar's tribute payout when dominated
-1 or 0 - Default amount (1000 credits x Tech Level)
1 and up - This number of credits per dayThe next fields tell Nova what items and ships are available for purchase at this stellar:
TechLevel What the base tech level of the stellar is. Only items and ships with TechLevels at or below this value will be available. SpecialTech (x8) Holds the special tech levels of this stellar. Unlike the previous field, only items and ships with exactly this TechLevel will appear here. This is useful for making low-tech worlds that also have a few high-tech items, or for flagging an item with an absurdly high TechLevel (say 15000) and then setting one of the SpecialTech fields of a particular stellar to that same value, thus making that item appear at that stellar and nowhere else. The next two fields contain info on the stellar's governmental affiliation:
Gövt What government controls this stellar
-1 - ignored (stellar is independent)
128-383 - ID number of the stellar's governmentMinStatus The point on your record in the current system that you'll be denied landing clearance on this stellar.
-32767 - Ignored (player can always land)
-1 to -32766 - You can be this evil before they shun you
0 to 32766 - They have to like you this much before they let you land
32767 - Player can never land.
(Note that this field is ignored if the stellar is uninhabited)The next pair of fields tells Nova which special landscape to show and which ambient sound to play.
CustPicID Which custom landscape to show
128 and up - ID number of PICT to load instead of the standard landscape display
less than 128 - No custom landscape
(Note: for animated hypergates, this field can be optionally used to set the index of the transition between the "opening/closing" animation and the "working" animation. Set to 0 to have the engine use the first half of the frames for "opening/closing" and the second half for "working".)CustSndID Which ambient sound to play
-1 - No ambient sound effect
Anything else - ID number of snd resource to load
(Note: for hypergates and wormholes, this field serves a different purpose - it controls the angle at which ships emerge. Values between 0 and 359 specify an exact angle, while any other value specifies a random direction.)The next two fields tell Nova what kind of ships, if any, to create for the planet's defense fleet:
DefenseDude Which type of düde to use for the defense fleet:
-1 - Ignored (no defense ships)
128-639 - ID number of the düde resource to use to determine the defense ships' characteristicsDefCount The number of ships in the defense fleet. If you set this number to be above 1000, ships will be launched from the planet or station in waves. The last number in this field is the number of ships in each wave, and the first 3-4 numbers (minus 1 from the first digit) are the total number of ships in the planet's fleet. For example, a value of 1082 would be four waves of two ships for a total of eight. A value of 2005 would create waves of five ships each, with 100 ships total in the planet's defense fleet. Flags2 0x0001 - For an animated stellar, the first frame will be shown after each subsequent frame.
0x0002 - For an animated stellar, the next frame in the sequence will be picked at random. The same frame will not be picked twice in a row. Note that this can be combined with the previous flag and the Frame0Bias field to create interesting effects such as random planetary lightning or lights twinkling.
0x0010 - Play this stellar's sound in a continuous loop
0x0020 - Stellar is always dominated (all your base are belong to us)
0x0040 - Stellar starts the game destroyed
0x0080 - For an animated stellar, the stellar's graphic is animated after it's been destroyed and static when it is not destroyed. The normal behavior is the opposite of this: static when destroyed and animated when not.
0x0100 - Stellar is deadly - all ships that touch it are destroyed immediately
0x0200 - If the stellar has a weapon, it will only fire when provoked (i.e. only when the player is trying to dominate it)
0x0400 - If the stellar has an outfit shop, it can buy any nonpermanent outfits the player owns, regardless of tech level
0x1000 - Stellar is a hypergate - if the player lands on it he will be given a choice of which other hypergate to travel to (see HyperLink1-8 below)
0x2000 - Stellar is a wormhole - if the player lands on it he will be transported to some other random somewhere in the galaxy. If all of the wormhole's HyperLink1-8 fields set to -1, the player will end up at another random wormhole which also has no defined hyper links. If the wormhole has any hyper links defined, the player will end up at one of the wormholes on the other end.AnimDelay The time to wait between frames, in 30ths of a second. Frame0Bias If greater than 1, this is used as a multiplier to extend the display time of the first frame in the sequence. For example, a Frame0Bias of 3 would cause the first frame in the sequence would be held for three times longer than the rest of the frames. HyperLink1-8 IDs of the spöb resources of up to eight other hypergates or wormholes to which this hypergate (or wormhole) is connected. Set to zero or -1 if unused. For a wormhole, setting every HyperLink field to -1 will cause the wormhole to randomly connect to any other random wormhole when the player goes through it. OnDominate Control bit set expression which is evaluated when the stellar is successfully dominated by the player OnRelease Control bit set expression which is evaluated when the stellar is released from domination by the player Fee The fee that is deducted from the player's credits when landing on this stellar. Set to zero if unused. Gravity The stellar's gravity - 0 for none, positive for stellars that pull, negative for stellars that push. Beware! This feature is mostly here for laughs. It severely confuses the AI, so it should only be used in empty systems where only the player can go. Weapon Stellars can have a single projectile or missile type weapon, with unlimited ammunition (don't put the ID of a beam or PD weapon here or bad things will happen). Stellars' weapons can be made to fire either only when provoked or any time an enemy shïp is present.
0 or -1 - No weapon
128-383 - Stellar has a weapon of this typeStrength The amount of combined mass and energy damage this stellar can take from planetary-type weapons before it is destroyed. Set this to 0 or -1 for an invincible stellar. DeadType Which stellar graphic to use when the stellar is destroyed. -1 - Don't display different graphic type when destroyed 0-255 - Display this stellar graphic when destroyed DeadTime The amount of time a stellar remains destroyed before it regenerates itself. Set this to 0 for a stellar that regenerates at the end of every day, or -1 for a stellar that never regenerates on its own. ExplodType What kind of explosion to show when the stellar is destroyed
-1 - No explosion
0-63 - This type of explosion
1000-1063 - Explosion type 0-63, plus a random number of type-0 explosions around itOnDestroy Control bit set expression which is evaluated when the stellar is destroyed. OnRegen Control bit set expression which is evaluated when the stellar automatically regenerates.
| << Shïp | Table of Contents | Sÿst >> |
(©) 2000-2002 by Matt Burch and Ambrosia Software, Inc.


| 1032 | (A) | and grauntis hym gudly to goo thare hym beste lykede |
| 1036 | (C) | And graunted hym grace . to go wher he wolde |
| 1019 | (D) | And yaf hym grace for-to go wher hym good likyd |
| 999 | (E) | & ȝaf hym grace to go . where þat he wulde |
| (Ex) | ---- no text ---- | |
| 1057 | (L) | & þer graunted hym grace to go where he wolde |
| 972 | (P) | ? ?? ??????? ??? ???? ?? ?? ????? ??? lyked |
| 1010 | (U) | And gaf him grace forto go / where him gode lyked |
| 97 | (V) | And graunted hym grace . to gone where hym liked |


Attributes
Source directory (the directory containing conf.py).
Directory for storing pickled doctrees.
A set of all existing docnames.
Dictionary mapping docnames to “metadata” (see File-wide metadata).
Dictionary mapping docnames to the docutils node for their main title.
Utility methods
Emit a warning.
This differs from using app.warn() in that the warning may not be emitted instantly, but collected for emitting all warnings after the update of the environment.
Return the filename for the document name.
If base is True, return absolute path under self.srcdir. If base is None, return relative path to self.srcdir. If base is a path string, return absolute path under that. If suffix is not None, add it instead of config.source_suffix.
Return paths to a file referenced from a document, relative to documentation root and absolute.
In the input “filename”, absolute filenames are taken as relative to the source dir, while relative filenames are relative to the dir of the containing document.
Add filename as a dependency of the current document.
This means that the document will be rebuilt if this file changes.
filename should be absolute or relative to the source directory.


|
| Local Properties | ||
| Managed Object Types | Data Object Types | All Properties | All Methods |
TaskScheduler AfterStartupTaskScheduler OnceTaskScheduler RecurrentTaskScheduler HourlyTaskScheduler DailyTaskScheduler WeeklyTaskScheduler MonthlyTaskScheduler MonthlyByDayTaskScheduler MonthlyByWeekdayTaskScheduler
Use a scheduler object to set the time(s) for task execution. You can use two scheduling modes - single execution or recurring execution:
After you have established the task timing, use the scheduler object for the ScheduledTaskSpec scheduler property value.
Properties
| Name | Type | Description |
|---|---|---|
| activeTime* | xsd:dateTime |
The time that the schedule for the task takes effect.
Task activation is distinct from task execution.
When you activate a task, its schedule starts,
and when the next execution time occurs, the task will run.
If you do not set activeTime, the activation time defaults to
the time that you create the scheduled task.
|
| expireTime* | xsd:dateTime |
The time the schedule for the task expires.
If you do not set expireTime, the schedule does not expire.
|
| Properties inherited from DynamicData | ||
| None |
| Top of page | Local Properties | ||
| Managed Object Types | Data Object Types | All Properties | All Methods |