Utilities for turn-based games
It is recommended that you read the Get Started tutorial before progressing with this tutorial.
Turn-based games often require more detailed control over which nodes that units can traverse as well as the cost for traversing those nodes, which may vary between units. On the other hand maximum pathfinding performance is not always needed since most units will be stationary at any one time.
It is possible to update all movement costs and similar attributes for nodes in the graph before every path request however this is not a particularly clean solution so this package provides some other ways to do this.
If you need even more control you can take a look at the ITraversalProvider section.
Blocking nodes
The most common scenario is that one wants to block certain nodes from being traversed by some units but not by others. For example in a turn based game one usually want to prevent units from standing on the same tile, however a unit should obviously not be blocked by itself.
For this purpose the BlockManager component and the accompanying SingleNodeBlocker component exist. The SingleNodeBlocker is intended to be used as an easy way of blocking specific nodes where each SingleNodeBlocker component blocks exactly one node. The BlockManager component will keep track of all the SingleNodeBlocker components and allows the creation of TraversalProvider instances which can be used in paths to specify additional nodes that are blocked.
A separate example of this can be viewed in the example scene called "Turnbased". This example scene depends on pro features however so it is not included in the free version of the package. The features mentioned in this tutorial do not require the pro version.
In this tutorial we will create a new scene and a few scripts to test the API.
Create a new scene and save it in your project, name it "TurnBasedTest" or whatever you feel like. Add a new GameObject and name it "BlockManager" then select it and attach the BlockManager component to it.
Now add a sphere and place it at (1.5, 0, 2.5). This will put it right in the center of a node. Add the SingleNodeBlocker script to it and assign the BlockManager component we created earlier to the "manager" field on the SingleNodeBlocker component. Make sure you delete the collider on the sphere because otherwise the sphere will be detected as an obstacle anyway and we want to use the SingleNodeBlocker for that. Create another GameObject and name it "A*", then add the AstarPath component to it (Menu bar -> Pathfinding -> Pathfinder). You can add a large plane to the scene if you want, just to have something to have as a ground plane. Add a Grid Graph to the AstarPath component and set the "Unwalkable when no ground" setting to false. If you click the Scan button now you should see a small empty grid with a single sphere. Note that the sphere does NOT block any node in the graph by itself.
Now we want that SingleNodeBlocker to actually block some position, so create a new C# script named "BlockerTest.cs" and add this code:
using UnityEngine;
using System.Collections;
using Pathfinding;
public class BlockerTest : MonoBehaviour {
public void Start () {
var blocker = GetComponent();
Add that new script to the sphere that we created earlier. When the game starts, that script make the SingleNodeBlocker component tell the BlockManager that it now occupies the node at that object's position. This is not enough however because no path knows that a node has been blocked yet.
To actually calculate a path we will create a new script called "BlockerPathTest.cs" which should contain this code:
using UnityEngine;
using System.Collections.Generic;
using Pathfinding;
public class BlockerPathTest : MonoBehaviour {
public BlockManager blockManager;
public List obstacles;
public Transform target;
BlockManager.TraversalProvider traversalProvider;
public void Start () {
// Create a traversal provider which says that a path should be blocked by all the SingleNodeBlockers in the obstacles array
traversalProvider = new BlockManager.TraversalProvider(blockManager, BlockManager.BlockMode.OnlySelector, obstacles);
public void Update () {
// Create a new Path object
var path = ABPath.Construct(transform.position, target.position, null);
// Make the path use a specific traversal provider
path.traversalProvider = traversalProvider;
// Calculate the path synchronously
if (path.error) {
Debug.Log("No path was found");
} else {
Debug.Log("A path was found with " + path.vectorPath.Count + " nodes");
// Draw the path in the scene view
for (int i = 0; i < path.vectorPath.Count - 1; i++) {
Debug.DrawLine(path.vectorPath[i], path.vectorPath[i + 1], Color.red);
This script will calculate a path every frame from its own position to the target's position while using a TraversalProvider that was created to make the path avoid any obstacles in the specified list.
The BlockManager.TraversalProvider has 2 modes. AllExceptSelector and OnlySelector. If the AllExceptSelector mode is set then all nodes blocked by SingleNodeBlocker components will be treated as unwalkable except those in the specified list. This is useful if you for example want a unit to avoid all units except itself, or maybe you want it to avoid all units on its own team but no opponents. When the OnlySelector is set then all nodes which are blocked by SingleNodeBlockers in the list will be treated as unwalkable. For performance reasons it is a good idea to keep the selector list relatively small.
Create a new GameObject with the name "Target" and position it at for example (3.5, 0, 3.5). Also create a GameObject named "Path Searcher" and add the new BlockerPathTest component to it. Move the object to the position (-2.5, 0, 3.5) and assign the "Block Manager" and "Target" fields. Now press play, you should see a red line that goes from the "Path Searcher" to the "Target". Note that it passes through the sphere as if it was not there. This is because we haven't added it to the "Obstacles" list on the searcher.
If you stop the game and then add the sphere's SingleNodeBlocker component to the list and press play again you should see that it is now being avoided.
Now we could expand this easily to for example create a number of red spheres and a number of blue spheres and make two searchers where one considers just the blue spheres as obstacles and one considers just the red spheres as obstacles. You can see this in the video below.
The above system works for simple cases and is pretty easy to use. However for more complicated cases it is better to use the ITraversalProvider interface. Any path can be assigned a traversalProvider which has two methods bool CanTraverse (Path path, GraphNode node);
uint GetTraversalCost (Path path, GraphNode node);
The CanTraverse method should just return true or false depending on if the unit should be able to traverse that node. The GetTraversalCost method should return the additional cost for traversing that node. By default if no tags or penalties are used then the traversal cost is zero. A cost of 1000 corresponds roughly to the cost of moving 1 world unit.
As a reference, the default implementation would be
public class MyCustomTraversalProvider : ITraversalProvider {
public bool CanTraverse (Path path, GraphNode node) {
// Make sure that the node is walkable and that the 'enabledTags' bitmask
// includes the node's tag.
return node.Walkable && (path.enabledTags >> (int)node.Tag & 0x1)!= 0;
// alternatively:
// return DefaultITraversalProvider.CanTraverse(path, node);
public uint GetTraversalCost (Path path, GraphNode node) {
// The traversal cost is the sum of the penalty of the node's tag and the node's penalty
return path.GetTagPenalty((int)node.Tag) + node.Penalty;
// alternatively:
// return DefaultITraversalProvider.GetTraversalCost(path, node);
By implementing a custom ITraversalProvider you can change the penalties however you want to suit your game's rules. Note that the grid graph for performance reasons removes all connections to unwalkable nodes, so even if you would remove the "node.Walkable &&" part in the traversal provider a path on grid graphs would still not traverse unwalkable nodes. You can only make nodes unwalkable, not make unwalkable nodes walkable again.
If multithreading is enabled the ITraversalProvider's methods will be called from a separate thread. This means you cannot use any part of the Unity API (except things like math) and you need to make sure your code is thread safe.
When you have implemented an ITraversalProvider you can assign it to a path like was done above. var path = ABPath.Construct(...);
path.traversalProvider = new MyCustomTraversalProvider();
You can find another example of how to use the ITraversalProvider here: CircuitBoardExample.cs


rails
(103,116 views)
Authorization in Rails
Here's a review of several authorization add-on's for Rails. Whereas "authentication" refers to managing user login credentials, "authorization" is about managing role-based permissions to access specific areas of your site. [May 15, added Super Simple Authorization to the list]
Not everyone is clear on the distinction between "authentication" and "authorization". Basically authentication manages a list of users and their sessions, handles the login process by checking credentials (e.g. password), and registration. You can then restrict access to areas of your site based on whether a user is logged in or not. For Ruby on Rails applications, you can get authentication with the ActsAsAuthenticated ("AAA") or RestfulAuthentication plug-ins (among others), or build your own.
Authorization adds granularity. In addition to simply asking if you're logged in, different users can have different permissions , or "roles". Thus normal Users may be able to post comments, Moderators may be able to edit/delete comments, and Administrators may have full admin capability such as the ability to modify/remove users.
Here is a survey of a number of authorization add-ons available.
Super Simple Authorization
I recently watched the RailsCast #20 "Restricting Access" and decided to add it to this article. So here it is, at the top of our list.
If you have a User table (using AAA or RA) you can extend the table with an "admin" attribute, and then query current_user.admin? to test for authorization. Simple enough. You could extend this idea by having different booleans for editor, moderator and other roles you may require.
The screencast goes even simpler. If you really only want to restrict access to specific admin functions on an otherwise public site, you may not even need a Users table and registration at all. Instead your login page just asks the user for a password, which you store in the current session. Then you use an admin? method (to the application controller) which compares this against a hardcoded password.
Authorization Recipe
"Authorizing Users with Roles", Recipe 32 in Rails Recipes by Chad Fowler. (Published June 2006).
Builds from an existing User model, as described in Recipe 31 "Authenticating Your Users", or generated with AAA.
This recipe builds two new models for Roles and Rights, such that Users have Roles, Roles have Rights: (HABTM = has_and_belongs_to_many)
 - User HABTM roles
 - Role HABTM users
 - Role HABTM rights
 - Right HABTM roles
A right specifies a Controller name and Action name. Add a before_filter in your controllers to check_authorization, which determines whether the current user has rights to the incoming action call. If not he's redirected to an error page.
Simple enough, and bare bones. The implementation is not RESTful but that wouldn't be hard to change. More complexity is left as an exercise to the reader.
Simple_access_control
_URL_
The simple_access_control plugin is basically the same as described above by Chad Fowler, offered in a plug-in, if you prefer. Tests are provided.
acl_system2
_URL_
_URL_
(Revision 146, February 2006, very low activity, no forum)
Like the aforementioned, the acl_system2 plugin provides simple declarative authorization for protecting controller/actions using roles. It provides a flexible permissions string parser that appears quite convenient. For example, a controller can declare:
access_control [:new, :create, :update, :edit] => '(admin | user | moderator)',
:delete => 'admin'
while allows users, moderators, and admins to create and update items, but only admins to delete items. You can specify callback methods for redirecting or doing other stuff (e.g. setting flash messages) when access is permitted or denied. A helper method, restrict_to, is provided for views, e.g.
<% restrict_to "(admin | moderator) & !blacklist" do %>
 <%= link_to "Admin & Moderator only link", :action =>'foo' %>
<% end %>
ActiveACL Plugin
_URL_
_URL_
_URL_
(Release 0.2.1, December 2006, very low activity)
ActiveACL (as in active control lists) is based on PhpGacl and claims to be highly scalable, having optimized database access and caching. Permissions range from simple (controller/action) to object level, are assigned at runtime, and may be grouped and inherited.
To me, the documentation and implementation seems overly complicated and confusing. ActiveACL creates and manages ten (10) tables in the database. The phpgacl manual is helpful though. Here's how I think it works (mapping their terminology to more common words):
Let's say we group our users ("requesters") into roles ("groups"). Each user may or may not access different objects ("targets") on the site. Targets can be models, individual objects in a model, controllers, and individual actions in a controller.
We assign access restrictions to each role group, and/or to individual requesters; those lower in the tree override permissions higher up. So if "John" is an "Moderator" with access to all Articles, we can keep him from accessing a specific article (e.g. "Privacy Policy") by creating an access-denied for that one instance.
ActiveACL adds another table, called Section which is simply a way of categorizing access objects for the user interface (e.g. "Rooms", "Floors", "People") but have nothing to do with actual groups in the tree. (This seems to add unnecessary complexity because our models most likely already have attributes for organizing large data sets).
ActiveACL can be used not just for managing user groups/roles, but other application domains like server permissions, or maybe even modeling of engineering constraints.
Authorization Plugin
_URL_
_URL_
(Version 1.0, September, 2006, low activity)
The Authorization plug-in provides role based authorization, along with a number of Railsey sugar like dynamic methods and a little grammer parser that potentially enhances the programming experience and readability of your code (a la domain specific languages, DSL). It is compatible with ActsAsAuthenticated plugin out of the box. Documentation is comprehensible, and good test coverage is provided.
User objects just need to implement a has_role? method, using the provided acts_as_authorized_user. And models then use acts_as_authorizable.
Roles can be authorized for the entire application, a model class, or a specific object. The plugin provides a way of checking authorization at the class or instance method level using permit and permit? methods. It also provides english-like dynamic methods like "user.is_manager_of project" (where "user" acts as authorized, "manager" is a role, and "project" is an authorizable model). You can specify how control is redirected if authorization is denied.
Roles are set by has_role and accepts_role methods, with optional scope (such as user.has_role 'site_admin' , or user.has_role 'moderator', group). Models set roles for specific users (such as project.accepts_role 'manager', user). Then, dynamic methods let you say things like user.is_manager_of? project
Cool!
Goldberg
_URL_
_URL_
(Version 0.2.0, April 2007, active)
The Goldberg plugin is an example of a high level generator that includes both authorization and authentication. It's like a framework built on top of the Rails framework, but actually sits beside it because you continue to develop your Rails app as usual, Goldberg does not interfere. You don't have to write any Goldberg-specific code in your application or use its API.
You define Roles (which can be has subgroup hierarchy), and assign permissions to the roles. A permssion is a controller/action that the role may access. Then you assign users to roles.
Goldberg installs as application-wide before-filters (if not exactly, at least conceptually) that examines the routed controller/action against its database of permissions ("credentials") for the current logged in user. Credentials are stored in the current session minimizing the need for database access between page loads.
That's just the beginning. Goldberg also provides a little hierarchical page manager (approaching a CMS) for static content; a menu manager for redirecting to pages or any arbitrary controller/action; and a theme system for dynamically re-skinning your application. It does not impose a specific markup on you, however. Finally there is an API for custom access control within your application.
Defense in Depth -- Model Level Security
_URL_
_URL_
(Release 0.0.9 November, 2005, inactive)
Second level of defense. You still use your views to hide links to unauthorized actions, and set before_filter's in controllers to prevent unauthorized action methods from executing. But should someone get through, the model can also provide security.


text:
Modelling Language Implementation on ADOxx
In this section we focus on the implementation of the model structure/modelling language in ADOxx. As a starting point the specification and definition of a modelling method, as defined in [Karagiannis2002], is used to set the modelling language in context with the modelling procedure, mechanisms and algorithms, resulting in a modelling method. In the following subsections we focus on the modelling technique, more precisely on the modelling language consisting of:
- Notation: the representation of a modelling construct (e.g. graphical)
- Syntax: the specification of a modelling construct
- Semantic: the definition of the meaning for a modelling construct
A modelling construct can be a (concrete) class, relation class, modeltype or attribute.
Generic Modelling Method Framework
Peforming a further drill-down into the modelling language, the following concepts are of interest from an implementation perspective:
- Classes and Relations: as the base modelling constructs for every modelling toolkit
- Attributes on Instance and Class Level: to provide means to specify instance objects or define classes accordingly.
- Special Attributes on Instance and Class Level: to enable ADOxx specific functionality, such as attribute-dependent graphical notation.
- Attribute facets: configuration of attribute appearance and behaviour
- Modeltypes and model type attributes: similiar as for classes and relations on the model type level.
Meta Model of Meta Modelling Language
Karagiannis, D., Kühn, H.: „Metamodelling Platforms". In Bauknecht, K., Min Tjoa, A., Quirchmayer, G. (Eds.): Proceedings of the Third International Conference EC-Web 2002 – Dexa 2002, Aix-en-Provence, France, September 2002, LNCS 2455, Springer, Berlin/Heidelberg, p. 182 ff.
Available online at _URL_
Kühn, H. (2004). Methodenintegration im Business Engineering. PhD Thesis, University of Vienna

source: openbmb/Ultra-FineWeb


text:
BROOKINGS, S.D. – South Dakota State University Extension encourages producers to attend The Northern Plains Forage Association annual meeting and educational seminars on Dec. 1 in Brandon, South Dakota.
The event is from 11:30 a.m. to 4:30 p.m. at the Holiday Inn Express, 1103 N. Splitrock Blvd. Lunch is provided. Presentations will begin with University of Wisconsin-Madison professor emeritus and forage expert Dan Undersander on alfalfa leaf loss and its effect on hay yields and quality.
"Alfalfa leaf loss is often front-of-mind for high-quality dairy hay producers and should be a priority for other livestock forage growers, as well. It's an age-old issue that we continue to learn about," said Sara Bauder, SDSU Extension Forage Field Specialist. "We're excited to host Dr. Undersander to discuss the new research information surrounding alfalfa leaf loss as it affects forage yield and quality."
Other topics include using near-infrared spectroscopy (NIRS) to evaluate grass forages, using alternative forages in grain rotations and fitting soil health into forage production. Bauder said topics are carefully chosen to provide current, relevant information to producers.
"Grasses are as vital a forage resource as any other crop, and soil health is a buzzing topic in the agriculture industry," Bauder said. "Alternative forages are a great opportunity to broaden rotations and start moving to a whole-systems approach."
Presentations will last from about 12:30 p.m. to 4 p.m., with the Northern Plains Forage Association business meeting following the speakers. Continuing education credits will be available to certified crop advisors.
The Northern Plains Forage Association is a partnership of forage growers and industry partners, including SDSU Extension, formed at the beginning of 2023. For more information, visit the Northern Plains Forage Association Facebook Page @NPForage.
Registration is preferred by Nov. 20. Northern Plains Forage Association Members can attend for free. Tickets for non-members are $10.
For more information, contact Sara Bauder, SDSU Extension Forage Field Specialist.

source: m-a-p/FineFineWeb


text:
Can Grow Up to 48 Inch Deep Roots
Cutting Edge Grass Seed is designed to grow roots up to 48 inches deep. This deep, groundwater-seeking root structure gives Cutting Edge Grass Seed more endurance during dry conditions.
The EPA estimates that, in the United States, landscape irrigation accounts for nearly one third of all residential water usage, totaling over 7 billion gallons per day.* But an established, deep root system is one of the best ways to avoid constant watering and increase the chance of grass survivability.
Once Cutting Edge Grass Seed is fully germinated, you should stimulate additional root growth to achieve a healthy root system by giving your grass enough water to survive but not too much. Less frequent, deeper watering encourages your roots to seek water. As drought occurs and the water table drops beneath the soil, the roots will seek groundwater in deeper soil containing more moisture. Be sure to monitor the health of the grass as you train the roots to grow deep.
Click here for complete instructions on stimulating additional root growth.
var _gaq = _gaq || ; _gaq.push(['_setAccount', 'UA-25261867-1']); _gaq.push(['_trackPageview']);


text: This statistic shows the growth of the real gross domestic product (GDP) in Spain from 2003 to 2013. GDP refers to the total market value of all goods and services that are produced within a country per year. It is an important indicator of the economic strength of a country. Real GDP is adjusted for price changes and is therefore regarded as a key indicator for economic growth. Spain's real GDP growth in 2011 was about 0.4 percent compared to the previous year.

source: HuggingFaceFW/fineweb-edu


text:
What does it do?: Kake soaps are vegan, using vegetable and plant glycerine and butters to clean, soothe, and moisturize the skin. Each soap utilizes a variety of high-quality ingredients for additional benefits whether it be skin healing, sinus or stress relief, or just for fun! This soap is unscented and gentle for those with sensitivities.
What does it smell like?: It is unscented, but does have a mild clean "soap smell."
What does it look like?: These bars are circular with one flat end and one end molded into a beautiful flower inspired shape. The flower end is layered with white soap, and the flat end is layered with clear glycerin soap.
What's the packaging like?: Kake bar soaps are packaged in shrink wrapped, food-safe plastic to ensure that each bar is protected from excess moisture and keeps the longest possible shelf life. Each bar is labeled with brown craft paper sticker labels, and is approximately 4oz. **Please note that if you choose your soaps to be unpackaged, it may cause the soaps to collect extra moisture and decrease shelf life.
Joy in Simplicity Bar Soap (Unscented)
All Kake soaps contain: Glycerin (vegetable), Sodium Cocoate (coconut oil and lye), Sodium Laurate (cleanser and emulsifyer), Sodium Stearate (vegetable-based soap material sourced from coconut and palm oils), Sodium Myristate (emulsifyer and conditioneroccurs naturally in vegetable fats and oils), Sodium Cocoate (fatty acid derived from coconut oil), Cocoa Nucifera (coconut) Oil, Elaeis Guineensis (palm) Oil, Helianthus Annus (sunflower) Oil, Sorbitol (plant-based sugar derivitave, used for additional moisturizer), Purified Water (aqua), Cannabis Sativa Seed (hemp) Oil, Titanium Dioxide (oxidised mineral used for white colorant).


text:
Microcontroller Based Substation Monitoring and Control System with Gsm Modem
In this paper, the authors purpose remote electrical parameters like voltage, current and frequency and send these real time values over GSM network using GSM modem/phone along with temperature at power station. This paper is also designed to protect the electrical circuitry by operating an electromagnetic Relay. This Relay gets activated whenever the electrical parameters exceed the predefined values. The Relay can be used to operate a circuit breaker to switch off the main electrical supply.


Cadabra
a field-theory motivated approach to computer algebra
simplify
Simplify the scalar part of an expression.
When expressions (or sub-expressions) involve scalars, simplification of such expressions can be 'outsourced' to an external scalar computer algebra system, at present either Sympy or Mathematica. The simplify algorithm finds all scalar sub-expressions and runs the simplification algorithm of one of these systems on them.
ex:= (\sin{x}**2 + \cos{x}**2) A_{m};
\(\displaystyle{}\left({\left(\sin{x}\right)}^{2}+{\left(\cos{x}\right)}^{2}\right) A_{m}\)
((\sin(x))**2 + (\cos(x))**2) A_{m}
simplify(_);
\(\displaystyle{}A_{m}\)
A_{m}
By default it will use the Sympy backend, but if you have compiled Cadabra on a system which has Mathematica installed, you can also switch it to use Mathematica instead, by using
kernel(scalar_backend="mathematica")
Copyright © 2001-2024 Kasper Peeters
Questions? _EMAIL_


text:
The Maryland State Department of Education Partnership with the Reginald F. Lewis Museum of Maryland African American History and Culture
The Maryland State Department of Education has formed a partnership with the Reginald F. Lewis Museum to write a K–12 state-wide curriculum. The objective of this unique partnership is to create a climate of understanding and appreciation supportive of Maryland African American history, culture and art. Through both museum-based and school-based interactive programs and in/outreach activities, the partnership curriculum will reach every Maryland student, in every classroom, in every school.
Reginald F. Lewis Museum, _PHONE_
830 E. Pratt Street, Baltimore, MD 21202
Offsite Teaching and Learning Resources
An African American Journey: A Resource for Learning the History of African Americans in Maryland and the United States
Welcome, Maryland Teachers
Here are examples of lessons created as a result of a partnership between the Maryland State Department of Education and the Reginald F. Lewis Museum of Maryland African American History and Culture. This high school curriculum is in the process of being written and piloted in order to communicate the historic and contemporary African American experience to all students and teachers in Maryland schools.
English Language Arts
If you should teach any of these lessons, please send your completed Lesson Evaluation Form to Rose Wiggins, the MSDE Liaison to the Reginald F. Lewis Museum of Maryland African American History and Culture at _EMAIL_.
High School Lesson Feedback Form
The Reginald F. Lewis Museum of Maryland
African American History & Culture (website)


A cross-platform functional programming language
Zen Programming Language
As a C++ coder, I often found myself writing repetitive (but necessary) code, and wondered if I could write a code generator for the boilerplate code, leaving me to write just the functionality. This grew into a larger effort, the result of which is Zen, a full fledged functional programming language that generates cross-platform C++ code and creates project files to debug and build the generated code.
Among other things, it has:
Please refer to the documentation below to install and get started with using Zen!
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


XmlReader.Create(wsp);
string text;
while (reader.Read())
{
text = reader.GetText();
System.Diagnostics.Debug.WriteLine(text + "");
}
}
}
For more information about these methods, see the example at MSDN: _URL_
Alternatively there are several thirdparty libraries (like: _URL_ or there is the ever present OLEDB or SSIS.
Parsing via OLEDB would be something like:
private static DataTable ParseOldDb(string physicalPath)
{
string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;data source='" + physicalPath + "';Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\" ";
string cmd = "select * from [sheet1$]";
var dt = new DataTable();
using (OleDbConnection cn = new OleDbConnection(conStr))
{
cn.Open();
DataTable schema = cn.GetSchema();
using (OleDbDataAdapter ad = new OleDbDataAdapter(cmd, cn))
{
ad.Fill(dt);
return dt;
}
}
}
JsonCamelCaseFormatter (hows that for an ironically cased title)
In the test web api projects I've been adjusting the formatting sligtly in the Startup file (configuration method):
var config = GlobalConfiguration.Configuration;
var xmlFormatter = config.Formatters.XmlFormatter;
config.Formatters.Remove(xmlFormatter);
var jsonFormatter = config.Formatters.JsonFormatter;
var JsonmediaTypeformatter = System.Net.Http.Formatting.MediaTypeFormatter.GetDefaultValueForType(typeof(JsonMediaTypeFormatter));
JsonSerializerSettings jsonSettings = new JsonSerializerSettings();
jsonSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
jsonFormatter.SerializerSettings = jsonSettings;
Its even appearing in umbraco now!
I was pleased to see the inclusion of the [JsonCamelCaseFormatter] attribute in umbraco (add to the class of a webAPI0.
umbraco 7.2 Custom Sections (part of developer section)
a bit of a custom section in angular (it doesn't do much), but it does show how to create a custom section in v7 with angularjs.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http.Formatting;
using System.Text;
using System.Web;
//using umbraco.businesslogic;
using umbraco.BusinessLogic.Actions;
using umbraco.interfaces;
using Umbraco.Core.Services;
using Umbraco.Web.Models.Trees;
using Umbraco.Web.Mvc;
using Umbraco.Web.Trees;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Web.WebApi.Filters;
using umbraco;
using umbraco.BusinessLogic.Actions;
// note that this relates to:
App_Plugins
+-+
–+-umbAltFileEditor (got from the plugincontroller attribute area name)
—-+-BackOffice
——-+ umbAltController (got from the tree attribute string alias)
[Tree("developer", "umbAltController", "umb alt controller")]
[PluginController("umbAltFileEditor")]
public class umbAltController : Umbraco.Web.Trees.TreeController
{
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
// check if we're rendering the root node's children
if (id == Constants.System.Root.ToInvariantString())
{
// empty tree
var tree = new TreeNodeCollection();
var path = HttpContext.Current.Server.MapPath("~/AngularJSViews");
var folder = new DirectoryInfo(path);
foreach (FileInfo fi in folder.GetFiles())
{
var fileitem = this.CreateTreeNode(fi.FullName, "-1", queryStrings, fi.Name, "icon-truck", false);
tree.Add(fileitem);
}
return tree;
}
throw new NotSupportedException();
}
protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings)
{
// create my menu item "Import"
var menu = new MenuItemCollection();
// duplicate this section for more than one icon
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
return menu;
}
}
package.manifest (/app_plugins/umbaltfileeditor/package.manifest):
{
javascript: [
'~/App_Plugins/umbAltFileEditor/BackOffice/umbAltController/umbAltFileEditorController.js'
]
}
angular controller (/app_plugins/umbaltfileeditor/BackOffice/umbAltController/umbAltFileEditorController.js):
'use strict';
(function () {
//create the controller
function umbAltFileEditorListController($scope, $routeParams, $http) {
//set a property on the scope equal to the current route id
$scope.id = $routeParams.id;
$scope.message = "fred1";
};
//register the controller
angular.module("umbraco").controller('umbAltFileEditorListController', umbAltFileEditorListController);
})();
Thanks in part to the work of:
_URL_
_URL_
_URL_
…. and I want to have a read of this one too:
_URL_
Blog at WordPress.com. | The Baskerville Theme.
Up ↑
Follow
Get every new post delivered to your Inbox.


text:
Here is the final logo design and identity package for Goshen Education Consulting. The logo mark is made out of overlapping books which form a star and a flower. The star represents guidance and enlightenment, and the flower represents growth.
Below are the other two logo design options we provided. In our discovery stage, the owner mentioned he had used the lighthouse as a symbol in the past and wanted to explore that option, so we came up with the logo on the left, which is a lighthouse combined with a Greek column. The column represents the educational industry, and the lighthouse represents the company and how it "guides" educational institutions to "enlightenment" through consulting. The logo design option on the right is simply a book with a bookmark, that when combined, forms the letter "G" for Goshen.


We've been working hard to provide credible assumptions on how we work out data. Click on the underlined figures to reach their sources.
Number of people living in the UK in 2011 is 62,300,000
Number of dwellings/households in the UK in 2011 was 26,300,000
Average number of people living per household is 2.36 (population divided by households), this does not take into account roughly 15,000+ people who live on the streets in the UK.
Number of roads/streets in the UK 260,000 based on the Open Street Map project stats. This is an approximate figure.
This allows us to deduce that there are 101 dwellings on average per road in the UK (26,300,000 dwellings divided by 260,000 roads).
There are 240 people living on the average road in the UK (62,300,000 people divided by 260,000 roads).


text:
the GAKKEN'S PHOTO ENCYCLOPEDIA "ANTS"
This illustrated book was published from the Gakushu Kenkyusha in 1979 as "ANTS" in a series of GAKKEN'S PHOTO ENCYCLOPEDIA. This book provided very good introductory information about ants with wonderful ecological photos and illustrations of ants and simple explanations.
To our regret, however, the book has long been unpublished. Therefore, under the condition that its use is only for educational enlightment, this book was entered in the "Color Image Database of Japanese Ants" and pulished as an introduction to myrmecology by obtaining special permission from Gakusyu Kenkyusha, Mr. Kuribayashi and others who were associated with the publication of this illustrated book.
In recording this book on the database, the text was inputted and edited by Imai, and the digital imaging processing and editing of the illustrations were performed by Tsukii from the originally printed illustrations using a scanner. Although the layout of the text and illustrations differ from the original text, as much care as possible has been taken to avoid changing the spirit of the original text.
Since a considerable period of time has elapsed since the last publication of this text, the Japanese names of ants and the taxonomic descriptions have been revised in part based on the latest research findings. Furthermore, this test was written originally as an introductory book for school chilldren and all of the Chinese characters omitted from the school textbooks were written in the Japanese cursive "HIRAGANA" characters. This appeared to make the sentences difficult to read and the meaning hard to understand for junior and senior school and university students and further, for ordinary readers who are the predicted users of this text. Therefore, ordinary words and technical terms were represented by Chinese characters and the reading was expressed by Japanese cursive characters in parenthesis () after the corresponding Chinese character.


When we build super-tall skyscrapers, those buildings are subject to swaying due to wind and seismic activity. They're designed for it, and some amount of movement is both safe and inevitable...but it can be really unpleasant for people in the upper floors. So what can engineers do to reduce this movement, but preserve the flexibility of the building?
Enter tuned mass dampers (previous coverage). TMDs are used in all kinds of things, from cars to power lines to spacecraft (!). They offer a counterweight that offsets vibration, counteracting the most troubling movement within a given structure.
Okay, so how do TMDs work? In this video from Practical Engineering, we get a great demo, including a small-scale build in the video-maker's garage to show the effects of a simple TMD system. Tune in and learn a bit of awesome engineering:
(Note: Bonus points for the googly eyes on the demo skyscrapers! If only we had those on real skyscrapers....)


text:
ASK A QUESTION Hi, What is there a difference between "Me gusta" and "Me gustan"?
What is there a difference between "Me gusta" and "Me gustan"? Is one use of the words for speaking properly and the other for casually speaking? Could you give me some examples how the two phrases would be used?
Gusta is used is a singular conjugation of the verb and requires a subject that matches it in number.
Gustan is a plural conjugation and requires a subject that matches it in number
Me gusta el libro
Me gustan los libros
Here is a link to the reference article for this topic Gustar like verbs
Your question can be answered by watching Lesson 1:6 of the Learn Spanish video series.
For now, I will tell you that the difference has nothing to do with being formal or casual. Rather, it has to do with the fact that one is singular and one is plural.
Me gusta means that something is pleasing to you. For example: "Me gusta bailar", which means dancing is pleasing to me. In this case, dancing is singular, so the third person singular conjugation of "gustar" is used.
The second example would be "Me gustan los animales." In this example, animals is plural, so the verb "gustar" is conjugated to the third person plural.
I know this is a very short explanation and I hope it helps. However, you would be much better off having Paralee explain it for you in the video. Believe me, she does a much better job.
They mean the same thing except one refers to a singular topic and one refers to a plural topic.
Me gusta la banana.
Me gustan las frutas.
That was the same question i had about 3 days ago.


text:
SEDIMENT YIELD FROM COASTAL LANDSLIDES BASED ON HISTORICAL DIGITAL TERRAIN MODELING: BIG SUR, CALIFORNIA
The California Department of Transportation (Caltrans) is exploring solutions to the difficulties they face with keeping slide-prone coastal Highway 1 open and safe while minimizing impacts to the MBNMS below the road. As a contribution to developing a highway management plan, and in order to advance the fundamental understanding of landslide and coastal processes along this stretch of coastline, a technique is developed to quantify the historical volume of sediment that enters the littoral system from coastal slope failures.
The technique uses aerial photography and digital photogrammetry to produce 3-dimensional stereo models from which digital terrain models (DTMs) are extracted. The terrain models are created from both recent and historical photography to produce both a 52-year mean lowering rate and the sediment yield from coastal landslides in terms of cubic meters per kilometer of coastline per year. Data for seven approximately 5-km-long sections of coastline along the Big Sur coast were processed and digital terrain models subtracted to determine the total sediment volume loss. The mean lowering rates vary significantly along the coastline, from as low as 2 mm/yr (+ 0.3 mm/yr) to nearly 80 mm/yr (+ 6 mm/yr). This variation is largely attributed to differing lithologies, and thus strengths, of the slope forming materials. Compressive strength data collected within the seven study sections correlate reasonably well with the volumetric loss data, although there is some scattering of the data. This scattering is most likely a result of the dramatic variation in the strength of the material within a particular rock type.


This is a PathfinderWiki Featured Article.Sources of art on this subject have been indexed.
An Ulfen warrior
The Ulfen (pronounced OOL-fen)[1] are a human ethnicity once feared across Avistan's coastlines for the fierce and merciless raiding they conducted in their longboats. Sometimes, they are referred to as Vikings, though this may more specifically be applied to Ulfen fighters and warriors.[2] These days have passed, but the Ulfen are renowned for their height and their prowess as warriors. Ulfen bodyguards are considered a highly desirable thing around the courts of the Inner Sea.[citation needed]
The Ulfen normally boast physiques larger than the average human with men normally standing no less than six feet. Ulfen have pale skin and their hair is usually either blonde, straw brown, or red and is normally braided by both men and women, although women's braids tend to be more elaborate. Their clothing is tailored for their cold environment, with fur being a commonly used material. They decorate their clothes with jewellery made out of horn or ivory and bronze and silver.[3]
The Ulfen people have been renowned for their abilities as raiders. Many people living along the western coast of Avistan boast a little Ulfen blood in them. Ulfen raiders began raiding the west coast of Garund as early as 1218 AR[4] and had advanced as far as the coast of Cheliax by 1975 AR.[5]
This spirit is far from gone. In recent years (4704 AR) the Ulfen Linnorm king, White Estrid, even managed to smash through a Chelish blockade at the Arch of Aroden to sail victorious into the harbour of Absalom, displaying the daring Ulfen spirit. [6]
There was a time when all the Ulfen people were part of the same nation, the Lands of the Linnorm Kings. Fourteen hundred years ago, the Lands of the Linnorm Kings stretched from the west coast of Avistan all the way to the borders of the Realm of the Mammoth Lords. Within this land lived all the Ulfen people until the coming of Baba Yaga. In 3313 AR, in less than a month her horde of blue-skinned trolls and cold fey split the Ulfen people between the free Ulfen of the Land of Linnorm Kingdoms and those enslaved within the new kingdom of Irrisen.[7]
An Ulfen warrior defeats a linnorm
Ulfen culture puts a high value on appearance despite the Ulfen reputation for savagery. The Ulfen of the Lands of the Linnorm Kings are sailors, traders, and occasionally raiders whereas the Ulfen of Irrisen are more raiders. The role an Ulfen is expected to fill depends on his or her gender, though the majority of Ulfen are farmers and labourers. Male Ulfen are most likely to become rangers or priests of deities like Torag, Erastil, or Gorum. Most have a sense of adventure as the frozen lands of the North do not generally foster the timid. Women are often druids or priestesses of Desna or Torag. A small amount of women also become Wind Sisters, Ulfen maidens who have tamed an aerial mount and use it to fly from isolated settlement to isolated settlement. They also form the first line of defence against aerial threats.[3]


text:
You can access the data of the people in your 'Inner Circle'. Following is the data you can access:
- Measurements – archive of all the measurements and calculated vitals.
- Health Card – all the information filled in the 'Health Card' of the person.
- Dynamics – statistics and graphs for all the vitals for any selected period.
To view the person's data, click their icon in the 'Inner Circle' of the 'Overview' screen. You will see a screen with a menu where you can select what to view.


text:
For those with access to IEEE Intelligent Transportation Systems online, PATH researcher Steven Shladover has written a 20 year retrospective of the organization. The abstract reads thusly:
The California Partners for Advanced Transit and Highways (PATH) Program was founded in 1986, as the first research program in North America focused on the subject now known as intelligent transportation systems (ITS). This paper reviews the history of the founding of PATH and of the national ITS program in the U.S., providing perspective on the changes that have occurred during the past 20 years.
Schladover explains well the significance of 20 years for the booming ITS field and some of the generational shifts that have occurred since its inception.


are always in the context of a transaction, even if you never issued BEGIN TRANSACTION. The transaction is defined by the statement that fired the trigger. This snippet illustrates:
IF @@trancount > 0 ROLLBACK TRANSACTION
go
CREATE TABLE ZombyWoof (a int NOT NULL)
go
CREATE TRIGGER ZombyWoof_tri ON ZombyWoof AFTER INSERT AS
 PRINT 'Trancount is ' + ltrim(str(@@trancount)) + '.'
go
-- BEGIN TRANSACTION
INSERT ZombyWoof (a) VALUES(8)
-- COMMIT TRANSACTION
go
DROP TABLE ZombyWoof
This prints Trancount is 1. If you uncomment the BEGIN/COMMIT TRANSACTION statements, you will find that the output is the same. That is, inside of the trigger you cannot discern whether the statement that fired the trigger is part of a multi-statement transaction or not. Then again, there little reason why you would need to know that.
The fact that a trigger executes inside a transaction is not some funny quirk, au contraire, it relates to the very essence of triggers. A trigger is an extension of the statement that fired the trigger, and in a trigger you can expect to find statements of two kinds:
The key is that if any of the statements in the trigger fails, the statement that fired the trigger should be considered to have failed as well, because the statement and a trigger is a unit. From this follows that you should not put things in a trigger that are optional. For instance, say that you would like to send a mail when a row is inserted into a table, but if the mail can't be sent, you still want the row to be inserted. That mail-sending endeavour does not belong in a trigger. More about this later.
XACT_ABORT On by Default
One thing to observe is that in a trigger XACT_ABORT is ON by default. Here is an example to show that:
SET XACT_ABORT OFF
go
CREATE TABLE FiftyFifty (id int NOT NULL CONSTRAINT pk PRIMARY KEY,
 b int NULL CONSTRAINT ck CHECK (b > 0))
go
CREATE TRIGGER FiftyFifty_tri ON FiftyFifty AFTER INSERT AS
 UPDATE FiftyFifty
 SET b = -i.b
 FROM FiftyFifty FF
 JOIN inserted i ON FF.id = i.id
 PRINT 'This does not print'
go
BEGIN TRANSACTION
INSERT FiftyFifty(id, b) VALUES(1, -981)
PRINT 'Still running'
INSERT FiftyFifty(id, b) VALUES(1, 981)
PRINT 'Nor does this print'
go
PRINT 'Trancount is ' + ltrim(str(@@trancount)) + '.'
DROP TABLE FiftyFifty
The output is:
Msg 547, Level 16, State 0, Line 2
The INSERT statement conflicted with the CHECK constraint "ck". The conflict occurred in database "tempdb", table "dbo.FiftyFifty", column 'b'.
The statement has been terminated.
Still running
Msg 547, Level 16, State 0, Procedure FiftyFifty_tri, Line 2
The UPDATE statement conflicted with the CHECK constraint "ck". The conflict occurred in database "tempdb", table "dbo.FiftyFifty", column 'b'.
The statement has been terminated.
Trancount is 0.
The same error is raised twice. The first time it is fired directly in the INSERT statement and execution continues, since a constraint violation is a statement-terminating error. The second time, the INSERT as such succeeds, and instead the UPDATE statement in the trigger causes the constraint violation, and this time the batch is aborted and the transaction is rolled back. That happens, because XACT_ABORT is ON in the trigger, even if we did not say so explicitly.
The reason it works this way is precisely the notion that a trigger is an extension to the statement. Originally, up to SQL 2000, the behaviour was that any error in a trigger aborted the batch, and there was no way to prevent it from happening. Starting with SQL 2005, you can use SET XACT_ABORT ON or OFF in triggers as well, but to be compatible with older versions, XACT_ABORT defaults to ON in a trigger. Since we have learnt in this article that having XACT_ABORT ON is best practice, we have little reason to be concerned.
Note: if the database is in compatibility level 80, the old behaviour is retained and SET XACT_ABORT OFF has no effect.
Ending Transactions in Triggers
If the transaction ends in the trigger, this raises an error and aborts the batch. This example illustrates:
SET XACT_ABORT OFF
go
CREATE TABLE DinahMoe (Humm int NOT NULL CONSTRAINT pk PRIMARY KEY,
 Bill money NOT NULL)
go
CREATE TRIGGER DinahMoe_tri ON DinahMoe AFTER INSERT AS
 IF EXISTS (SELECT * FROM inserted WHERE Bill <> $40)
 BEGIN
 ROLLBACK TRANSACTION
 RAISERROR('The bet is on a forty-dollar bill, nothing else', 16, 1)
 RETURN
 END
go
INSERT DinahMoe (Humm, Bill) VALUES (1, 20)
PRINT 'This does not print'
go
PRINT 'Trancount is ' + ltrim(str(@@trancount)) + '.'
go
DROP TABLE DinahMoe
The output is:
Msg 50000, Level 16, State 1, Procedure DinahMoe_tri, Line 5
The bet is on a forty-dollar bill, nothing else
Msg 3609, Level 16, State 1, Line 1
The transaction ended in the trigger. The batch has been aborted.
Trancount is 0.
Message 3609 only appears if the trigger terminates normally by reaching the last statement or exits through the RETURN statement. If you replace the RAISERROR statement with ;THROW, in the example above, message 3609 is not displayed, as the batch is aborted immediately. Nor is message 3609 raised, if the error raised by RAISERROR is trapped by a CATCH handler higher up the call stack.
Message 3609 is similar to message 266 (trancount mismatch). Both reflect that @@trancount did not have the same value when the module exited as when the module started running, and you should handle them in the same way: as long as the message appears together with other messages, it is white noise. But if 3609 appears alone, there is a problem in your trigger or in a procedure that it calls.
As for why 3609 aborts the batch, there are historical reasons. Originally, up to SQL 2000, message 3609 was never produced, but an error in a trigger always aborted the batch without any further message.
Triggers and Error 266
Speaking of error 266, the behaviour with this error is different in triggers. To wit, this error is never raised if you are in trigger context. Here is an example:
CREATE TABLE Centerville (a int NOT NULL)
go
CREATE PROCEDURE sp266 AS
 BEGIN TRANSACTION
go
CREATE TRIGGER tri ON Centerville FOR INSERT AS
 SELECT @@trancount AS bef266
 EXEC sp266
 SELECT @@trancount AS aft266
go
CREATE PROCEDURE ARealNicePlaceToRaiseYourKidsUp AS
 SET NOCOUNT ON
 INSERT Centerville(a) VALUES(9)
 SELECT @@trancount AS trancount_after_insert
go
EXEC ARealNicePlaceToRaiseYourKidsUp
COMMIT TRANSACTION
go
DROP PROCEDURE sp266, ARealNicePlaceToRaiseYourKidsUp
DROP TABLE Centerville
This produces the output:
bef266
-----------
1

aft266
-----------
2

trancount_after_insert
----------------------
1

Msg 266, Level 16, State 2, Procedure ARealNicePlaceToRaiseYourKidsUp, Line 0
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Note here that the call to sp266 does not produce any error despite the unbalanced BEGIN TRANSACTION. Nor is any error raised when you exit the trigger. However, the error is finally raised when you exit the procedure which included the INSERT statement, and the trancount mistake is eventually revealed.
Why this inconsistency? Historic reasons? Here is an interesting titbit: In SQL Server 6.5 the call to sp266 would raise error 266. (But a stray BEGIN TRANSACTION directly inside the trigger would not.) So maybe this is a regression bug introduced somewhere along the line? Nah, it may have been intentional. The behaviour is explicitly documented in the topic Rollbacks in Stored Procedures and Triggers in Books Online for SQL 2000. But to make it more confusing, that particular sentence is missing from later version of Books Online. Bug or feature, it is unlikely that Microsoft would change the behaviour when it has worked this way for so many versions.
I should add that this behaviour applies as soon as there is a trigger on the call stack. That is, if the trigger calls a stored procedure that in its turn calls sp266, there is still no error raised.
xact_state()
On SQL 2005 and SQL 2008 you cannot rely on the function xact_state() when you are in a trigger, because as long as there is no user


to a screen protector.
Conclusion
Navigating the debate about whether or not to use a screen protector on your MacBook can be challenging. On one hand, protectors seem to promise an added layer of defense against scratches and smudges, and on the other, they risk undermining the MacBook's superior display quality and sleek design.
However, after dissecting the various arguments and debunking common myths surrounding this subject, it becomes clear that screen protectors may not be as necessary for MacBooks as they are for touchscreen devices.
Indeed, it's important to consider the inherent durability of MacBook screens, the potential for protectors to degrade the viewing experience, and the possible damage to the in-built anti-reflective coating. Additionally, the aesthetic appeal of a pristine MacBook screen, unencumbered by an imperfectly applied protector, cannot be overstated.
While everyone must weigh these considerations according to their individual needs and habits, proper care and handling of the MacBook is undoubtedly the best approach to maintaining the pristine condition of its screen.
By following the recommended practices—keeping the MacBook clean, handling it with clean hands, using appropriate cleaning products, and storing it securely—you can enjoy the MacBook's high-quality display to its fullest without the need for a screen protector.
Ultimately, it is your MacBook, and the choice is yours.


text:
This paper offers a critical evaluation of the notion of collective voice, advanced by Freeman and Medoff (1984) in their pioneering contribution What Do Unions Do? It takes note of theoretical and empirical work supportive of/consistent with the collective voice/institutional response model, and tracks some development of the model. Equally, although much criticism of What Do Unions Do? has been wide of the mark, there are critical areas in which the model is deficient. These lacunae include, but are not restricted to, the lingering imprecision of collective voice; the problem of bargaining power which calls into question the distinction between collective voice/institutional response and the monopoly face of unionism; the over-emphasis upon worker dissatisfaction; and, relatedly, the neglect of individual voice. The bottom line is that the notion of union voice is urgently in need of restatement if it is to continue to shape research into the economic consequences of unions.
unions collective/individual voice institutional response public goods contract enforcement high performance work practices


text:
Also known as: The 100-Point Method
Cumulative Voting (CV) Prioritization is a ratio-scale prioritization technique in which the stakeholders taking part in the prioritization process are given a fixed number of prioritization
units which they then
vote (aka distribute) among the items being prioritized (requirements, objectives, goals, stakeholders, features, functions, etc.). The items with the most units assigned to them by the various stakeholders are the highest priority.
Another feature of Cumulative Voting is the option to
weight the votes of some stakeholders by applying a multiplier of some sort. So if you had three primary stakeholders, you could weight the votes of the most important stakeholder (perhaps the one paying for the effort) at a full weight (multiply by 1), weight the votes of the second most important stakeholder a bit less (multiply by.75), and weight the votes of the least important stakeholder even less (multiply by.5).
Cumulative Voting is normally done against ALL items of same level of abstraction at the same time (for example, the entire set of detailed requirements). This means the standard CV process does not scale well as you add more items to be prioritized. To address this issue, the Hierarchical Cumulative Voting (HCV) variant (see separate wiki page) was developed for situations when there are a large number of items to be prioritized.
Hierarchical Cumulative Voting (HCV) - See the separate Hierarchical Cumulative Voting wiki page
See the Prioritization wiki page for a discussion of why to prioritize.
This assumes you have evaluated your prioritization needs and decided that Cumulative Voting is the technique you will use.
Define the exact set of items that will be prioritized and gather them together in a form that allows them to be easily reviewed. All items should be at the same level of abstraction and described sufficiently so that any stakeholder can reasonably understand what it is.
Decide how and where each stakeholders
vote will be recorded? The process selected should allow for each stakeholders
vote to be recorded separately and without visibility into the
votes other stakeholders may make.
Given the number of items being prioritized, decide upon an appropriate number of units to provide each stakeholder to assign with their
votes. It is also a good idea to assign the units a form that has meaning to the stakeholders, such a dollars, man-hours of work,
points, or similar forms.
The amount provided to the stakeholder should be of a sufficient level to allow them to assign a small to moderate amount to most of the items while heavily favoring a few select items. But you also don't want to provide so much that scale becomes meaningless.
For example, if evaluating 25 items, you might provide
$500 dollars of units for stakeholder assignment. This allows for a breakdown such as 5 high-priority items assigned $50 each (for $250 total), 5 medium-priority items at around $30 each ($150 total), and 10 low-priority items at $10 each (the last $100 remaining), 5 items getting no value assigned at all.
Each stakeholder who will be
voting should be taken aside (or otherwise engaged away from other prioritizing stakeholders) and asked to assign all of the units they have been provided to the items being prioritized in such a way as to reflect the way they value each item to relation to all of the others.
Each stakeholder should only be allowed to prioritize each set of items ONCE! And they should do so without knowledge of how others have prioritized the items. Allowing stakeholders to vote more than once on the same items or to know how other stakeholders have voted opens up the opportunity to try and
game the process by adjusting their votes based on the actions of other stakeholders rather than reflecting their own priority.
Once all the stakeholders have
voted, apply any weighting factors that might be needed. Then sum up the votes each item got from all stakeholders. The items with the highest number of adjusted votes are your highest-priority items.
So if you were using CV to prioritize the 3 high-level items above, with 3 stakeholders (Bob, Jane, and Joe) with different priority weights (1.0,.75, and.50), the results may be summed up like this.
|Bob||Jane||Joe||Bob (Adj.)||Jane (Adj.)||Joe (Adj.)||Total|
Taking the weightings into account, HLR2 is the highest priority and is 17.5 more important than HLR1, which is the #2 priority, which is 17.5 more important than HLR3 which is the #3 priority.
The results of a Cumulative Voting process provide a ratio-scale result. Not only do you know which items are the highest priority (they have the most votes), you also know how much more important any one item is than any other by looking at the number of total votes between them.
votesin such a way as to more heavily prioritize particular items of priority; or even cast nearly all of their votes on one or two favorite items, trusting that others will provide a more balanced vote and thus still provide support for items of common interest. This is especially easy if the stakeholder knows the preferences of other stakeholders.
unitsso that stakeholders can provide meaningful votes. If there are 25 items being processed and each stakeholder only gets 100 units, the stakeholders may feel that they cannot really indicate their preferences properly.
votescan be assigned. Put the total number of units they have at the top. Then use a simple Excel function to sum up the votes cast, subtract them from the total assigned, and show how many are left. If you assigned $1000 to vote with on cells B2 through B15, the function would look like: =1000-SUM(B2:B15)&" dollars remaining!"


text:
A modern dictionary of Catholic terms, both common and obscure. Find accurate definitions of words and phrases.
LORD'S PRAYER (Mass)
The liturgical recitation of the Pater Noster at Mass. Returning to an ancient practice, the Lord's Prayer now includes five parts: an invitation by the priest; the Pater Noster, sung or said together with the people; the embolism, which amplifies the last petition of the Lord's Prayer; the doxology; and concluding acclamation by the faithful.
All items in this dictionary are from Fr. John Hardon's Modern Catholic Dictionary, © Eternal Life. Used with permission.


text:
Glycosylation is one of the major post-translational modifications in eukaryotic cells and has been reported to affect the amyloid fibril formation in several amyloidogenic proteins and peptides. In this study, we expressed a Vλ6 light chain mutant, Wil, which is an amyloidogenic mutant in AL amyloidosis, by the yeast Pichia pastoris. After separation by cation exchange chromatography, we obtained the O-glycosylated and non-glycosylated Wil mutants in high yield. The structures of these Wil mutants were identical except with respect to glycosylation, and the stabilities were also identical. On the other hand, the O-glycosylation retarded the amyloid fibril formation in a sugar size-dependent manner. From these results, we discussed the role of covalently attached glycan in the retardation of amyloid fibril formation.
|ジャーナル||International Journal of Biological Macromolecules|
|出版ステータス||出版済み - 1 1 2021|
All Science Journal Classification (ASJC) codes


text: The dominant neutral constituent in Earth's upper exosphere, atomic hydrogen (H), resonantly scatters solar Lyman-alpha (121.567 nm) radiation, observed as the geocorona. We report here observations of an exospheric response to geomagnetic storms obtained using measurements of the geocorona by Lyman-alpha detectors on the Two Wide-angle Imaging Neutral-atom Spectrometers mission. We introduce a new parameter, NH, the number of H atoms in the spherical shell from a geocentric distance of 3 to 8 Earth radii, to quantitatively characterize in a simplified way global exospheric conditions. Five geomagnetic storms observed during three months in the second half of 2011 are accompanied by abrupt temporary increases, spikes, of NH from 6% to 17%, lasting not longer than a day. These increases seem to show some correlation with the minimum Dst index reached during the peak of each storm.


text:
A MEDIEVAL BARREL PADLOCK |
Locks of one kind or another have been used from ancient times for whenever man acquires desirable possessions there are those who are prepared to steal them. Barrel padlocks are known from at least the Roman period in this country but as they are generally made of iron they are rarely found in good condition. They are also used in the later Saxon and Viking period but again construction in iron means their survival rate is low. A complete 10th century example has however been found in Coppergate, York and it is on display at the Jorvik Viking Centre.1 It is of a larger size with more complex construction and decoration than these later Medieval examples but in general the operating principle remains the same.
They consist of two quite separate and detachable parts, one a cylindrical barrel with a bar above and the other the bolt. The bolt is a device with barb-springs that catch internally behind a stop within the barrel (fig.2; right) and a socket that engages with the external bar over the cylinder. In this position the lock is closed and requires a key to release the mechanism (fig.1; bottom). The key is inserted through an opening, often 'T' shaped, in the end of the barrel (fig.2; left). Inserting the key compresses the internal barb-springs to a level below the stops in the cylinder and thus allows the bolt to be withdrawn.
We might surmise that there are three different ways in which these locks could have been used. The first entails passing the bar through a hasp to secure a small chest or casket. The second method would involve a chain being attached to the item and over the bar of the lock before closing. The third less likely method would be a chain from the hole in the bracket (between cylinder and bar) then passing through the item and over the bar. These methods are only supposition - we have no firm proof of how they were originally attached. It may be that the small hole in the bracket was for a chain to keep the key safe until it was required. Examples found with a broken bar, if not caused by damage in the ground, may be the result of the lock being wrenched from its housing, either by forced entry or by the owner losing the key. Individual keys do turn up occasionally (see fig.1) so the latter is a possibility.
Usually when a complete lock is unearthed the bolt is found to be seized within the barrel due to the corrosion of the iron internal springs. However the author has found a complete example in which the bolt could be released because the barb springs remained intact. They had resisted corrosion because they were made of sheet bronze. This had been cut and bent to form the required shape (see fig.1) before being brazed onto the two projections of the bolt. In this way, on insertion of the bolt, a barb on each projection would engage above and below the stop inside the barrel. Traces of solder can still be seen on the bolt where the springs were attached. I have two other incomplete barrel padlock finds that show no obvious signs of internal corrosion so perhaps this method of construction was normal for the period.
Barrel padlocks made of iron, as in earlier times, were also used throughout the later Medieval period2 but the examples illustrated here are all made of copper-alloy. Many of these must be bronze but some examples have the appearance of a grey metal probably suggesting that the bronze was alloyed with lead as an aid to casting. Most of the barrel padlocks illustrated have an octagonal barrel with decoration on the lower three sides only (see fig.2; centre). Barrel padlocks of this type are believed to have been used from at least the 12th century and throughout the later Medieval period. The barrel padlock (fig.3; top right) is the exception with a slightly different form and decoration to all the others. It is also the only example that is corroded internally due to the use of iron springs. The decoration consists of simple incised grooving on both sides of the barrel.
These barrel padlocks have now been found during several archaeological excavations including Beverley, Yorks and many metal detectorists have also recorded them. There are some eight examples listed on The Portable Antiquities Site.3 As a means of security these small locks could never have been very efficient as a deterrent to theft yet they do provide us with tangible evidence of the Medieval locksmith's skill and ingenuity. If you are lucky enough to find a complete example of this type of lock then you will hold in your hands one of the few surviving pieces of working Medieval craftsmanship.
1. Ottaway P. - Anglo-Scandinavian Ironwork from 16-22 Coppergate. The Archaeology of York 17/6.
2. Ottaway P. and Rogers, N. - Craft and Industry, and Everyday Life : Finds from Medieval York. The Archaeology of York 17/15.
16-22 Coppergate, York - Padlock Finds
3. The Portable Antiquities Scheme
Copyright © 2002, C J's Metal Detecting Pages, All Rights Reserved.


2020 - table - MDF ITALIA
« Une ellipse à deux foyers, une table à deux pieds » Jean Nouvel
This table is built around simple geometrical shapes: a round base cylinder for the round table, and an oval base cylinder for the oval table.
Returning to the principle of the trilith, the volume of the bases is divided into two distinct parts and emphasizes the constructive force linking the three elements.
The result is a central base consisting of two legs, tapered upwards to minimize the area of intersection between the legs and the top. The structural limit point is thus reached, while allowing for a significant overhang.
In addition, this division into two parts simplifies assembly and facilitates handling.
Product details


PCRecordSeparator Property
InfoConnect for Airlines VBA Guide
PCRecordSeparator Property
Returns or specifies the character that is interpreted as a record separator in a PC ASCII file when it is transferred to the host.
Syntax
Object.PCRecordSeparator As String
Remarks
This property is only relevant when the UsePCRecordSeparator property is true. For example, this statement specifies that a line feed (LF) should be interpreted as the record separator:
FileTransfer.PCRecordSeparator = "\n".
This property only applies to ASCII file transfers using the WRQ/Reflection protocol.
The default value is a carriage return and line feed, represented as follows:
"\r\n".
The string cannot be more than 259 characters long.
See Also


text:
Main features of Temperature Aging Test Chamber
1, the use of multi wing fan, strong air circulation, to avoid any dead angle, so that the temperature distribution in the test area evenly
2, the wind road cycle air return design, wind pressure, wind speed meets the test standard, and can make the door instantaneous temperature stabilization time.
3, the heating system is completely independent, which can improve efficiency, reduce test cost, increase life expectancy and reduce failure rate
4, the temperature control adopts all import touch button type instrument, the operation is easy to set
5, after the data and test conditions are input, the controller has the locking function, and avoids the human touch to change the temperature value 6, with the function of P.I.D automatic calculation, the temperature variation condition can be corrected immediately, and the temperature control is more accurate and stable


text:
On exhibit at the Arthur M. Sackler Gallery
One of the reasons I love exhibitions and museums is that they offer opportunities for storytelling and consequently, re-telling, as well. Most museums today are progressive in the sense that they continue a tradition of scholarship and service for the enhancement of public education. While some museums favor presentation methods might be simple and direct, without many opportunities for interactives, they stimulate public interest through the stories in their objects and exhibitions.
One such exhibition I had the chance to see recently was Power Play: China's Empress Dowager, at the Arthur M. Sackler Gallery at the Smithsonian. The Freer and Sackler Galleries at the Smithsonian produce exhibitions on Asian Art and house the Smithsonian's Asian Art collection. This was a special exhibition on photographic prints from the glass plate negatives of the photos in the Freer Sackler Collection.
The exhibition itself is about the Chinese Dowager Empress Cixi, who is widely known through common history as the dominant political figure of the Qing dynasty, from the 1860's until her death in the early 20th century. She was the regent to two successive emperors and was known to be a conservative and tough leader, earning her the monicker of "Dragon Lady".
The photographs that comprise the exhibition were part of a political campaign by the Qing royal court to improve the Empress' undesirable image. Mainly given out as diplomatic gifts and also distributed throughout China (most likely as propaganda for the Qing court), the portraits helped form the ubiqitous "Dragon Lady" we all known in popular culture, but are also windows into a dying lifestyle and the private life of an unparalleled female political figure.
Organized into five sections, the exhibition seeks to provide a deeper and more complex portrait of the Empress by analyzing the subtle themes in each set of photographic prints. Each set of themed photographs convey the intentions of Cixi and her court through specific symbols and imagery. The photographs themselves were taken by a court photographer hired specifically for the task.
The exhibition itself is not large and can easily be walked through in around an hour or so. The objects and sections were paced at just the right rhythm throughout the galleries. The design is also fairly straightforward, placing the greatest emphasis on the photographs and using graphics sparsely yet tastefully.
Each photograph was printed large-scale and gave off a very regal and impressive aura. The galleries were darkened with the chosen wall color, with little ambient light. A spotlight shaped to each portrait provided the illumination for the objects. The overall aura was very much like a dark room but somehow also gave off a sense of theatricality, which was very much in line with the taste of Empress Cixi.
Unlike most fine arts exhibitions, Power Play did away with individual object labels and instead opted for an overarching panel that provided an overview of the exhibition sections and also pointed out details in certain objects. This was an effective technique in my opinion as it allowed visitors to take more time to really spend time looking at the photographs and not feel obligated to read every label on the walls.
The only graphics present in the exhibition were the section panels with the descriptions, and a large, loose wall hanging outside the exhibition exit that acted as a screen from the multimedia theater at the end of the exhibit. There was a very minimalist approach to the design, with the only semblance of ornamentation in the graphics being the seal of the empress imprinted on the graphic panels and exit screen. This I feel went well with the presentation of the photographs, and gave a very impressive, strong, and distinct presence.
Power Play is a great example of an exhibition with simple objects and a minimalist presentation technique that could have a potentially large impact on the stories surrounding a familiar historical figure. I know that my personal perception of the last empress was illuminated in some way. Hopefully more exhibitions like this can open avenues for discussion and stimulate interest in viewing history as a continuously changing part of the human experience.


How To Reset Kasa Cam
How To Reset Kasa Cam
Kasa Cam is a popular security camera that provides users with peace of mind by allowing them to monitor their homes or offices remotely. However, there may be times when you need to reset your Kasa Cam, whether due to technical issues or when you want to sell or give it to someone else. In this article, we will guide you through the process of resetting your Kasa Cam step by step.
Step 1: Locate the Reset Button
The reset button on Kasa Cam is a small, circular hole located either on the bottom or the back of the camera. It is important to note that the location of the reset button may vary depending on the model of your Kasa Cam.
Step 2: Prepare a Pin or Paperclip
Before you proceed with the reset process, you will need to have a pin or a paperclip to access the reset button. These small, pointed tools will be used to press the reset button inside the tiny hole.
Step 3: Power Off the Kasa Cam
To avoid any potential issues during the reset process, it is essential to power off your Kasa Cam before proceeding. Locate the power cable connected to the camera and unplug it from the power source.
Step 4: Locate the Reset Hole
Once your Kasa Cam is powered off, find the reset hole mentioned in Step 1. It is a small hole designed to protect the reset button from being accidentally pressed. Make sure to look for the circular hole either on the bottom or backside of the camera.
Step 5: Press and Hold the Reset Button
Take your pin or paperclip and insert it into the reset hole, ensuring that it makes contact with the reset button inside. Gently press and hold the reset button for approximately 5 to 10 seconds to initiate the reset process.
Step 6: Release the Reset Button
After holding the reset button for the required time, release it. You will notice that the Kasa Cam's LED lights will start flashing, indicating that the reset process has been initiated successfully.
Step 7: Wait for the Reset Process to Complete
Now, you need to wait for a few moments to allow the Kasa Cam to complete the reset process. During this time, the camera is restoring its factory settings, erasing any previous configuration or personal data.
Step 8: Reconfigure Your Kasa Cam
Once the reset process is complete, you can proceed to reconfigure your Kasa Cam as if it were new. This includes connecting it to your Wi-Fi network, updating the firmware, and adjusting any preferred settings.
Step 9: Test Your Reset Kasa Cam
After completing the reconfiguration, it is important to test your reset Kasa Cam to ensure that it is functioning correctly. Verify that you can access the camera's live feed and adjust any additional settings or preferences to suit your needs.
Frequently Asked Questions
Q: Will resetting my Kasa Cam delete my saved footage?
A: No, resetting your Kasa Cam will not delete any footage that has been saved on an external storage device or cloud service. However, it will erase any camera-specific settings and configuration.
Q: I forgot my Kasa Cam's password. Can resetting help?
A: No, resetting your Kasa Cam will not help you recover a forgotten password. You may need to contact the manufacturer's support or refer to the user manual for instructions on password recovery.
Q: How often should I reset my Kasa Cam?
A: There is no specific time frame for resetting your Kasa Cam. It is recommended to reset only when necessary, such as when experiencing technical issues or preparing to sell the camera.
In Conclusion
Resetting your Kasa Cam can be a straightforward process if you follow the steps outlined in this guide. By performing a reset, you can resolve technical issues or prepare the camera for a new user, ensuring optimal performance. Remember to always consult the user manual or seek assistance from the manufacturer's support team if you encounter any difficulties during the reset process. With a properly reset Kasa Cam, you can continue monitoring your property with confidence.
Leave a Comment


text:
R.A.F. - T.J. Burns, 1941
Adding product to your cart
Bronze. Green patinated standing figure of a Royal Air Force pilot looking skyward, drawing on a gauntlet, and wearing B-type flying helmet with C-type mask, Sidcot flying suit, seat parachute harness and flying boots. Raised on an integral plinth modelled with Pilot Wings and the 'Per Ardua Ad Astra' in relief. Signed and dated T.J.Burns 1941.
Thomas Jones Burns (1888-c.1950) was an Edinburgh based sculptor who went into partnership with William Donaldson. In 1927 Donaldson and Burns collaborated with Alice Meredith Williams in carving the Scottish National War Memorial at Edinburgh Castle. T.J. Burns exhibited almost annually at the Royal Scottish Academy and in 1942 exhibited 'R.A.F.'


text:
Using SVG and XSLT for graphic representation\ud In this paper we will present an XML based framework that can be used to produce graphical visualisation of scientific data. The approach rather than producing ordinary histogram and function diagaram graphs, tries to represent the information in a more graphical appealing and easy to understand way. For examples the approach will give the ability to represent the temperature as the level of coulored fluid in a thermometer.\ud \ud The proposed framework is able to maintain the value of the datas strictly separated from the visual form of its representation (positions of element, colours, visual representation etc.).\ud \ud By defining appropriate data structures and expressing them using XML, the framework gives the user the ability to create graphic representations using standard SVG and XSLT.\ud \ud Since XML can be used for describing complex data information, we represent every level of the graphic representation with an XML structure.\ud \ud To describe our architecture we defined the following XML dialects, each one with different markup tags, reflecting the semantical values of the elements.\ud \ud Data definition level. Used to define the value of the datas that can be used in the graphic representation \ud Data representation level. Used to define the graphic representation, it defines how the values expressed by the data definition level are represented. \ud Both data representation and data definition files are based on a DTD to impose the constraints.\ud \ud Data representation level is the core of the system, and defines a powerful language for representation. \ud \ud Source primitives. Used to define for the source of the graphic elements, for example static file or SVG code. \ud Modification primitives. Used to define the modifications that can affect a graphic element, for example rotation, scaling or repetition. \ud Disposition primitives. Used to define the possible dispositions along x, y and z axes, for example to impose a order in the representation of elements. \ud Action primitives. Used to define the possible actions that canbe activated by graphic elements for different user behaviours. For example a mouse action can activate a link to a different resource, or can change the value of any of the other primitives of the data structure, as image source or disposition, or can show a tooltip . \ud XSLT is used to output a SVG file derived from the two files describing the graphic representation.\ud \ud Our aim is to provide an abstract language to be used to represent in different ways the same concept. In fact, we can link a data definition file with different data representation levels, providing different kinds and levels of complexity for the same concept. An example use could be the representation of the temperature described before, where the temperature itself could be represented either as the level of mercury in the termomether, or as the rotation of an arrow in a gauge.\ud \ud The transformation process is made from an XML source tree into an XML result tree, using XPath to define patterns. XSLT transformation process is based on templates, that define some actions (like adding or removing elements, or sorting them) to be performed when a part of the document matches a template.\ud \ud To implement some of the complex graphics operations we are using XSLT extensions that allow to perform mathematical operations.\ud \ud These XSLT extensions are not yet standard and require specific compliant parser, as Apache Xalan, that allows the developer to interface with Java classes in order to increase XSLT areas of application, from simple node transformations to quite complex operations
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.


Managing the Additive Manufacturing Supply Chain 252
"Managing the Additive Manufacturing Supply Chain 252" provides an overview of significant ways traditional supply chain management differs with the use of additive manufacturing. The course introduces concepts of digital thread, digital twin, serialization, and blockchain technologies and explores how these methods may be used to effectively manage additive manufacturing supply chains.
After completing this course, users will have a better awareness of how serialization and blockchain can increase traceability, guard against counterfeits, and lead to greater security in the additive manufacturing supply chain.
Class Details
Class Name:
Managing the Additive Manufacturing Supply Chain 252
Number of Lessons:
Class Outline
 - Supply Chain Management and AM
 - Digital Thread and Digital Twin
 - Serialization
 - Serialization and Additive Manufacturing
 - Review: Supply Chain Management and Additive Manufacturing
 - Blockchain
 - Blockchain and Additive Manufacturing
 - Review: Serialization and Blockchain
 - Describe supply chain management for AM.
 - Define digital thread and digital twin.
 - Describe serialization.
 - Describe the use of serialization in AM supply chain management.
 - Describe blockchain.
 - Describe the use of blockchain in AM supply chain management.
Job Roles
Vocabulary Term Definition
agility The ability to respond quickly to customer needs and market changes while still controlling costs and quality. Agility in manufacturing may be enabled by additive manufacturing.
algorithms A mathematical process designed to systematically solve a problem. Complex digital algorithms allow machine learning to predict and regulate operations.
block header hash A 256-bit number attached to the nonce when a block is created. The hash is an essential element of a block in blockchain technology.
blockchain A growing list of digital records, called blocks, that are linked. Blockchain technology is a decentralized, distributed ledger that records the origin of a digital asset.
blocks One identifying unit within a blockchain. Blocks include data and unique identifying numbers.
counterfeiting Imitating fraudulently. Counterfeiting involves making an exact imitation of something valuable with the intention to deceive or defraud.
cybersecurity Protection against criminal or unauthorized access to computer networks, programs, and data. Cybersecurity has become a major industrial concern as networking and connectivity have increased.
decentralized The allocation of resources, both hardware and software, to each individual workstation or office location. Decentralized computer systems are components of a larger computer network.
digital supply chain DSC. A web-based network of computers, companies, and systems that exchange resources to deliver products to customers. A digital supply chain connects suppliers and stakeholders throughout the entire product lifecycle.
digital thread An integrated view of all the data and information about a part or product throughout its lifecycle. The digital thread connects information from all aspects of a product into one seamless network.
digital twin A virtual representation of a physical object, such as a part or machine. A digital twin evolves with the object throughout its lifecycle.
distributed ledger A consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions. In a distributed ledger, there is no central administrator or centralized data storage.
lifecycle The entire timeline of something. In manufacturing, lifecycle includes part design, machine setup, production, quality, and end of life.
nodes Any kind of electronic device that maintains copies of the blockchain and keeps the network functioning. Nodes are decentralized and distributed.
nonce A 32-bit whole number randomly generated when a block is created, which then generates a block header hash. A nonce is an essential element of a block in blockchain technology.
nondestructive testing NDT. A category of inspection processes that evaluate a part's properties and performance using methods that do not damage or permanently alter the part. Nondestructive testing methods include visual testing, liquid penetrant testing, magnetic particle testing, eddy current testing, ultrasonic testing, and radiographic testing.
piracy The unauthorized use or reproduction of another's work. Piracy is the illegal copying, distribution, or use of intellectual property.
provenance The place of origin of something. Provenance of a digital asset is recorded in blockchain.
radio frequency identification RFID. A technology that uses electromagnetic fields to automatically identify and track tags attached to objects. RFID tags consist of a tiny radio transponder, radio receiver, and radio transmitter.
regulations A rule or directive made and maintained by an authority. Regulations can be set by governmental agencies and industry organizations.
regulatory compliance When a business follows state, federal, and international laws and regulations relevant to its operations. Regulatory compliance varies by industry, as well as the countries where a business sells products.
serial numbers A unique identifier assigned incrementally or sequentially to an item in a series. Serial numbers need not be strictly numerical and may contain letters or other symbols.
serialization The process of tagging individual units of inventory with unique identifiers that are assigned sequentially to each item. Serialization may take the form of serial numbers, RFID chips, or other unique, sequential tags.
supply chain A network of companies that exchange resources, such as materials and information, to deliver products to customers. Supply chains consist of a company, its suppliers, its distributors, and its customers.
supply chain management The process of planning, implementing, and controlling supply chain activities to achieve maximum customer value and sustain competitive advantage. Supply chain management oversees each organization in the supply chain, from development to sourcing to production to delivery.
total cost of ownership TCO. The purchase price of an asset plus the costs of operation. Total cost of ownership helps assess the value of an investment over time.
traceability The ability to verify the history, application, or location of an item using data flows. Digital threads enable traceability throughout the entire production lifecycle.
virtual Existing on or simulated within a computer program or system rather than physically existing. Virtual representations of real-world objects are known as digital twins.
X-rays A type of electromagnetic wave with a high frequency and short wavelength. X-rays are used to view the interior of solid objects during radiographic testing.


text:
Microsoft's HoloLens Helps Improve Surgery
Augmented reality is being projected to potentially have a significant impact on the Medical Community. A company named Scopis has developed a surgery solution which leverages Microsoft's HoloLens. Surgeons can now see overlay wearing these mixed reality glasses allowing him more control and precision during the surgery. This will improve the success rate of certain surgical procedures which are complex such as in surgeries related to the spine but it can be fine tuned to work with any type of surgery.
Scopis spokesperson says "To use the Scopis Holographic Navigation Platform during such an operation, the surgeon wears Microsoft HoloLens glasses, which communicate wirelessly with the Scopis system. The planned positioning of the pedicle screws is projected onto the surgeon's field of view and overlaid exactly onto the patient, creating the mixed reality experience. This allows the surgeon to find the screws' planned positions faster and to align surgical instruments interactively with the holographic visualisation."
The company also informed saying that it improves the accuracy of mixed reality overlay using additional 3-D position tracking. The company's holographic platform will revolutionise surgical workflows as it will enable surgeons to use gestures to place virtual monitors into their visual field near the patient. As a result of this, their eyes will remain on the operative field.
The technology will be able to reduce the radiation exposure from fluoroscopy devices that are currently used to determine the optimal position for screw placement during surgery which will be beneficial to both the patients and medical professionals.
For sure Scopis will able to improve surgical outcomes through more precise alignment and shorter surgery times.


text: Description: Baañke is a hairy vine with branched tendrils. It is known in English as the "field pumpkin." Leaves of Baañke are triangular or heart-shaped, up to 30 cm (12 in) long, with pointed, toothed lobes. The flowers are large and yellow, and the fruit is orange when ripe and regularly furrowed. Although baañke refers to the pumpkin producing plant, other varieties of this species (Cucurbita pepo) produce different vegetables such as summer squash, scallop squash, and yellow-flowered gourds (small, hard-shelled, variously shaped, ornamental fruits).


Fun for Family and Friends
Magical Mental Imagery
A really old classic mental magic trick, this is actually based on a simple mathematical quirk. It's a great magic trick to try on a friend or indeed on a member of an audience.
The Effect:
The magician apparently predicts the thoughts of the spectator..
How is this mental magic trick done?
1. Ask the spectator to choose a number between 2 and 9.
2. Tell them to take the number that they've chosen and multiply it by 9.
3. This should give them a two digit number. Told them to add the two digits of the number together. For example, if their number is 14, take the one and four and add them to make five.
4. Tell them to subtract five from the resulting number.
5. Ask them to take the number they now have and make it correspond to a letter in a alphabet. ie. A =1, B=2, C=3, etc.
6. Ask your spectator to take their letter, and think of a country that begins with that letter. For example, "B" might make them think of Brazil, "D" could be Denmark or "F" could be France.
7. Tell them to take the second letter in the name of that country and associate it with an animal. For example, "P" may go with Penguin and "Z" may associate with Zebra.
8. Ask the spectator if they now have a country and animal and that they have to hold those thoughts in their mind whilst you with the magician concentrate.
9. Ask the spectator in a really puzzled voice: "Are there really elephants in Denmark?"
Discover more Mental Magic Tricks
"Card Tricks to Amaze and Entertain Friends and Family"
ct logo