the .reg file format
1 introduction the .reg file format is used by regedit, the program supplied with windows 3.x, windows 95, and windows nt, to import and export settings from the registry. note that i will not explain what the registry is, how it works, or what it can be used for. there are other documents describing the registry and it's most interesting parts all over the net - check out some of the links at the end of this document. also, i will not provide you with information on regedit for windows 3.x - i know that it exists, but not if it's format is in any way like the regedit of 95/nt. besides, the registry is much less interesting on windows 3.x. 2 description the file is formatted as plain ascii text. every line is ended with a cr/lf combination. 2.1 header it starts with regeditx, where x is regedit's version number - on 95/nt, it's 4, making the string regedit4. this is also the only part of the file actually checked by regedit when it's importing - if the file contains any formatting errors, regedit will not notify you and simply skip the settings that contain errors. in particular, regedit will pretty much accept anything as long as it starts with regeditx, and ignore anything erroneous. yes, that does add up to the microsoft stupid mistakes list. 2.2 keys key names are exported as they are encountered, but need not be in any order. subkeys are explicitly named. for example, if you had the key hkey_classes_root\clsid and it's subkey hkey_classes_root\clsid\{21ec2020-3aea-1069-a2dd-08002b30309d} (which represents the classid of the control panel, by the way), they would be exported as: [hkey_classes_root\clsid] [hkey_classes_root\clsid\{21ec2020-3aea-1069-a2dd-08002b30309d}] for a key name to be valid, it must start with one of the root key names: hkey_classes_root, hkey_current_user, hkey_local_machine, hkey_users, hkey_current_config and hkey_dyn_data. a key name may only contain printable ascii characters (that is, characters with values from 32 through 127) and may not contain spaces, backslashes \ or the wildcards * and ?. every key name is followed by it's values, starting on the line directly following it. the list of values is terminated with an empty line, and may be empty itself. for example: [key-name] [second-key-name] "value1"=something "value2"=something [third-key-name] if a key is specified which does not exist, it is created, along with any parent keys that do not exist. for example, if the key hkey_users\jeroen\test\subkey is specified, and only the key hkey_users\jeroen exists, the key hkey_users\jeroen\test is also created. note that you cannot delete keys or values - you can only add them if they don't already exist, or modify them if they do. 2.3 values there are three kinds of values in the registry: strings, binary values, and dwords. they represent a collection of characters, a collection of bytes, and a 32-bit integer, respectively. values consist of a name, enclosed in quotes "", followed by an equal sign = , followed by the value value (there's no other way to put it). every key, even if created empty, contains at least one string value - this is the value shown as (default) in regedit. to set it's value, use @ as the value name, and omit the usual quotes around the value name. example: @="this is the default value." 2.3.1 strings strings may be any size. they are represented within quotes "", and contain normal ascii characters. the quote " and backslash \ are also allowed in strings - however, they must be represented as \" and \\, respectively. also, regedit can import and export all non-ascii characters except for linefeed (or newline, ascii code 10). should a linefeed end up in a string, regedit will export this as a real newline, splitting the string in two lines. when reimporting this string, regedit will only read the first line. the moral of the story: don't store linefeeds in strings. examples of strings: "foo"="bar" "foopath"="c:\\windows\\system" "foomessage"="this/nmessage/nactually/nconsists/nof/one/nlong/nline." 2.3.2 binary values binary values are used where strings and dwords fail. they can be used to represent any type of data. they are represented as hex:xx,yy,zz where xx,yy and zz are hexadecimal representations of single bytes. they may be any length. lengthy binary values can be divided into multiple lines using the c line separator \. for example: "bar"=hex:48,00,00,00,01,00,00,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,\ 00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,\ 0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,0a,00,00,00,00,00,c4,ac,01,\ 00 also take note that this is only allowed with binary values. in particular, you cannot divide strings this way. and yes, this is pretty stupid. although i usually ignore microsoft, they recommend you shouldn't store more than around two kilobytes of binary data at most, and i agree with them for once. example of binary values: "foo"=hex:00,de,ca,de,12,34 <IP_ADDRESS> types of binary values along with 'regular' binary values, there are also some special types of data which regedit represents as special binary values, like this: "foobar"=hex(type):xx,xx,xx,xx,... where type is a number ranging from zero to ten in the current versions of windows, as follows: type name 0 reg_none 1 reg_sz 2 reg_expand_sz 3 reg_binary 4 reg_dword, reg_dword_little_endian 5 reg_dword_big_endian 6 reg_link 7 reg_multi_sz 8 reg_resource_list 9 reg_full_resource_descriptor 10 reg_resource_requirements_list <IP_ADDRESS>.1 reg_none reg_none means 'no defined value type'. no, i don't know what it's good for - reg_binary is already a catch-all type for everything that has no type. perhaps it's used for values that have no contents, although i can't imagine what that would be good for. <IP_ADDRESS>.2 reg_sz a null-terminated string. this is the same as the string type, represented as bytes. for example, these definitions are equal: "barfoo"=hex(1):41,42,43,44,00 and "barfoo"="abcd" see also 2.3.1, strings. <IP_ADDRESS>.3 reg_expand_sz a null-terminated string that contains unexpanded references to environment variables. when an application reads this string from the registry, it can let windows replace the references with the environment variable value. for example, the following value "forbaa"=hex(2):25,50,41,54,48,25,3b,53,6f,6d,65,74,68,69,6e,67,00 represents the string "%path%;something". when this string is read, the "%path%" section can be replaced with the contents of your path variable. <IP_ADDRESS>.4 reg_dword, reg_dword_little_endian represents a little-endian dword (the common format of windows dwords). in little-endian format, the most significant byte of a word is the high-order byte. see also 2.3.3, dwords. <IP_ADDRESS>.5 reg_dword_big_endian represents a big-endian dword (used on macintoshes, for example). as you can probably guess, in big-endian format, the most significant byte of a word is the low-order byte. <IP_ADDRESS>.6 reg_link represents a unicode symbolic link. no, i don't know what this is, and i probably don't want to know either. <IP_ADDRESS>.7 reg_multi_sz a collection of null-terminated strings, null-terminated. for example: "farboo"=hex(7):41,42,43,44,00,45,46,47,48,00,00 represents two strings: "abcd" and "efgh". <IP_ADDRESS>.8 reg_resource_list a device driver resource list. another one in the category "don't know and don't want to know." <IP_ADDRESS>.9 reg_full_resource_descriptor undocumented. it's probably ment for windows itself only, as device driver stuff. <IP_ADDRESS>.10 reg_resource_requirements_list undocumented. it's probably ment for windows itself only, as device driver stuff. 2.3.3. dwords dwords are 32-bit integers represented as dword:xxxxxxxx, where x is a hexadecimal digit. they're pretty boring, as that's all i can tell about them. example of dword values: "foo"=dword:00decade 3. the end that's about it - the .reg format is pretty simple, but it does the job. should you find any unclarities, mistakes or things you think are missing, contact me by emailing to<EMAIL_ADDRESS>4. well, almost, we still need the links oh yeah, here are the links i promised, listed in no particular order. they were all valid on november 4th, 1997. http://help.mindspring.com/technotes/96dec/registry1.htm this is the registry page at technotes+, the site for a lot of tips and tricks about pretty much anything technical. it contains an introduction to the registry, and how it should be used. i recommend to read this first if you've never even heard about this registry thing. http://www.geocities.com/siliconvalley/pines/2857/ this is a registry page by neil mcquarry, and a nice one it is, too. it contains a quick introduction to the registry, a brief description of .reg files, and a detailed description of various keys of interest. recommended if you want to get the most of the registry. http://www.amazon.com this is amazons home page, "earth's biggest bookstore". try their search function to search for "windows registry" - this will provide you with more than enough literary references. no online information, however. http://www.windows95.com/tips this is the tips section of windows95.com. although it doesn't contain just registry tips, it's really worth checking out. but then again, all of windows95.com is worth checking out. if you have windows 95/nt, be sure to visit it. |


You can see the adSoha plugin in action below. Look at the source of this page to see how to use it with your videos.
Your browser doesn't support video. Please upgrade your browser to see the example.


Four position values
- The static positioning value is the default. We cannot use the top, right, bottom, and left properties for this positioning. Instead, this value lets an element move with the natural flow of the page.
- Relative positioning uses static positioning as a basis for where it should be on a page. By using the top, right, bottom, and left properties, we can adjust an elements position relative to its static position. It is important to note that other elements are still going to be placed with regard to a relatively positioned elements static position.
- We use fixed positioning to place an element relative to the viewing window of the user. This means that the element will not move even as the page is scrolled and we can use the top, right, bottom , and left properties to define its position.
- Lastly, there is absolute positioning, which places an element relative to its closest non-static positioned ancestor. If there are no non-static positioned ancestors, an absolute positioned element uses the document body as a reference point.


An electronic workbook (also known as electronic laboratory notebook, or ELN) is a computer program designed to replace paper laboratory notebooks. Lab notebooks in general are used by scientists, engineers, and technicians to document research, experiments, and procedures performed in a laboratory. A lab notebook is often maintained to be a legal document and may be used in a court of law as evidence. Similar to an inventor's notebook, the lab notebook is also often referred to in patent prosecution and intellectual property litigation.
Electronic lab notebooks are a fairly new technology and offer many benefits to the user as well as organizations. For example: electronic lab notebooks are easier to search upon, simplify data copying and backups, and support collaboration amongst many users. ELNs can have fine-grained access controls, and can be more secure than their paper counterparts. They also allow the direct incorporation of data from instruments, replacing the practice of printing out data to be stapled into a paper notebook.


IFE 2018 Gallery
Basic - Personal Resume
Basic - Layout
Basic - Management Information System
Basic - Object-Oriented Programming
CSS - Task 1: Transition
CSS - Task 2: Transform
CSS - Task 3: Animation
CSS - Task 4: 3D Transform


const PI = 3.1415; console.log(PI); PI = 3.1415026
Uncaught TypeError: Assignment to constant variable. at <anonymous>:1:3


I worked at Equatorial Energies as an intern solar technician. I was involved in installation of solar PV systems at different field sites, and in monitoring and O&M. I also helped provide consultancy services to clients wishing to integrate solar with their energy systems.
While an intern at SERC, I trained as a T1, T2, and T3 solar practitioner and performed quality assurance tests on solar panels and batteries at the Strathmore Solar Testing Lab. I was also tasked with drafting Standard Operating Procedures (SOPs) for the lab as it sought KENAS accreditation.
At Kenya Power, I served in the E-Plant department where working among a team of technicians I was involved in maintenance of power and distribution transformers and in managing SCADA control panels at the power substation.


Magnitude Comparison
[click to zoom in or out]
Your browser doesn't have JavaScript turned on! This script won't work at all here.
Your browser is out of date. It may not properly display the following script.
Update your browser:
Internet Explorer 10
(recommended: smoothest animation),
Google Chrome
,
Mozilla Firefox
Loading...


|
flat
1
A 2D game engine based on SDL2.0
|
#include <EntityProperties.h>
Public Types | |
| typedef std::vector< MapArea > | Areas |
Public Member Functions | |
| EntityProperties (int x, int y, int w, int h) | |
| EntityProperties (int x, int y, int dim) | |
| SDL_Rect | getBoundingBox () const |
| EntityShape | getColliderShape () const |
| void | setColliderShape (EntityShape shape) |
| EntityShape | getVelocityColliderShape (float deltatime) const |
| EntityShape | getXVelocityColliderShape (float deltatime) const |
| EntityShape | getYVelocityColliderShape (float deltatime) const |
| void | setCollidable (bool collidable) |
| bool | isCollidable () const |
| void | setVisible (bool visible) |
| bool | isVisible () const |
| void | incrementXpos (int x) |
| void | setXpos (int pos) override |
| void | setXvel (float xvel) |
| float | getXvel () const |
| void | incrementYpos (int y) |
| void | setYpos (int pos) override |
| void | setYvel (float yvel) |
| float | getYvel () const |
| void | setDepth (int depth) |
| int | getDepth () const |
| void | setCollisionProperty (CollisionProperty) |
| CollisionProperty | getCollisionProperty () const |
| int | getColliderLeftOffset () const |
| int | getColliderRightOffset () const |
| int | getColliderTopOffset () const |
| int | getColliderBottomOffset () const |
| bool | isMoving () const |
| void | move (float deltatime) |
| bool | containsPoint (int, int) const |
| Areas & | getCurrentAreas () |
| const Areas & | getCurrentAreas () const |
| void | setLocationChanged (bool changed) |
| bool | hasLocationChanged () const |
| Public Member Functions inherited from flat2d::Square | |
| Square () | |
| Square (int px, int py, int dim) | |
| Square (int px, int py, int pw, int ph) | |
| bool | containsPoint (int, int) const |
| bool | operator< (const Square &) const |
| bool | operator== (const Square &) const |
| bool | operator!= (const Square &) const |
| int | getXpos () const |
| int | getYpos () const |
| Public Member Functions inherited from flat2d::Dimension | |
| Dimension (int width, int height) | |
| int | getWidth () const |
| int | getHeight () const |
| void | setWidth (int width) |
| void | setHeight (int height) |
Additional Inherited Members | |
| Protected Attributes inherited from flat2d::Square | |
| int | x |
| int | y |
| Protected Attributes inherited from flat2d::Dimension | |
| int | w = 0 |
| int | h = 0 |
Holds properties of the Entity to avoid code bloating and improve code structure. The EntityProperties holds data such as position, velocity etc. You should never have to create this object in game code. It's automatically created and attached to your derived Entity objects
Definition at line 23 of file EntityProperties.h.
| typedef std::vector<MapArea> flat2d::EntityProperties::Areas |
Definition at line 26 of file EntityProperties.h.
|
inline |
Create an EntityProperties object
| x | The x position |
| y | The y position |
| w | The width |
| h | The height |
Definition at line 53 of file EntityProperties.h.
|
inline |
Create an EntityProperties object
| x | The x position |
| y | The y position |
| dim | The dimension (width, height) |
Definition at line 65 of file EntityProperties.h.
| bool flat2d::EntityProperties::containsPoint | ( | int | px, |
| int | py | ||
| ) | const |
Check if a point is contained between Entity bounds
Definition at line 211 of file EntityProperties.cpp.
| SDL_Rect flat2d::EntityProperties::getBoundingBox | ( | ) | const |
Get the EntityProperties bounding box
Definition at line 102 of file EntityProperties.cpp.
| int flat2d::EntityProperties::getColliderBottomOffset | ( | ) | const |
Get the distance between Entity bounds and Collider
Definition at line 199 of file EntityProperties.cpp.
| int flat2d::EntityProperties::getColliderLeftOffset | ( | ) | const |
Get the distance between Entity bounds and Colldier
Definition at line 181 of file EntityProperties.cpp.
| int flat2d::EntityProperties::getColliderRightOffset | ( | ) | const |
Get the distance between Entity bounds and Colldier
Definition at line 187 of file EntityProperties.cpp.
| EntityShape flat2d::EntityProperties::getColliderShape | ( | ) | const |
Get the collider shape for the Entity. This is offset within EntityProperties bounds meaning that if it starts at the top left corner the index for x,y will be 0,0
Definition at line 132 of file EntityProperties.cpp.
| int flat2d::EntityProperties::getColliderTopOffset | ( | ) | const |
Get the distance between Entity bounds and Colldier
Definition at line 193 of file EntityProperties.cpp.
| CollisionProperty flat2d::EntityProperties::getCollisionProperty | ( | ) | const |
Get the CollisionProperty for this Entity
Definition at line 12 of file EntityProperties.cpp.
| EntityProperties::Areas & flat2d::EntityProperties::getCurrentAreas | ( | ) |
Get the spatial partitions the Entity currently inhabits
Definition at line 229 of file EntityProperties.cpp.
| const EntityProperties::Areas & flat2d::EntityProperties::getCurrentAreas | ( | ) | const |
Get the spatial partitions the Entity currently inhabits
Definition at line 235 of file EntityProperties.cpp.
| int flat2d::EntityProperties::getDepth | ( | ) | const |
| EntityShape flat2d::EntityProperties::getVelocityColliderShape | ( | float | deltatime | ) | const |
Get a collider shape for the Entity with velocity included. Colliders are bigger when an object is moving.
Definition at line 163 of file EntityProperties.cpp.
| float flat2d::EntityProperties::getXvel | ( | ) | const |
Get the x velocity of the Entity
Definition at line 63 of file EntityProperties.cpp.
| EntityShape flat2d::EntityProperties::getXVelocityColliderShape | ( | float | deltatime | ) | const |
Get the collider shape with only X velocity included
Definition at line 169 of file EntityProperties.cpp.
| float flat2d::EntityProperties::getYvel | ( | ) | const |
Get the Y velocity of the Entity
Definition at line 90 of file EntityProperties.cpp.
| EntityShape flat2d::EntityProperties::getYVelocityColliderShape | ( | float | deltatime | ) | const |
Get the collider shape with only Y velocity included
Definition at line 175 of file EntityProperties.cpp.
| bool flat2d::EntityProperties::hasLocationChanged | ( | ) | const |
| void flat2d::EntityProperties::incrementXpos | ( | int | x | ) |
Increment the Entity X postion
| x | The x increment, both negative and possitive values allowed |
Definition at line 18 of file EntityProperties.cpp.
| void flat2d::EntityProperties::incrementYpos | ( | int | y | ) |
Increment the y position of the Entity
| y | The y position increment |
Definition at line 36 of file EntityProperties.cpp.
| bool flat2d::EntityProperties::isCollidable | ( | ) | const |
Check if the Entity is collidable
Definition at line 114 of file EntityProperties.cpp.
| bool flat2d::EntityProperties::isMoving | ( | ) | const |
Check if the Entity is moving
Definition at line 96 of file EntityProperties.cpp.
| bool flat2d::EntityProperties::isVisible | ( | ) | const |
Check if Entity is visible (rendering or not)
Definition at line 126 of file EntityProperties.cpp.
| void flat2d::EntityProperties::move | ( | float | deltatime | ) |
Move the Entity based on velocity
| deltatime |
Definition at line 241 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setCollidable | ( | bool | collidable | ) |
Mark this Entity as collidable
| collidable | true or false |
Definition at line 108 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setColliderShape | ( | EntityShape | shape | ) |
Set the collider shape for the Entity
| shape | The EntityShape representing the collider shape |
Definition at line 205 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setCollisionProperty | ( | CollisionProperty | prop | ) |
Set the collision property of the Entity. This affects how Entities behave when default collision handling is used
| prop | The CollisionProperty |
Definition at line 6 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setDepth | ( | int | depth | ) |
Set the Entity depth. This gives a paralax effect
| depth | The depth the entity should render at |
Definition at line 78 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setLocationChanged | ( | bool | changed | ) |
Mark that the Entity has moved. Used by engine.
Definition at line 217 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setVisible | ( | bool | visible | ) |
Mark this Entity as visible (will render)
| visible | true or false |
Definition at line 120 of file EntityProperties.cpp.
|
overridevirtual |
Set the x position of the Entity
| pos | The new x position |
Reimplemented from flat2d::Square.
Definition at line 27 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setXvel | ( | float | xvel | ) |
Set X velocity of the Entity
| xvel | the new x velocity to use |
Definition at line 54 of file EntityProperties.cpp.
|
overridevirtual |
Set Y position of the Entity
| pos | The new Y position |
Reimplemented from flat2d::Square.
Definition at line 45 of file EntityProperties.cpp.
| void flat2d::EntityProperties::setYvel | ( | float | yvel | ) |
Set the Y velocity of the Entity
| yvel | The new velocity |
Definition at line 69 of file EntityProperties.cpp.


Welcome back!
We're so excited to see you again!
EMAIL
PASSWORD
Forgot your password?
Need an account?Register
Forget password?
No worry, we will help you recover
EMAIL
Remembered?  Check your connection
Email verification sent successfully
Kindly check your mailbox. Search in all the folders including spam and junk


Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.
Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.
Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.
Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.


What is carbuncle?
A carbuncle is a cluster of boils that form a connected area of infection under the skin.
Symptoms
- A painful, red bump that starts out small and can enlarge to more than 2 inches (5 centimeters)
- Red, swollen skin around the bump
- An increase in the size of the bump over a few days as it fills with pus
- Development of a yellow-white tip that eventually ruptures and allows the pus to drain out
When to see a doctor
You usually can care for a single, small boil yourself. But see your doctor if you have more than one boil at a time or if a boil: Occurs on your face or affects your vision. Worsens rapidly or is extremely painful. Causes a fever. Gets bigger despite self-care. Hasn't healed in two weeks. Recurs
How to treat a carbuncle
- Incision and drainage
- Antibiotics


The identification and analysis of the module network. a The top modules selected from the PPI network using the plugin MCODE. b GO enrichment analysis of genes in the module network. Genes are shown on the left side of the chord diagram and enriched GO terms are shown on the right side. Red bars represent upregulated genes and blue bars represent downregulated genes


This sheltered bay is at the northern end of Basse-Terre Island.
Position 16° 18 ' N, 61° 48 ' W.
Anchoring here is more difficult now that new mooring buoys have been laid. Once secure, dinghy ashore for clearance.
Th dinghy dock is in the middle of the main town strip. Much more convenient than the old location up the small river.
The store "Le Pelican" has a computer with which to clear in or out at a cost of 4 Euros. It is a brightly coloured building located on the ocean side of the main street about halfway between the dock and the dinghy tie-up at the riverside; only about 50 meters from either. (See picture provided by Arnd of SV Zanshin).
Last updated November 2015.
The breakwater here is 90m long, and T-shaped. The maximum draught is 1.5m.
More and more of the French Caribbean islands are trying to provide moorings to start preserving the sea bed for turtles and other marine life. Lots of new mooring buoys have been laid in Deshaies by the EU, which now means there is very little space left for anchoring. That said, latest reports are that the buoys are available to use for free. The moorings close to the shore are meant for smaller boats, those further out for larger vessels.
There is reported to be excellent WiFi out in the mooring field from Le Pelican and HotHotHot.
Talk to the dive shop on the dock if you need to take on water. There is also reported to be a tap near the tennis courts (see comment below by SY Calico Jack).
At Anse Deshayes there is a useful mooring for boats continuing North.
Last updated December 2015.


Your computer with the IP address <IP_ADDRESS> has been infected by the Virus RDN/YahLover.worm!055BCCAC9FEC -- Because System Activation KEY has expired & Your information (for example, passwords, messages, and credit cards) have been stolen. Call the Technical Support number +1-800-385-4507 to protect your files and identity from further damage.
Automatically report details of possible security incidents to Google. Privacy policy


gnuplot- Plot the graph for the specified graph definition file:
gnuplot path/to/definition.plt- Set the output format by executing a command before loading the definition file:
gnuplot -e "set output "path/to/filename.png" size 1024,768" path/to/definition.plt- Persist the graph plot preview window after gnuplot exits:
gnuplot --persist path/to/definition.plt


I graduated from the University of Washington in 2009 with a degree in journalism. I used to work for KUOW and KIRO radio stations and have taught English in South Korea. I worked as a paralegal for the last two years, but realized I hated it and desparately want a career change. I do standup comedy and improv as my hobbies because I like making people laugh.


This article shares the experience of creating a new website, with the following goals:
- Use the Hugo static website generator
- Use custom styling (do not re-use an existing Hugo theme)
Step 1: install Hugo
Install Hugo by going to the website, downloading and installing it according to your platform.
Step 2: initialization
As an example, the rest of these instructions will assume we are constructing a site featuring commentary on various programming languages. The site’s name will be “Polyglot.”
You will find this much more interesting if you work on your own ideas, so please make the appropriate substitutions of title, settings, and content. Of course, you, too, may have a burning desire to write about programming languages! Feel free to imitate and/or adapt.
So, let’s get started. From the command line:
hugo new site polyglot
Now enter the polyglot
directory and edit the config.toml
configuration file.
baseurl = "http://bowmansolutions.github.io/polyglot/"
languageCode = "en-us"
title = "Polyglot"
pluralizeListTitles = false
I use pluralizeListTitles = false
because otherwise Hugo tries to be too helpful, pluralizing section titles, for instance.
We need at least some content, so let’s create a home page. Here is mine:
<!DOCTYPE html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ .Site.Title }}</title>

