Take some time to read the rest of this document, as it describes options and commands that may be crucial to a successful
experience with Carmine Impact.
Binding keys, as well as performance and gameplay related settings are documented below, these commands can be used in
both the console and configuration scripts. In addition, you can also press "ESC" to go into the menu, which will provide
you with an interface for navigating some (not all) of the commands.
For Windows: Install and then run launcher.exe or launch from your software distribution platform (Itch, Steam, etc.).
For Linux: Extract and then run ./cardboard_unix. Needs a decent and compliant OpenGL implementation.
The game and engine derives its simplicity from some rather brute force rendering methods, and as such it needs
a beefy machine to get good visual quality. It runs best with vertical sync (vsync) set to OFF and at high
refresh rates (otherwise, you may get excessive LOD/FPS variance).
-d
This starts as a dedicated server. The default is a non-dedicated server with only a single client in graphical mode. Dedicated servers run in the shell only (no graphics), with increased priority yet use very little cpu time and memory, so you can run one in the background, or at the same time with a client if you want to host a game (which is usually better than using a listen server). Servers use the ports 35000 (UDP) and 35001 (UDP).
-dN
If N=1, starts a listen server which allows it to simultaneously function as both a client and server. Note that a listen server is limited by your in-game frame rate, so you should use a dedicated server if your graphics card is slow or you have enabled frame rate limiting options such as "vsync". If N=2, it starts a dedicated server as for the "-d" command-line option.
-wN
Sets the screen resolution width to N (default: 640).
-hN
Sets the screen resolution height to N (default: 480).
-zN
Sets the z-buffer precision to N bits. This should be at least 24 or you may experience depth problems.
-aN
Sets FSAA (Full Scene AntiAliasing) to N samples, i.e. -a4 is 4xFSAA
-t
Sets the game to run windowed.
-qS
Sets S to your home directory. If set, the engine will look for files in your home directory as well as the normal installation directory. However, all files will be written to your home directory, instead of the normal installation directory.
-kS
Adds the mod directory S to the list of directories the engine will search in for files. Directories will be searched in the order listed on the command-line, and if not found, the engine looks in the installation directory.
-gS
Sets the log file to S. All console output is written to the log file.
-lS
Loads map S on startup.
-xS
Executes the script commands S on startup, note that this is done before the map loads, so if you wish them to be executed later, you should enclose them in a sleep statement. Example: -x"sleep 1000 [ connect localhost ]"
-uN
Sets the server upstream bandwidth to N bytes per second. Only set this parameter if you know what you are doing, specifying a wrong value is worse than not specifying it at all.
-nN
Sets the server description, for people pinging the server. usually does not need to be set if you have a descriptive domain name already, but if you set it, keep it short as it may otherwise be truncated (example: -n"Bobs Instagib Server").
-cN
Sets the max number of clients to N. The default is 4. If you want to set it higher, be aware that bandwidth usage almost doubles with each extra client, so only do this if the server runs on a serious pipe (not your home DSL or Cable connection).
-iS
Sets the server ip to S. This option is only useful for people running on machines with multiple network interfaces.
-jN
Sets the server port to N. This option is only useful for people running on machines with multiple network interfaces. Note that both UDP ports N (game traffic) and N+1 (pings) must be available for this to work. If not specified, the default ports used are 35000 and 35001. Regardless of what ports are set, port 34999 must be available for pinging servers over a LAN to work.
-mS
Sets the master server to use for either server (registering) and client (updating) to S. (default: master.harpnetstudios.com).
-pS
Sets the server's administrative password to S.
-yS
Locks the server so that password S must be provided to connect to it.
-oN
Sets the openness of the server to N. N=1 disables mastermodes 2 (locked) and 3 (private), while N=0 (default) enables all mastermodes.
bind K A
editbind K A
Binds key K to commands A (see console language below for what you can put in A). To find out what key names and their default bindings are, look at data/keymap.cfg, then add bind commands to your autoexec.cfg. Editbind works much the same way, except now the key is only available in edit mode (if no editbind is defined for a certain key, it will use the normal binding).
alias N A
Binds name N to commands A, after which you can use N as a shortcut for A. You may re-bind N as often as you like, call it recursively etc. You may use N = A as a shortcut for alias.
push N A B
Pushes the old value of name N onto its stack, and then aliases N to A, and executes B, after which the old value of N is restored from the stack.
local N1 [N2...]
Makes the supplied variables local variables, such that their old values are saved onto the stack and restored at the end of the current block. They are initialized to null.
quit
Quits without asking.
forward
backward
left
right
Move you in said direction (default key: up down left right, w s a d).
attack
Fires the current weapon (default key: left mouse).
jump
Triggers a jump (default key: space, right mouse).
zoom N
Zooms in if N is -1, zooms out if N is 1, and turns off zoom if N is 0.
taunt
Plays your player model's taunt animation.
floatspeed N
Sets the speed at which your character floats in edit mode or spectator mode (default: 100).
invmouse B
Toggles mouse between regular and inverted (flight sim) mode (default: 0 (uninverted)).
sensitivity S
Sets mouse sensitivity (default: 3). The feel of which should be a similar number to Quake.
sensitivityscale S
Scales the effect of an increase or decrease in the sensitivity value. The larger the value, the smaller the difference between sensitivity values (default: 1).
maxfps N
Sets the max number of FPS (Frames per Second). Useful if you have a recent machine that can run the engine at close to 1000FPS, or if you want to test. If you set maxfps to exactly or a simple ratio of your monitor's refresh rate, you may experience tearing. Be aware that maxfps is not a replacement for vsync (default: 200).
fov N
Sets your FOV to 10..150.
zoomfov N
Sets your zoomed-in FOV to N.
zoominvel N
Sets the number of milliseconds over which zoom-in happens. Zoom-in is instant if N is 0. (default: 250)
zoomoutvel N
Sets the number of milliseconds over which zoom-out happens. Zoom-out is instant if N is 0. (default: 100)
zoomsens S
Sets mouse sensitivity when zoomed-in (default: 1).
zoomautosens B
Toggles whether mouse sensitivity should be automatically scaled to match the zoomed-in FOV relative to FOV.  Higher numbers mean more grass will be drawn and be more expensive.
grassstep N
Sets the step distance between rows of grass to 0.5..8 (default: 2). Higher step distances will look sparser, but render faster.
shaderdetail N
This sets the level of detail shaders should use, for N=3 is highest, and N=0 is lowest. Lower settings will give speedups on slower hardware.
maxtexsize N
This sets the maximum allow size of a texture in texture memory. If any texture's width or height is greater than N, the texture will be scaled down to be no more than NxN. This variable is not saved, and is reset on each run with the 3D card's texture size limit, so set this in your "autoexec.cfg" if you want to override it. Set this to a small value like 128 if your card has very little texture memory (i.e. 32 MB or less).
texcompress N
Any texture whose width or height is greater than or equal to N will be compressed using S3 texture compression, if available on your card. The default is set to 1024, so set this lower if your card supports S3TC and you have very little texture memory (i.e. 64 MB or less).
watersubdiv N
Determines the subdivision of the water surface in maps, which can greatly affect fps on slow machines. Must be a power of 2: 4 is the default, 8 is recommended for people on slow machines, 2 is nice for fast machines, and 1 is quite OTT. See the edit reference for more information on how to add the water material to your levels.
waterlod N
Sets the precision level of the water LOD (Level of Detail) from 0..3, where 0 is the lowest and 3 is the highest setting (default: 1).
waterreflect B
Enables or disables water reflections (default: 1).
waterenvmap B
Enables or disables water environment-mapping (cheaper fake reflections). By default, this is used when "waterreflect" is turned off.
waterrefract B
Enables or disables water refractions. (default: 1).
waterfade B
Enables or disables soft fading of water edges. This option only works if "waterrefract" is enabled. (default: 1).
waterfallrefract B
Enables or disables refractive waterfalls. (default: 0).
waterfallenv B
Enables or disables environment-mapped waterfall reflections. (default: 1).
reflectdist N
Sets the maximum distance geometry/objects can be at to be in a reflection from 0..10000 (default: 2000).
reflectsize N
Sets the resolution of reflected surfaces (where the dimensions would measure 2^N x 2^N), from 6..10 (default: 8). Lowering this value results in a grainier image, whereas increasing it results in a finer and mroe detailed image. This too should be used to fine tune the speed of reflection rendering.
maxreflect N
Sets the maximum number of reflection surfaces that can be visible at once from 1..8 (default: 1). Any surfaces exceeding this limit will not be given reflections on their surfaces.
reflectmms B
Toggles whether map models are rendered in reflections (default: 1).
envmapsize N
Sets the resolution of generated environment maps to 2^Nx2^N (default: 7).
maxparticledistance N
The maximimum visibility distance for particle effects from 256..4096 (default: 512).
particlesize N
The size of default particle effects from 20..500 (default: 100).
emitfps N
The rate at which paricles can be emitted from 1..200 fps (default: 60).
flarelights B
Enables or disables automatic lens flares for all lights (default: 0). Requires very careful placement of lights to be effective, and most maps are not currently designed with this in mind. Therefore it is recomended that lens flares instead be placed manually by using particles entities.
flarecutoff N
The maximum visiblity distance of a lens flare source from 0..10000 (default: 1000). Note that visibility also depends on the viewers angle to the flare source.
flaresize N
The size of the lens flare effect from 20..500 (default: 100).
setpostfx [N [P]]
Sets your favourite fullscreen shader. Active permanently once set. Use without N argument to turn it off. Certain shaders like bloom require you to specify a P for the intensity. Current example shaders: bw, invert, gbr, sobel, bloom
screenshot
Writes out "screenshotN.bmp", where N is the number of milliseconds since the game was launched (default key: F12).
musicvol N
soundvol N
Sets the music/sound volume from 0..255.
soundbufferlen N
Sets the sound buffer length in bytes, tweak this if you experience stuttering or lagging sound (default: 512).
scr_w N
Sets the screen resolution's width to N. This variable can also be used to check the current screen resolution width.
scr_h N
Sets the screen resolution's height to N. This variable can also be used to check the current screen resolution height.
screenres W H
Sets the screen resolution's width to W and height to H. On supported platforms, this can change the screen resolution immediately without requiring OpenGL to reset.
gamma N
Sets the hardware gamma value to N percent (default: 100). May not work if your card/driver doesn't support it.
hidestats B
Toggles display of fps/rendering stats on the HUD (default: 1).
hidehud B
Toggles the entire hud display, which includes rendering stats, ammo, and echoed text (default: 0).
maxroll N
Sets the maximum value your display will roll on strafing from 0..20 (default: 3)
crosshairsize N
Sets the size of your crosshair, 0 being off (default: 3).
crosshairfx B
Toggles crosshair effects (default: 1). When on, the crosshair will go grey when the weapon is reloading, orange when health <= 50, or red when <=25.
exec S
Executes all commands in config file S.
history N
Executes the Nth command in the command line history. For example, binding "history 0" to a key allows you to quickly repeat the last command typed in (useful for placing many identical entities etc.)
keymap K N A
Sets up the keymap for key code K with name N and default action A. You should never have to use this command manually, use "bind" instead.
gui2d B
Sets whether menus should be shown in 2D, or 3D if disabled (default 0).
menudistance D
Sets the distance at which the menu is created in front of the player (default 40).
menuautoclose D
Sets the distance at which the menu is automatically closed when the player moves away from it (default 120).
guiautotab H
Sets the height of the gui before tabs are automatically generated.
cleargui
Hides the menu.
showgui N
Displays the menu with name N previously defined, and allows the user to pick and manipulate items with the cursor. Pressing ESC will cancel the menu.
newgui S
Creates a new menu with name S. All the following 'gui' menuitem commands will apply to this menu. See "data/menus.cfg" for defaults.
guilist '[' ... ']'
Defines a menu item that is a group of menu items. The layout of each nested group will alternate - the top level (newgui) is laid out vertically, the first guilist will be laid out horizontally, the second guilist vertically, etc. This allows tables and lists to be created. The layout direction also influences the display of items such as sliders, bars, progress bars, and struts.
guispring [W]
A list containing springs will fill its parent list along its layout direction by dividing any needed space among the springs. The spring is weighted by a positive integer W, otherwise defaults to W=1.
guititle S
Creates a menu item with horizontally centered title S.
guibutton [S] A [I]
Creates a menu button with the name S and icon I, which will execute A when selected. If you only specify one parameter, then it will be used for both. The icon used will be I if supplied, otherwise a blue-button if A contains showgui, otherwise it is a green button. Clicking a button will close the menu.
guiimage P A S [O]
Creates a menu image tile from the path P, which will execute A when selected. Clicking the image will close the menu. Uses image scale S and O=1 if an overlay is required.
guitext S
Creates a menu item consisting of the text line S and an information icon.
guitextbox S W [H] [C]
Creates a text box showing the text S, with width W, height H, and color C. The default is a single line of white text. Note that the height will increase automatically so as to enclose all the text.
guibar
Creates a vertical/horizontal menu bar. The orientation depends on the layout direction.
guislider V [MIN MAX A]
Creates a vertical/horizontal menu slider that is bound to a variable V. The min/max bounds of the slider will be as defined by the data model of the variable unless explicitly specified. An action A can also be specified for every slider change. The orientation of the slider depends on the layout direction.
guicheckbox N V [ON OFF A]
Creates a menu checkbox with a label N that is bound to a variable V. The default value are 0/1 unless supplied by ON/OFF. An action A can also be specified for every checkbox change.
guiradio N V VAL [A]
Creates a menu radio button with a label N that is bound to a variable V. The radio button is only ticked when the variable has value VAL, and presing the button will update the variable to the value VAL. An action A can also be specified for every radio button change.
guitab S
Creates a new menu tab with title S. Note: has no effect if used within a guilist.
guifield A N [O [U]]
Creates a field which accepts editable input, the value of which is taken from and updated to (upon change) the alias A, and can have at most N characters. If specified, O is executed when the user presses enter. If U is also specified, it will execute it every every frame (unless it is currently being edited) to allow updating the field. Note that all fields that share the same A alias, also share the same edit info, if the user moves outside the field the changes are not committed, if they select another field, changes will be lost.
The following commands may be placed in the file "server-init.cfg" in the root Carmine directory to configure a dedicated server, or they may be used inside a running client to config ure a listen server:
startlistenserver [MASTER]
Starts a listen server from within a running game client. If MASTER=1, then the server will report to the master server, otherwise if MASTER=0 or not supplied the server will not report to the master server. The various server configuration commands can be used before this command to setup properties of the listen server.
stoplistenserver
Stops a listen server running from within a game client.
serverip S
Sets the IP the server should bind/listen to S. This is only useful if your server is running on a host with multiple interfaces.
serverport N
Sets the port the server should bind/listen to N. By default, server's listen on port 35000.
maxclients N
Sets the maximum number of clients that can connect to the server to N.
serverbotlimit N
Sets the maximum number of bots a master can add to N. Admins are unaffected by this limit.
publicserver B
Toggles whether a server is considered a "public" server when B=1: can only gain master by "auth" or admin and doesn't allow locked/private mastermodes. B=0 allows "setmaster 1" and locked/private mastermodes (for coop-editing and such).
serverdesc S
Sets the description shown for the server in the server browser to S.
serverpass S
Sets the password required to connect to the server to S. This option is only useful if you don't want anyone connecting to your server.
adminpass S
Sets the password to gain admin access to a server to S, as well as the password that may be used to override the private mastermode when connecting.
servermotd S
Sets the "message of the day", a message shown to users when they connect to the server, to S.
updatemaster B
Toggles whether or not the server should report to the masterserver. B=1 enables (default) and B=0 disables.
mastername S
Sets the IP of the master server the server reports to. This defaults to "master.harpnetstudios.com" and generally should not be changed.
restrictdemos B
Toggles whether admin is required to start recording a demo. B=1 enables (default) and B=0 disables.
maxdemos N
The maximum number of demos the server will store (default: 5).
maxdemosize N
The maximum size a demo is allowed to grow to in megabytes (default: 16).
maxdemosize N
Toggles whether admin is required to start recording a demo. B=1 enables (default) and B=0 disables.
ctftkpenalty B
Toggles whether teamkilling the flag runner in CTF modes should disallow the teamkiller from stealing the flag (default: 1).
Cube's console language is similar to console languages of other games (e.g. Quake), but is a bit more powerful in that it is a
full programming language.
What is similar to quake is the basic command structure: commands consist of
the command itself, followed by any number of arguments seperated by
whitespace. you can use "" to quote strings with whitespace in them (such as
the actions in bind/alias), and whereever a command is required you can also
use ; to sequence multiple commands in one.
What is new compared to quake is that you can evaluate aliases and expressions.
You can substitute the value of an alias as an argument by prefixing it with a
"$" sign, (example: echo The current value of x is $x). You can even
substitute the values of console variables this way, i.e $fov gives the current
fov. Some aliases are set automatically, for example $arg1 to $argN are set (as if by the "push" command)
if you supply arguments when you execute an alias, and are popped when the alias finishes executing.
There are two alternatives to "" for quoting a string: () and []. They work in
the same way as "", with the difference that they can be nested infinitely, and
that they may contain linefeeds (useful for larger scripts). () is different
from [] in that it evaluates the commands contained in it _before_ it evaluates
the surrounding command, and substitutes the results. () bracketed strings are
called expressions, while [] bracketed strings may be thought of as blocks.
An alternative to $x is @x, which uses an alias as a macro. The difference is that @x
can be substituted inside [] forms before they have ever been evaluated (at parse time),
which makes them useful for composing strings or creating code on the fly. The @x form will be
substituted using the value of x at the time the enclosing [] is evaluated. You can add more @ prefixes
to move up more levels of []s, so @@x will move up two levels of []s and so on.
Example: x = 0; if $cond [x = 1; [x = 2; echo @@x]] will echo 0, since it uses the value of x at two levels up.
The form @(body) is similar to @x, except that body contains commands executed at parse time.
The result value after body executes is substituted in for @(body).
You may use multiple @ prefixes as with the @x form.
Example: @(result "Hello, World!") will substitute itself with Hello, World!
@[body] is also similar to @(body), except that it does not execute its contents and instead expands macros to use as the alias name for the final macro substitution.
The following commands are available for programming:
+ A B
- A B
* A B
div A B
mod A B
(add, substract, multiply, divide, modulo): these all work like the integer operators from other languages (example: echo x squared is (* $x $x)).
= A B
< A B
> A B
strcmp A B
(equals, lessthan, greaterthan, stringcompare): comparison operators that return 1 for true and 0 for false.
! A
&& A B
|| A B
^ A B
(not, and, or, xor): boolean operators. 0 is false, everything else is true. The AND and OR operators are implemented to shortcut.
strstr S N
Searches the string S for the substring N and returns its starting position. This function is case sensitive, when N is not found it returns -1. (example: echo (strstr "for example this sentence" "this" ) - would return 14 ).
substr S A B
Returns a part from the string S starting from A for B chars (example: echo (substr "grab this part here" 11 4 ) - would return "here" ).
strreplace S A B
This searches the string S for substring A and replaces it with another substring B. (example: echo ( strreplace "this is serious" "serious" "fun" ) - would return "this is fun" ).
strlen S
Returns the length of the string S (example: echo (strlen "long sentence") - would return 13 ).
min A B
This results the lower number of the 2 Strings A and B
max A B
This results the higher number of the 2 Strings A and B
rnd N
Grabs a random number from 0 to N, and results it.
if cond true false
Executes the true or false part depending on wether cond is "0" or something else (example: if (< $x 10) [ echo "x is" $x ] [ echo "x is too big" ]).
loop I N body
Evaluates body N times, and sets the alias I from 0 to N-1 for every iteration (example: loop i 10 [ echo $i ]).
while cond body
Evaluates body while cond evaluates to true. Note that cond here has to have [], otherwise it would only be evaluated once (example: i = 0; while [ (< $i 10) ] [ echo $i; i = (+ $i 1) ]).
concat S...
Concatenates all the arguments and returns the result
concatword S...
Same as concat but without spaces between the elements.
format F V1..Vn
Substitutes the V values into the format string F and returns the result. The format strings %1 through %9 are substituted with V1 through V9, respectively, and may be used multiple times. %% will generate a single % character (example: format "%1 bottles of %2 on the %3, %1 bottles of %2!" 99 beer wall).
at S N
Grabs the Nth word out of string S and returns the result
listlen L
Returns the number of items in the list L
listclients N
Gives a list of all playernumbers if N is 1 if N is 0 it lists all players except you.
onrelease A
Only executes A if the command is executed on the release of a key/button (must be in an action in a bind or an alias in a bind).
result V
Normally the result of a [] block is the result of the last command in the block. If you want the result to be a particular variable or value, you can use e.g. "result $i" etc.
$editing
This is true when in edit mode.
getalias V
Returns the alias from the variable V.
getbind B
geteditbind B
getspecbind B
Returns the game, edit or spectator bind B
getclientnum N
getclientname N
getclientteam N
This returns the client number, name or team of the player N.
getname
getteam
getweapon
getfps
Tells your own Name Team Weapon or FPS
gettex
Adds the current selected texture to the front of your texture list in Y+scroll Needs Allfaces set to 0 so it works.
gettexname
Results the current Texture name
isconnected N
If the Player N is online this is 1 (true)
isspectator N
If the Player N is spectator this is 1 (true)


