|
Panda3D
|
GeoMipTerrain, meaning Panda3D GeoMipMapping, can convert a heightfield image into a 3D terrain, consisting of several GeomNodes. More...
Public Types | |
| enum | AutoFlattenMode { AFM_off = 0, AFM_light = 1, AFM_medium = 2, AFM_strong = 3 } |
Public Member Functions | |
| __init__ (str name) | |
| calcAmbientOcclusion (float radius, float contrast, float brightness) | |
| Calculates an approximate for the ambient occlusion and stores it in the color map, so that it will be written to the vertex colors. More... | |
| clearColorMap () | |
| Clears the color map. More... | |
| PNMImage | colorMap () |
| Returns a reference to the color map (a PNMImage) contained inside GeoMipTerrain. More... | |
| generate () | |
| (Re)generates the entire terrain, erasing the current. More... | |
| LVecBase2 | getBlockFromPos (double x, double y) |
| Gets the coordinates of the block at the specified position. More... | |
| const NodePath | getBlockNodePath (unsigned short int mx, unsigned short int my) |
| Returns the NodePath of the specified block. More... | |
| unsigned short int | getBlockSize () |
| Gets the block size. More... | |
| bool | getBorderStitching () |
| Returns the current stitching setting. More... | |
| bool | getBruteforce () |
| Returns a boolean whether the terrain is rendered bruteforce or not. More... | |
| double | getElevation (double x, double y) |
| Fetches the elevation at (x, y), where the input coordinate is specified in pixels. More... | |
| double | getFar () |
| Returns the far LOD distance in the terrain coordinate space. More... | |
| int | getFlattenMode () |
| Returns the automatic-flatten mode (e.g., off, flatten_light, flatten_medium, or flatten_strong) More... | |
| NodePath | getFocalPoint () |
| Returns the focal point, as a NodePath. More... | |
| unsigned short int | getMaxLevel () |
| Returns the highest level possible for this block size. More... | |
| unsigned short int | getMinLevel () |
| Gets the minimum level of detail at which blocks may be generated by generate() or update(). More... | |
| double | getNear () |
| Returns the near LOD distance in the terrain coordinate space. More... | |
| LVector3 | getNormal (int x, int y) |
| Fetches the terrain normal at (x, y), where the input coordinate is specified in pixels. More... | |
| LVector3 | getNormal (unsigned short int mx, unsigned short int my, int x, int y) |
| Fetches the terrain normal at (x,y), where the input coordinate is specified in pixels. More... | |
| NodePath | getRoot () |
| Returns the root of the terrain. More... | |
| bool | hasColorMap () |
| Returns whether a color map has been set. More... | |
| PNMImage | heightfield () |
| Returns a reference to the heightfield (a PNMImage) contained inside GeoMipTerrain. More... | |
| bool | isDirty () |
| Returns a bool indicating whether the terrain is marked 'dirty', that means the terrain has to be regenerated on the next update() call, because for instance the heightfield has changed. More... | |
| PNMImage | makeSlopeImage () |
| Returns a new grayscale image containing the slope angles. More... | |
| setAutoFlatten (int mode) | |
| The terrain can be automatically flattened (using flatten_light, flatten_medium, or flatten_strong) after each update. More... | |
| setBlockSize (unsigned short int newbs) | |
| Sets the block size. More... | |
| setBorderStitching (bool stitching) | |
| If this value is true, the LOD level at the borders of the terrain will be 0. More... | |
| setBruteforce (bool bf) | |
| Sets a boolean specifying whether the terrain will be rendered bruteforce. More... | |
| bool | setColorMap (const Filename filename, PNMFileType type) |
| Loads the specified image as color map. More... | |
| bool | setColorMap (const PNMImage image) |
| bool | setColorMap (const Texture image) |
| bool | setColorMap (str path) |
| setFactor (float factor) | |
| DEPRECATED method. More... | |
| setFar (double input_far) | |
| Sets the far LOD distance, at which the terrain will be rendered at lowest quality. More... | |
| setFocalPoint (const LPoint2d fp) | |
| setFocalPoint (const LPoint2f fp) | |
| setFocalPoint (const LPoint3d fp) | |
| setFocalPoint (const LPoint3f fp) | |
| setFocalPoint (double x, double y) | |
| Sets the focal point. More... | |
| setFocalPoint (NodePath fnp) | |
| bool | setHeightfield (const Filename filename, PNMFileType type) |
| Loads the specified heightmap image file into the heightfield. More... | |
| bool | setHeightfield (const PNMImage image) |
| Loads the specified heightmap image file into the heightfield. More... | |
| setMinLevel (unsigned short int minlevel) | |
| Sets the minimum level of detail at which blocks may be generated by generate() or update(). More... | |
| setNear (double input_near) | |
| Sets the near LOD distance, at which the terrain will be rendered at highest quality. More... | |
| setNearFar (double input_near, double input_far) | |
| Sets the near and far LOD distances in one call. More... | |
| bool | update () |
| Loops through all of the terrain blocks, and checks whether they need to be updated. More... | |
| Public Member Functions inherited from TypedObject | |
| TypeHandle | getType () |
| int | getTypeIndex () |
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
| bool | isExactType (TypeHandle handle) |
| Returns true if the current object is the indicated type exactly. More... | |
| bool | isOfType (TypeHandle handle) |
| Returns true if the current object is or derives from the indicated type. More... | |
Static Public Member Functions | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedObject | |
| static TypeHandle | getClassType () |
Additional Inherited Members | |
| Public Attributes inherited from TypedObject | |
| TypeHandle | type |
| Returns the TypeHandle representing this object's type. More... | |
GeoMipTerrain, meaning Panda3D GeoMipMapping, can convert a heightfield image into a 3D terrain, consisting of several GeomNodes.
It uses the GeoMipMapping algorithm, or Geometrical MipMapping, based on the LOD (Level of Detail) algorithm. For more information about the GeoMipMapping algoritm, see this paper, written by Willem H. de Boer: https://flipcode.com/articles/article_geomipmaps.pdf
| enum AutoFlattenMode |
| __init__ | ( | str | name | ) |
| calcAmbientOcclusion | ( | float | radius, |
| float | contrast, | ||
| float | brightness | ||
| ) |
Calculates an approximate for the ambient occlusion and stores it in the color map, so that it will be written to the vertex colors.
Any existing color map will be discarded. You need to call this before generating the geometry.
| clearColorMap | ( | ) |
Clears the color map.
| PNMImage colorMap | ( | ) |
Returns a reference to the color map (a PNMImage) contained inside GeoMipTerrain.
You can use the reference to alter the color map.
| generate | ( | ) |
(Re)generates the entire terrain, erasing the current.
This call un- flattens the terrain, so make sure you have set auto-flatten if you want to keep your terrain flattened.
| LVecBase2 getBlockFromPos | ( | double | x, |
| double | y | ||
| ) |
Gets the coordinates of the block at the specified position.
This position must be relative to the terrain, not to render. Returns an array containing two values: the block x and the block y coords. If the positions are out of range, the closest block is taken. Note that the VecBase returned does not represent a vector, position, or rotation, but it contains the block index of the block which you can use in GeoMipTerrain::get_block_node_path.
| const NodePath getBlockNodePath | ( | unsigned short int | mx, |
| unsigned short int | my | ||
| ) |
Returns the NodePath of the specified block.
If auto-flatten is enabled and the node is getting removed during the flattening process, it will still return a NodePath with the appropriate terrain chunk, but it will be in a temporary scenegraph. Please note that this returns a const object and you can not modify the node. Modify the heightfield instead.
| unsigned short int getBlockSize | ( | ) |
Gets the block size.
| bool getBorderStitching | ( | ) |
Returns the current stitching setting.
False by default, unless set_stitching has been set.
| bool getBruteforce | ( | ) |
Returns a boolean whether the terrain is rendered bruteforce or not.
See set_bruteforce for more information.
|
static |
| double getElevation | ( | double | x, |
| double | y | ||
| ) |
Fetches the elevation at (x, y), where the input coordinate is specified in pixels.
This ignores the current LOD level and instead provides an accurate number. Linear blending is used for non-integral coordinates. Terrain scale is NOT taken into account! To get accurate normals, please multiply this with the terrain Z scale!
trueElev = terr.get_elevation(x,y) * terr.get_sz();
| double getFar | ( | ) |
Returns the far LOD distance in the terrain coordinate space.
| int getFlattenMode | ( | ) |
Returns the automatic-flatten mode (e.g., off, flatten_light, flatten_medium, or flatten_strong)
| NodePath getFocalPoint | ( | ) |
Returns the focal point, as a NodePath.
If you have set it to be just a point, it will return an empty node at the focal position.
| unsigned short int getMaxLevel | ( | ) |
Returns the highest level possible for this block size.
When a block is at this level, it will be the worst quality possible.
| unsigned short int getMinLevel | ( | ) |
Gets the minimum level of detail at which blocks may be generated by generate() or update().
The default value is 0, which is the highest quality.
| double getNear | ( | ) |
Returns the near LOD distance in the terrain coordinate space.
| LVector3 getNormal | ( | int | x, |
| int | y | ||
| ) |
Fetches the terrain normal at (x, y), where the input coordinate is specified in pixels.
This ignores the current LOD level and instead provides an accurate number. Terrain scale is NOT taken into account! To get accurate normals, please divide it by the terrain scale and normalize it again, like this:
LVector3 normal (terr.get_normal(x, y)); normal.set(normal.get_x() / root.get_sx(), normal.get_y() / root.get_sy(), normal.get_z() / root.get_sz()); normal.normalize();
| LVector3 getNormal | ( | unsigned short int | mx, |
| unsigned short int | my, | ||
| int | x, | ||
| int | y | ||
| ) |
Fetches the terrain normal at (x,y), where the input coordinate is specified in pixels.
This ignores the current LOD level and instead provides an accurate number. Terrain scale is NOT taken into account! To get accurate normals, please divide it by the terrain scale and normalize it again!
| NodePath getRoot | ( | ) |
Returns the root of the terrain.
This is a single PandaNode to which all the rest of the terrain is parented. The generate and update operations replace the nodes which are parented to this root, but they don't replace this root itself.
| bool hasColorMap | ( | ) |
Returns whether a color map has been set.
| PNMImage heightfield | ( | ) |
Returns a reference to the heightfield (a PNMImage) contained inside GeoMipTerrain.
You can use the reference to alter the heightfield.
| bool isDirty | ( | ) |
Returns a bool indicating whether the terrain is marked 'dirty', that means the terrain has to be regenerated on the next update() call, because for instance the heightfield has changed.
Once the terrain has been regenerated, the dirty flag automatically gets reset internally.
| PNMImage makeSlopeImage | ( | ) |
Returns a new grayscale image containing the slope angles.
A white pixel value means a vertical slope, while a black pixel will mean that the terrain is entirely flat at that pixel. You can translate it to degrees by mapping the greyscale values from 0 to 90 degrees. The resulting image will have the same size as the heightfield image. The scale will be taken into respect – meaning, if you change the terrain scale, the slope image will need to be regenerated in order to be correct.
| setAutoFlatten | ( | int | mode | ) |
The terrain can be automatically flattened (using flatten_light, flatten_medium, or flatten_strong) after each update.
This only affects future updates, it doesn't flatten the current terrain.
| setBlockSize | ( | unsigned short int | newbs | ) |
Sets the block size.
If it is not a power of two, the closest power of two is used.
| setBorderStitching | ( | bool | stitching | ) |
If this value is true, the LOD level at the borders of the terrain will be 0.
This is useful if you have multiple terrains attached and you want to stitch them together, to fix seams. This setting also has effect when bruteforce is enabled, although in that case you are probably better off with setting the minlevels to the same value.
| setBruteforce | ( | bool | bf | ) |
Sets a boolean specifying whether the terrain will be rendered bruteforce.
If the terrain is rendered bruteforce, there will be no Level of Detail, and the update() call will only update the terrain if it is marked dirty.
| bool setColorMap | ( | const Filename | filename, |
| PNMFileType | type | ||
| ) |
Loads the specified image as color map.
The next time generate() is called, the terrain is painted with this color map using the vertex color column. Returns a boolean indicating whether the operation has succeeded.
| bool setColorMap | ( | const PNMImage | image | ) |
| bool setColorMap | ( | const Texture | image | ) |
| bool setColorMap | ( | str | path | ) |
| setFactor | ( | float | factor | ) |
DEPRECATED method.
Use set_near/far instead. Sets the quality factor at which blocks must be generated. The higher this level, the better quality the terrain will be, but more expensive to render. A value of 0 makes the terrain the lowest quality possible, depending on blocksize. The default value is 100.
| setFar | ( | double | input_far | ) |
Sets the far LOD distance, at which the terrain will be rendered at lowest quality.
This distance is in the terrain's coordinate space!
| setFocalPoint | ( | const LPoint2d | fp | ) |
| setFocalPoint | ( | const LPoint2f | fp | ) |
| setFocalPoint | ( | const LPoint3d | fp | ) |
| setFocalPoint | ( | const LPoint3f | fp | ) |
| setFocalPoint | ( | double | x, |
| double | y | ||
| ) |
Sets the focal point.
GeoMipTerrain generates high-resolution terrain around the focal point, and progressively lower and lower resolution terrain as you get farther away. If a point is supplied and not a NodePath, make sure it's relative to the terrain. Only the x and y coordinates of the focal point are taken in respect.
| setFocalPoint | ( | NodePath | fnp | ) |
| bool setHeightfield | ( | const Filename | filename, |
| PNMFileType | type | ||
| ) |
Loads the specified heightmap image file into the heightfield.
Returns true if succeeded, or false if an error has occured. If the heightmap is not a power of two plus one, it is scaled up using a gaussian filter.
| bool setHeightfield | ( | const PNMImage | image | ) |
Loads the specified heightmap image file into the heightfield.
Returns true if succeeded, or false if an error has occured. If the heightmap is not a power of two plus one, it is scaled up using a gaussian filter.
| setMinLevel | ( | unsigned short int | minlevel | ) |
Sets the minimum level of detail at which blocks may be generated by generate() or update().
The default value is 0, which is the highest quality. This value is also taken in respect when generating the terrain bruteforce.
| setNear | ( | double | input_near | ) |
Sets the near LOD distance, at which the terrain will be rendered at highest quality.
This distance is in the terrain's coordinate space!
| setNearFar | ( | double | input_near, |
| double | input_far | ||
| ) |
Sets the near and far LOD distances in one call.
| bool update | ( | ) |
Loops through all of the terrain blocks, and checks whether they need to be updated.
If that is indeed the case, it regenerates the mipmap. Returns a true when the terrain has changed. Returns false when the terrain isn't updated at all. If there is no terrain yet, it generates the entire terrain. This call un-flattens the terrain, so make sure you have set auto-flatten if you want to keep your terrain flattened.