Welcome to {{ .Site.Title }}

Note that we used a Hugo variable (.Site.Title
in this case, which is set in the config.toml
file). You may read about other variables in the Hugo documentation.
Step 3: start local development server
Let’s see if the site works. From the command-line:
hugo server --watch
Hugo should respond with a URL, something like http://localhost/polyglot:1313
. Using your browser of choice, simply navigate to whatever URL it tells you. Hopefully, you have successfully launched a working Hugo-generated site!
Impressive.
Note that, when hugo server
is launched with the flag --watch
, any changes you make to relevant files will re-generate the site, and refresh your browser. Convenient.
Step 4: versioning and deployment
You likely have a deployment strategy in mind, and you can deploy at any time. Skip this step if you are not ready. Now is a great time to commit your work to version control, though, and your deployment and version control may be connected, if they are like mine.
So, if appropriate, commit to version control now (using Git, Subversion, Mercurial, Bazaar, or similar tool).
I use Git, in this case hosted by Github, and also plan to use Github pages to host the website. If you, too, plan to host your Hugo site using Github pages, you may want to take a look at Github’s instructions or Hugo’s instructions for further guidance.
Step 5: organize
Feel free to skip this step and generate some content first (go to step 6).
Hugo organizes your content according to sections, as determined by your directory structure. You can read more about this in the Hugo docs.
Because my project is about computer programming languages, I am going to organize my posts into three sections, based on a highly technical categorization scheme:
- Programming languages I like
- Programming languages I avoid
- Programming languages I am curious about
So, I can create these directories in the content
directory:
cd content
mkdir like avoid curious
cd ..
Note that I could have waited and let Hugo create these directories when I create the individual pages. Just trying to plan ahead.
Step 6: add some content
Now is a good time to create a few posts, so that when we work on our layout, we can actually view how the layout affects the content. I create content using Markdown, the default for Hugo, using the hugo new
command:
hugo new like/python.md
hugo new like/go.md
hugo new like/lua.md
hugo new avoid/visualbasic.md
hugo new avoid/cobol.md
hugo new curious/rust.md
hugo new curious/elm.md
Now I’ll edit each one, adding content. I will spare you the details, but as examples, here are the entries for lua and rust:
+++
tags = [ "fast", "embeddable", "interpreted", "procedural" ]
categories = [ "Applications" ]
date = "2015-11-09T09:40:47-05:00"
description = "Lua, a small, fast scripting language"
draft = true
title = "Lua"
+++
From [the Lua "about" page](http://www.lua.org/about.html):
> Lua is a powerful, fast, lightweight, embeddable scripting language.
>
> Lua combines simple procedural syntax with powerful data description
> constructs based on associative arrays and extensible semantics. Lua is
> dynamically typed, runs by interpreting bytecode for a register-based virtual
> machine, and has automatic memory management with incremental garbage
> collection, making it ideal for configuration, scripting, and rapid
> prototyping.
+++
tags = [ "fast", "managed", "compiled", "thread-safe" ]
categories = [ "Systems" ]
date = "2015-11-09T09:40:47-05:00"
description = "Rust, a low-level compiled systems programming language aiming to be fast and safe"
draft = true
title = "Rust"
+++
From [the Rust book](https://doc.rust-lang.org/stable/book/):
> Rust is a systems programming language focused on three goals: safety, speed,
> and concurrency. It maintains these goals without having a garbage collector,
> making it a useful language for a number of use cases other languages aren’t
> good at: embedding in other languages, programs with specific space and time
> requirements, and writing low-level code, like device drivers and operating
> systems. It improves on current languages targeting this space by having a
> number of compile-time safety checks that produce no runtime overhead, while
> eliminating all data races. Rust also aims to achieve 'zero-cost abstractions'
> even though some of these abstractions feel like those of a high-level
> language. Even then, Rust still allows precise control like a low-level
> language would.
Step 7: layout
If your site is like mine, it looks quite boring now. At this point, we can install a theme that someone else has made. There are many good ones over at the Hugo themes site. If that is the route you choose now, I suggest you delete layouts/index.html
, install a theme of your choosing, and have fun.
If you want to work on your own layout, however, then read on.
For now, I do not plan to create a reusable theme, so I will not use a themes
directory. Instead, the layout will exist in layouts
, and style sheets in static
. If you prefer to start with a new theme in the themes
directory, take a look at the theme docs.
We have already begun the layout with layouts/index.html
. This file is not absolutely necessary, unless, like me, you want a landing page.
Two files that are necessary for most any site, especially blogs, are layouts/_default/single.html
for displaying a single entry, and layouts/_default/list.html
for listing entries. You can create those files now.
To reduce redundant HTML in these three templates, let’s make some partials for the header and footer material. These can then be shared across the templates. Partials live in the layouts/partials
directory.
Here is my layouts/partials/header.html
:
<!DOCTYPE html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="Hugo {{ .Hugo.Version }}">
<title>{{ .Site.Title }}: {{ title .Title }}</title>
<link rel="stylesheet" href="{{ .Site.BaseURL }}assets/main.css">

{{ title .Title }}

Note that I threw a CSS style sheet link in there, which corresponds to a file in static/assets/main.css
.
Also note the use of the title
template function at several points. This simply renders a string in “titlecase” (capitalizing first letters). There are many more Hugo template functions available.
And here is layouts/partials/footer.html
:

Built {{ .Now.Format "Monday, January 2, 2006 at 3:04 pm" }}.

Side note: when writing a format string in Go, the reference time is Mon Jan 2 15:04:05 MST 2006
(aka 01/02 03:04:05PM '06 -0700
. Now isn’t that clever?) Format that time however you want in your format string. See the Go programming documentation for time
for more information.
With the header.html
and footer.html
partials, layouts/_default/single.html
might look like this:
{{ partial "header.html" . }}
{{ .Content }}
{{ partial "footer.html" . }}
Fairly simple. Each page has a .Content
variable that contains the parsed content of that page. In this case, the markdown text is converted to HTML.
Just a reminder: read the variable reference to see what all is available. Experiment.
Now let’s get a tad more complex with layouts/_default/list.html
:
{{ partial "header.html" . }}

{{ range .Data.Pages }}

{{ title .Title }}

{{ end }}

{{ partial "footer.html" . }}
This uses the range
function to iterate over the pages relevant to this list, extracting the link and title of each page. Within the range
loop, the context is represented by .
so that .Permalink
and so on refer only to the page (in this case) currently being iterated over. Read the Go template primer from the Hugo docs or read the Go docs for more details.
Let’s do something similar with layouts/index.html
:
{{ partial "header.html" . }}

{{ range $section, $pages := .Site.Sections }}

{{ title $section }}

{{ end }}

{{ partial "footer.html" . }}
The range
function is used again here, this time with variables specified, instead of just assuming context. .Site.Sections
is a Go map, so it will be iterated over in key/value pairs, with $section
receiving the key. In this case, that will be the section directory name.
Conclusion
The site should be in a usable state at this point. Edit the style sheet, add content, and continue to edit and add layout components, using partials as needed. And, of course, explore the Hugo docs.


Stanford University's Premier East Asian A Cappella Group
Founded in Spring 2016, we sing all your favorite Korean, Chinese, and Japanese music!
Book us for an event now!
stanfordotone@gmail.com


This is outside the scope first paragraph first paragraph first paragraph first paragraph first paragraph first paragraph first paragraph first paragraph
This is another paragraph


{% load humanize %}
| Year | Applicants | Admitted | Enrolled |
|---|---|---|---|
| {{ object.year }} | {{ object.number_of_applicants|intcomma }} | {{ object.number_admitted|intcomma }} ({{ object.percent_of_applicants_admitted }}%) | {{ object.number_admitted_who_enrolled|intcomma }} ({{ object.percent_of_admitted_who_enrolled }}%) |


Burundi main opposition leader dispels exile rumors, ready for 2020 polls
Burundi’s main opposition leader Agathon Rwasa has confirmed plans that his party will contest in elections slated for next year.
He also denounced what he described as “arrangements” aimed at “getting rid” of his party, the National Freedom Council.
With months before the 2020 presidential election, the historic opposition figure also dispelled rumours of going to exile amid government’s intimidation to the opposition party members and supporters.
“Are you asking if I’m going into exile or going to hide? No I’m not. Go tell them there is no question of going into exile, there is no question of going into hiding, what we’re doing is preparing for 2020.”
“The goal of these arrangements is to get rid of the CNL, to try to hurt Rwasa, to disband the CNL militants, to ensure the CNL’s rivals that they can cruise through the upcoming elections,” Rwasa told journalists.
Intimidation of suspected opposition supporters has been rife since a constitutional referendum in May last year and the abuses have increased since CNL was registered in February, according to Human Rights Watch.


Typography
CPS uses two fonts when creating web sites and applications.
- Century Gothic. Used as titles for important sections.
- Arial. Used mostly for paragraph text after title headers.
Header elements are used specifically for titles of major sections to the web page. In order to keep the Accessible,
the site must follow a header hierarchy of
h1
being the most important to
h4
being the least important. There should only be
one
h1
element per page.
H1 heading 41px
H2 heading 34px
H3 heading 28px
H4 heading 20px
Paragraph text 16px
Buttons
Buttons should be used whenever there is an important call to action.
Code
Primary or <button type="button" class="btn btn-lg btn-primary">Primary</button>
| Size | Code | Color | Example |
|---|---|---|---|
| Large |
btn-lg
|
Blue btn-primary
|
Large Primary |
| Default | none |
Gray btn-default
|
Default |
| Small |
btn-sm
|
Green btn-success
|
Small Success |
| Extra Small |
btn-xs
|
Light Blue btn-info
|
Extra Small Info |
There are two other options for button that are rarely used.
btn-warning
and
btn-danger
.
Tables
For large amounts of data sometimes it is necessary to use tables as a way to display the information in a user friendly way. All table elements must have two classes table
and table_responsive
. table
will give the table its default styling.
Responsive Table
The class table_responsive
is what will make the table responsive and mobile friendly. It however needs to be accompanied with data-column
attributes to the td
elements inside of the tbody
. The values for data-colum
attribute should mirror what the table headers are.
Code

 #	 First Name	 ...

 1	 Mark	 ...

| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird |
Navs
Alerts
List groups
- Cras justo odio
- Dapibus ac facilisis in
- Morbi leo risus
- Porta ac consectetur ac
- Vestibulum at eros
List group item heading
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
List group item heading
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
List group item heading
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
Panels
Panel title
Panel title
Panel title
Panel title
Panel title
Panel title
Wells
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Cras mattis consectetur purus sit amet fermentum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean lacinia bibendum nulla sed consectetur.


Basic paper-chip's
T
paper-chip's with custom styles
T
paper-chip's used as tags
paper-chip's from autocomplete


Watch the kabuki version of The Last Jedi
by John StruanRennosuke and the Three Light Sabers adapts to kabuki the story of Kylo Ren from the end of The Force Awakens through the end of The Last Jedi. It opens with the destruction of Starkiller Base:
The confrontation between Kylo Ren and Snoke occurs around 27 minutes in. During the lengthy fight sequence, Rey serves only as someone to be rescued:
After the victory over Snoke, the two fleets are badly damaged, and the action moves to the salt fields:
There, Kylo Ren faces Luke, and we see a glimpse of young Ben Skywalker:
You can watch the entire performance here:


syslogd-nodejs
Home
About
Contact
Clear Filter
Pause Log
Protocol
Date
Time
Facility
Severity
Host
Message


Maker Faire Drone Challenge
Start
Leader Board
Clear Scores?
×
Drone Challenge
#1
#2
#3
#4
00:00.00
Go!
Stop
Close
Name:


SADC
Section: Linux User's Manual (8)Updated: MARCH 2009
Index Return to Main Contents
NAME
sadc - System activity data collector.SYNOPSIS
/usr/lib64/sa/sadc [ -C comment ] [ -S { INT | DISK | SNMP | IPV6 | POWER | XDISK | ALL | XALL } ] [ -F ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]DESCRIPTION
The sadc command samples system data a specified number of times (count) at a specified interval measured in seconds (interval). It writes in binary format to the specified outfile or to standard output. If outfile is set to -, then sadc uses the standard system activity daily data file, the /var/log/sa/sadd file, where the dd parameter indicates the current day. By default sadc collects all the data available from the kernel. Exceptions are interrupts and disk data, for which the relevant options must be explicitly passed to sadc (see options below).When the count parameter is not specified, sadc writes its data endlessly. When both interval and count are not specified, and option -C is not used, a dummy record, which is used at system startup to mark the time when the counter restarts from 0, will be written. For example, one of the system startup script may write the restart mark to the daily data file by the command entry:
/usr/lib64/sa/sadc -
The sadc command is intended to be used as a backend to the sar command.
Note: The sadc command only reports on local activities.
OPTIONS
- -C comment
- When neither the interval nor the count parameters are specified, this option tells sadc to write a dummy record containing the specified comment string. This comment can then be displayed with option -C of sar.
- -F
- The creation of outfile will be forced. If the file already exists and has not the format expected by sadc then it will be truncated. This may be useful for daily data files created by an older version of sadc and whose format is no longer compatible with current one.
- -L
- sadc will try to get an exclusive lock on the outfile before writing to it or truncating it. Failure to get the lock is fatal, except in the case of trying to write a normal (i.e. not a dummy and not a header) record to an existing file, in which case sadc will try again at the next interval. Usually, the only reason a lock would fail would be if another sadc process were also writing to the file. This can happen when cron is used to launch sadc. If the system is under heavy load, an old sadc might still be running when cron starts a new one. Without locking, this situation can result in a corrupted system activity file.
- -S { INT | DISK | SNMP | IPV6 | POWER | XDISK | ALL | XALL }
-
Specify which optional activities should be collected by
sadc.
Some activities are optional to prevent data files from growing too large.
The
INT
keyword indicates that
sadc
should collect data for system interrupts.
The
DISK
keyword indicates that
sadc
should collect data for block devices.
The
SNMP
and
IPV6
keywords indicate respectively that SNMP and IPv6 statistics should be
collected by
sadc.
The
POWER
keyword indicates that
sadc
should collect power management statistics.
The
ALL
keyword is equivalent to specifying all the keywords above and therefore
all previous activities are collected.
The XDISK keyword is an extension to the DISK one and indicates that partition statistics should be collected by sadc in addition to disk statistics. This option works only with kernels 2.6.25 and later. The XALL keyword is equivalent to specifying all the keywords above (including keyword extensions) and therefore all possible activities are collected.
Important note: The activities (including optional ones) saved in an existing data file prevail over those selected with option -S. As a consequence, appending data to an existing data file will result in option -S being ignored.
- -V
-
Print version number then exit.
ENVIRONMENT
The sadc command takes into account the following environment variable:
- S_TIME_DEF_TIME
- If this variable exists and its value is UTC then sadc will save its data in UTC time. sadc will also use UTC time instead of local time to determine the current daily data file located in the /var/log/sa directory.
EXAMPLES
/usr/lib64/sa/sadc 1 10 /tmp/datafile- Write 10 records of one second intervals to the /tmp/datafile binary file.
/usr/lib64/sa/sadc -C Backup_Start /tmp/datafile
- Insert the comment Backup_Start into the file /tmp/datafile.
BUGS
The /proc filesystem must be mounted for the sadc command to work.All the statistics are not necessarily available, depending on the kernel version used.
FILES
/var/log/sa/sadd-
Indicate the daily data file, where the
dd
parameter is a number representing the day of the month.
AUTHOR
Sebastien Godard (sysstat <at> orange.fr)SEE ALSO
sar(1), sa1(8), sa2(8), sadf(1), isag(1)http://pagesperso-orange.fr/sebastien.godard/
Index
This document was created by man2html, using the manual pages.
Time: 05:34:29 GMT, December 24, 2015


When: 27 October - 2 December 2017 Where: New Zealand & Australia
When: 25 November Where: Taupo
When: Friday 27 October & Saturday 28 October Where: Trusts Arena, Auckland (27th) TSB Bank Arena, Wellington (28th)
When: Saturday 2 September Where: Spark (formerly Vector) Arena, Auckland
When: February 27 2018 - March 3 2018 Where: Spark (formerly Vector) Arena, Auckland
When: March 29 2018 - April 1 2018 Where: Forsyth Barr Stadium, Dunedin


keyvars - Input facility
The keyvars module was inspired by the observations that auxiliary programs that you create for doing your job, such as converting one type of file into another, because that is more conventient for the task at hand, often require a small amount of input, say four or five parameters. It is easy enough to use a few read statements to read them from a file, but that often means fairly little checking, because it is "just" an auxiliary program, to be used by yourself only and documentation is more often than not only contained in the source code (or more honestly: the source code is the documentation). To solve the problem of documenting the input and checking that all is there, at least partly, you can use this module:
You specify which variables are to be read from the input file.
Each input variable is associated with a short meaningful name and a short description.
Reading the data is handled by a single subroutine call, as is the reporting of the values that were read and providing support.
The input file format is either that of a simple INI file or of an INI file without sections. A "#" indicates the start of a comment. Here is a simple illustration:
# Example of an input file for keyvars # Text after a # is comment # int = 2 real = 1.234 char = A string of several words
where space around the equal sign are not significant.
Here is a simple example:
program demo use keyvars implicit none integer :: x real :: y character(len=20) :: string x = -1 y = -1.0 call get_values( 'keyvars.inp', [keyvar("int", x, "Integer value"), & keyvar("real", y, "Real value"), & keyvar("char", string, "Some text")] ) write(*,*) 'x = ', x write(*,*) 'y = ', y write(*,*) 'string = ', string end program demo
The subroutine get_values first looks at the command-line arguments:
Arguments -?, /?, -h, -help, --help are all recognised as a request for displaying some help text. It will print the keywords and the description and then stop.
Arguments -i, -input, --input must be followed by the name of the input file the user wants to use. It then reads that particular file instead of the file name that was passed.
Arguments -o, -output, --output indicate that the user wants a template of the input. The argument must be followed by the name of that file. The routine will simply write the template and stop. The template includes the descriptions as comments. The array of variables (!) is formed via the keyvar function. Basically, this function returns a keyvar_data value that contains all there is to know about the variable. For its proper functioning it stores a pointer to the variable.
Note: The algorithm was implemented without any consideration of duplicate keys either in the array or the input file. What happens if a key is not unique therefore depends on the exact implementation.
There are two public routines:
This subroutine reads the given input file and stores the values it found in the variables defined in the array args. More details provided above.
Name of the file to be read, unless overwritten via the -input option.
Array specifying the variables as well as the associated keywords and descriptive texts. Construct or fill it using the keyvar function.
This function returns a value of type keyvar_data. It fills the components of this derived type with a pointer to the variable var, so that it can be set automatically. The variable itself is one of the basic types: integer, single and double precision real, logical or a character string of any length.
The keyword by which the variable is to be found in the input.
The variable to be assigned a value from the input file.
The description of the variable, serves as documentation in the template.
Alternative form of the keyvar function. In this case you can specify the section the variable should come from. Section names appear in the input file as "[section]".
The section the keyword belongs to.
The keyword by which the variable is to be found in the input.
The variable to be assigned a value from the input file.
The description of the variable, serves as documentation in the template.
Notes:
The module uses deferred-length characters and this requires a recent version of the Fortran compiler. For gfortran you need at least 4.9.
The implementation does not care about duplicate keys, as remarked above. This basically means that what happens if you use duplicate keys, depends on the details of the implementation and is therefore not documented here.
Copyright © 2015 Arjen Markus <arjenmarkus at sourceforge dot net>


Introduction
https://api.onedb.xyz
Introducing OneDB — Store, search, and manage data of any type or size using simple REST APIs.
Building an app requires multiple databases. One database for storing records, one for searching, and one for storing media files (images, attachments). With growth, we're constantly optimizing for query performance or eventually, switch to a different database to support the scale. This leads to dealing with migrations, managing multiple databases for data consistency, security, backups, and syncing. All of this takes time away that could be spent on building features and serving customers.
This is why we're building OneDB, the modern database for the cloud. OneDB doesn't lock you in and promotes data portability through standard data format (JSON) and REST APIs to manage all of your data needs. If you ever need to migrate away from OneDB, our API and data format makes it easy.
Easy to get started, scales seamlessly, and powerful with built-in search, validations, data security. A fully managed database for the cloud.
This API reference provides information on available endpoints and how to interact with it.
The OneDB API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. All requests should be over SSL. All request and response bodies, including errors are encoded in JSON.
API Keys
OneDB authenticates your API requests using your account’s API keys. If you do not include your key when making an API request, or use one that is incorrect or outdated, OneDB returns an error.
The API key should be kept confidential and only stored on your own servers. Your account’s API key can perform any API request to OneDB without restriction.
Each account has a total of two keys: a key pair for test mode and live mode.
Authentication
Example Request
$ curl https://api.onedb.xyz/account \
-H "Authorization: your_api_key"
Authentication is done via the API key which you can find in your accounts settings endpoint. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Test mode secret keys have the prefix sk_test_ and live mode secret keys have the prefix sk_live_. Alternatively, you can use restricted API keys for granular permissions.
Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.
If you need to authenticate via bearer auth (e.g., for a cross-origin request), use -H "Authorization: Bearer base64(ai_test_app_id:sk_test_8fD39MqLyjWBarjtP1zdp7bc)"
curl -X GET https://api.onedb.xyz/accounts/193954b0-0ae8-5db7-b640-8110afe56438 \
-H "Authorization: Bearer base64(ai_test_app_id:sk_test_8fD39MqLyjWBarjtP1zdp7bc)"
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Errors
Our API returns standard HTTP success or error status codes. For errors, we will also include extra information about what went wrong encoded in the response as JSON. The various HTTP status codes we might return are listed below.
In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted). Codes in the 5xx range indicate an error with OneDB's servers (these are rare).
HTTP Status codes
| Code | Title | Description |
|---|---|---|
| 200 | OK | Everything worked as expected. |
| 400 | Bad Request | The request was unacceptable, often due to missing a required parameter. |
| 401 | Unauthorized | No valid API key provided. |
| 402 | Request Failed | The parameters were valid but the request failed. |
| 404 | Not Found | The requested resource doesn't exist. |
| 409 | Conflict | The request conflicts with another request (perhaps due to using the same idempotent key). |
| 429 | Too Many Request | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
| 500,502,503,504 | Server Errors | Something went wrong on OneDB's end. (These are rare.) |
Error types
Example error response.
{
"error": {
"type": "invalid_request",
"message": "name is required"
}
}
| Type | Description |
|---|---|
| api_connection | Failure to connect to OneDB's API. |
| api_error | API errors cover any other type of problem (e.g., a temporary problem with our servers), and are extremely uncommon. |
| authentication_error | Failure to properly authenticate yourself in the request. |
| invalid_request | Invalid request errors arise when your request has invalid parameters. |
| rate_limit_exceeded | Too many requests hit the API too quickly. |
| validation_error | Unable to validate POST/PUT |
| not_found | Resource was not found. |
Rate limiting
Example rate limit error response.
{
"error": [
{
"type": "rate_limit_exceeded",
"message": "Too many requests"
}
]
}
The OneDB API is rate limited to prevent abuse that would degrade our ability to maintain consistent API performance for all users. By default, each API key or app is rate limited at 10,000 requests per hour. If your requests are being rate limited, HTTP response code 429 will be returned with an rate_limit_exceeded error.
Accounts
Account API endpoints for sign up and getting your account statistics.
Sign up
Example Request
curl -X POST https://api.onedb.xyz/accounts \
-H "Content-Type: application/json" \
-d $'{
"first_name": "John",
"last_name": "Smith",
"company": "Sunrise, Inc",
"email"<EMAIL_ADDRESS>"invite_code": "xVB20ljk"
}'
Example Response
{
"id": "193954b0-0ae8-5db7-b640-8110afe56438",
"first_name": "John",
"last_name": "Smith",
"company": "Sunrise, Inc",
"email"<EMAIL_ADDRESS>"status": "pending"
}
An account code is send to the associated account. Next step: verify the account.
HTTP Request
POST https://api.onedb.xyz/accounts
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
first_name required |
string | First Name |
last_name required |
string | Last Name |
company required |
string | Name of the company |
email required |
string | Email address associated with the account. |
invite_code required |
string | Required while we're in private beta |
Activate
curl -X PUT https://api.onedb.xyz/accounts/193954b0-0ae8-5db7-b640-8110afe56438/activate \
-H "Content-Type: application/json" \
-d $'{
"code": "763549",
}'
Example Response
{
"id": "193954b0-0ae8-5db7-b640-8110afe56438",
"first_name": "John",
"last_name": "Smith",
"company": "Sunrise, Inc",
"email"<EMAIL_ADDRESS>"status": "active",
"test_app_id": "ai_test_*",
"test_app_secret": "sk_test_*",
"live_app_id": "ai_live_*",
"live_app_secret": "sk_live_*"
}
HTTP Request
POST https://api.onedb.xyz/accounts/:account_id/activate
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
code required |
string | Code sent to the account email. |
Once your account is activated, you can start using the APIs using your app credentials
Collections
The collections API lets you group Items and define the schema or structure of the custom data stored in those Items. Collections can also be think of as a table in traditional databases.
Example Request
curl -X POST https://api.onedb.xyz/collections \
-H "Authorization Bearer: base64(app_id:app_secret)" \
-H "Content-Type: application/json" \
-d $'{
"name": "Posts",
"fields": [
{
"required": true,
"type": "Text",
"name": "Title",
"validations": {
"max_length": 128
}
},
{
"required": false,
"type": "LongText",
"name": "Post Body"
},
...
]
}'
Example Response
{
"id": "6fe54303-10ce-42b5-a4b0-38bc19cf5025",
"name": "Posts",
"slug": "posts",
"updated_at": "2019-10-24T19:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"fields": [
{
"required": true,
"type": "ShortText",
"name": "Title",
"slug": "title",
"validations": {
"max_length": 128
},
"searchable": true
},
{
"required": false,
"type": "LongText",
"slug": "post_body",
"name": "Post Body",
"searchable": true
},
...
]
}
HTTP Request
POST https://api.onedb.xyz/collections
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
name required |
string | Name given to the collection |
searchable optional |
boolean | If searching/filtering by this field is enabled. If enabled, search index is created, and all Items in this collection are indexed based on their Field type. |
fields |
array | See Full Fields Section |
List Collections
Example Request
curl -X GET https://api.onedb.xyz/collections \
-H "Authorization Bearer: base64(app_id:app_secret)" \
Example Response
[
{
"id": "6fe54303-10ce-42b5-a4b0-38bc19cf5025",
"updated_at": "2019-10-24T19:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"name": "Posts",
"slug": "post",
},
{
"id": "8bc54303-10ce-42b5-a4b0-38bc19cf5430",
"updated_at": "2019-10-24T19:42:00.799Z",
"created_at": "2019-10-24T19:42:00.777Z",
"name": "Authors",
"slug": "author",
}
]
HTTP Request
GET https://api.onedb.xyz/collections
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
q optional |
string | search query string to filter collection by names |
Get Collection with Full Schema
Example Request
curl -X GET https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025 \
-H "Authorization Bearer: base64(app_id:app_secret)" \
Example Response
{
"id": "6fe54303-10ce-42b5-a4b0-38bc19cf5025",
"name": "Post",
"slug": "post",
"fields": [
{
"required": true,
"type": "ShortText",
"name": "Title",
"slug": "title",
"validations": {
"max_length": 128
}
},
{
"required": false,
"type": "LongText",
"slug": "post_body",
"name": "Post Body"
},
...
]
}
HTTP Request
GET https://api.onedb.xyz/collections/:collection_id
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
collection_id required |
string | Name given to the collection |
Fields
Fields are what define the schema of a Collection - and ultimately all your dynamic data. Every field has a Field Type describing what kind of field it is. Each field also may have a validations object which defines all of the validations which have been set for the given field. The “TYPE” column defines the data type of the validations.
Schema
| Parameter | Type | Description |
|---|---|---|
name required |
string | Name given to the field |
type required |
string | See Field Types below |
validations optional |
array | See Validations Section |
Field Types
| Field Type | Data Type | Description |
|---|---|---|
Bool |
boolean | yes/no switch |
Date |
date | Date field used to display any combination of month, day, year, and time |
Set |
array | Field containing multiple unique strings |
Link |
string | URL field where the value can be used as a link destination |
Number |
number | Field for numbers (int or float) |
ShortText |
string | A single line of text |
LongText |
string | Multiple lines of text |
SingleSelect |
string | Selected option name. When creating or updating records, if the choice string does not exactly match an existing option, the request will fail with an INVALID_MULTIPLE_CHOICE_OPTIONS error. |
MultipleSelect |
array of strings | Array of selected option names. When creating or updating records, if a choice string does not exactly match an existing option, the request will fail with an INVALID_MULTIPLE_CHOICE_OPTIONS error |
Attachment |
object | Each attachment object may contain the following id, url, filename, size, type. See the uploading attachments section. |
Validations
Each field also may have a validations object which defines all of the validations which have been set for the given field. The “TYPE” column defines the data type of the validations.
| VALIDATION NAME | TYPE |
|---|---|
max_length |
number |
min_length |
number |
minimum |
number |
maximum |
number |
max_size |
number |
options |
set |
format |
string |
Items
The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items:
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
id |
string | Unique identifier for the Item |
created_at |
date | Date Item was created |
updated_at |
date | Date Item was last updated |
Get All Items For a Collection
Example Request
curl -X GET https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/items \
-H "Authorization Bearer: base64(app_id:app_secret)" \
Example Response
{
"items": [
{
"id": "829b3c8d-1fad-5fbb-8b54-e1e6528ab777",
"updated_at": "2019-10-24T19:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"fields": {
"title": "Three Years of Building Investing Products — Lessons Learned",
"body": "
The current and future of investing platforms.
",
"tags": ["Fin-tech", "Startups", "API"],
"attachments": {
"url": "https://onedb-uploads/attachments/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
},
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
},
{
"id": "48f990f0-fd66-592e-9f5d-094bc2862ebd",
"updated_at": "2019-10-24T19:42:00.799Z",
"created_at": "2019-10-24T19:42:00.777Z",
"fields": {
"title": "16 Business Models for Your Next Company",
"body": "
The business model is an important decision that will have a significant impact on your profitability. It can differentiate you from competitors and give you an advantage over them. Your competitors can’t easily change their business model to match yours. Choose wisely.
",
"tags": ["Entrepreneurship", "Business Models", "Sales"],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
},
...
],
"limit": 25,
"count": 25,
"page_token": "eyJvcmdhbml6YXRpb25faWQiOnsiQiI6bnVsbCwiQk9PTCI6bnVsbCwiQlMiOm51bGwsIkwiOm51bGwsIk0iOm51bGwsIk4iOm51bGwsIk5TIjpudWxsLCJOVUxMIjpudWxsZGI0ZWIwMDctYmUWJkNjAtN2M5NzI0NGNkZWFhIiwiU1MiOm51bGx9LCJ1c2VyX2lkIjp7IkIiOm51bGwsIkJPT0wiOm51bGwsIkJTIjpudWxsLCJMIjpudWxsLCJNIjpudWxsLCJOIjpudWxsLCJOUyI6bnVsbCwiTlVMTCI6bnVsbCwiUyI6Ijc4OTU5YjMwLThjYTQtOS1iMzdmLTNjMTVjMmQzYTYwMiIsIlNTIjpudWxsfX0="
}
HTTP Request
GET https://api.onedb.xyz/collections/:collection_id/items
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
collection_id required |
string | Name given to the collection |
limit optional |
number | Maximum number of items to be returned. Default limit: 10, Max limit: 100 |
fields optional |
string | comma delimited list of fields, e.g. fields=title,author_id |
page_token optional |
string | Page token used for pagination if collection has more than limit items. |
RESPONSE
| Parameter | Type | Description |
|---|---|---|
items |
array | List of Items within this collection |
count |
number | Number of Items returned |
limit |
number | The limit specified in the request (default: 10) |
page_token |
string | The page token specified for pagination. Page token is only returned if there are more than limit items. |
Search Items in a Collection
Example Request
curl -X GET https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/items?q=title:business+model \
-H "Authorization Bearer: base64(app_id:app_secret)" \
Example Response
{
"items": [
{
"id": "48f990f0-fd66-592e-9f5d-094bc2862ebd",
"updated_at": "2019-10-24T19:42:00.799Z",
"created_at": "2019-10-24T19:42:00.777Z",
"fields": {
"title": "16 Business Models for Your Next Company",
"body": "
The business model is an important decision that will have a significant impact on your profitability. It can differentiate you from competitors and give you an advantage over them. Your competitors can’t easily change their business model to match yours. Choose wisely.
",
"tags": ["Entrepreneurship", "Business Models", "Sales"],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
},
...
],
"count": 5,
"page_token": "eyJvcmdhbml6YXRpb25faWQiOnsiQiI6bnVsbCwiQk9PTCI6bnVsbCwiQlMiOm51bGwsIkwiOm51bGwsIk0iOm51bGwsIk4iOm51bGwsIk5TIjpudWxsLCJOVUxMIjpudWxsZGI0ZWIwMDctYmUWJkNjAtN2M5NzI0NGNkZWFhIiwiU1MiOm51bGx9LCJ1c2VyX2lkIjp7IkIiOm51bGwsIkJPT0wiOm51bGwsIkJTIjpudWxsLCJMIjpudWxsLCJNIjpudWxsLCJOIjpudWxsLCJOUyI6bnVsbCwiTlVMTCI6bnVsbCwiUyI6Ijc4OTU5YjMwLThjYTQtOS1iMzdmLTNjMTVjMmQzYTYwMiIsIlNTIjpudWxsfX0="
}
HTTP Request
GET https://api.onedb.xyz/collections/:collection_id/items
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
collection_id required |
string | Name given to the collection |
q required |
string | Only returns items matching the specific query. e.g. q=title:business+model author_id:38bc19cf-10ce-42b5-a4b0-54308bc54303 |
limit optional |
number | Maximum number of items to be returned. Default limit: 10, Max limit: 100 |
fields optional |
string | comma delimited list of fields, e.g. fields=title,author_id |
page_token optional |
string | Page token used for pagination if collection has more than limit items. |
RESPONSE
| Parameter | Type | Description |
|---|---|---|
items |
array | List of Items within this collection |
count |
number | Number of Items returned |
limit |
number | The limit specified in the request (default: 10) |
page_token |
string | The page token specified for pagination. Page token is only returned if there are more than limit items. |
Get Single Item
Example Request
curl -X GET https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/items/829b3c8d-1fad-5fbb-8b54-e1e6528ab777 \
-H "Authorization Bearer: base64(app_id:app_secret)" \
Example Response
{
"id": "829b3c8d-1fad-5fbb-8b54-e1e6528ab777",
"updated_at": "2019-10-24T19:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"fields": {
"title": "Three Years of Building Investing Products — Lessons Learned",
"body": "
The current and future of investing platforms.
",
"tags": ["Fin-tech", "Startups", "API"],
"attachments": [
{
"url": "https://onedb-uploads/attachments/jguTNgbqhGZG/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
}
],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
}
HTTP Request
GET https://api.onedb.xyz/collections/:collection_id/items/:item_id
ARGUMENTS
| Parameter | Type | Description |
|---|---|---|
collection_id required |
string | Name given to the collection |
item_id required |
string | Unique identifier for the Item you are querying |
Create New Collection Item
Example Request
curl -X POST https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/items \
-H "Authorization Bearer: base64(app_id:app_secret)" \
-H "Content-Type: application/json" \
-d $'{
"fields": {
"title": "Three Years of Building Investing Products — Lessons Learned",
"body": "
The current and future of investing platforms.
",
"tags": ["Fin-tech", "Startups", "API"],
"attachments": {
"url": "https://onedb-uploads/attachments/jguTNgbqhGZG/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
},
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
}'
Example Response
{
"id": "829b3c8d-1fad-5fbb-8b54-e1e6528ab777",
"updated_at": "2019-10-24T19:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"fields": {
"title": "Three Years of Building Investing Products — Lessons Learned",
"body": "
The current and future of investing platforms.
",
"tags": ["Fin-tech", "Startups", "API"],
"attachments": [
{
"url": "https://onedb-uploads/attachments/jguTNgbqhGZG/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
}
],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
}
HTTP Request
POST https://api.onedb.xyz/collections/:collection_id/items
ARGUMENTS
| Parameter | Description |
|---|---|
collection_id |
Name given to the collection |
fields |
The fields and data of the Item you are adding to the Collection |
Update Collection Item
Example Request
curl -X PUT https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/items/829b3c8d-1fad-5fbb-8b54-e1e6528ab777 \
-H "Authorization Bearer: base64(app_id:app_secret)" \
-H "Content-Type: application/json" \
-d $'{
"fields": {
"title": "Three Years of Building Investing Products — Lessons Updated",
}
}'
Example Response
{
"id": "829b3c8d-1fad-5fbb-8b54-e1e6528ab777",
"updated_at": "2019-10-28T21:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"fields": {
"title": "Three Years of Building Investing Products — Lessons Updated",
"body": "
The current and future of investing platforms.
",
"tags": ["Fin-tech", "Startups", "API"],
"attachments": [
{
"url": "https://onedb-uploads/attachments/jguTNgbqhGZG/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
}
],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
}
HTTP Request
PUT https://api.onedb.xyz/collections/:collection_id/items/:item_id
ARGUMENTS
| Parameter | Description |
|---|---|
collection_id |
Name given to the collection |
item_id |
Unique identifier for the Item you are querying |
fields |
The fields and data of the Item you are updating |
Remove Collection Item
Example Request
curl -X PUT https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/items/829b3c8d-1fad-5fbb-8b54-e1e6528ab777 \
-H "Authorization Bearer: base64(app_id:app_secret)" \
Example Response
{
"deleted": true
}
HTTP Request
DELETE https://api.onedb.xyz/collections/:collection_id/items/:item_id
ARGUMENTS
| Parameter | Description |
|---|---|
collection_id |
Name given to the collection |
item_id |
Unique identifier for the Item you are querying |
Attachments
Upload Attachment
Example Request
curl -X POST https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/attachments \
-H "Authorization Bearer: sk_yourapikey" \
-H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" \
-F "file=Investing platform marketplace.pdf"
Example Response
{
"url": "https://onedb-uploads/attachments/jguTNgbqhGZG/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
}
HTTP Request
POST https://api.onedb.xyz/:collection_id/attachments
ARGUMENTS
| Parameter | Description |
|---|---|
collection_id |
Name given to the collection |
To upload a new attachment, set this attachment object to the corresponding item's field in a POST or PUT request. In response, only id, url, and filename are always returned. Other attachment properties may not be included.
Batch Requests
The batch API makes it possible to perform many create, update, delete, get operations in a single API call. There is a limit of 50 items in a batch requests.
Example Request
curl -X PUT https://api.onedb.xyz/collections/6fe54303-10ce-42b5-a4b0-38bc19cf5025/batch \
-H "Authorization Bearer: base64(app_id:app_secret)" \
-H "Content-Type: application/json" \
-d $'{
"items": [
{
"action": "update",
"id": "829b3c8d-1fad-5fbb-8b54-e1e6528ab777",
"fields": {
"title": "Three Years of Building Investing Products — Lessons Updated"
}
},
{
"action": "get",
"id": "48f990f0-fd66-592e-9f5d-094bc2862ebd",
}
]
}'
Example Response
{
"items": [
{
"action": "update",
"id": "829b3c8d-1fad-5fbb-8b54-e1e6528ab777",
"result": "success",
"updated_at": "2019-10-28T21:42:38.929Z",
"created_at": "2016-10-24T19:41:48.349Z",
"fields": {
"title": "Three Years of Building Investing Products — Lessons Updated",
"body": "
The current and future of investing platforms.
",
"tags": ["Fin-tech", "Startups", "API"],
"attachments": [
{
"url": "https://onedb-uploads/attachments/jguTNgbqhGZG/Investing%20platform%20marketplace.pdf",
"id": "jguTNgbqhGZG",
"size": 1414220,
"type": "application/pdf",
"file_name": "Investing platform marketplace.pdf"
}
],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
},
{
"action": "get",
"id": "48f990f0-fd66-592e-9f5d-094bc2862ebd",
"result": "success",
"updated_at": "2019-10-24T19:42:00.799Z",
"created_at": "2019-10-24T19:42:00.777Z",
"fields": {
"title": "16 Business Models for Your Next Company",
"body": "
The business model is an important decision that will have a significant impact on your profitability. It can differentiate you from competitors and give you an advantage over them. Your competitors can’t easily change their business model to match yours. Choose wisely.
",
"tags": ["Entrepreneurship", "Business Models", "Sales"],
"author_id": "38bc19cf-10ce-42b5-a4b0-54308bc54303"
}
}
]
}
Batch Request
POST https://api.onedb.xyz/collections/:collection_id/batch
ARGUMENTS
| Parameter | Description |
|---|---|
collection_id |
Name given to the collection |
action required |
Operation to perform for the Item in the batch request |
fields required (create, update) |
The fields and data of the Item for create or update operation |
Batch Response
| Parameter | Description |
|---|---|
items |
Name given to the collection |
action |
Operation to perform for the Item in the batch request |
result |
Result of the operation success or error_code . See the errors section. |
fields (not returned for delete action) |
The fields and data of the Item |
Backups
OneDB creates and saves automated backups of your data. You can also back up your data manually, by setting the backup schedule. Each backup file contains the full data. Only the last 30 backup files are retained.
Backup schedule
Example Request
curl -X POST https://api.onedb.xyz/backups \
-H "Authorization Bearer: sk_yourapikey" \
-d $'{
"schedule": "daily"
}'
Example Response
{
"schedule": "daily"
}
HTTP Request
POST https://api.onedb.xyz/backups
ARGUMENTS
| Parameter | Description |
|---|---|
schedule |
Backup schedule in increments of 5m. Minimum backup window is every 5m . |
Automated backups occur daily during the preferred backup window. If you don't specify a preferred backup schedule, OneDB assigns a default daily backup window.
List Backups
Example Request
curl -X GET https://api.onedb.xyz/backups \
-H "Authorization Bearer: sk_yourapikey" \
Example Response
{
"backups": [
{
"id": "NEDW6VOJ45en",
"url": "https://api.onedb.xyz/backups/NEDW6VOJ45en.gzip",
"timestamp": "2019-10-28T21:42:38.929Z"
},
...
],
}
HTTP Request
GET https://api.onedb.xyz/backups
Download a backup
Example Request
curl -X GET https://api.onedb.xyz/backups/NEDW6VOJ45en.gzip \
-H "Authorization Bearer: sk_yourapikey" \
HTTP Request
GET https://api.onedb.xyz/backups/NEDW6VOJ45en.gzip
Downloads backup-NEDW6VOJ45en.gzip file.
Security
Your customers data is in good hands.
- The data on rest is encrypted with 256-bit encryption
- All API requests should be over SSL
- All data access API endpoints are authenticated
- Our servers are in a private VPC
- We implement least privilege access control for every employee
- Every access to our systems is monitored and logged
- All commands run on our servers are logged
- We enforce 2FA for all 3rd party services