Package provides the estimation of the structure and the parameters, sampling methods and structural plots of Hierarchical Archimedean Copulae (HAC).
| Version: | 1.0-5 |
| Depends: | R (≥ 3.1.0), copula |
| Imports: | graphics, numDeriv, stats |
| Published: | 2016-11-21 |
| Author: | Ostap Okhrin and Alexander Ristig |
| Maintainer: | Alexander Ristig <alexander.ristig at univie.ac.at> |
| License: | GPL (≥ 3) |
| URL: | https://tu-dresden.de/die_tu_dresden/fakultaeten/vkw/iwv/osv/mitarbeiter/ostap.okhrin/index_html |
| NeedsCompilation: | no |
| Citation: | HAC citation info |
| Materials: | ChangeLog |
| In views: | Distributions |
| CRAN checks: | HAC results |
| Reference manual: | HAC.pdf |
| Vignettes: |
HAC |
| Package source: | HAC_1.0-5.tar.gz |
| Windows binaries: | r-devel: HAC_1.0-5.zip, r-release: HAC_1.0-5.zip, r-oldrel: HAC_1.0-5.zip |
| OS X binaries: | r-release: HAC_1.0-5.tgz, r-oldrel: HAC_1.0-5.tgz |
| Old sources: | HAC archive |
| Reverse suggests: | erhcv |
Please use the canonical form https://CRAN.R-project.org/package=HAC to link to this page.