This app contains easy-to-access linked lists of medical conditions,
syymptoms and drugs. By its nature, it is incomplete and approximate.
This software is provided as is and there is no guarantee as to
the accuracy of the information, or to whether it is up to date.
Tha app is not a textbook or
revision aid, and is not to be used for treatment of patients.
If you want to contribute to the information, e.g. by adding missing
items or updating incorrect information,
please either
select "Submit comment" in the menu, or
select "edit mode" from Settings.
Your input is gratefully received
and will slowly be incorporated into the app.
There are two versions of the list database.
You can switch between these versions using the "Settings" menu:
A "community" version, with everybody's edits pooled, like Wikipedia
A "stock" version, with the original curated lists.
I agree that I will always consult an up-to-date textbook or reference.
I understand that this app is not a substitute for prior knowledge,
clinical experience or clinical judgement.
Add
Are you sure you want to create a new entity?
Please ensure you go into the new item
and fill out synonyms, parents, description, and any causes or effects.
Please check if this entry is better described by an existing entity.


COVID-19, the virus has changed our lives completely. We feel that we can do much better in terms of diagnostics as our regular tests have around 10% error at their best, which is why we have created this model. This model can be used to predict whether someone is positive for COVID-19 using the chest X-ray of the person.


Manage your profile information and medical team associations
This area allows you to add, edit and remove any users associated with you.
What role should I assign to a user?
Medical Office Manager (MOM): : When you associate your profile with a users as an MOM role, you are allowing that MOM to create MOA associations on your behalf. A MOM can also start an eDMER for you and the patient as well as input visual acuity values as needed.
Medical Office Assistant (MOA): A MOA can start an eDMER for you and the patient as well as input visual acuity values as needed.
|
|
|
Name | {{ row.fullName }} | Role | {{ row.role }} | Expiry Date | {{ row.expiryDate }} | Status |
{{ row.status }}
|
|---|
Showing 7 of 7 Records
This area allows you to add, edit and remove any users associated with the medical practitioners you are associated with.
|
|
|
Name | {{ row.fullName }} | Medical Practitioner | {{ row.medicalPractitionerName }} | Expiry Date | {{ row.expiryDate }} | Status |
{{ row.status }}
|
|---|
Showing 10 of 10 Records
This area allows you to manage your associations with medical practitioners.
This area allows you to manage your associations with medical practitioners.
In order to manage associations between MOAs and medical practitioners, a MOM needs an association with one or more medical practitioner.
Medical practitioners must initiate an association with a MOM. If you are a MOM and need an association with a specific medical practitioner, please provide them with your email address used to create your portal account and ask them to ‘Add a MOM Association’ with you in the portal. Once the medical practitioner has completed that step, their name will appear in the table below. You can then use the 'Add Association' link in the Medical Office Staff section above to create associations between MOAs and your associated medical practitioners, on their behalf.
|
|
|
Name | {{ row.fullName }} | Expiry Date | {{ row.expiryDate }} | Status |
{{ row.status }}
|
|---|
Showing 6 of 6 Records