Fleet Message Management
Typed Message
Comms check?
Lost comms
Target =
BOX BOX BOX
Team
Arrow1
Lead
Chase
Please Select which map you require
Strategy Speed Predictions
Reset Alerts
Click here to reset the alerts light
Data Point Manual Entry
Manual Entry
Latitude
Longitude
Distance Travelled (m)
Distance Remaining (m)
Velocity m/s
Total Array Power (w)
Bus Power (w)
SOC Percentage (ie 0.94)
canDataPointID (if Manual)
Float Value
GPS Manual Entry
Latitude
Longitude


Jack Frost * 1/2 (out of * * * * )
Directed by Troy Miller. Cast: Joseph Cross, Michael Keaton, Kelly Preston, Mark Addy, Henry Rollins, Andrew Lawrence. 1998 - 95 minutes.  Reviewed December 13, 1998.
By Dustin Putman
"Jack Frost," is one of those dumb, corny concoctions that attempts to be a heartwarming family film, but is too muddled in its own cliches and predictability to be the least bit touching. This does not come as a surprise, since the studio that made it is Warner Brothers, who is on a current streak of one bad film after the other.
Jack Frost (Michael Keaton) is a struggling middle-aged rock musician who loves his wife, Gabby (Kelly Preston), and 11-year-old son, Charlie (Joseph Cross), but doesn't spend nearly enough time with them. When he receives a call from a music label that wants to hear him play, he has to cancel his planned family outing up in the mountains for Christmas. Halfway there, Jack has second thoughts, but on his way back home, is in a car accident and dies. Switch forward a year, Christmas is approaching once again, and Charlie and Gabby are still having a difficult time coming to terms with Jack's death. When Charlie begins to play the harmonica his father gave him the night before he died, the snowman outside the house is taken over by Jack's spirit.
"Frosty the Snowman," is a classic cartoon, and the idea of a snowman that is alive works splendidly when animated, but as a live-action film, it doesn't work at all. After a somewhat promising prologue in which the Frost family is established, "Jack Frost," quickly goes downhill, especially once the snowman comes into play. Since Jack has been deceased for a whole year, you would think there would be many questions to ask him, such as, "what happens after you die?" or, "how does it feel to be a snowman?" but instead, the film focuses on a snowball fight subplot and an inevitably oversentimental climax that could be telegraphed before I even sat down to watch the movie.
The performances are respectable enough, but no one deserves to be punished by appearing in a silly film like this. Michael Keaton at least got off easy, since he disappears after the first twenty minutes, but what exactly does he think he is doing with his career here? I have always liked Kelly Preston. She is clearly a talented, charismatic actress, but has never been given a good role in her life, usually having to settle for a one-dimensional supporting character, as in, 1997's, "Nothing to Lose," and, "Addicted to Love." Joseph Cross was probably the highlight in the cast, since he believably portrayed a boy suffering the loss of a parent. In one of the only subplots that actually works, due to its wittiness, Henry Rollins is highly amusing as a hockey coach who becomes terrified and paranoid after seeing the live snowman.
This brief hint of cleverness is pushed to the side, however, by the tried-and-true main plot at hand, which is the sappy story of a father and son. Since I knew what was going to happen by the time the conclusion came around, I had no choice but to sit there and listen to painfully insipid, cringe-inducing lines of dialogue. Some of my favorites was an interaction between the son and father: "You da man," says Charlie. "No, I da snowman," replies Jack. Or how about this little zinger, coming from a school bully that miraculously becomes friendly towards Charlie and tries to help him out: "Snowdad is better than no dad." Do people really get paid in Hollywood for writing pieces of trash like this?
The snowman, created by John Henson's Creature Shop, is more believable than the snowman from last year's unintentionally hilarious direct-to-video horror flick, also called, "Jack Frost," but it still was difficult to tell if it was a person in a suit or computer effects.
As a seasonal Holiday picture, "Jack Frost," is pretty much a clunker. A better Christmas film from this year is, "I'll Be Home For Christmas." Better yet, my suggestion would be to stay home and watch a quality film, such as, "It's a Wonderful Life," "A Christmas Story," or, "Prancer." "Jack Frost," is an earnest, but severely misguided film, and children, as well as adults, deserve better. I doubt they would want to see a movie about the death of a parent, anyway.
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