Why HOUSESALE Company?
Transparent pricing
See fixed prices before you book. No hidden charges.
Experts only
Our professionals are well trained and have on-job expertise.
Fully equipped
We bring everything needed to get the job done well.
Experienced, hand-picked Professionals to serve you at your doorstep
See fixed prices before you book. No hidden charges.
Our professionals are well trained and have on-job expertise.
We bring everything needed to get the job done well.
Enter your mobile number to get the professionals help
Housesale chose to work together with the Lebanese designer Nada Debs. We are thrilled to present this collaboration and the LJUV collection, and we hope that you can see, feel, use the connection between a designer from the Middle East democratic design. Nada Debs is a Levantine designer living and working in Beirut. Her work spans scale and discipline: from product to furniture design to one-off commission across craft, art, fashion, and interiors. Nada grew up in Japan, studied design in Rhode Island School of Design in the US, and has spent significant periods living and traveling the world, finding connections of each of her experiences in all her work. She calls her approach handmade, and heart-made!
Sofas | Beds | Dining | Tv units | Mattresses | Seating | Coffee tables | Wardrobes | Storage | Bookshelves | Shoe racks | Decor| Bathroom | Textiles | Pots & plants | Home electronics | Home improvement | Lighting
IKEA is a global leader in life at home.
Whether you just moved into a new home or looking to revamp your current one, we at IKEA are here to inspire you with affordable home furniture solutions, there is a piece of furniture to every corner of your home. Create a home that is perfect for you.
Shopping at IKEA is a bit different and exciting compared to your shopping at an everyday retail. It is about experiencing solutions first hand and getting to know ideas and inspirations that can fit perfectly into your home. That’s why, we offer more than 7500 products, solutions at our store along with home furnishing ideas and services for you to explore.
When you visit IKEA store, make yourself at home in our many room settings in the store. Squeeze the upholsteries, feel the oriental rugs, try the sofa beds and open the cabinets to feel the quality. On the price tag, you’ll find all you need to know about a product, including where in the store you can pick it up.
Since most IKEA furniture is flat-packed, they are quite easy to bring home when you buy from the store.


Whether you're at a party, on a roadtrip, or just hanging out with friends, Moose creates a unique listening experience where everyone is in control of the music. Create a room or join an existing room, add songs to the room's queue, and start streaming with others effortlessly!


Instances
Info
There are currently no instances. You can launch an instance from the Images Page.
{% extends 'dash_base.html' %} {# list of user's instances #} {# standard nav, sidebar, list of instances in main #} {% block sidebar %} {% with current_sidebar="instances" %} {{block.super}} {% endwith %} {% endblock %} {% block main %}
— Instances are virtual servers launched from images.
There are currently no instances. You can launch an instance from the Images Page.


Maharashtra State Board of Technical Education
June 2012 - June 2015
I am Ajay. I have worked as a Data Scientist at BrandzOnWeb where I have analyzed GIS data by using Python(Jupyter) and Tableau. Also, I have post graduated from University of Texas at Austin(Distance Learning) and GreatLakes in Artificial Intelligence and Machine Learning. In the post gradution program I have worked on various Data Science, Machine Learning and Deep Learning projects in Healthcare, Finance, Civil engineering and IT Support domains.
Maharashtra State Board of Technical Education
June 2012 - June 2015
Savitribai Phule Pune University
June 2015 - June 2018
University of Texas at Austin
June 2019 - June 2020
Brandz On Web, Nashik
October 2018 - Present
The project portfolio contains projects which I have developed to apply my understanding of Data analytics, Machine Learning and Deep Learning in multiple domains.


The pioneer who brings international
e-learing technology to Thailand
100% teachers in Topica Native are from US, UK and Australia to ensure that students can practice listening with various accents. The selected teachers all possess years of experience at prestigious colleges and English centers. All of them have to undergo strict ability examinations and receive thorough training of online teaching skills so that the quality of classes always reach the highest standard possible.
During your study with Topica Native you will have your own English avisor who takes the role of a tutor and closely follows your progress from the first day until the very last. Every week she will send documents to you via email and contact you at least twice a week to help you review grammar and theory lessons. She will also offer advice to help you improve your skills.
Before joining an online class, Topica's technical team will check your Internet connection, headphones, microphone to ensure the highest quality possible, then they will put you into a class with learners at the same the level as yours. There will be a technician on duty in class to assist you when necessary.


In what year did was Windows 1.0 released?
What company develops, markets and sells Windows?
When was Linux released?
Approximately how many % of desktop users use Linux?


Home
Profile
Messages
LMD of Report
Report:-
Show Url
Download
Profile page
Profile information
Messages
Some messages


Thank You!
Lorem ipsum dolor amet gentrify drinking vinegar waistcoat trust fund wayfarers farm-to-table migas actually humblebrag master cleanse four loko. Gentrify microdosing green juice affogato fashion axe hell of neutra artisan letterpress sriracha selfies vaporware occupy. Hammock selfies tumeric gentrify hella vaporware XOXO hot chicken 8-bit VHS pabst. Kitsch bushwick pitchfork squid dreamcatcher unicorn, prism poke celiac four loko organic. Tousled vape chia hot chicken quinoa shaman copper mug typewriter unicorn. Ethical glossier vinyl you probably haven't heard of them waistcoat thundercats. Disrupt echo park farm-to-table unicorn hammock pickled drinking vinegar hella tote bag cloud bread gluten-free gentrify fashion axe venmo sriracha.
Af YOLO intelligentsia tattooed, lo-fi man bun 3 wolf moon locavore freegan plaid you probably haven't heard of them chillwave lomo. Iceland beard disrupt pour-over, offal 90's drinking vinegar truffaut stumptown literally vice. Vaporware kinfolk quinoa kombucha sustainable organic try-hard you probably haven't heard of them brunch skateboard adaptogen artisan glossier mixtape. Semiotics +1 sriracha pinterest fanny pack pork belly scenester whatever.
Your total cost will be $


Other people's pages:
I am not a graphics designer; most of my pages on the Net are collections
of frontier futuristic and intellectual resources and my own philosophical writings.
Please visit after you are done playing with pictures!
- Sasha Chislenko


Implement following tasks using jQuery: Sliding page elements Hiding and Showing elements Fading elements Toggling elements Stopping effects
CLICK TO REVEAL RESULT
YOU ARE PASSED
BE CALM
Hide
Show
Click to fade in/out boxes
Toggle the paragraphs
LIGHT ON AND OFF.


All of our partners are deeply, appreciated, because without your support we could not carry on the mission God has given us.


BookSwop
Free Book Swap Platform
Toggle navigation
Home
Log in
Sign up
About us
Sign Up
Name:
Email Address:
.ac.uk
Date of Birth:
Password:
Confirm Password:
Accept the
Terms of Service
and the
Privacy Policy
.
Submit


Gecode::AllVarConf Class Reference
Detailed Description
Configuration for all variable implementations.Definition at line 465 of file var-type.icc.
Static Public Member Functions | |
| static ModEventDelta | med_combine (ModEventDelta med1, ModEventDelta med2) |
| Combine modification event delta med1 with med2. | |
Static Public Attributes | |
| static const int | idx_c = Gecode::CpltSet::CpltSetVarImpConf::idx_c+1 |
| Index for cloning. | |
| static const int | idx_d = Gecode::CpltSet::CpltSetVarImpConf::idx_d+1 |
| Index for dispose. |
Member Function Documentation
| ModEventDelta Gecode::AllVarConf::med_combine | ( | ModEventDelta | med1, | |
| ModEventDelta | med2 | |||
| ) | [inline, static] |
Member Data Documentation
const int Gecode::AllVarConf::idx_c = Gecode::CpltSet::CpltSetVarImpConf::idx_c+1 [static] |
const int Gecode::AllVarConf::idx_d = Gecode::CpltSet::CpltSetVarImpConf::idx_d+1 [static] |
The documentation for this class was generated from the following file:
- gecode/kernel/var-type.icc


Use your arrow keys to move the tiles. When two tiles with the same picture touch, they merge into one!
Make your own version: If you'd like to make your own version of this game, check out Udacity's newest course for beginners Make your own 2048. No programming experience is required and in less than half an hour you'll dig into the source code, make some changes, and have your own version of the game to share.
This is a modified version of the original game created by Gabriele Cirulli.


Preparation time
over 2 hours
Cooking time
30 mins to 1 hour
Serves
Serves 16
Big, bold and beautiful, this summer party gâteau is a real show-stopper. Add more fruits or even flowers for a very special occasion. You’ll need to make the sponge mixture in two batches as it does not work whisking all eight eggs at once.
This recipe is best started the day before you want to serve it. You will need two 23cm/9in round cake tins with 5cm/2in sides. Preheat the oven to 180C/160C Fan/Gas 4, then grease the tins with butter and line the bases with baking paper.
To make the sponges, put four of the eggs and half the caster sugar in a bowl and, using an electric hand whisk or food mixer, whisk until thick, pale and fluffy. When you lift the whisk, the batter dropping from it should leave a trail in the mixture below.
Sift half the flour into the mixture, and gently fold in to combine. Drizzle half the cooled melted butter around the outside of the mixture and carefully fold in before pouring into one of the prepared cake tins.
To make the second sponge, simply repeat steps two and three, and pour into the second tin.
Bake both sponges at the same time in the oven for about 30 minutes, or until pale golden-brown, firm in the middle and shrinking away from the sides of the tin. If not baking on the same shelf, you may need to swap the tins around halfway through to ensure you get an even bake.
Remove from the oven and, after 10 minutes, release from the tins and set aside to cool completely on a wire rack. Remove the lining paper and, using a bread knife, slice each sponge in half horizontally to give four layers in total.
Whip the cream in a bowl until it forms firm peaks. Reserve 4 tablespoons for decorating the top of the cake, and then divide the remaining whipped cream into three. Divide a mixture of the three different berries into three piles, reserving a handful of each for the top of the cake.
Place one layer of sponge on a large plate, then spread with a third of the whipped cream, scatter over a third of the mixed berries, making sure they come around the edge of the cream, so they can be seen. Add another layer of sponge on top and repeat until you have three layers, topped with a final layer of sponge.
To decorate the top, spread the reserved cream in a small circle in the centre of the sponge and arrange the remaining berries on top. Cover carefully with cling film and put in the fridge to settle – for a few hours, but overnight if possible. When you are ready to serve, dust the gâteau with icing sugar and cut into slices.


Galactic Space Age Calculator
Enter any of these planet names to find your planet age: Mercury, Venus, Mars, Jupiter
Enter planet name:
Enter your age on Earth:
Submit
Enter years stayed on planet:
Do you eat chocolate? (yes/no)
Do you drink juice? (yes/no)
Submit


* Function calls push new stack frames onto the stack.
* A stack frame includes space for all the local variables used by that function, and other book-keeping information used by the compiler for this function invocation.
* On Intel (x86) machines, the stack grows down.
> This means that the stack grows towards smaller memory addresses.
* There is a special register, called the stack pointer (SP), that points to the beginning of the current stack frame.
* Thus, the stack extends from the address given in the SP until the end of memory, and pushing a new frame on the stack involves subtracting the length of that frame from SP.
* Intel (x86) machines have another special register, called the instruction pointer (IP), that points to the next machine instruction to execute.
* For most machine instructions, the machine reads the instruction pointed to by IP, executes that instruction, and then increments the IP.
* Function calls cause the IP to be updated differently: the current value of IP is pushed onto the stack (this will be called the return address), and the program then jumps to the beginning of the function to be called.
* The compiler inserts a function prologue—some automatically generated code that performs the above operations—into each function, so it is the first thing to be executed when the function is called.
* The prologue pushes the current value of SP onto the stack and allocates stack space for local variables by decrementing the SP by some appropriate amount.
* When the function returns, the old FP and return address are retrieved from the stack, and the stack frame is popped from the stack (by restoring the old FP value).
* Execution continues from the return address.


Headings

H1 Heading

H2 Heading

H3 Heading

H4 Heading

H5 Heading

H6 Heading

This is the strong tag in a paragraph. This is the em tag in a paragraph, elements such as  and  are inline. Here is an example of the abbreviation tag. You'd use abbr for things like HTML and CSS.

This is an average paragraph. It includes some inline elements such as  and .

This is your average button. You might want to click it.
<button>Submit</button>
This button has consequences. You might want to think twice before clicking.
More buttons for your uses!
<button class="warning">Warning</button>
<button class="danger">Danger</button>
---------------------
<button class="primary">Primary</button>
<button class="secondary">Secondary</button>
<button class="sucess">Success</button>
<button class="info">Info</button>
<button class="light">Light</button>
<button class="dark">Dark</button>
This paragraph contains a couple links to show off their styles in context.
<form>

Text

<input type="text" placeholder="What is your name?"

Email

<input type="email" placeholder="What is your e-mail?"

Password

<input type="password" placeholder="Insert password"

Your comments

<input type="password" placeholder="Your comment"

<a href="#"<TITLE>
<a href="#"<Link 1>
<a href="#"<Link 2>
<a href="#"<Link 3>
<a href="#"<Link 4>

A navbar with elements to the right.

<a href="#"<TITLE>
<a href="#"<Link 1>
<a href="#"<Link 2>
<a href="#"<Link 3>
<a href="#"<Link 4>

Here is a navbar with centered elements.

<a href="#"<TITLE>
<a href="#"<Link 1>
<a href="#"<Link 2>
<a href="#"<Link 3>
<a href="#"<Link 4>

This is a navbar with a Title between the links.

Products

Mission

Title

About

Contact

This is a card.

This is a card.

Components
Frmwrk CSS also includes some slideshow components. To use these include
the JS files at the bottom of the body and use the markup as shown.


Conservative Party posts ‘misleading’ video of Labour’s Jess Phillips
The party has posted an edited video on their @CCHQPress Twitter handle of the Birmingham Yardley parliamentary candidate.
The Conservative Party has been accused of misleading voters again with a video of Labour candidate Jess Phillips.
The edited video, posted by the @CCHQPress Twitter account, shows the parliamentary candidate saying: “You can never, ever deliver all of those things that you are pretending to deliver when you go to the electorate.”
@CCHQPress has dated the video November 21, 2019 — however, the clip has been taken from an old interview, when Ms Phillips appeared on ITV’s Good Morning Britain on October 3 to promote her new book.
The video was reaired this morning during an interview with shadow education secretary Angela Rayner.
During the original interview, Ms Phillips was questioned by Susanna Reid about keeping manifesto promises — before the General Election was announced.
Ms Phillips said: “I think there is an argument to be said that you can never, ever deliver all of those things that you are pretending to deliver when you go to the electorate.
“In reality, things change. Globally things change, situations change. Facts change.
“[We can’t deliver it] in all cases. I can’t control the trade war between America and China and I have to, each and every day, and at the moment it is on a day-by-day basis and it is not good, and I have to say, ‘what is the best thing, the best decision I can make today to make sure my constituents are better off?'”
The video also labels Ms Phillips a “Corbyn ally” – the 37-year-old candidate for Birmingham Yardley has been a vocal critic of the Labour leader in the past, going as far as to say he wasn’t the “practical choice” for leader because people would not vote for him.
Ms Phillips tweeted: “I understand it’s difficult for the Conservatives to understand a politician being honest, but this is so misleading, I was being asked why I’d changed my views on Brexit, weeks ago.
“Also if they would like an up to date chat I’ll happily go on telly with one of them and listen to them tell me which of their manifesto pledges they have honoured….. it’ll be a short interview….because they delivered naff all…off to try and get a GP appointment!”
The edited video has been criticised on Twitter.
One person said: “You know she’s not just talking about Labour right, but all politicians? She’s speaking truth whereas you only pretend to use facts.”
Another added: “Edited and old. Get a grip.”
It’s not the first time the Tories have been accused of misleading the public with a video.
On November 5, they were accused of unfairly editing a video of Labour’s Sir Keir Starmer, to make him appear unable to answer a question on Brexit. However, the party stood by the edit.
The Tories have also purchased the website labourmanifesto.co.uk.
The website purports to showcase Labour’s manifesto but instead actually attacks the party’s policies. It accuses the party of promising “higher taxes” with “no plan for Brexit”.
The Conservatives came under fire for rebranding as a “fact-checking service” during Tuesday night’s televised election debate.
Twitter warned that a repeat of the incident would result in “decisive corrective action”.
Twitter and the Conservative Party did not immediately respond to requests for comment on the video.


{% extends "layout.html" %} {% block page_title %} Pupil premium for 2018 to 2019 {% endblock %} {% block content %} {% include "includes/phase_banner_alpha.html" %} How would you like to view funding allocations? Select a funding type Pupil premium for 2018 to 2019 Pupil premium for 2018 to 2019 Detailed school and local authority level allocations for pupil premium funding in the 2018 to 2019 financial year. Allocations Pupil premium allocations 2018 to 2019: local authority and parliamentary constituency level (ODS, 185KB) Latest Published March 2019 This file is in an OpenDocument format Pupil premium allocations 2018 to 2019: school level (ODS, 4.9MB) Latest Published March 2019 This file is in an OpenDocument format Pupil premium allocations 2018 to 2019: local authority and parliamentary constituency level (ODS, 192KB) Published December 2018 This file is in an OpenDocument format Pupil premium allocations 2018 to 2019: school level (ODS, 4.6MB) Published December 2018 This file is in an OpenDocument format If you need this in a different format, you can request another. Guidance Pupil premium 2018 to 2019: conditions of grant {% endblock %}
Detailed school and local authority level allocations for pupil premium funding in the 2018 to 2019 financial year.
Pupil premium allocations 2018 to 2019: local authority and parliamentary constituency level (ODS, 185KB) Latest Published March 2019 This file is in an OpenDocument format
Pupil premium allocations 2018 to 2019: school level (ODS, 4.9MB) Latest Published March 2019 This file is in an OpenDocument format
Pupil premium allocations 2018 to 2019: local authority and parliamentary constituency level (ODS, 192KB) Published December 2018 This file is in an OpenDocument format
Pupil premium allocations 2018 to 2019: school level (ODS, 4.6MB) Published December 2018 This file is in an OpenDocument format
If you need this in a different format, you can request another.


Custodianship is the process of maintaining a list by a group, institution or individual.
People trust lists with good custodianship.
A large part of custodianship is ensuring the accuracy and completeness of your list by following best practices for publishing.
Custodianship is also the set of processes and tools that govern entries in the list.
For many lists, improving the transparency that surrounds these processes is the simplest and cheapest way to increase trust in their contents.
Transparent custodianship of a list means being clear and open about the following things
Which individual, group or institution is responsible for making sure it remains accurate and complete?
What is the process for adding an entry to the list? Who is involved? Will there be an approval step or can something be added directly?
Reality describing lists are susceptible to frequent external changes. They need a clear ways to recommend changes.
Who pays to maintain a list is often important to understand in order to understand the purpose and governance of the list.


| Owner Code | Lastname | Firstname | Internal Code To | OTP code | OTP Title | Subtitle(project,Stage,other) | Domain | Status | Actions |
|---|---|---|---|---|---|---|---|---|---|
| {{project.pm_code}} | {{project.pm_lastname}} | {{project.pm_firstname}} | {{project.codeto}} | {{project.pname}} | {{project.ne_title}} | {{project.stage}} | {{project.d_domain}} | {{project.status}} | |


Couple 'humiliated' when Aldi made them unpack shopping after querying bill for £40 grill
Daniel and Pamela Murray claim the retail company didn't even apologise
by Kelly Williams, Katie-Ann GupwellA couple claim they have been left "embarrassed and humiliated" after they were forced to empty their shopping bags to prove they hadn't purchased a portable gas grill that they were charged for incorrectly.
Daniel and Pamela Murray visited the Aldi store at Rhyl 's Marina Quay for a few items, but were left bewildered when the bill totaled at over £66.
They later queried the bill, and say the cashier said she had put everything through the scanner that resulted in the total price.
The couple, who are from Rhyl and are in their 60s, then asked for a receipt to be printed.
It was later found out that they'd been charged £39.99 for a portable gas grill that they hadn't even purchased.
Following the incident, a manager was called to attend and they were made to empty their bags in front of a queue of people waiting to be served.
Speaking to North Wales Live , Daniel said: "We'd only popped in for a few things and there was only one till open at the time.
"We loaded our items onto the belt but we got a shock when the cashier told us the bill was £66.
"I said: 'That can't be right, we've only got two carrier bags.'
"I asked her to print a receipt and it was showing £39.99 for a portable gas grill we hadn't even bought.
"The manager and a security guard were called over and we had to unpack all our shopping so they could check the item wasn't there.
"By this time a big queue was forming and we felt so embarrassed and humiliated. We didn't even get an apology."
Daniel went on to explain that, eventually, the £39.99 was deducted from the bill with the total expected only to come in at £26.
He added: "After the incident I decided to write a letter to the store to say I wasn't happy with how the matter had been handled having not been given an apology.
"I also wanted to warn them that maybe something had been coded up wrong, in case this happens to someone else who might not notice being overcharged before it's too late.
"How would people who've left the store prove they hadn't bought it?
"Anyway, I didn't get any response to my letter, nor to a further email that was sent to the Aldi head office.
"We don't want anything, we just don't think it's very good customer service."
The incident is not the first to make the press as the store, which opened in August, has hit the headlines before.
Customers were left with lump sums coming out of their accounts two months after making purchases after a technical glitch led to card payments not taking instantly during the stores first five weeks of trading.
The issue allegedly led some families into financial difficulty.
An Aldi spokesman told North Wales Live: "We have apologised to the family for their experience at the Rhyl store.”


Already registered? Sign In
Not registered? Create an account
Successfully signed in! Thank you for joining us!


Number for parallel processing in the queue
Maximum number of pages to scrape per category
Maximum request to Flipkart affliate server
Generated using TypeDoc
Number for parallel processing in the queue


Students in Rio de Janeiro talk to the Space Station
A multi-point telebridge took place today between students of the American School of Rio de Janeiro, Brazil, and astronaut Chris Cassidy KF5KDR, using OR4ISS callsign, aboard the International Space Station.
Chris Cassidy
SOURCE: NASA
A multi-point telebridge contact means that each student will be on the telebridge from their own home: the students will be talking with the ISS from their homes over phone lines.
This is the audio recorded at my @SATNOGS Ground Station.
- Contact recorded on 30th July 2020 @16:37:38 UTC*


Project Activity
Involved Team
mangers activity
visits
implementation
| date | description | balance |
|---|---|---|
| 16 August Saturday | recharge |
+234$ |
| 14 August thusday | recharge |
-175$ |
| 12 August tuseday | recharge |
-3 920$ |
| 11 August monday | recharge |
+764$ |
client activity
| user | visits | purchases | calls | total profit |
|---|---|---|---|---|
| angelina vitale | 287 | 34 | 52 | 5 946$ |
| edmonia lewis | 159 | 12 | 252 | 1 039$ |
| lawanda anderson | 94 | 3 | 28 | 205$ |
inbox
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 | ||
| mansion tech | new tasks | 11:48 am | ||
| blurpix studio | hi man, how are you? | sep 19 | ||
| Lorem ipsum dolor sit. | sep 17 | |||
| Lorem ipsum dolor sit amet consectetur. | sep 16 | |||
| virtual box | donald markus and his story. | sep 09 | ||
| Apple Wision | Hello, where are you? | Aug 28 | ||
| Max Drone | Boxoffice and paper docs | Aug 27 | ||
| Timeweb | Financial statistic | Aug 22 | ||
| Bill Markel | Client Activity Status | Aug 14 |


--- layout: post title: "How to use Entity Metadata Wrappers with Drupal 7" header-img: "img/post-bg-02.jpg" permalink: /article/how-use-entity-metadata-wrappers-drupal-7/ permalink-disqus: /article/how-use-entity-metadata-wrappers-drupal-7 author: "Sean Hamlin" categories: - tutorial tags: - drupal - drupalplanet - entity - api ---
It has long been a pain point of mine to see pieces of code like this sprinkled over the code base:
$showid = $node->field_seriesid[LANGUAGE_NONE][0]['value']
Not only does this hard code the language into the field value lookup, it also throws PHP warnings when the field has no data (due to the array keys not being set).
One of the projects we are currently working on is fully multilingual, using a combination of i18n (translation using separate nodes for each translation) and entity_translation (translation using one node, with field translation). It became apparent that a better solution was required here.
This wrapping class is provided by the Entity API module, which I would highly recommend you run (more than likely you already are as it is required by some other modules).
// use entity metadata wrappers as they are SMART $wrapper = entity_metadata_wrapper('node', $node); dsm($wrapper->getPropertyInfo());
This will print out a list of all known fields on the node, and you can access properties easily. Once you have the $wrapper object defined you will now be able to use the below advanced syntax for quering values of fields.
To retrieve the raw value from a field you can use the raw() accessor method, this will perform no additional logic other than returning the current value. It is useful for integer fields etc.
Old approach
$showid = $node->field_seriesid[LANGUAGE_NONE][0]['value'];
Entity metadata wrapper approach
$showid = $wrapper->field_seriesid->raw();
To load entities nested within entities you can use the value() accessor method. This comes in very handy for taxonomy terms, users, files etc.
Old approach
// Extract Te Reo level $level = $show->field_te_reo_level; $tid = $level[LANGUAGE_NONE][0]['tid']; $term = taxonomy_term_load($tid); $variables['level'] = $term->name;
Entity metadata wrapper approach
$variables['level'] = $wrapper->field_te_reo_level->value()->name;
What if we needed to loop around a unlimited multi-select list of terms. The code is simple to adapt from above.
Old approach
// add the items from the 'show_features' taxonomy $show_features = array(); $features = $series->field_features; if (is_array($features[LANGUAGE_NONE])) { foreach($features[LANGUAGE_NONE] as $tids) { $tid = $tids['tid']; $term = taxonomy_term_load($tid); $featureList[] = $term->name; } }
Entity metadata wrapper approach
// add the items from the 'show_features' taxonomy $show_features = array(); foreach ($show_wrapper->field_features->value() as $index => $feature) { $show_features[] = $feature->name; }
In this example you really see a glimpse of the power of entity metadata wrappers, here they have automatically loaded the taxonomy term entities that were contained inside the main $node entity, and now we can loop directly around the loaded terms. This saves a lot of code and makes it more readable.
Entity metadata wrappers have native support for accessing the value of language specific fields (e.g. when using field translations),
Entity metadata wrapper approach
global $language; // get the localised title and body (hence the language param) $title = $wrapper->language($language->language)->title_field->raw(); $body = $wrapper->language($language->language)->body->value->value(array('sanitize' => TRUE));
I would reccommend watching fago's Drupalcon Denver talk on entities as it contains a lot of information on this topic.
How have you found entity metadata wrappers? Leave a comment if you have found this article helpful or you have some other useful advice.


If the Vendor is actually a vehicle for the transferring of items (like the Vault and Postmaster vendors), this defines the list of source->destination buckets for transferring.
Describes "actions" that can be performed on a vendor. Currently, none of these exist. But theoretically a Vendor could let you interact with it by performing actions. We'll see what these end up looking like if they ever get used.
If the vendor has a custom localized string describing the "buy" action, that is returned here.
These are the headers for sections of items that the vendor is selling. When you see items organized by category in the header, it is these categories that it is showing.
Well, technically not exactly these. On BNet, it doesn't make sense to have categories be "paged" as we do in Destiny, so we run some heuristics to attempt to aggregate pages of categories together.
These are the categories post-concatenation, if the vendor had concatenation applied. If you want the pre-aggregated category data, use originalCategories.
If TRUE, consolidate categories that only differ by trivial properties (such as having minor differences in name)
Display Categories are different from "categories" in that these are specifically for visual grouping and display of categories in Vendor UI.
The "categories" structure is for validation of the contained items, and can be categorized entirely separately from "Display Categories", there need be and often will be no meaningful relationship between the two.
If the vendor has an item that should be displayed as the "featured" item, this is the hash identifier for that DestinyVendorItemDefinition.
Apparently this is usually a related currency, like a reputation token. But it need not be restricted to that.
Mapped to DestinyInventoryItemDefinition in the manifest.
If a vendor is not enabled, we won't even save the vendor's definition, and we won't return any items or info about them. It's as if they don't exist.
If the Vendor has a faction, this hash will be valid and point to a DestinyFactionDefinition.
The game UI and BNet often mine the faction definition for additional elements and details to place on the screen, such as the faction's Progression status ( aka "Reputation").
Mapped to DestinyFactionDefinition in the manifest.
If an item can't be purchased from the vendor, there may be many "custom"/game state specific reasons why not.
This is a list of localized strings with messages for those custom failures. The live BNet data will return a failureIndexes property for items that can't be purchased: using those values to index into this array, you can show the user the appropriate failure message for the item that can't be bought.
A vendor can be a part of 0 or 1 "groups" at a time: a group being a collection of Vendors related by either location or function/purpose. It's used for our our Companion Vendor UI. Only one of these can be active for a Vendor at a time.
The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.
When entities refer to each other in Destiny content, it is this hash that they are referring to.
Some items don't make sense to return in the API, for example because they represent an action to be performed rather than an item being sold. I'd rather we not do this, but at least in the short term this is a workable workaround.
The index of the entity as it was found in the investment tables.
If this is true, you aren't allowed to buy whatever the vendor is selling.
If this is true, you're not allowed to sell whatever the vendor is buying.
In addition to selling items, vendors can have "interactions": UI where you " talk" with the vendor and they offer you a reward, some item, or merely acknowledge via dialog that you did something cool.
If the vendor shows you items from your own inventory - such as the Vault vendor does - this data describes the UI around showing those inventory buckets and which ones get shown.
If the vendor sells items (or merely has a list of items to show like the "Sack" vendors do), this is the list of those items that the vendor can sell. From this list, only a subset will be available from the vendor at any given time, selected randomly and reset on the vendor's refresh interval.
Note that a vendor can sell the same item multiple ways: for instance, nothing stops a vendor from selling you some specific weapon but using two different currencies, or the same weapon at multiple "item levels".
A vendor can be at different places in the world depending on the game/character/ account state. This is the list of possible locations for the vendor, along with conditions we use to determine which one is currently active.
See the categories property for a description of categories and why originalCategories exists.
If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!
A number used for calculating the frequency of a vendor's inventory resetting/ refreshing.
Don't worry about calculating this - we do it on the server side and send you the next refresh date with the live data.
Again, used for reset/refreshing of inventory. Don't worry too much about it. Unless you want to.
As many of you know, Vendor data has historically been pretty brutal on the BNet servers. In an effort to reduce this workload, only Vendors with this flag set will be returned on Vendor requests. This allows us to filter out Vendors that don't dynamic data that's particularly useful: things like "Preview/Sack" vendors, for example, that you can usually suss out the details for using just the definitions themselves.
Ditto for selling. Not that you can sell items to a vendor anymore. Will it come back? Who knows. The string's still there.
BNet doesn't use this data yet, but it appears to be an optional list of flavor text about services that the Vendor can provide.
If we were able to predict the dates when this Vendor will be visible/available, this will be the list of those date ranges. Sadly, we're not able to predict this very frequently, so this will often be useless data.
If the vendor has a custom banner image, that can be found here.
The internal identifier for the Vendor. A holdover from the old days of Vendors, but we don't have time to refactor it away.
A portrait of the Vendor's smiling mug. Or frothing tentacles.
The identifier of the VendorCategoryDefinition for this vendor's subcategory.
If a vendor is not visible, we still have and will give vendor definition info, but we won't use them for things like Advisors or UI.
These are the definitions for Vendors.
In Destiny, a Vendor can be a lot of things - some things that you wouldn't expect, and some things that you don't even see directly in the game. Vendors are the Dolly Levi of the Destiny universe.
Traditional Vendors as you see in game: people who you come up to and who give you quests, rewards, or who you can buy things from.
Kiosks/Collections, which are really just Vendors that don't charge currency ( or charge some pittance of a currency) and whose gating for purchases revolves more around your character's state.
Previews for rewards or the contents of sacks. These are implemented as Vendors, where you can't actually purchase from them but the items that they have for sale and the categories of sale items reflect the rewards or contents of the sack. This is so that the game could reuse the existing Vendor display UI for rewards and save a bunch of wheel reinvention.
Item Transfer capabilities, like the Vault and Postmaster. Vendors can have " acceptedItem" buckets that determine the source and destination buckets for transfers. When you interact with such a vendor, these buckets are what gets shown in the UI instead of any items that the Vendor would have for sale. Yep, the Vault is a vendor.
It is pretty much guaranteed that they'll be used for even more features in the future. They have come to be seen more as generic categorized containers for items than "vendors" in a traditional sense, for better or worse.
Where possible and time allows, we'll attempt to split those out into their own more digestible derived "Definitions": but often time does not allow that, as you can see from the above ways that vendors are used which we never split off from Vendor Definitions externally.
Since Vendors are so many things to so many parts of the game, the definition is understandably complex. You will want to combine this data with live Vendor information from the API when it is available.


Grave Escape is a comedy horror game that four classmates and I created over a five week period in one of our academic courses. The main game mechanics are centered around your character finding and collecting pumpkins while you are being chased by skeletons that are ragdolling and chasing after the player. I created the main enemy AI, the level design, and worked on the collectables.


Contents:
Listable is a Django package to make the integration of your Django models with Datatables.js easy.
Django-listable was motivated by my repeated need to generate sortable and filterable tables from my Django models for CRUD apps.
The idea is that you should easily be able to go from a model like this:
class Staff(models.Model):
first_name = models.CharField(max_length=255, help_text=_("Enter the name of the staff being rounded"))
last_name = models.CharField(max_length=255, help_text=_("Enter the name of the staff being rounded"))
active = models.CharField(max_length=10, choices = ACTIVE_CHOICES)
position = models.ForeignKey(Position)
department = models.ForeignKey(Department)
limit = models.Q(app_label='staff', model='genericmodela') | models.Q(app_label='staff', model='genericmodelb')
content_type = models.ForeignKey(ContentType, limit_choices_to=limit)
object_id = models.PositiveIntegerField()
generic_object = generic.GenericForeignKey("content_type", "object_id")
to a filterable/orderable table in a template like this with as little code as possible:
There are a couple of other similar projects worth checking out to see if they fit your needs better:
$ pip install django-listable
Listable currently has 4 settings you can configure to be used as default values for your table (they can be overriden in the listable template tag).
LISTABLE_DOM
Default datatables sDOM parameter to use. By default listable uses the Bootstrap 3 dom below.:
# bootstrap 2
# LISTABLE_DOM = '<"row-fluid"<"span6"ir><"span6"p>>rt<"row-fluid"<"span12"lp>>'
#boostrap 3
LISTABLE_DOM = '<"row"<"col-sm-6"i><"col-sm-6"rp>>rt<"row"<"col-sm-12"lp>>'
LISTABLE_PAGINATION_TYPE
# pagination types -> bootstrap2, bootstrap3, two_button, full_numbers
LISTABLE_PAGINATION_TYPE = "full_numbers"
LISTABLE_STATE_SAVE
Enable sticky filters by default.:
LISTABLE_STATE_SAVE = True
LISTABLE_PAGINATE_BY
Default page size.:
LISTABLE_PAGINATE_BY = 10
There’s four steps to using django-listable
These steps will demonstrated below assuming we have a Django application called staff and we want to create a page on our site with a list of staff and the department and business they belong to.
with the following models defined:
class Business(models.Model):
name = models.CharField(max_length=255)
class Department(models.Model):
name = models.CharField(max_length=255)
business = models.ForeignKey(Business)
class Staff(models.Model):
first_name = models.CharField(max_length=255, help_text=_("Enter the name of the staff being rounded"))
last_name = models.CharField(max_length=255, help_text=_("Enter the name of the staff being rounded"))
active = models.CharField(max_length=10, choices = ACTIVE_CHOICES)
department = models.ForeignKey(Department)
def name(self):
return "%s, %s" % (self.last_name, self.first_name)
def status(self):
return self.get_active_display()
A full functional example can be found in the demo app included with django-listable.
To start using django-listable add listable to your INSTALLED_APPS:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'staff',
'listable',
...
)
To define a listable view, sublcass listable.views.BaseListableView and set the model that is to be used as the source of data:
from listable.views import BaseListableView
from models import Staff
class StaffList(BaseListableView):
model = models.Staff
...
Every listable view must define one or more fields to be displayed as columns in the table. listable fields are defined in a manner similar to ModelForms:
class StaffList(BaseListableView):
model = models.Staff
fields = (...)
widgets = {...} # optional
search_fields = {...} # optional
order_fields = {...} # optional
headers = {...} # optional
select_related = (...) # optional
prefetch_related = (...) # optional
order_by = (..) # optional
fields
Fields defines an iterable of the columns that you want to display in the table, these fields can either be fields on your model, foreign key lookups, the name of a callable on your view, the name of a callable on your model or the result of an extra query.
widgets
Widgets is a dictionary mapping a field to a search widget type. Currently you can use either text (default) or select inputs. For example:
from listable.views import BaseListableView, SELECT
from . import models
class StaffList(BaseListableView):
model = models.Staff
fields = ("id", "name", "active", "department__name",)
widgets = {
"department__name": SELECT,
"active": SELECT,
}
The choices available in a select widget are currently automatically populated although this will change to allow manual configuration of choices in the future. The choices are populated based on either the choices option for a model field or in the case of a foreign key all the values of the foreign key lookup. (I hope to make this more flexible in the future)
search_fields (optional)
Search fields are a mapping of field names to the django filter syntax that should be used for searching the table. This can either be a string, an iterable of strings or a falsy value to disable searching on that field. For example:
search_fields = {
"name": ("first_name__icontains", "last_name__icontains",),
"last_name": "last_name__exact",
"genericname": "genericname__icontains",
"department__name": False,
}
if a field is not declared in search_field’s it a filter using icontains is assumed.
order_fields (optional)
Order fields allows you to define how a column should be ordered (similar to Django’s ordering or order_by). For example:
order_fields = {
"name": ("last_name", "first_name",),
}
headers (optional)
Headers is a mapping of field names to the column name to be displayed. For example by default a field name of department__business__name would be converted to “Department Business Name” but that could be overriden like so:
headers = {
"department__business__name": _("Business"),
}
select_related
Allows you to use Django’s queryset select_related option for reducing database queries. e.g:
select_related = ("department", "position", "department__business",)
prefetch_related
Allows you to use Django’s queryset prefetch_related option for reducing database queries. e.g:
prefetch_related = ("some_fk__some_field",)
get_extra
Due to a bug with pagination, using an extra query will result in your entire table being loaded into memory before being paginated :(
You may define a callable get_extra method on your view that should return a dictionary suitable for use in the Django queryset’s extra method. For example:
def get_extra(self):
return {select: {'is_recent': "pub_date > '2006-01-01'"}}
A more complex example is given in the “Complete Example” sample below.
order_by
Allows you to set the default ordering for a view:
order_by = ("position", "name",,)
The order in which listable tries to find a method for formatting a field for display is as follows:
A method on the actual view:
class StaffList(BaseListableView):
model = models.Staff
fields = (..., "name",...)
def name(self, staff):
return staff.name()
A get_{field}_display callable on the model.
A callable on the model:
class Staff(Model):
...
def staff_name(self):
return "{0} {1}".format(self.first_name, self.last_name)
class StaffList(BaseListableView):
model = models.Staff
fields = (..., "staff_name",...)
A field on the model.
A listable column is defined using the listable.views.Column data structure. A Column is essentially a namedtuple with the following fields (detailed descriptions below):
To include listable in your templates you need to load the listable template tags and include the listable_css, a placeholder for the listable table and the listable tag which tells the template the name of the view to wire the table to.:
{% extends 'base.html' %}
{% load listable %}
{% block extra_css %}
{% listable_css %}
{% endblock extra_css %}
{% block content %}
{{listable_table}}
{% endblock %}
{% block extra_js %}
{% listable 'staff-list'%}
{% endblock extra_js %}
with the example above requiring a url something like:
urlpatterns = patterns('',
url('staff-list/$', views.StaffList.as_view(), name="staff-list"),
)
The listable tag currently has 1 required argument and five optional keyword args. A full example of the listable template tag looks like:
{% listable 'staff-list' dom="", save_state=False, pagination_type="", css_table_class="", css_input_class="" %}
dom
Overrides the default Datatables sDOM parameter to use.
{% listable 'staff-list' dom='<"row-fluid"<"span6"ir><"span6"p>>rt<"row-fluid"<"span12"lp>>' %}
pagination_type
Overrides the default Datatables sDOM parameter to use.
{% listable 'staff-list' pagination_type='bootstrap3' %}
save_state
Save state enables/disables sticky filters in DataTables.:
{% listable 'staff-list' save_state=False %}
css_table_class
Add a css class to your datatables table e.g.:
{% listable 'staff-list' css_table_class="striped compact" %}
css_input_class
Add a css class to the datatables column filter inputs e.g.:
{% listable 'staff-list' css_table_class="input-sm" %}
This is a complete example of a django-listable table. It is included as a demo app under the django-listable/listable-demo/
ACTIVE = 'active'
INACTIVE = 'inactive'
TERMINATED = 'terminated'
ACTIVE_CHOICES = (
(ACTIVE, "Active"),
(INACTIVE, "Inactive"),
(TERMINATED, "Terminated"),
)
ACTIVE_CHOICES_DISPLAY = dict(ACTIVE_CHOICES)
class Business(models.Model):
name = models.CharField(max_length=255)
business_type = models.IntegerField(choices=zip(range(5), range(5)), default=1)
class Meta:
verbose_name_plural = "Businesses"
def __unicode__(self):
return self.name
class Department(models.Model):
name = models.CharField(max_length=255)
business = models.ForeignKey(Business)
def __unicode__(self):
return self.name
class Position(models.Model):
name = models.CharField(max_length=255)
def __unicode__(self):
return self.name
class AbstractGeneric(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
staff = generic.GenericRelation(
"Staff",
content_type_field="content_type",
object_id_field="object_id",
)
class Meta:
abstract = True
class GenericModelA(AbstractGeneric):
class Meta:
verbose_name_plural = "Generic Model A's"
def __unicode__(self):
return self.name
class GenericModelB(AbstractGeneric):
class Meta:
verbose_name_plural = "Generic Model B's"
def __unicode__(self):
return self.name
class Staff(models.Model):
first_name = models.CharField(max_length=255, help_text=_("Enter the name of the staff being rounded"))
last_name = models.CharField(max_length=255, help_text=_("Enter the name of the staff being rounded"))
active = models.CharField(max_length=10, choices=ACTIVE_CHOICES)
position = models.ForeignKey(Position)
department = models.ForeignKey(Department)
limit = models.Q(app_label='staff', model='genericmodela') | models.Q(app_label='staff', model='genericmodelb')
content_type = models.ForeignKey(ContentType, limit_choices_to=limit)
object_id = models.PositiveIntegerField()
generic_object = generic.GenericForeignKey("content_type", "object_id")
class Meta:
verbose_name_plural = "staff"
ordering = ("last_name", "first_name",)
def name(self):
return "%s, %s" % (self.last_name, self.first_name)
def status(self):
return ACTIVE_CHOICES_DISPLAY[self.active]
def __unicode__(self):
return self.name()
class StaffList(BaseListableView):
model = models.Staff
fields = (
"id",
"name",
"active",
"department__name",
"position__name",
"department__business__name",
"department__business__business_type",
"genericname",
)
widgets = {
"department__business__name": SELECT,
"department__business__business_type": SELECT,
"position__name": SELECT,
"choices": SELECT,
"active": SELECT,
}
search_fields = {
"name": ("first_name__icontains", "last_name__icontains",),
"last_name": "last_name__exact",
"genericname": "genericname__icontains",
"department__name": "department__name__icontains",
}
order_fields = {
"name": ("last_name", "first_name",),
}
headers = {
"position__name": _("Position"),
"department__business__name": _("Business"),
"department__business__business_type": _("Business Type"),
}
select_related = ("department", "position", "department__business",)
def generic(self, obj):
return obj.generic_object.name
def name(self, staff):
return staff.name()
def get_extra(self):
cta = ContentType.objects.get_for_model(models.GenericModelA)
ctb = ContentType.objects.get_for_model(models.GenericModelB)
extraq = """
CASE
WHEN content_type_id = {0}
THEN (SELECT name from staff_genericmodela WHERE object_id = staff_genericmodela.id)
WHEN content_type_id = {1}
THEN (SELECT name from staff_genericmodelb WHERE object_id = staff_genericmodelb.id)
END
""".format(cta.pk, ctb.pk)
return {"select": {'genericname': extraq}}
{% extends 'base.html' %}
{% load listable %}
{% block extra_css %}
{% listable_css %}
{% endblock extra_css %}
{% block content %}
{{listable_table}}
{% endblock %}
{% block extra_js %}
{% listable 'staff-list' save_state=True %}
{% endblock extra_js %}


This site was created for owners of the boardgame to play this wonderful game online.
I have once again moved the database to a new provider. Hopefully this works better
| # | Created | Name | Type | Number of players | Players | Action |
|---|---|---|---|---|---|---|
| {{$index+1}} | {{game.created | date}} | {{game.name}} | {{game.type }} | {{game.numOfPlayers}} |
{{player.username}} |
Join |
| {{gameListCtrl.getFinishedGamesIndex(game)+1}} | {{game.created | date}} | {{game.name}} | {{game.type}} | {{game.numOfPlayers}} |
{{player.username}} |


-
{% for ev in events %}
-
{{ ev.name }}
{{ ev.location.name }}, {{ ev.location.street }}, {{ ev.location.town }}, {{ ev.location.country }}
{{ ev.start_date.strftime('%B %d, %Y %l:%M%p') }} to {{ ev.end_date.strftime('%B %d, %Y %l:%M%p') }}
Register for this Game Jam
{% endfor %}
We currently have no Game Jams planned
Keep an eye on the Game On blog for further announcements, or equally you can try and organise your own jam!
{% endif %}


Optionable feature. Subscribe in Settings, if you want to acquire the habit of regular journaling. By default we send out email reminders at 6pm UTC.
Turn your diary in a beautiful calendar with ability to attach a picture to every entry. Images and photos will help you to keep your memories fresh and vivid.
Keep track of your journaling via Stats Page. Here you can find information about your writing in figures, estimate regularity, and find out what is important for you with help of 'Most Frequent Words'.
Find specific days of yours with ability to search through all of your entries. Search for names of your relatives to discover precious memories about time spent with them.


{% extends "registration/base_user.html" %} {% block title %}Account activiation successful{% endblock %} {% block content_header %}Your account has been activated{% endblock %} {% block content %}
Welcome to django snippets! Now you can start sharing snippets, bookmark your favorites, and comment on other users' snippets.
{% endblock %}


To tell you a bit about myself, I'm 17, at college, and don't have much to worry about in life as of yet. This experience was about a month ago, when me and my friend, who we'll call Johnson, discovered salvia experiences on the internet.  I've had the usuals; tobacco, alcohol and am a frequent smoker of pot, I love the effects of MJ.
Back to the point, I wanted to make sure I knew what I was getting myself into, so i read the experiences. From what I had seen on the internet, I was ready for a fully involving, 3-dimensional dream, and because it was legal believed that I had nothing to worry about. I hadn't seen a bad experience. I smoke cannabis, that's illegal, how bad can this be?
I sleep at Johnson's house, and I'm very excited to try it now, so the next day we go to our local smoke shop and they have three types of salvia, 5x, 10x, and 15x. I'm saying 'Let's get the 15x!' Johnson replies 'No, we don't have a clue what to expect yet.'. I just wanted to make sure this legal smoke did something.  We settle on the 10x. Later on in the day, we both go to mine.
We waited for my parents to get to sleep, and then we decided to go for it. My mindset at this time is 'Give me some Salvia! I wanna go to dreamworld!'. Needless to say, i was in a very good state of mind, but unaware of what the true effects would be like.
Johnson decides to go first, so he lights up the pipe for his first hit, holds it in for 30 seconds, then blows it out. As he does this, I see the extract is still burning so I grab the pipe and smoke the small amount thats left, only a miniscule amount. I ask him how he feels, 'Doesn't do anything!' is the impatient reply. We put more in the pipe for his second hit, he smokes it, and again, there's extract still burning, so I smoke the remains while he exhales. I wait with anticipation for his reaction. He still doesn't feel anything and we wonder if we've been conned. I turn the lights on to put an even larger amount in, and everything seems to have a blue tinge to it, I believe I was on level 1.
Third time, he smokes it all. Nothing again. Getting impatient now and really want to test it for myself, I'm so excited to feel the effects I believe I will get. We still play it safe and use the same amount, but this time... WHAM! It hits him while the smoke is still in his lungs. I could immediatly tell it had hit him, his facial expression just changed to 'out of it'. 'Exhale!' I remind him. He forgot he had it in his damn lungs! I ask him what's going on and he talks about being on a hill with me at the bottom. 'C'mon Jim, come up the hill with me!' Oh man! This is gonna be great!
I keep the lights off and look at Johnson for a minute, it was as if his mind was elsewhere, so I load up the pipe for my hit, I can't wait to get to this 'other reality'at this point, it sounds amazing! I step up to the window in my room, light the pipe, and smoke as if having a bong hit.  I get to 25, then it hits me hard. 'Whoa... what's going on...' I feel like I'm extremely stoned, but only for about 10 seconds. In this time, i turn to Johnson on the bed 'Hey! Something's happening! ............What the hell?!?' MMMMMMMMMMMFFFFFFFFFFF!!!!!!!!!
I am immediatly transported to another reality. I hear voices, spirits, even though hear is not the correct word, because I no longer have ears, or a body for that matter. I am well and truly, completely, out of it. This does not compare to anything. I don't know who I am or where I am. I have lost all my senses, yet I'm still there, and I know I'm there, but now there is a whole new depth to everything, that cannot be sensed when inside the body, as if we do not have the sense to pick this information up. I believe I was dead. I had lost my senses and gained the feeling of what it was to leave the body.
I could hear these mystical spirits now, they were mainly above my window and at my door as this was happening. They were angry because I had opened up a void I was not supposed to know about as of yet, and opening this void was going to be the end of everything, the universe, unless it was corrected. The wall, the floor, everything, seemed to contain these as I can only describe as 'after-life' beings. This was more real than reality itself, and I am certain however crazy I sound that the universe as we know it would have all gone through the void if it was not corrected.
The correction of the void was done in an extremely complicated manner, it is impossible to accurately explain how they did it, because it was way too complicted, this reality had so much depth, but I'll give it a shot. They were replacing fragments of reality where the void was, and the main reason the void opened was because I was not in my body when I was supposed to be. My actions had led to the slight change of how everything was meant to run in the future. Me leaving my body was not supposed to happen and would have a slight change on how the world was to run, and this was, put simply, not meant to be, but had somehow happened, so the mistake had to be corrected.
The spirits managed to guide me to my body.  I was brought into the spirit world and had no idea how to control myself. I was at the window out of my body 'level 1', collapsed onto the bed 'level 2', rolled over my friend 'level 3', three more rolls 'levels 3, 4, and 5'. I was almost inside my body, i could feel it. I was going to roll again, 'NO!' was the immeditate sensation i got from the 1000s of spirits, angels, whatever they were, in my room. They were definitely there, no doubt. I was guided into the correct position that my body was in, and was back inside.
 I held onto my bed for dear life. I thought I would be this way forever. By this point I knew I had smoked salvia, but the effects seemed like they would never end. After what could've been between 1 minute - 1 week for all I knew, the grip got weaker and I returned to my regular state.
Johnson was tripping at this time, so couldn't act like much of a sitter. During the process of being pulled to hell, I heard him say 'This is well good, isn't it?' I now realised he was in the room and also believed he was having the same experience, and could not believe he was enjoying fighting for his life.
I later learnt that Johnson could see me even though he was tripping. He said that I told him something was happening, then collapsed onto the bed, having muscle spasms and getting myself into a strange bodily position. I was not in my body when all of this was happening. I left my body when it collapsed, and ended up nexto the window. To get back into my body I collapsed onto the side of the bed nearest to the window and rolled to the other side where it was. The spirits helped guide me into the position I was supposed to be in to re-enter my body. This 'out of body experience' part was where most of the crazy stuff happened.
I believe that what happened was as real if not moreso than reality as we know it. It was easily the weirdest and most terrifying experience of my life, but also the most fascinating, and so I have no regrets. Johnson enjoyed his trip and said his experience was like a dream, but more real. This was absolutely nothing like mine, I must have a small tolerance for salvia.
I warn you that it is possible to misuse a substance you believe you know plenty about. Be very careful how you use drugs, treat them with respect no matter how soft you belive they are. I've now heard it may be scheduled in America, how I wish I knew this before I abused it.
Sweet dreams!
Jim
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Brought to you by Curtis Parfitt-Ford. Inspired by the great work of the Government Digital Service team.


--- layout: page title: About header-img: "img/about-bg.png" ---
My name is Morgan Osborne. I am an aspiring Full Stack Developer currently studying Software Engineering at Arizona State University and doing the Learn program through The Flatiron School. Over the past couple of years, coding has become my passion and I am so grateful that I have the opportunity to dive deep and learn so much about it!


New code
Repeat
Configuration
Set superuser code
Set admin code
Select an output module to configure it.


Include it in your AngularJS application
var myApp = angular.module( 'myApp', [ 'ngFitText' ] );
Apply it to your text

FitText

There are also additional attributes which can be used.
Specifying a value for data-fittext allows you to fine tune the text size. The default is 1. Increasing this number (ie 1.5) will resize the text more aggressively. Decreasing this number (ie 0.5) will reduce the aggressiveness of resize. data-fittext-min and data-fittext-max allow you to set upper and lower limits.

ngFitText

The element needs to either be a block element or an inline-block element with a width specified (% or px).


ERROR 404
HEY, LISTEN!
This page wasn't found or you shouldn't be here!
Press me to return to the home page


6,000 notices issued for harbouring mosquito breeding sites
Minister of Health and Wellness, Dr Christopher Tufton, says some 6,000 notices have been served on persons for failing to destroy mosquito breeding sites on their properties.
Tufton made the disclosure during a press briefing held at the Ministry’s New Kingston’s offices on Thursday.
“We have stepped up where moral suasion has not worked. The law does allow us under the Public Health Act to work with the authorities to prosecute persons who are harbouring breeding sites in and around their homes,” Tufton said.
He informed that the act does allow for persons to be prosecuted and charged up to $1 million for not destroying the breeding sites that are contributing to the dengue challenge.
“If we have to use the law, we will use the law. Ideally, we would like persons to recognise that it is in their self-interest to act, but, nevertheless, we have to do what is necessary to protect others if those individuals are creating the nuisance,” Tufton said.
The Aedes aegypti mosquito is responsible for the spread of the dengue, Zika and chikungunya viruses.
Persons are advised to discard items that can accumulate water such as old drums, used tyres, and plastic containers, wear long-sleeved shirts and pants outdoors and regularly change the water in animal and pet containers.
Meanwhile, Chief Medical Officer in the Ministry, Dr Jacquiline Bisasor-McKenzie, informed that as at November 21, the National Surveillance Unit had more than 13,000 notifications for dengue in its database, received since January 1, 2018.
Of the more than 13,000 notifications for the period, 7,856 cases have been classified as suspected, presumed or confirmed.
In addition, Between January 1, 2018, and November 21 this year, there have been 63 dengue-related deaths.


| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
DATE_UPDATED |
"22.01.2018" |
public static final int |
VERSION_BUILD |
0 |
public static final int |
VERSION_MAJOR |
0 |
public static final int |
VERSION_MINOR |
5 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
SCENE_ID |
0 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
A |
65 |
public static final int |
ALT_GR |
65406 |
public static final int |
ALT_LEFT |
18 |
public static final int |
B |
66 |
public static final int |
C |
67 |
public static final int |
CAPS_LOCK |
20 |
public static final int |
CTRL_LEFT |
17 |
public static final int |
D |
68 |
public static final int |
DELETE |
127 |
public static final int |
DOWN |
40 |
public static final int |
E |
69 |
public static final int |
ENTER |
10 |
public static final int |
ESC |
27 |
public static final int |
F |
70 |
public static final int |
F1 |
112 |
public static final int |
F10 |
121 |
public static final int |
F11 |
122 |
public static final int |
F12 |
123 |
public static final int |
F2 |
113 |
public static final int |
F3 |
114 |
public static final int |
F4 |
115 |
public static final int |
F5 |
116 |
public static final int |
F6 |
117 |
public static final int |
F7 |
118 |
public static final int |
F8 |
119 |
public static final int |
F9 |
120 |
public static final int |
G |
71 |
public static final int |
H |
72 |
public static final int |
I |
73 |
public static final int |
J |
74 |
public static final int |
K |
75 |
public static final int |
KEYPAD0 |
96 |
public static final int |
KEYPAD1 |
97 |
public static final int |
KEYPAD2 |
98 |
public static final int |
KEYPAD3 |
99 |
public static final int |
KEYPAD4 |
100 |
public static final int |
KEYPAD5 |
101 |
public static final int |
KEYPAD6 |
102 |
public static final int |
KEYPAD7 |
103 |
public static final int |
KEYPAD8 |
104 |
public static final int |
KEYPAD9 |
105 |
public static final int |
L |
76 |
public static final int |
LEFT |
37 |
public static final int |
M |
77 |
public static final int |
N |
78 |
public static final int |
NO0 |
48 |
public static final int |
NO1 |
49 |
public static final int |
NO2 |
50 |
public static final int |
NO3 |
51 |
public static final int |
NO4 |
52 |
public static final int |
NO5 |
53 |
public static final int |
NO6 |
54 |
public static final int |
NO7 |
55 |
public static final int |
NO8 |
56 |
public static final int |
NO9 |
57 |
public static final int |
O |
79 |
public static final int |
P |
80 |
public static final int |
Q |
81 |
public static final int |
R |
82 |
public static final int |
RIGHT |
39 |
public static final int |
S |
83 |
public static final int |
SHIFT_LEFT |
16 |
public static final int |
SPACE |
32 |
public static final int |
T |
84 |
public static final int |
TAB |
9 |
public static final int |
U |
85 |
public static final int |
UP |
38 |
public static final int |
V |
86 |
public static final int |
W |
87 |
public static final int |
WINDOWS_LEFt |
524 |
public static final int |
X |
88 |
public static final int |
Y |
89 |
public static final int |
Z |
90 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
LEFT |
1 |
public static final int |
MIDDLE |
2 |
public static final int |
RIGHT |
3 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
QUALITY_DEFAULT |
0 |
public static final int |
QUALITY_HIGH |
3 |
public static final int |
QUALITY_LOW |
1 |
public static final int |
QUALITY_MEDIUM |
2 |


Open the console log (Ctrl+Shift+k in Firefox) to see outputs from this test harness
This tests the core SOS objects from the SOS.js module, via a number of user-defined callbacks. It requests the latest data from the HalleyMet offering, for all observed properties, and dumps lots of output to the console log. It is these core SOS objects that underpin the user interface components, such as SOS.Plot etc.