Contact Me
http://facebook.com/benedikt.meurer
If you have a question about PhotoAccess, please make sure it hasn't already been answered in the FAQ.
--- layout: iphoneapp folder: PhotoAccess title: Contact the PhotoAccess developer description: Quick access to photos on your iPhone hide: true ---
http://facebook.com/benedikt.meurer
If you have a question about PhotoAccess, please make sure it hasn't already been answered in the FAQ.


Contact Information
Name
Mark Pilgrim
Position
Developer advocate
for
Google, Inc.
Mailing address
P.O. Box 562
Anytown
,
PA
12345
USA
Home address
100 Main Street
Anytown
,
PA
19999
USA
My Digital Footprints
weblog
Google profile
Reddit.com profile
Twitter
I also wrote books published by
O'Reilly


Something went wrong when you tried to submit your feedback. Maybe you didn't fill in the required fields? Please go back and try again.


For starters, let's consider a relatively straightforward function that takes three integer parameters and returns an arithmetic combination of them. This is nice and simple, especially since it involves no control flow:
int mul_add(int x, int y, int z) { return x * y + z; }
As a preview, the LLVM IR we’re going to end up generating for this function will look like:
define i32 @mul_add(i32 %x, i32 %y, i32 %z) { entry: %tmp = mul i32 %x, %y %tmp2 = add i32 %tmp, %z ret i32 %tmp2 }
If you're unsure what the above code says, skim through the LLVM Language Reference Manual and convince yourself that the above LLVM IR is actually equivalent to the original function. Once you’re satisfied with that, let's move on to actually generating it programmatically!
Of course, before we can start, we need to #include
the appropriate LLVM header files:
#include "llvm/Module.h" #include "llvm/Function.h" #include "llvm/PassManager.h" #include "llvm/CallingConv.h" #include "llvm/Analysis/Verifier.h" #include "llvm/Assembly/PrintModulePass.h" #include "llvm/Support/IRBuilder.h" #include "llvm/Support/raw_ostream.h"
Now, let's get started on our real program. Here's what our basic main()
will look like:
using namespace llvm; Module* makeLLVMModule(); int main(int argc, char**argv) { Module* Mod = makeLLVMModule(); verifyModule(*Mod, PrintMessageAction); PassManager PM; PM.add(createPrintModulePass(&outs())); PM.run(*Mod); delete Mod; return 0; }
The first segment is pretty simple: it creates an LLVM “module.” In LLVM, a module represents a single unit of code that is to be processed together. A module contains things like global variables, function declarations, and implementations. Here we’ve declared a makeLLVMModule()
function to do the real work of creating the module. Don’t worry, we’ll be looking at that one next!
The second segment runs the LLVM module verifier on our newly created module. While this probably isn’t really necessary for a simple module like this one, it's always a good idea, especially if you’re generating LLVM IR based on some input. The verifier will print an error message if your LLVM module is malformed in any way.
Finally, we instantiate an LLVM PassManager
and run
the PrintModulePass
on our module. LLVM uses an explicit pass
infrastructure to manage optimizations and various other things.
A PassManager
, as should be obvious from its name, manages passes:
it is responsible for scheduling them, invoking them, and ensuring the proper
disposal after we’re done with them. For this example, we’re just using a
trivial pass that prints out our module in textual form.
Now onto the interesting part: creating and populating a module. Here's the
first chunk of our makeLLVMModule()
:
Module* makeLLVMModule() { // Module Construction Module* mod = new Module("test", getGlobalContext());
Exciting, isn’t it!? All we’re doing here is instantiating a module and giving it a name. The name isn’t particularly important unless you’re going to be dealing with multiple modules at once.
Constant* c = mod->getOrInsertFunction("mul_add", /*ret type*/ IntegerType::get(32), /*args*/ IntegerType::get(32), IntegerType::get(32), IntegerType::get(32), /*varargs terminated with null*/ NULL); Function* mul_add = cast<Function>(c); mul_add->setCallingConv(CallingConv::C);
We construct our Function
by calling getOrInsertFunction()
on our module, passing in the name, return type, and argument types of the function. In the case of our mul_add
function, that means one 32-bit integer for the return value and three 32-bit integers for the arguments.
You'll notice that getOrInsertFunction()
doesn't actually return a Function*
. This is because getOrInsertFunction()
will return a cast of the existing function if the function already existed with a different prototype. Since we know that there's not already a mul_add
function, we can safely just cast c
to a Function*
.
In addition, we set the calling convention for our new function to be the C calling convention. This isn’t strictly necessary, but it ensures that our new function will interoperate properly with C code, which is a good thing.
Function::arg_iterator args = mul_add->arg_begin(); Value* x = args++; x->setName("x"); Value* y = args++; y->setName("y"); Value* z = args++; z->setName("z");
While we’re setting up our function, let's also give names to the parameters. This also isn’t strictly necessary (LLVM will generate names for them if you don’t specify them), but it’ll make looking at our output somewhat more pleasant. To name the parameters, we iterate over the arguments of our function and call setName()
on them. We’ll also keep the pointer to x
, y
, and z
around, since we’ll need them when we get around to creating instructions.
Great! We have a function now. But what good is a function if it has no body? Before we start working on a body for our new function, we need to recall some details of the LLVM IR. The IR, being an abstract assembly language, represents control flow using jumps (we call them branches), both conditional and unconditional. The straight-line sequences of code between branches are called basic blocks, or just blocks. To create a body for our function, we fill it with blocks:
BasicBlock* block = BasicBlock::Create(getGlobalContext(), "entry", mul_add); IRBuilder<> builder(block);
We create a new basic block, as you might expect, by calling its constructor. All we need to tell it is its name and the function to which it belongs. In addition, we’re creating an IRBuilder
object, which is a convenience interface for creating instructions and appending them to the end of a block. Instructions can be created through their constructors as well, but some of their interfaces are quite complicated. Unless you need a lot of control, using IRBuilder
will make your life simpler.
Value* tmp = builder.CreateBinOp(Instruction::Mul, x, y, "tmp"); Value* tmp2 = builder.CreateBinOp(Instruction::Add, tmp, z, "tmp2"); builder.CreateRet(tmp2); return mod; }
The final step in creating our function is to create the instructions that make it up. Our mul_add
function is composed of just three instructions: a multiply, an add, and a return. IRBuilder
gives us a simple interface for constructing these instructions and appending them to the “entry” block. Each of the calls to IRBuilder
returns a Value*
that represents the value yielded by the instruction. You’ll also notice that, above, x
, y
, and z
are also Value*
's, so it's clear that instructions operate on Value*
's.
And that's it! Now you can compile and run your code, and get a wonderful textual print out of the LLVM IR we saw at the beginning. To compile, use the following command line as a guide:
# c++ -g tut1.cpp `llvm-config --cxxflags --ldflags --libs core` -o tut1 # ./tut1
The llvm-config
utility is used to obtain the necessary GCC-compatible compiler flags for linking with LLVM. For this example, we only need the 'core' library. We'll use others once we start adding optimizers and the JIT engine.


I think the analogy used in the Udacity tutorial was perfect. They suggested to think of these things like you would a house; that is the HTML can be thought of as the structure and the CSS as the design or style. For example, the different rooms of the house would be the HTML and the CSS is basically what each room will contain and look like. It is helpful to think of the DOM as the plan or layout of the house. The DOM will tell you how many rooms you have, whether that room is a bedroom or a bathroom, what these rooms contain and how they are styled. Because the DOM functions similarly to a sketch, you have the ability to rearrange, add and delete things within the DOM before committing to a final blueprint, much like you would when renovating a house.
It means that every single element contained within a single web page is also contained within a box - either a rectangle or square. Even circles live inside boxes! You can think of 'boxifying design' as a grid that organises the boxes which contain various parts of a webpage such as its logo or text.
In design, for the purpose of CSS each HTML is considered a box. The CSS box model is essentially a box that wraps around every HTML element. The box consists of margins, borders, padding and actual content. The content is where the text and images appear, the padding is transparent and clears an area around the content, the border goes around the padding and content and the margin, also transparent, clears an area outside the border.