Current
Previous Versions
Professional
Experience
source: http://tjvantoll.com/2014/12/29/so-you-want-to-write-a-tech-book/Minneapolis, MN
| Pumpkin | Halo | Gia | |||
| Curly | Juliet | Elway |
Described in Roy Fielding's PhD dissertation in 2000
Fielding, Roy.REpresentational State Transfer (REST) is an architectural style that describes how distributed data objects, or resources, can be defined and addressed, stressing the easy exchange of information and scalability.(Fischer 2013.)
Individual Resources are identified using URIs
Resources are abstracted from the data source and can be manipulated before being sent to a client
Hypermedia As The Engine Of Application State (HATEOAS)
De-coupled server and client means:
Resource Transformation
import grails.rest.Resource
@Resource(uri='/gr8ladies')
class Gr8Lady {
String first
String last
}
URL mappings
URLmappings.groovy
"/gr8ladies"(resources:"gr8lady")
Or
"/gr8ladies"(resources:"gr8lady") {
"/chapters"(controller:"chapter", method:"GET")
}
--> /gr8ladies/{id}/chapters
Controller Responses
class CompanyController {
def index() {
respond company
}
}
uses either the accept header or file extension
Learn the correct status codes for different errors
| Code | Description |
|---|---|
| 2XX | Successful |
| 200 | OK |
| 4XX | Client Error |
| 400 | Bad Request |
| 403 | Forbidden |
| 404 | Not Found |
| 5XX | Server Errors |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
Based on HTTP Status Dogs and HTTP Status Cats
Many of the cases are handled by Grails or the server(i.e. 5XXs)
if(someCondition) {
render status: 4XX
}
Handled by Default! :)
On each Controller
class Gr8LadyController {
static allowedMethods = [list: "GET", save: "POST", update: "PUT"]
}
URL Mappings
"/gr8ladies"(resource: "gr8lady", method: "GET")
http://example.com/resource
http://example.com/resource/{id}
http://example.com/resource/{id}
http://example.com/resource?id=abc123
http://example.com/resource/{id}/?action=delete
http://example.com/resource/add
/resources
NOT
/ReSoUrCeS
Try Either:
/multiWordResources
Or:
/multi-word-resources
And stick to it. Don't Mix and Match!
plural nouns preferred
http://example.com/users
vs
http://example.com/user
http://example.com/resource?fieldName=value
By Parameter
http://example.com/resource.json
Available formats
grails:
mime:
types:
...
json: ['application/json', 'text/json'],
...
xml: ['text/xml', 'application/xml']
By Resource
import grails.rest.Resource
@Resource(uri='/gr8ladies', formats=['json'])
class Gr8Lady {
...
}
Requesting another type returns a 406 (Not Acceptable)
By RestfulController
class Gr8LadyController extends RestfulController {
static responseFormats = ['json', 'xml']
}
Remember to add any response formats for versioned mime types
Object Marshallers
grails-app/init/Bootstrap.groovy
import grails.converters.JSON
class Bootstrap {
def init = { servletContext ->
JSON.registerObjectMarshaller(Gr8Lady) {
def returnArray = [:]
returnArray['firstName'] = it.first
returnArray['lastName'] = it.last
returnArray['chapter'] = it.chapter?.name
return returnArray
}
}
}
Usage
render gr8lady as JSON
Object Marshallers
grails-app/conf/spring/resources.groovy
import grails.converters.JSON
import org.gr8ladies.ChapterMarshaller
beans = {
JSON.registerObjectMarshaller(new ChapterMarshaller())
}
Object Marshallers
class Gr8LadyMarshaller implements ObjectMarshaller<JSON>{
public boolean supports(Object object) {
return object instanceof Gr8Lady
}
public void marshalObject(Object object, XML converter) {
Gr8Lady gr8lady = (Gr8Lady)object
converter.chars gr8lady.displayName
}
}
link to the resource and navigation
{
"_links": {
"self": { "href": "/gr8ladies" },
"next": [
{ "href": "/gr8ladies?page=2" }
]
}
}
grails-app/conf/spring/resources.groovy
import grails.rest.render.hal.*
beans = {
halGr8LadyRenderer(HalJsonRenderer, org.gr8ladies.Gr8Lady)
}
Usage: Content Negotiation
curl -i -H "Accept: application/hal+json" http://localhost:8080/gr8ladies/1
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/hal+json;charset=ISO-8859-1
{
"_links": {
"self": {
"href": "http://localhost:8080/gr8ladies/1",
"hreflang": "en",
"type": "application/hal+json"
}
},
"name": "Jenn Strater"
}
Parameters
http://example.com/resource?offset=0&max=10
def list() {
List gr8ladies = Gr8Lady.list(max: params.max, offset: params.offset)
respond [results: gr8ladies, max: params.max, offset: params.offset]
}
http://example.com/v1/resource/{id}
GET https://example.com/resource
version: 2.0
GET https://example.com/resource
Accept: application/vnd.example.v2+json
@Resource(uri='/gr8ladies/v1')
@Resource(uri='/gr8ladies/v2')
"/gr8ladies"(version:'1.0', resources:"gr8lady", namespace: 'v1')
"/gr8ladies"(version:'2.0', resources:"gr8lady", namespace: 'v2')
@Resource(uri="/gr8ladies", readOnly=true)
class Gr8Lady {
String first
...
}
Token based Authentication based on Spring-Security
Last Updated May 2015
Greach 2014
VideoFor more complicated APIs
Last Updated November 2014
For greater control over data output
Last Updated February 2014
jenn@gr8ladies.org


How to display the decision tree model
When after training, you can display the tree model. However, sometimes the tree may be too large to be displayed fully on the viewport. The tree will be displayed only if the following parameters are selected:
Classification Mode: Circle/Gaussian & max depth ≤ 5.
Regression Mode: Max depth ≤ 3.
Please scroll down to see the tree visualization.


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Makes 2 pizzas
Dietary
Choose between a tomato-based pizza or a creamy white base. Delicious either way!
To make the dough, tip the flour into a large bowl and make a well in the middle. Add the sourdough starter and water, mix to bring together, adding the salt just before it is fully mixed. Turn the dough out onto a clean work surface and knead until it becomes smooth.
Roll the dough into a ball and place in a lightly greased bowl. Cover with cling film and leave at room temperature for 5 hours or until it has doubled in size.
2 hours before cooking, move the dough onto a large, oiled baking tray, keeping it the same way up. Cover with cling film and leave to prove for another 2 hours.
Preheat the oven to 220C/200C Fan/Gas 7 and grease two baking trays with oil.
To make the tomato-based pizza, stretch half the dough with your hands to a 28cm/11in disk and place on a greased baking tray. Spread it with 1 tablespoon of the crushed tomatoes and cook for 10 minutes. Tear over the fior di latte and cook for a further 3–5 minutes.
Put the basil leaves in a small bowl with the oil, lemon juice and salt.
Scatter the dressed basil leaves over the cooked pizza, cut into 8 and serve.
To make the white-based pizza, stretch half the dough with your hands to a 28cm/11in disk and place on a greased baking tray. Tear over the fior di latte and cook for 10 minutes.
Meanwhile, preheat the grill to its highest setting and grill the pak choi for 2 minutes on each side. Dress with a little olive oil and salt.
When the pizza is cooked, top with the pak choi, smoked ricotta and chilli. Cut into 8 slices and serve.


Newspaper Collection on my Birthday (August 19) starting from 1914
1910s
1920s
1930s
1940s
1950s
1960s
1970s
1980s
1990s
2000s
2010s
Images
Years
Headlines


|
Deprecated Methods |
interbase.interclient.ResultSet.getBigDecimal(int, int)
To be deprecated in Future, to be replaced by
getBigDecimal(column) without scale in JDBC 2 |
interbase.interclient.CallableStatement.getBigDecimal(int, int)
To be deprecated in future, to be replaced by
getBigDecimal(parameterIndex) without scale in JDBC 2 |
interbase.interclient.ResultSet.getBigDecimal(String, int)
To be deprecated in Future, to be replaced by
getBigDecimal(columnName) without scale in JDBC 2 |
interbase.interclient.PreparedStatement.getResultSetMetaData()
To be deprecated in InterClient 2, replaced by getMetaData() in JDBC 2. |
interbase.interclient.ResultSet.getUnicodeStream(int)
To be deprecated in Future, to be replaced by
getCharacterStream(column) in JDBC 2. |
interbase.interclient.ResultSet.getUnicodeStream(String)
To be deprecated in Future, to be replaced by
getCharacterStream(columnName) in JDBC 2. |
interbase.interclient.ConnectionProperties.setCharacterEncoding(String)
deprecated in InterClient 2, replaced by DataSource API. |
interbase.interclient.PreparedStatement.setUnicodeStream(int, InputStream, int)
To be deprecated in Future, to be replaced by
setCharacterStream(parameterIndex, reader, length) in JDBC 2 |
interbase.interclient.ConnectionProperties.setUser(String, String)
deprecated in InterClient 2, replaced by DataSource API. |


Username
Password
Username or password is not valid
Add a job offer
Search
Sorry, there are no jobs.
Job
Company
City
Date
Please wait...
Add a job offer
Title
Company
Email
City
Web
(ex. http://example.com)
Description
Cancel


Search
Open source?
Trending?
Time
Open Source?: {{ctrl.openSource}}
Trending?: {{ctrl.trending}}
Time: {{ctrl.time}}


Main Cluster Main Cluster The KMDLabs main cluster is where the bulk of testing occurs. The KMDLabs blockchain is the center of a fungible grouping of independent blockchains with the -ac_cc=101 parameter set. This allows for any one of the chains to interact with the other c...
4
1
2
2
Many thanks to @ca333 for his time in writing it and for his support of KMDLabs!
1
smk762 - dracocanis ominator07-Apr-19 12:02 AM
has any significant testing been done with using CCs on z-addresses?
CrisF07-Apr-19 02:37 AM
I'd forgotten about that. It was on my list at one point.
Have you done anything with that, @smk762 - dracocanis ominator ?
smk762 - dracocanis ominator07-Apr-19 02:50 AM
not yet. curious tho
CrisF07-Apr-19 02:50 AM
Me too.
blackjok3r07-Apr-19 03:40 AM
I dont think so... BNU tI dont think they are compatible with each other.
Like you cant send from a z address to a CC contract.... I dont think its supported, there is limitations with the mempool fix.
smk762 - dracocanis ominator07-Apr-19 03:43 AM
so a chain that is z-addr only is unlikely to play nice with CCs. I thought it might be...
blackjok3r07-Apr-19 03:43 AM
it flat out wont work
smk762 - dracocanis ominator07-Apr-19 03:44 AM
yeah, thought too much back end stuff inbetween that needs to know more than zk will reveal
I wonder if gateways might overcome this at all, but I'm doubtful
blackjok3r08-Apr-19 11:19 AM
Workiing on the notarizations counter for main net, it was super easy to add LABS to it, so I did. We no have a way of trackinga nd counting notarizations, although it will take some extra work to make it work automatically with eras.
This system only counts KMD ntoarizations not back notarizations, but combined with the scripts we have to track ntoary pay, we will be able to see exactly now if any notarizations failed.
2
1
hypocalese09-Apr-19 02:25 AM
@ComputerGenie 👴👴👴 Question for you. How do I override this and force it to rollback to sync?
2019-04-09 02:18:15 Error: A block chain reorganization has been detected that would roll back 374 blocks! This is larger than the maximum of 99 blocks, and so the node is shutting down for your safety.
Alright09-Apr-19 02:26 AM
@hypocalese-maxreorg=375(edited)
hypocalese09-Apr-19 02:26 AM
you are a genius
Alright09-Apr-19 02:26 AM
how did you end up in that situation?
hypocalese09-Apr-19 02:28 AM
Not entirely certain. My PoW miner went down for about 2 hrs before I noticed. Then firing up the nodes I noticed this condition.
CrisF09-Apr-19 01:22 PM
ORKL seems to be having a bit of a rest. Long weekend by the looks of it.
blackjok3r09-Apr-19 01:38 PM
no stakers ?
smk762 - dracocanis ominator09-Apr-19 02:25 PM
I can send out funds if needed. restarted it this morning b4 work, forgot to restake
1
all this mopping up beer got me distracted
blackjok3r09-Apr-19 02:39 PM
this is why I said we needed to take some time off here lol.. .but things are still getting done/
CrisF09-Apr-19 08:56 PM
Haha
Will have some new trick then too ;)
blackjok3r10-Apr-19 06:02 AM
Updated the RPC call for notary stats, not working for LABS right now. But when I get some time I will fix it. I have some major code changes to merge down/up now. Not looking forward to doing that lol.
3
2
blackjok3r10-Apr-19 08:30 AM
We need to test tokens migrates too guys. Not sure how best to go about it. With the election happenign atm maybe we should just wait.
CrisF10-Apr-19 08:46 AM
Is anyone who is not involved in the elections available to test?
Maybe we could do a larger scale test after the elections and have a few preliminary tests done in the meantime?
blackjok3r10-Apr-19 09:02 AM
I havent even tried it... but dimxy reported it was working as expected on NK/KN
that doesnt mean it cant be broken... though(edited)
CrisF10-Apr-19 09:20 AM
Haha, yeah.
penguin10-Apr-19 02:57 PM
could someone please let me know what the correct directory for list.json is - when using pos64staker (master)(edited)
(list.json is in both the pos64staker and komodo/src dir - but is displaying load error)(edited)
smk762 - dracocanis ominator10-Apr-19 03:29 PM
paste error
penguin10-Apr-19 03:31 PM
"could not load list.json .. exiting"
i think ive found the correct dir.. after reading the past messages in this channel
penguin10-Apr-19 03:41 PM
seems to be working, the print is now "not our block"
smk762 - dracocanis ominator10-Apr-19 04:34 PM
I think thats normal, just waiting turn to stake. If you're running KMD labs chains I can sned you some CFEKORKL to stake
Hi,
I'm one of the many candidates running for election for KMD NN operator in the EU region.
I could really use your support and votes.
My proposal (node-9) can be found here: https://github.com/KomodoPlatform/NotaryNodes/tree/master/notarynodes/node-9
Please send votes to me at this address, RBDivEArcb7aRsYTvtN5MRnaxeDAepSNmW
and to other candidates who support KMDLabs, and need votes, at the addresses that they post.
CrisF
https://node-9.xyz
(Voting / election info: https://komodoelection.com/)(edited)


I'm a Frontend Software Engineer and
data analyst
with an obsession for crafting rich applications. If that peaks your
interest, let's chat.
Here's a bit more
about me.
I'm a Frontend Software Engineer with a deep
background in data analytics . Solving
problems and building applications is what I love to do.
As an engineer, I build applications that are
fast, scalable, and secure. As a data analyst,
I extract value from the data those
applications produce. Got you excited? Me, too.