Command list
Below is the full list of Polaris' commands. Click a title to show more in-depth information. Arguments with [ ] are required while those with { } are optional. Do not include these brackets when running commands.
Please note that the prefix may be different in each server. You can mention the bot instead.
Description
The help command lists all of Polaris' commands.If a command is provided, it will give you in-depth information about that command.
Usage
.help {Command name}Description
Allows you to link your ROBLOX account to your discord one. You will need to place a code in your ROBLOX Profile. After putting the code there, you need to run done.
Usage
.linkaccount [ROBLOX name]Aliases
verify, linkDescription
Completes a link account process by checking your ROBLOX Profile for the code. You must run the linkaccount command before using this.
Usage
.doneDescription
Fetches your roles according to the server settings. This will check your rank in the set groups and give you roles if you should be given them. You must link your account prior to use. Also updates nicknames.
Usage
.getrolesAliases
getroleDescription
Allows you to edit server settings. Only one prompt can be run at a time.
Additional info
When a menu appears, you should say the keyword on the left which is in bold, for example, server. This will allow you to navigate the menu.
Usage
.settings {Settings group}Description
This command will create discord roles based on the ranks in a ROBLOX Group. You can provide a Group ID, or it will use the server settings' id by default. If neither are set, it will ask for one. This is ideal for setting up new discord servers.
Usage
.setup {Group ID}Description
Updates a user's roles based on their group rank, like getroles, only it can be run by anyone with manage roles permission, on other users. Also updates nicknames.
Usage
.update [@User]Aliases
updaterolesDescription
Gets user information about the user you mention. You must mention a user for this, support without mentions will be added in future.
Usage
.getinfo [@User]Description
Gets the ROBLOX username of the user you mention. You must mention a user for this, support without mentions will be added in future.
Usage
.whois [@User]Description
A magic 8ball. Pretty simple, right?
Usage
.8ballDescription
Produces a random quote from a person of great wisdom. You can submit quotes in our support discord.
Usage
.quoteDescription
Allows you to view or edit the prefix for that server. You must have admin to change the prefix. Prefix can also be changed in settings.


Search
Search Results
Took 0.674 seconds
??? Title ???
Level ??? level ???, ??? school ???
Ritual
??? description ???


{% from "_form_helpers.html" import render_field %} {% extends "servicefrontend_base.html" %} {% block content %} {% include "inc_alpha_banner.html" %} Change register Change proprietor name by way of marriage {{ form.csrf_token }}{{form.hidden_tag()}} {{ form.title_number }} {{form.proprietor_ull_name}} Previous name {{form.proprietor_full_name.data}} {{ render_field(form.proprietor_new_full_name) }} {{ render_field(form.partner_name) }} {{ render_field(form.marriage_date) }} {{ render_field(form.marriage_place) }} {{ render_field(form.marriage_country) }} {{ render_field(form.marriage_certificate_number) }} Submit {% endblock %}


categoricaldata.net
Orient yourself to the subject matter with a
slide talk
.
Read the draft
user guide
.
Browse the
scala API
.
Explore the
metaphor API
.
Browse the
source code
.
Follow an example
computing the connected components
of a coauthorship graph.
Compute the
pushforward
of a dataset along a translation!
Development
The project source code is hosted in a Mercurial repository on Bitbucket, at
https://code.categoricaldata.net/categoricaldata
.
There's a
todo list
for the project hosted at trello.com.
There's a
mailing list
we're using to coordinate development.


"""
fprime_gds.executables.utils:
Utility functions to enable the executables package to function seamlessly.
"""
import atexit
import signal
import subprocess
import time
# Python 2.7 compatibility, adding in missing error type
try:
InterruptedError
except NameError:
[docs] class InterruptedError(Exception):
pass
[docs]class ProcessNotStableException(Exception):
""" Process did not start up stably. Thus there was a problem. """
def __init__(self, name, code, lifespan):
""" Constructor to help with messages"""
super().__init__(
"{} stopped with code {} sooner than {} seconds".format(
name, code, lifespan
)
)
[docs]class AppWrapperException(Exception):
"""
An exception occurred while tying to start the app wrapper. This will encapsulate that message.
"""
[docs]def register_process_assassin(process, log=None):
"""
Register an assassin that will kill the a given child process when an exit of the current python process has been
reached. This will effectively clean up children and (optionally) their log files.
:param process: the process to kill.
:param log: a paired log file to kill as well.
"""
def assassin():
"""
Kill process and ensure that it is really really dead.
Note: enclosing the locals in the closure, allows this function to operate independently.
"""
# First attempt to kill the process uses SIGINT/SIGTERM giving the process a bit to wrap up its affairs.
# This code allows for both pexpect and subprocess processes.
try:
if hasattr(process, "terminate"):
process.terminate()
else:
process.kill(signal.SIGINT)
time.sleep(1)
except (KeyboardInterrupt, OSError, InterruptedError):
pass
# Second attempt is to terminate with extreme prejudice. No process will survive this, ensuring that it is
# really, really dead. Supports both pexpect and subprocess.
try:
if hasattr(process, "terminate"):
process.kill()
else:
process.kill(signal.SIGKILL)
except (KeyboardInterrupt, OSError, InterruptedError):
pass
# Might as well close the log file because dead men tell no tales.
try:
if log is not None:
log.close()
except (KeyboardInterrupt, OSError, InterruptedError):
pass
atexit.register(assassin)
[docs]def run_wrapped_application(arguments, logfile=None, env=None, launch_time=None):
"""
Run an application and ensure that it is logged immediately to the logfile. This will allow the application to have
up-to-date logs. This is a wrapper for pexpect to ensure that the application runs and log effectivly. It has been
converted to a function to remove superfluous processes.
:param arguments: arguments with the first being the executable.
:param logfile: (optional) path to logfile to log to. Will overwrite.
:param env: (optional) environment for the subprocess
:param: launch_time: (optional) time to wait before declaring the process stable
:return: child process should it be needed.
"""
# Write out run information for the calling user
print("[INFO] Running Application: {}".format(arguments[0]))
# Attempt to open a log file
file_handler = None
try:
if logfile is not None:
print("[INFO] Log File: {}".format(logfile))
file_handler = open(logfile, "wb", 0)
except OSError as exc:
raise AppWrapperException(
"Failed to open: {} with error {}.".format(logfile, str(exc))
)
# Spawn the process. Uses pexpect, as this will force the process to output data immediately, rather than buffering
# the output. That way the log file is fully up-to-date.
try:
child = subprocess.Popen(
arguments, stdout=file_handler, stderr=subprocess.STDOUT, env=env
)
register_process_assassin(child, file_handler)
# If launch time is specified, then wait for it to be stable
if launch_time is not None:
time.sleep(launch_time)
child.poll()
if child.returncode is not None:
raise ProcessNotStableException(
arguments[0], child.returncode, launch_time
)
return child
except Exception as exc:
raise AppWrapperException(
"Failed to run application: {}. Error: {}".format(" ".join(arguments), exc)
)
return None


Crane reads docker-compose.yml
files. Alternatively, you can use Crane's own configuration format, which maps more closely to Docker's run command to make it even easier. The CLI interface has similar commands than docker-compose, but they differ slightly in semantics. Read the compatibility notes for more information.
Instead of detaching from all containers and interleaving the logs (like docker-compose up
does), Crane attaches to the target and detaches from the dependencies by default. As a result, using interactive debugging is possible, e.g. if you are using Ruby, pry
or byebug
work as expected.
Instead of targeting all configured containers or a single one, Crane supports targeting a group of containers. This works by clustering containers in the configuration into groups.
Pre-define commands that you run over and over again (like running a server, tests or REPLs) in the configuration. Now they are only a crane cmd
away — a perfectly streamlined Docker workflow.
Scripts can be run before or after key lifecycle events of containers. They are run synchronously on the host where Crane is installed and may even interrupt the flow by returning a non-zero status. Read more.
For example, booting a vanilla Rails app on a mid-2014 2,6GHz Macbook Pro:
| Default | > 60s |
|---|---|
With Docker :cached option |
> 15s |
| Using Crane | ~ 1.5s |
Typically, the speed gains are even higher in real-world scenarios.
Crane integrates Unison, a file synchronizer. It is executed as a container, so you don't have to install and configure anything.
Every accelerated bind-mount is synced in both ways (unlike rsync!) via a Docker volume to the mounting container.
Crane does this automatically in the background and adjusts the container config on the fly - you shouldn't even notice! Except the speed of course ...


--- layout: post status: publish published: true title: Updating Old Posts author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 399 wordpress_url: http://winterdom.com/2008/09/updatingoldposts date: '2008-09-09 20:05:57 +0000' date_gmt: '2008-09-09 20:05:57 +0000' categories: - Blogging tags: [] comments: [] ---
I was recently looking for an old post I had written on some topic and discovered, much to my dismay, that a substantial number of old entries in my weblog were simply unreadable!
Some have code that is very hard to read or poorly formatted, while others force the font color on the main text, overriding the site's CSS styles. A lot of this is stuff that dates before I started using darkish background colors on my weblog theme, and is simply stuff that just wasn't written to be easy to style. Big mistake.
Some other stuff are just entries that I wrote in Microsoft Word and then posted through Windows Live Writer. It seemed like a good idea at the time, but no clue why I ever thought so!
Anyway, I'm slowly going over the old entries and fixing the formatting and making sure everything is readable. If you run into any post with really crappy formatting, let me know and I'll fix it.


To have your alerts use animation when closing, make sure they have the .fade and .in classes already applied to them.
Methods
$().alert()
Makes an alert listen for click events on descendant elements which have the data-dismiss="alert" attribute. (Not necessary when using the data-api's auto-initialization.)
$().alert('close')
Closes an alert by removing it from the DOM. If the .fade and .in classes are present on the element, the alert will fade out before it is removed.
Events
Bootstrap's alert plugin exposes a few events for hooking into alert functionality.
Event Type
Description
close.bs.alert
This event fires immediately when the close instance method is called.
closed.bs.alert
This event is fired when the alert has been closed (will wait for CSS transitions to complete).
$('#myAlert').on('closed.bs.alert', function () {
// do something…
})
Example Alerts
Add dismiss functionality to all alert messages with this plugin.
When using a
.close
button, it must be the first child of the.alert-dismissible
and no text content may come before it in the markup.Usage
Just add
data-dismiss="alert"
to your close button to automatically give an alert close functionality. Closing an alert removes it from the DOM.To have your alerts use animation when closing, make sure they have the
.fade
and.in
classes already applied to them.Methods
$().alert()
Makes an alert listen for click events on descendant elements which have the
data-dismiss="alert"
attribute. (Not necessary when using the data-api's auto-initialization.)$().alert('close')
Closes an alert by removing it from the DOM. If the
.fade
and.in
classes are present on the element, the alert will fade out before it is removed.Events
Bootstrap's alert plugin exposes a few events for hooking into alert functionality.
close
instance method is called.


|
Springfield College Class of '68 Bulletin Board Springfield College Class of '68 bulletin board. Class news, announcements, and assorted discussions. |
||||||||||||||||||||||||||||||||||||
|
[ close ]
| New User Sign Up - Forget Your Password? or login with |
|
Springfield College Class of '68 Bulletin Board Springfield College Class of '68 bulletin board. Class news, announcements, and assorted discussions. |
||||||||||||||||||||||||||||||||||||
|
| New User Sign Up - Forget Your Password? or login with |


| Name | Date | Start Time | End Time | Reason | Modify |
|---|---|---|---|---|---|
| {{appointment.name}} | {{appointment.date | date: "shortDate" : "-0600" }} | {{appointment.start_time| date: "shortTime" : "-0600"}} | {{appointment.end_time| date: "shortTime" : "-0600"}} | {{appointment.reason}} | Edit Delete |


--- layout: snippet title: "Select multiple" permalink: /examples/forms/select-multiple/ sitemap: false ---


intercooler.js lets you use familiar, declarative HTML attributes to implement advanced, dynamic interfaces in web applications with a minimum of complexity. intercooler.js lets you extend the HTML vocabulary for your application without requiring much, if any, explicit javascript. The resulting environment is extraordinarily simple, expressive, readable, and maintainable.


Start with "What is Code for America?"
Government can work for the people, by the people in the 21st century.
Build open source technology and organize a network of people dedicated to making government services simple, effective, and easy to use.
Local brigade of Code for America
The St Louis presence and organizer of local events
Annual event to encourage Civic Hacking across America and the world
This year on June 6th, 2015
(But we have some conflicts)
Our local event for NDoCH
One of the largest in the country
Or "the envelope" - Jon Leek
~300 partcipants over an entire week last year
Creating a whole month of civic hacking
Weekly events starting April 27th
Culminate May 29th-31st with weeklong hackathon
Not a competition this year!
Code, apps, websites, data
Interface directly with non-profits and government


35 – Third Move to Arizona at 5054 E Fountain Circle – June 1986 to April 1987
Well, we decided to take Larry up on his offer, and we moved to Arizona. This was our third move to Mesa. The short, nine months we were there were hard, yet good. Good, because we lived in a lovely home in a nice neighborhood. We paid association dues and this included the use of the swimming pools, hot tubs, racket ball courts, volleyball pit and playground. It was a beautiful area where these were located. The boys and Ken loved to play racquetball, Shellie did too, and all of us loved the pools and hot tubs. We enjoyed the neighbors and our good ward. We had many opportunities to serve in the ward - Ken in the Bishopric again and I in Relief Society as a teacher and then as a counselor. We made lots of friends there too. One friend, Lark, was a neighbor. (Can’t remember her last name). She lived a block or two away. She was a cute lady and we had lots of good talks and enjoyed being together. We would go places together, and with our husbands sometimes too. They had a son about Jeff’s age and they became good friends too. A nice single mom lived about a block away and she had two sons. One was about Scotts age and the other about Jeff’s age. The four of them played together quite a lot. They were not members of the church, but very nice people.  It had lace and silk flowers on it and little plastic bunnies and Easter eggs in the basket. Jeff had seen it and wanted to buy it for me. He had some money saved so he bought it from her to give to me. I loved it. Jeff was so sweet to buy it for me. I still have it and enjoy putting it out as a decoration at Easter time.
We also enjoyed going to either the mountains with Larry & Tammy as they had a cabin there, or to the Lake with them as they had a boat and jet skis. Mom & Dad came down to spend a month or so with us and it was great having them with us. They both loved getting out of the cold winter and loved the warmth in Arizona. Dad would go on walks each morning and he really enjoyed doing that. Mom helped with the children, the meals, housework, etc. She was great! I enjoyed visiting and being with her and also with dad. They both were and are wonderful and we loved having them there.
The hard part of this move was because it didn’t work out with Ken and Larry being in business together. It did at first, but after a while Ron started questioning whether Larry was taking more out of the business than he should because he didn’t work much and he, Tammy and their family vacationed quite a bit and he always seemed to have plenty of money where Ron and Ken were working a lot and tight with money. When they first started out, they had their office in Larry’s nice new home and Tammy did the books. Larry, without talking to Ken or Ron, rented a nice office and hired a secretary. The business didn’t make that kind of money since a recession was on, so Ron and Ken were upset about that. Ron talked to Ken about his concerns and Ken told him he felt Larry was honest, but told Ron that, since they were all partners, he should just ask Larry if he could look at the books. He didn’t ask, he just came into the office early one day and was going over the books when Ken came in to get something before he started his day. The secretary wasn’t in when Ken came in, but was when he went out. We found out a few years later, in talking with Larry, that Carine had told him that Ken and Ron were looking at the books. Larry felt they didn’t trust him and so he was very upset, called a meeting with them and told them they were on their own as of the first of the following month. When they asked why, he told them that since the business wasn’t bringing in enough money, the bank wasn’t going to keep backing them (something like that). Ken was devastated because that meant he and Ron would have to get someone to bond them and Ken didn’t have his own contractor’s license, he was working off Larry’s, so wouldn’t be able to get the bond company to bond him until he got his license. Larry hadn’t told the truth because he wanted them out since he was offended thinking that they didn’t trust him. Well, Ken kept trying to get work, but he was so discouraged that it turned to depression. That has been our hardest move, financially, and the feelings Ken and Larry had towards each other were not good as we moved back to Utah.
Ken became so depressed because of the way Larry handled things that we had a terrible feeling in our home. The children didn’t like it. Mike & David even told me that maybe they should move out so it wouldn’t be so expensive. I told them that if they moved out, it would be much worse as I would be so sad and depressed too. I got a call from our bank telling me that the IRS had come in and cleaned out our account because of money we owed them for back taxes while living in Idaho. We had saved the money for taxes in Idaho and then had to use it when Ken was out of work for so long because of the farmers having those 3 bad years in succession. We had contacted the IRS and they had agreed to work with us and we would pay them so much every month - well, they didn’t work with us. I was really upset. Mom, dad and I were going to Dr. Swanstrom for a treatment, but while they were in getting their treatments, I went to a store and bought a newspaper so I could look in the Help adds to see about getting a job as I knew I needed to work now and try to get us out of this mess. I didn’t want to get a treatment as I didn’t have the money now. Dad insisted I get one and he would pay for it. There wasn’t anything much in the newspaper so I came home and prayed. I knew I couldn’t go to work for minimum wage, we needed more money than that.
I thought of Irven and how he was making good money working for NFIB. I called him to see if he thought I could do that. He said “Yes”, that I had the personality and the motivation to do it. He set up an appointment for me with his manager. I went in, had the interview, took the tests, passed with high scores and they hired me. It was hard memorizing all the issues and the information I needed, to give to the owners and presidents of companies and businesses. Mom fixed the meals, and did what she could and had me go out in the camp mobile, where it was quiet, and study. She was wonderful and a big help, so was dad. They insisted I use their small car, while they were there, as it got much better gas millage. I was really nervous the first day of work, but my trainer was very good and after watching him for about 3 times, he told me he would wait in the car and for me to go in and try to make a sale. I had prayed hard and the Lord blessed me, as it went well and I made the sale. My manager was excited. I made several sales during the next two days so he left me on my own. Dave, my manager, called me his “Super Star”. It was hard as I had to go all over – Mesa, Tempe, Chandler, Phoenix, Globe, etc. At night I had to do lots of paperwork and get prepared for the next day.
NFIB – working and what happened one day March 19, 1987
I was really hoping to do good today. I didn’t get any sales yesterday, part of the day was spent with Dave Young, my manager. He is here meeting with all his people. He is a good boss, and a good person. He is my brother, Bryce’s friend, also a friend of Ken’s brother, Irven. Well – anyway, the morning wasn’t good. I drove all over – couldn’t find owners, couldn’t find addresses, roads were tore up, etc. I finally did new business, gave a couple of presentations, almost got one closed, then he changed his mind for the time. I went to sell another that we had already given the presentation to, but they want to wait for a month. I was pretty discouraged and upset because of the pressure. Dave had asked me to call him around noon so we could meet and he could give me some more cards he was getting from another representative. I finally got a hold of him and we met. He gave me lots of cards and supplies he had gotten from Norm Thompson, the Mesa representative who just went into another business because he needed more money to support his family. Dave invited me to go to lunch with him and even though I trust him (he loves his wife, is strong in the church, good friend to Bryce & Irven, etc.) and even though I hadn’t eaten lunch, I declined as I wanted to get to work and make some sales for the day. I drove to a shaded area, sorted the cards, drove off to Mesa to begin work again. I reached for my kit as I got out of the car and it wasn’t there. I looked all over the car and no kit. I started to panic because it had the checks in from the sales I had made this week. I got out and frantically looked through the boxes that Dave had given me, that were in the trunk. It was nowhere to be found. I was so upset and scared. I drove to a phone booth and called Dave. He was there, thank goodness. I asked him if I could have left my kit in his car. He ran out to check, but no, it wasn’t there. He asked if my kit had checks in it and I said “yes.” He could tell that I was really upset and worried, so he tried to console me by telling me how others had done similar things, tried to tell me funny things to get me to laugh, and told me not to take it personally – that things like that happen to lots of people and some things are lots worse. He was so understanding, I could hardly believe it.  He said “I can’t, you’re one of my very best people.” He is always complimenting me and encouraging me. He’s a great boss – all his people think so. He told me to drive back to where we were parked – that maybe I had sat it on the trunk or the top of the car and forgot and driven off. That it might be there. I did. It was ½ mile away, but I drove fast. It wasn’t there. I went into businesses close by and asked if anyone had turned in a brown binder, but no one had. I wondered if I could have put it on the trunk when I sorted my cards, so I drove there. It wasn’t there. That was the same place (shopping center) where I had called Dave before, so I decided to go over and call him to tell him the bad news. He had told me that I could go back to the businesses who had given me checks and get them to stop payment on the checks and write me out new ones. I hated the thought of doing that, but I knew I would have to – but there was another problem. I couldn’t remember all the businesses that had given me checks – and I had no way of finding out as the receipt was with the person, and the membership card was with the checks in the kit. As I came up to the phone booth, it dawned on me (the Holy Ghost) that the last time I remember having my kit was when I gave a presentation to a jeweler in that shopping center so I might have laid it on top of the phone booth while I made the call four hours earlier. That maybe someone had turned it in to one of the stores, so I checked and no one had. I went back and called Dave. We discussed it some more and he again tried to console me. He told me that he had another copy of the membership list and Craig in Phoenix would make me up another kit and get it to me early the next morning. He said he wished he could help more, but he had so much to do. He had already helped so much and I sure appreciated it. He told me to cheer up and go sit in the car and think and let the Holy Ghost prompt me, that maybe I could still find it. If not, to go home and have a good evening and tomorrow would be a better day. As I went to leave the phone booth, I remembered that I better call home so the family wouldn’t worry. I noticed a man waiting to use the phone so I asked if I could make one more quick call. I told him something devastating had just happened. He looked at me funny and said “You look familiar.” He had a business card in his hand. He said “You aren’t Mae Browning, are you?” I said “yes, do you have my brown book?” He did. We walked to his big rig (he was a trucker) and he explained how he had found my book, and going through it, he saw the checks, etc., and knew the person who owned it might lose their job if they didn’t find it (most bosses would fire their people for this reason), so he found my business card and called our home. Scott answered, and this man left his name and number in California. But then he knew that if I called California, his brother-in-law (his partner wouldn’t know anything about it and wouldn’t be able to help me. He also knew that he couldn’t just leave my book at a store, etc., nearby as they might be dishonest and cash the checks. He knew he wouldn’t be back in Tempe for another week, and that I’d need it now. He waited around trying to figure out what to do. He looked on his map for my address, to take it there, but knew he couldn’t fit his rig down the roads in a housing division. He was to pick up a load at a certain time, but didn’t, as he felt he had to work something out for me. Four hours later, at the same phone booth, he was waiting to use the phone to call my home again to see if I was home by now and to see if I could meet him somewhere to get my book. Wow!!! I knew the Lord had used him as an instrument in answering my prayers. Here he, a good, honest, man (he didn’t look like one and a lot of truckers might not be) and he really went the extra mile to help me. I wanted to repay him somehow so gave him four dollars I had in my purse and asked him to give me his name and address and I would send him more money. I explained that we were having financial problems and that’s why I had gotten this job, but I didn’t tell him that to get out of paying him a reward or something, I was just upset and grateful and blurted it out. He said “no, I’m just glad I could help you.” I told him that I didn’t know if he was a Christian or not, but I was and I knew the Lord had used him – a good, honest man to answer my prayers. I also told him that if I couldn’t repay him for his extreme kindness, that I would help other people.
It really makes me realize that lately I haven’t taken time to help others or show love like I used to and should. I’ve felt so pressured lately that I haven’t. I will do better in the future
Finally, Mom & Dad decided they better go home. From that point on, the children had to help out as I didn’t have the time to do the laundry, clean the house, fix the meals, etc. Shellie would start supper, then have to go to work, so Scott had to finish it as Mike was working also and David was in school and worked part time at the same place as Shellie & Mike. Shellie had found the job. It was at an Assisted Living Center so they had a nice lunch room where these seniors were served 3 nice meals a day. Shellie was the waitress. They needed someone to wash dishes so she had Mike come apply for the job. He was hired and the managers really liked Shellie & Mike as they were hard workers and dependable. Later, when the cook resigned, they offered Mike that job and asked if they had another brother or sister who would like to work part-time doing dishes. Well, David got the job. When they saw how dependable and hardworking David was also, they asked if they had any other family members they could hire. This was quite a compliment. When we moved, the managers were really sad and they couldn’t say enough good about our special children. We are so proud of them.
UPDATE ON CHILDREN
Mike - It was the summer before Mike’s senior year that we moved down to Arizona. He wanted to graduate from Firth High, not a new school, so Mike Mecham’s parents talked to us about letting Mike stay with them for the school year and graduate with their son, Mike. They were such good people and strong in the church that we felt Mike would be fine staying with them, however, Mike was steady dating with Lisa and even though I felt I could trust Mike, I didn’t trust the devil and worried about this. I talked to the seminary principal and he felt we shouldn’t do it. He said Mike and Lisa were both good kids, but if it were him, he wouldn’t do it. I told Ken this, but he said we had to trust Mike. He talked to Mike and told him that if anything happened, that he (Ken) would never hear the last of it from me. Mike promised him that everything would be ok, and it was because shortly after Mike started school, he and Lisa broke up and he dated Mishael and others. Mike had moved down with us for the summer and then went back in the fall. Bo moved down with us too and then left to go back to Spain from there. One incident happened with Bo when we were moving things into the home. I had brought all my beautiful plants down and they were in one vehicle. Ken had asked Bo to bring them into the home. He got side tracked and forgot about them. We were all busy and when we realized they were still out in the “hot” car as it was during the summer and with the windows all up, all but one of the plants died. I was sick about it as I loved my plants, but I didn’t say much to Bo as he felt really bad as it was. Bo enjoyed part of the summer with us until he had to fly back home. The morning that we took him to the airport was quite a traumatic time too. He left his plane ticket on top on the piano when we left the house. We had plenty of time to make the flight, but not much extra. On the way I asked him something about his ticket and he gasped. I asked him what was the matter and he said he forgot to pick them up from the piano. He put them there as he thought he would see them as he left the house. We had to turn around and go get them. It was about 4 am in the morning so there wasn’t much traffic and Ken ran red lights – just slowing down to see if anyone was coming from the other roads and if there were any policemen around. We did make it in time, thank goodness. We enjoyed that year with Bo, he was a special young man.
David This move was hard on David for several reasons. One reason was because Mike went back to Firth to go to school his senior year and Mike & David had been so close. But David became close to Scott & Jeff and was cute with them. Another reason was David went to the biggest high school in Mesa. That was tough coming from such a small high school in Firth where he knew everyone and was popular. Here at this high school the kids came from wealthy homes and so most of them had their own cars, etc. David took Spanish and his Spanish teacher was from Spain and was a great teacher. David liked this class more than the others. Mike finished up his credits about half way through the year and so came home to Mesa to be with us and find work.
Scott This move was hard on Scott too. He was in a big Jr High by himself. He didn’t like the school. He did make friends with a couple of neighbor boys who were brothers and they all played together. Their mother was a single mom, but very nice. They were not members of the church, but good people. Scott’s scout leader was very good, but strict. He made Scott his Sr. Patrol Leader. Scott was good, but it was hard for him with the leader being so strict. Scott took band and played the trumpet. His teacher said he was very good and that he would give him private lessons if we consented. I was going to do this, but we moved too soon. I don’t remember if he had any private lessons or not.
Jeff This move wasn’t as hard on Jeff, at least I don’t think so as he was younger. He went to the elementary school and had a good teacher. He made friends with a cute boy in our neighborhood and ward. His mother and I were friends. Her name was Lark, but I can’t remember the boy’s name. Jeff was a good boy and he loved playing with Naunoo and Penny.
Shellie had gone down with Ken so she could find work before going back to BYU. They stayed with Larry & Tammy, and Tammy was very good with her. At this time, Larry & Tammy were going to some classes “Love” classes that were supposed to teach you more love so you could have better relationships with your spouse and others. It wasn’t a good thing. They tried to talk Ken and Shellie into going, but they didn’t feel good about it. The classes caused problems for Larry & Tammy and so they struggled with their marriage. They had made Tammy one of their assistant leaders. At one time, the main person called Tammy, while their family was having Family Home Evening and discussing the problems they were having since going to and being involved with these classes and people. He said “What is going on at your house?” It scared Tammy as she felt this was coming from the devil. Tammy said that the man would never look into her eyes, so she forced him to and she said it was like looking into the eyes of the devil. It scared her so bad that she quit and they left that atmosphere. I’m not sure what else happened there.
Shellie worked at McDonalds and then waitressed at an Assisted Living Center. Mike and David ended up working there too. Two weeks before we were to move back to Utah, Shellie met Roy at a single adult dance. He had just returned from his mission and was staying with his sister, Carolyn, and her family who lived in Mesa. She introduced herself to him and introduced him to others. They started dancing and he asked to take her home. She had come with a friend, so the friend was ok with it and drove home alone. From that time on, Shellie and Roy were together as much as possible. Even while we were packing to move, Shellie was water skiing with Roy and his family. Mike & David didn’t think it was fair that she didn’t have to be home helping us pack. It probably wasn’t fair, but life isn’t fair.
Ken hated the idea of me working, he had never wanted me to work outside the home, but I had no choice at that time - so this contributed to his depression. Other things added to his depression - Ken had been called to be a counselor in the Bishopric in our ward and Larry had had a fit because he told Ken he needed to spend all his time getting the business to work, and shouldn’t have accepted the call to be in the Bishopric. Ken told him that he had covenanted to give his time, talents, etc., to the Lord and he would do it when he was asked. Larry was upset about this and even talked to me about it. I agreed with Ken and I told Larry so. Ken finally did talk to the Bishop about it and was released. That was really hard for Ken as he didn’t feel right about it. Another problem was it was dog eat dog in the construction business in Arizona. Guys were coming from all other states because the word was out that building was doing great in Arizona. Many didn’t have a license or insurance and would just work out of their trucks - so would underbid Ken and get the jobs. Even when he did the jobs, many wouldn’t pay him or their checks would bounce. It was really hard, so I could understand why Ken was so depressed - but it was really hard on me with him that way. I fasted and prayed, I talked to the Bishop, our home teachers, and finally Scott came home from school really excited about a lady who had come and gave a presentation to them on positive thinking. I got her name and address from the school and found out she lived in Mesa. I called her and also found out that she did counseling sessions. She was a member of the church, her husband had cancer and she had turned to the Lord for help and she felt he had really blessed her. She wrote two books and had tapes made. I purchased them and had Ken come to counseling sessions. He went, but didn’t get much out of them because of his attitude. I went with him and thought they were great. I have used the books and tapes several times to help other people - I have loaned them out.
I finally was beside myself and told Ken he had to snap out of it because I couldn’t take much more of it. He asked me if I would be willing to move in with his mother in Utah.  It had five bedrooms. Ken had suggested that before, but I would never agree to it because I didn’t feel I could live with his mother. She was a good person, but completely opposite from my mother and how I had been raised. She wasn’t loving and caring to our children like my mother was, she did love her children, in fact, she thinks they are about perfect. That’s how most mothers are I guess, but I’m sure she thinks she loves her grandchildren, but she doesn’t show it. She is critical of them and expects way too much from them. She doesn’t act how I feel a grandmother should act to her grandchildren. She is an emulate housekeeper, and so having a clean house was what was most important to her. She told me that I should clean above my doors and the mopboards every time I mop the floor and that I should mop the floor 2 or 3 times a week. Well, I wipe up the floor when something is spilled or when it needs it, and I mop it on Saturdays, but I don’t clean the mopboards and above the doors that often. I do it when I see it needs it and when I have the time. Having a immaculately clean house is not my mom’s priority, her family and other people are. Mom isn’t a good housekeeper. She liked a clean house so I cleaned it for her a lot, but she couldn’t seem to keep it clean. She would hardly ever put things away after she had used them. I have tried to have a balance. I like a clean house too, but it isn’t my number one priority. My family, the church, and friends come above it - at least most of the time.
I would rather have wanted to move in with my Mom & Dad, but in talking to Mom, she was excited about having us do that, but when I talked about her getting rid of some of her things to make room for ours, she couldn’t do it. I was sure that would be the case as Mom is a horter, and she can’t get rid of anything.
I was so desperate at this time that after Ken asked if I would at least fast and pray about it, I did. I received a good feeling that we should do it and so I trusted in the Lord, we called his mom, she agreed and we moved up. It was hard to leave my beautiful home, area and friends, however. I had decorated the house, had my friend, Molly, help me make drapes for the windows in the family room, dining room and large living room. Ken made boxes and we covered them with the same material and trimmed them with the gold cord we used as tiebacks for the drapes. He fastened them to the walls above the windows. They looked beautiful. I was able to buy this material in bulk at a factory outlet store. It looked like linen. They looked beautiful. We bought sheers to put behind them. I made curtains, drapes, bedspreads, etc. for our bedroom and the other bedrooms. When the realtors took perspective buyers through our home, they told them that we had “custom drapes”. I guess we did. The realtors said these were a big selling point. It was a beautiful home, the nicest I have had and all our homes have been nice. Ken asked Larry if he wanted the house as he had helped us with the down payment. He said no, so we talked to a realtor in our ward that listed it and sold it. We made enough to pay for the big moving truck and the gas to move us up. It seems like we even borrowed some from the children. It was a caravan moving up. We had mom & dad’s camp mobile, the big truck, and 2 cars. Ken drove the big truck, Mike, David & Shellie each drove a vehicle.
We had two cats here in this home in Mesa, and we couldn’t take them with us to Ken’s mother’s house so Ken had Shellie take them to the pound when we moved. They were so upset and one got under the car seat and Shellie had to drag it out. It was really an ordeal for Shellie.
1986 Christmas letter
This past June, we made another move. We had lived in Firth, Idaho for two years and loved it there (except for the long, cold winters.) We lived near the Snake River, and it was so beautiful with all the trees, bushes, and freshly plowed fields in the spring or late fall, or potatoes, hay, or grain growing in them during the spring and summer months. We had wonderful neighbors that we grew to love – so it was very heard to leave them. Also, a great ward where we had lots of opportunities to grow and serve. Our children sure hated to leave their good friends, and the great life in the country. They went to small schools so had opportunities in sports and all other areas which they desired. During the summer and after school, the boys could get part-time jobs working for the farmers. They liked to ride their motorcycles, or go fishing and hunting during their free time, while Shellie would be dating, doing things with her friends, or just curling up with a good book.
Ken went from farming (managing the Grantsville Stake Welfare Farm) in Grantsville, Utah to back into the building profession when we moved to Idaho. He also sold insurance part time. The harvest in 1985 wasn’t good for the farmers, and since the economy revolves around the farming, the area became depressed. Actually, this was their 3rd bad year so many were really struggling or going under. People couldn’t afford to build new homes or do remodeling, so Ken looked for work elsewhere. Our good friends, Larry & Tammy Braithwaite, whom Ken has been in business with before, live in Mesa, Arizona. They had visited us a few months earlier, and told us that building was really booming in Arizona, and Larry was doing really well as a contractor. Ken left in February to stay with the Braithwaite’s and work down there until school was out. During this time Larry offered Ken to go into partnership with him. Not knowing what else to do, and since it was such a good offer, we moved down in June.
The summer was hot (as you can imagine here in Arizona), but our homes and all the businesses are air-conditioned, and everyone swims a lot. We bought a nice home, and live in a good ward and neighborhood, so we’re happy here too. We had a good summer. Larry & Tammy have a boat, jet skis’ and a cabin in the mountains so they took us with them where our families could renew their friendships and have a good time.
People have been coming here from all over the country to find work, so there is a lot of competition for the jobs. So far, the work is still coming in and they have kept fairly busy. We hope and pray it will continue to do so.
The growth here in Mesa is almost unbelievable. Our ward had almost a thousand members by the time we divided three weeks ago. Ken is now in the Bishopric of our new ward, and I am in the Relief Society Presidency. David isn’t too happy about the division because he is now the only active priest in our ward. We have a fairly young ward so we have a big primary and small M.I.A. It seems to be a great ward; however, the members are excited to be divided and able to hold positions. In our old ward, there were too many people and not enough positions.
Mike is staying with some good friends of ours in Firth as he wanted to remain there for his senior year of high school, and be able to play football. He didn’t feel he’d have a chance here at Mountain View High with the student body of 3,000 compared to 300 in Firth. Mountain View is a great high school, though, and David has adjusted and really likes it. Scott goes to Poston Jr. High, and Jeff to a new elementary school just blocks from our home. He rides his bike and enjoys the school. He’s in the third grade. Shellie had a tough time adjusting to BYU last year. It was overwhelming coming from such small high schools as Grantsville and Firth, but this 2nd year, she has adjusted and loves everything about it – well, maybe not all the homework. She had several boyfriends and opportunities for marriage, but she has a goal of going to Israel with BYU on the Travel Abroad Program so if she earns enough money, she plans to go with them next year. We’re excited for her and hope she can. Her major in college is Elementary Education.
Our oldest daughter, Sandi, her husband, Dave, and their two little daughters, JaNae and Chelci, still live in Grantsville and we miss not being able to see and be with them often. We went up to Utah for Thanksgiving so we could have our family all together and be with our parents and loved ones, and we had a wonderful time.
Ken’s Mom, Sandi and the little girls were here for a visit during the summer, also my brother Terry and his family from Alaska came. My parents came down during October and will come again after Christmas to stay awhile and get out of the cold in Utah. We are looking forward to them coming.
Ken and I were talking the other day about our many moves and the experiences we’ve had and the great people we’ve met, so even though our life thus far, hasn’t been too profitable financially, we have enjoyed a good life and we decided we wouldn’t trade it if we had the chance to do it over again. (I read this to Ken, and he said “Well, maybe I would change some of it.) Our life has been exciting, (most of the time) and we’ve had lots of wonderful opportunities and experiences. Ken and I love each other, our special children, the gospel, our Heavenly Father, and his son Jesus Christ, our wonderful parents and brothers and sisters, and all our friends.


--- layout: post title: ">Certified Architect!" date: 2008-03-24 07:35:00.000000000 +01:00 categories: [] tags: [] status: publish type: post published: true meta: blogger_blog: andreasohlund.blogspot.com blogger_permalink: "/2008/03/certified-architect.html" dsq_thread_id: '299892612' author: login: andreas.ohlund email<EMAIL_ADDRESS>display_name: Andreas Öhlund first_name: Andreas last_name: "Öhlund" ---
>
In September last year I started the "Certified Architect" course held by Dataföreningen. This is by far the most extensive course I've attended since university. To get your certificate you have to complete 6 x 2 days of lectures and seminars spread over half a year with self studies in between. And finally you're required to write an IT-related paper (more on this in an upcoming post). The course finished last week so now I can call my self a "Certified Architect".
It took a lot of effort but it was definitely worth it. The thing I will remember most was all the interesting discussions with my 30 fellow architects. Overall it has been a great experience and I can really recommend it if you're interested in IT-Architecture!


GODZILLA A film review by Mark R. Leeper
Capsule: This film has little to do with the Japanese monster Godzilla.  Most of the thrills are really warmed-over JURASSIC PARK. Matthew Broderick is wasted, but Jean Reno has some nice moments. The comic approach too often falls flat and does little for the story. Rating: 4 (0 to 10), low 0 (-4 to +4)
In 1954 there was an anti-American uproar in Japan. A Japanese fishing boat had unknowingly caught fish contaminated by an American nuclear test. The fishermen had been sickened but not in time to stop the fish from going to market. Japanese newspapers called the incident another American atomic attack on Japan. The Toho film company took outrage from this incident as inspiration. That combined with the recent successes of the film THE BEAST FROM 20,000 FATHOMS and the re- release of KING KONG inspired them to make their own monster movie. This was the bleak and very angry film GOJIRA. In the story Gojira was a mythical beast identified with a 200-foot radioactive dinosaur who comes out of the Pacific. Made on a very small post-war budget, it very ingeniously stretched some inexpensive special effects to massive effect. Some of the sets initially used wax miniatures of large structures to save money. Under harsh studio lights these props wilted and melted. As an inspiration an aerosol spray was added to the hand puppet that was Gojira's head together with the wilt effect combined so Gojira had breath that would fry chicken.
American film entrepreneur Joseph E. Levine saw GOJIRA and seemed oblivious to the anti-American tenor of the film. He crudely added additional footage with American actor Raymond Burr. The name "GOJIRA" probably sounded too Japanese for a country that had so recently been fought a vicious war with Japan, so the name of the monster was slightly modified to be less Japanese sounding but to still fit the same lip movements. The resulting film was redubbed GODZILLA, KING OF THE MONSTERS. The Americans turned this little anti-American film into a big international success, the first such success that there had ever been in the Japanese film industry. Godzilla has remained an enduring character in Japanese film, even as the character has been repeatedly modified. Two series of monster films have been built around him. Finally it was decided little more could be milked from the character, and Toho killed him off and licensed the copyright to be used by other studios. Roland Emmerich who made the films STARGATE and INDEPENDENCE DAY apparently wanted to do his own giant monster film. No name they could give their creature would have the marquee value of calling their beast Godzilla.
While the new Godzilla may indeed have been inspired by Toho's monster, the thing that they have ended up with has more differences than similarities. The new Godzilla is a mutant marine iguana owing its unusual genetics to French nuclear testing in French Polynesia. (Incidentally, there are no marine lizards in French Polynesia. The only marine lizard in the world is the marine iguana, and it is found only in the Galapagos Islands.) The creature, who would appear to be about a hundred feet high, with powerful enough hind legs that it walks bipedally, though bent over. The massive creature destroys a number of boats on its way from Polynesia to New York City, fulfilling a mission of his own.
Called in to investigate is Dr. Nick Tatopoulos (Matthew Broderick), an expert in atomic mutation called from a three-year study of earthworm mutation at Chernobyl. Nick follows in the wake of destruction left by the never-seen titanic beast destroying ships. Also following in the wake seems to be a sort of French secret agent, Philippe Roche played Jean Reno of LEON (in the US: THE PROFESSIONAL) and of MISSION IMPOSSIBLE.
A full scale Godzilla movie with the sort of quality special effects that the Japanese could not afford to lavish on the film was, at least for me, an exciting idea. Unfortunately, this was not the film I was hoping for. The approach of GODZILLA is intended to be in large part comic, but only Jean Reno manages to make the humor really funny. Michael Lerner plays New York City Mayor Ebert and is made up to look like Roger Ebert. His assistant is Gene and looks just enough like Gene Siskel for us to realize that that is the point of the joke. But the joke just falls flat as often as it is used. As with INDEPENDENCE DAY there are several scenes that are homage to previous films, also just not very amusing. The film painfully lacks logic. People do some totally unmotivated actions to keep the plot going, though it often slows to a snail's pace. Or the plot will move forward by contrivance. Nico suddenly get the urge to do a very specialized chemical test on Godzilla's blood. It turns out he is looking for a result he apparently had no reason to suspect and which on the face of it seems impossible. But of course it turns out to be just the key chemical test to move the plot forward. Many of the effects and the thrill scenes are borrowed directly from JURASSIC PARK. The love story awkwardly thrown into the mix is totally superfluous. The empty plotting and failed humor attempts are certainly not new to Godzilla films, but it was hoped that they would be left behind with the low- budget special effects flaws.
The Japanese I have talked to have been anxious to see what GODZILLA was to be like with good effects and a serious plot. I am sorry to say that I expect that they will be disappointed. I rate this one a disappointing 4 on the 0 to 10 scale and a low 0 on the -4 to +4 scale.
Mark R. Leeper<EMAIL_ADDRESS>Copyright 1998 Mark R. Leeper
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews