text:
|/* Generic SSA value propagation engine.
|Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|Contributed by Diego Novillo <email@example.com>
|This file is part of GCC.
|GCC is free software; you can redistribute it and/or modify it
|under the terms of the GNU General Public License as published by the
|Free Software Foundation; either version 2, or (at your option) any
|later version.
|GCC is distributed in the hope that it will be useful, but WITHOUT
|ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|for more details.
|You should have received a copy of the GNU General Public License
|along with GCC; see the file COPYING. If not, write to the Free
|Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|#include "config.h"
|#include "system.h"
|#include "coretypes.h"
|#include "tm.h"
|#include "tree.h"
|#include "flags.h"
|#include "rtl.h"
|#include "tm_p.h"
|#include "ggc.h"
|#include "basic-block.h"
|#include "output.h"
|#include "errors.h"
|#include "expr.h"
|#include "function.h"
|#include "diagnostic.h"
|#include "timevar.h"
|#include "tree-dump.h"
|#include "tree-flow.h"
|#include "tree-pass.h"
|#include "tree-ssa-propagate.h"
|#include "langhooks.h"
|#include "varray.h"
|#include "vec.h"
|/* This file implements a generic value propagation engine based on
|the same propagation used by the SSA-CCP algorithm [1].
|Propagation is performed by simulating the execution of every
|statement that produces the value being propagated. Simulation
|proceeds as follows:
|1- Initially, all edges of the CFG are marked not executable and
|the CFG worklist is seeded with all the statements in the entry
|basic block (block 0).
|2- Every statement S is simulated with a call to the call-back
|function SSA_PROP_VISIT_STMT. This evaluation may produce 3
|SSA_PROP_NOT_INTERESTING: Statement S produces nothing of
|interest and does not affect any of the work lists.
|SSA_PROP_VARYING: The value produced by S cannot be determined
|at compile time. Further simulation of S is not required.
|If S is a conditional jump, all the outgoing edges for the
|block are considered executable and added to the work
|SSA_PROP_INTERESTING: S produces a value that can be computed
|at compile time. Its result can be propagated into the
|statements that feed from S. Furthermore, if S is a
|conditional jump, only the edge known to be taken is added
|to the work list. Edges that are known not to execute are
|never simulated.
|3- PHI nodes are simulated with a call to SSA_PROP_VISIT_PHI. The
|return value from SSA_PROP_VISIT_PHI has the same semantics as
|described in #2.
|4- Three work lists are kept. Statements are only added to these
|lists if they produce one of SSA_PROP_INTERESTING or
|CFG_BLOCKS contains the list of blocks to be simulated.
|Blocks are added to this list if their incoming edges are
|found executable.
|VARYING_SSA_EDGES contains the list of statements that feed
|from statements that produce an SSA_PROP_VARYING result.
|These are simulated first to speed up processing.
|INTERESTING_SSA_EDGES contains the list of statements that
|feed from statements that produce an SSA_PROP_INTERESTING
|5- Simulation terminates when all three work lists are drained.
|Before calling ssa_propagate, it is important to clear
|DONT_SIMULATE_AGAIN for all the statements in the program that
|should be simulated. This initialization allows an implementation
|to specify which statements should never be simulated.
|It is also important to compute def-use information before calling
|[1] Constant propagation with conditional branches,
|Wegman and Zadeck, ACM TOPLAS 13(2):181-210.
|[2] Building an Optimizing Compiler,
|Robert Morgan, Butterworth-Heinemann, 1998, Section 8.9.
|[3] Advanced Compiler Design and Implementation,
|Steven Muchnick, Morgan Kaufmann, 1997, Section 12.6 */
|/* Function pointers used to parameterize the propagation engine. */
|static ssa_prop_visit_stmt_fn ssa_prop_visit_stmt;
|static ssa_prop_visit_phi_fn ssa_prop_visit_phi;
|/* Use the TREE_DEPRECATED bitflag to mark statements that have been
|added to one of the SSA edges worklists. This flag is used to
|avoid visiting statements unnecessarily when draining an SSA edge
|worklist. If while simulating a basic block, we find a statement with
|STMT_IN_SSA_EDGE_WORKLIST set, we clear it to prevent SSA edge
|processing from visiting it again. */
|#define STMT_IN_SSA_EDGE_WORKLIST(T) TREE_DEPRECATED (T)
|/* A bitmap to keep track of executable blocks in the CFG. */
|static sbitmap executable_blocks;
|/* Array of control flow edges on the worklist. */
|static GTY(()) varray_type cfg_blocks = NULL;
|static unsigned int cfg_blocks_num = 0;
|static int cfg_blocks_tail;
|static int cfg_blocks_head;
|static sbitmap bb_in_list;
|/* Worklist of SSA edges which will need reexamination as their
|definition has changed. SSA edges are def-use edges in the SSA
|web. For each D-U edge, we store the target statement or PHI node
|static GTY(()) VEC(tree) *interesting_ssa_edges;
|/* Identical to INTERESTING_SSA_EDGES. For performance reasons, the
|list of SSA edges is split into two. One contains all SSA edges
|who need to be reexamined because their lattice value changed to
|varying (this worklist), and the other contains all other SSA edges
|to be reexamined (INTERESTING_SSA_EDGES).
|Since most values in the program are VARYING, the ideal situation
|is to move them to that lattice value as quickly as possible.
|Thus, it doesn't make sense to process any other type of lattice
|value until all VARYING values are propagated fully, which is one
|thing using the VARYING worklist achieves. In addition, if we
|don't use a separate worklist for VARYING edges, we end up with
|situations where lattice values move from
|UNDEFINED->INTERESTING->VARYING instead of UNDEFINED->VARYING. */
|static GTY(()) VEC(tree) *varying_ssa_edges;
|/* Return true if the block worklist empty. */
|static inline bool
|cfg_blocks_empty_p (void)
|return (cfg_blocks_num == 0);
|/* Add a basic block to the worklist. The block must not be already
|in the worklist, and it must not be the ENTRY or EXIT block. */
|static void
|cfg_blocks_add (basic_block bb)
|gcc_assert (bb != ENTRY_BLOCK_PTR && bb != EXIT_BLOCK_PTR);
|gcc_assert (!TEST_BIT (bb_in_list, bb->index));
|if (cfg_blocks_empty_p ())
|cfg_blocks_tail = cfg_blocks_head = 0;
|cfg_blocks_num = 1;
|if (cfg_blocks_num > VARRAY_SIZE (cfg_blocks))
|/* We have to grow the array now. Adjust to queue to occupy the
|full space of the original array. */
|cfg_blocks_tail = VARRAY_SIZE (cfg_blocks);
|cfg_blocks_head = 0;
|VARRAY_GROW (cfg_blocks, 2 * VARRAY_SIZE (cfg_blocks));
|cfg_blocks_tail = (cfg_blocks_tail + 1) % VARRAY_SIZE (cfg_blocks);
|VARRAY_BB (cfg_blocks, cfg_blocks_tail) = bb;
|SET_BIT (bb_in_list, bb->index);
|/* Remove a block from the worklist. */
|static basic_block
|cfg_blocks_get (void)
|basic_block bb;
|bb = VARRAY_BB (cfg_blocks, cfg_blocks_head);
|gcc_assert (!cfg_blocks_empty_p ());
|gcc_assert (bb);
|cfg_blocks_head = (cfg_blocks_head + 1) % VARRAY_SIZE (cfg_blocks);
|RESET_BIT (bb_in_list, bb->index);
|return bb;
|/* We have just defined a new value for VAR. If IS_VARYING is true,
|add all immediate uses of VAR to VARYING_SSA_EDGES, otherwise add
|them to INTERESTING_SSA_EDGES. */
|static void
|add_ssa_edge (tree var, bool is_varying)
|tree stmt = SSA_NAME_DEF_STMT (var);
|dataflow_t df = get_immediate_uses (stmt);
|int num_uses = num_immediate_uses (df);
|int i;
|for (i = 0; i < num_uses; i++)
|tree use_stmt = immediate_use (df, i);
|if (!DONT_SIMULATE_AGAIN (use_stmt)
|&& !STMT_IN_SSA_EDGE_WORKLIST (use_stmt))
|STMT_IN_SSA_EDGE_WORKLIST (use_stmt) = 1;
|if (is_varying)
|VEC_safe_push (tree, varying_ssa_edges, use_stmt);
|VEC_safe_push (tree, interesting_ssa_edges, use_stmt);
|/* Add edge E to the control flow worklist. */
|static void
|add_control_edge (edge e)
|basic_block bb = e->dest;
|if (bb == EXIT_BLOCK_PTR)
|/* If the edge had already been executed, skip it. */
|if (e->flags & EDGE_EXECUTABLE)
|e->flags |= EDGE_EXECUTABLE;
|/* If the block is already in the list, we're done. */
|if (TEST_BIT (bb_in_list, bb->index))
|cfg_blocks_add (bb);
|if (dump_file && (dump_flags & TDF_DETAILS))
|fprintf (dump_file, "Adding Destination of edge (%d -> %d) to worklist\n\n",
|e->src->index, e->dest->index);
|/* Simulate the execution of STMT and update the work lists accordingly. */
|static void
|simulate_stmt (tree stmt)
|enum ssa_prop_result val = SSA_PROP_NOT_INTERESTING;
|edge taken_edge = NULL;
|tree output_name = NULL_TREE;
|/* Don't bother visiting statements that are already
|considered varying by the propagator. */
|if (DONT_SIMULATE_AGAIN (stmt))
|if (TREE_CODE (stmt) == PHI_NODE)
|val = ssa_prop_visit_phi (stmt);
|output_name = PHI_RESULT (stmt);
|val = ssa_prop_visit_stmt (stmt, &taken_edge, &output_name);
|if (val == SSA_PROP_VARYING)
|DONT_SIMULATE_AGAIN (stmt) = 1;
|/* If the statement produced a new varying value, add the SSA
|edges coming out of OUTPUT_NAME. */
|if (output_name)
|add_ssa_edge (output_name, true);
|/* If STMT transfers control out of its basic block, add
|all outgoing edges to the work list. */
|if (stmt_ends_bb_p (stmt))
|edge e;
|edge_iterator ei;
|basic_block bb = bb_for_stmt (stmt);
|FOR_EACH_EDGE (e, ei, bb->succs)
|add_control_edge (e);
|else if (val == SSA_PROP_INTERESTING)
|/* If the statement produced new value, add the SSA edges coming
|out of OUTPUT_NAME. */
|if (output_name)
|add_ssa_edge (output_name, false);
|/* If we know which edge is going to be taken out of this block,
|add it to the CFG work list. */
|if (taken_edge)
|add_control_edge (taken_edge);
|/* Process an SSA edge worklist. WORKLIST is the SSA edge worklist to
|drain. This pops statements off the given WORKLIST and processes
|them until there are no more statements on WORKLIST.
|We take a pointer to WORKLIST because it may be reallocated when an
|SSA edge is added to it in simulate_stmt. */
|static void
|process_ssa_edge_worklist (VEC(tree) **worklist)
|/* Drain the entire worklist. */
|while (VEC_length (tree, *worklist) > 0)
|basic_block bb;
|/* Pull the statement to simulate off the worklist. */
|tree stmt = VEC_pop (tree, *worklist);
|/* If this statement was already visited by simulate_block, then
|we don't need to visit it again here. */
|if (!STMT_IN_SSA_EDGE_WORKLIST (stmt))
|/* STMT is no longer in a worklist. */
|STMT_IN_SSA_EDGE_WORKLIST (stmt) = 0;
|if (dump_file && (dump_flags & TDF_DETAILS))
|fprintf (dump_file, "\nSimulating statement (from ssa_edges): ");
|print_generic_stmt (dump_file, stmt, dump_flags);
|bb = bb_for_stmt (stmt);
|/* PHI nodes are always visited, regardless of whether or not
|the destination block is executable. Otherwise, visit the
|statement only if its block is marked executable. */
|if (TREE_CODE (stmt) == PHI_NODE
||| TEST_BIT (executable_blocks, bb->index))
|simulate_stmt (stmt);
|/* Simulate the execution of BLOCK. Evaluate the statement associated
|with each variable reference inside the block. */
|static void
|simulate_block (basic_block block)
|tree phi;
|/* There is nothing to do for the exit block. */
|if (block == EXIT_BLOCK_PTR)
|if (dump_file && (dump_flags & TDF_DETAILS))
|fprintf (dump_file, "\nSimulating block %d\n", block->index);
|/* Always simulate PHI nodes, even if we have simulated this block
|before. */
|for (phi = phi_nodes (block); phi; phi = PHI_CHAIN (phi))
|simulate_stmt (phi);
|/* If this is the first time we've simulated this block, then we
|must simulate each of its statements. */
|if (!TEST_BIT (executable_blocks, block->index))
|block_stmt_iterator j;
|unsigned int normal_edge_count;
|edge e, normal_edge;
|edge_iterator ei;
|/* Note that we have simulated this block. */
|SET_BIT (executable_blocks, block->index);
|for (j = bsi_start (block); !bsi_end_p (j); bsi_next (&j))
|tree stmt = bsi_stmt (j);
|/* If this statement is already in the worklist then
|"cancel" it. The reevaluation implied by the worklist
|entry will produce the same value we generate here and
|thus reevaluating it again from the worklist is
|pointless. */
|if (STMT_IN_SSA_EDGE_WORKLIST (stmt))
|STMT_IN_SSA_EDGE_WORKLIST (stmt) = 0;
|simulate_stmt (stmt);
|/* We can not predict when abnormal edges will be executed, so
|once a block is considered executable, we consider any
|outgoing abnormal edges as executable.
|At the same time, if this block has only one successor that is
|reached by non-abnormal edges, then add that successor to the
|worklist. */
|normal_edge_count = 0;
|normal_edge = NULL;
|FOR_EACH_EDGE (e, ei, block->succs)
|if (e->flags & EDGE_ABNORMAL)
|add_control_edge (e);
|normal_edge = e;
|if (normal_edge_count == 1)
|add_control_edge (normal_edge);
|/* Initialize local data structures and work lists. */
|static void
|ssa_prop_init (void)
|edge e;
|edge_iterator ei;
|basic_block bb;
|/* Worklists of SSA edges. */
|interesting_ssa_edges = VEC_alloc (tree, 20);
|varying_ssa_edges = VEC_alloc (tree, 20);
|executable_blocks = sbitmap_alloc (last_basic_block);
|sbitmap_zero (executable_blocks);
|bb_in_list = sbitmap_alloc (last_basic_block);
|sbitmap_zero (bb_in_list);
|if (dump_file && (dump_flags & TDF_DETAILS))
|dump_immediate_uses (dump_file);
|VARRAY_BB_INIT (cfg_blocks, 20, "cfg_blocks");
|/* Initially assume that every edge in the CFG is not executable
|(including the edges coming out of ENTRY_BLOCK_PTR). */
|FOR_ALL_BB (bb)
|block_stmt_iterator si;
|for (si = bsi_start (bb); !bsi_end_p (si); bsi_next (&si))
|STMT_IN_SSA_EDGE_WORKLIST (bsi_stmt (si)) = 0;
|FOR_EACH_EDGE (e, ei, bb->succs)
|e->flags &= ~EDGE_EXECUTABLE;
|/* Seed the algorithm by adding the successors of the entry block to the
|edge worklist. */
|FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR->succs)
|add_control_edge (e);
|/* Free allocated storage. */
|static void
|ssa_prop_fini (void)
|VEC_free (tree, interesting_ssa_edges);
|VEC_free (tree, varying_ssa_edges);
|cfg_blocks = NULL;
|sbitmap_free (bb_in_list);
|sbitmap_free (executable_blocks);
|free_df ();
|/* Get the main expression from statement STMT. */
|get_rhs (tree stmt)
|enum tree_code code = TREE_CODE (stmt);
|switch (code)
|case RETURN_EXPR:
|stmt = TREE_OPERAND (stmt, 0);
|if (!stmt || TREE_CODE (stmt) != MODIFY_EXPR)
|return stmt;
|case MODIFY_EXPR:
|stmt = TREE_OPERAND (stmt, 1);
|if (TREE_CODE (stmt) == WITH_SIZE_EXPR)
|return TREE_OPERAND (stmt, 0);
|return stmt;
|case COND_EXPR:
|return COND_EXPR_COND (stmt);
|case SWITCH_EXPR:
|return SWITCH_COND (stmt);
|case GOTO_EXPR:
|return GOTO_DESTINATION (stmt);
|case LABEL_EXPR:
|return LABEL_EXPR_LABEL (stmt);
|return stmt;
|/* Set the main expression of *STMT_P to EXPR. If EXPR is not a valid
|GIMPLE expression no changes are done and the function returns
|false. */
|set_rhs (tree *stmt_p, tree expr)
|tree stmt = *stmt_p, op;
|enum tree_code code = TREE_CODE (expr);
|stmt_ann_t ann;
|tree var;
|ssa_op_iter iter;
|/* Verify the constant folded result is valid gimple. */
|if (TREE_CODE_CLASS (code) == tcc_binary)
|if (!is_gimple_val (TREE_OPERAND (expr, 0))
||| !is_gimple_val (TREE_OPERAND (expr, 1)))
|return false;
|else if (TREE_CODE_CLASS (code) == tcc_unary)
|if (!is_gimple_val (TREE_OPERAND (expr, 0)))
|return false;
|else if (code == COMPOUND_EXPR)
|return false;
|switch (TREE_CODE (stmt))
|case RETURN_EXPR:
|op = TREE_OPERAND (stmt, 0);
|if (TREE_CODE (op) != MODIFY_EXPR)
|TREE_OPERAND (stmt, 0) = expr;
|stmt = op;
|case MODIFY_EXPR:
|op = TREE_OPERAND (stmt, 1);
|if (TREE_CODE (op) == WITH_SIZE_EXPR)
|stmt = op;
|TREE_OPERAND (stmt, 1) = expr;
|case COND_EXPR:
|COND_EXPR_COND (stmt) = expr;
|case SWITCH_EXPR:
|SWITCH_COND (stmt) = expr;
|case GOTO_EXPR:
|GOTO_DESTINATION (stmt) = expr;
|case LABEL_EXPR:
|LABEL_EXPR_LABEL (stmt) = expr;
|/* Replace the whole statement with EXPR. If EXPR has no side
|effects, then replace *STMT_P with an empty statement. */
|ann = stmt_ann (stmt);
|*stmt_p = TREE_SIDE_EFFECTS (expr) ? expr : build_empty_stmt ();
|(*stmt_p)->common.ann = (tree_ann_t) ann;
|if (TREE_SIDE_EFFECTS (expr))
|/* Fix all the SSA_NAMEs created by *STMT_P to point to its new
|replacement. */
|FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, SSA_OP_ALL_DEFS)
|if (TREE_CODE (var) == SSA_NAME)
|SSA_NAME_DEF_STMT (var) = *stmt_p;
|return true;
|/* Entry point to the propagation engine.
|VISIT_STMT is called for every statement visited.
|VISIT_PHI is called for every PHI node visited. */
|ssa_propagate (ssa_prop_visit_stmt_fn visit_stmt,
|ssa_prop_visit_phi_fn visit_phi)
|ssa_prop_visit_stmt = visit_stmt;
|ssa_prop_visit_phi = visit_phi;
|ssa_prop_init ();
|/* Iterate until the worklists are empty. */
|while (!cfg_blocks_empty_p ()
||| VEC_length (tree, interesting_ssa_edges) > 0
||| VEC_length (tree, varying_ssa_edges) > 0)
|if (!cfg_blocks_empty_p ())
|/* Pull the next block to simulate off the worklist. */
|basic_block dest_block = cfg_blocks_get ();
|simulate_block (dest_block);
|/* In order to move things to varying as quickly as
|possible,process the VARYING_SSA_EDGES worklist first. */
|process_ssa_edge_worklist (&varying_ssa_edges);
|/* Now process the INTERESTING_SSA_EDGES worklist. */
|process_ssa_edge_worklist (&interesting_ssa_edges);
|ssa_prop_fini ();
|#include "gt-tree-ssa-propagate.h"


text:
Many community banks are reluctant to consider interest rate swaps due to perceived complexity as well as accounting and regulatory burdens. But, in a record low interest rate environment, the most desirable customers almost universally demand something that is hard for community banks to deliver: a long-term, fixed interest rate. Large banks are eager to accommodate this demand and usually do so by offering such a borrower an interest rate swap that, together with the loan facility, delivers the borrower a net long-term, fixed rate obligation and the lending bank a loan with an effective variable rate.
The alternatives to using swaps are not appealing. A community bank can limit its product offerings to only variable rate loans or short-term, fixed rate loans and thereby lose many good customers to larger competitors. The bank can offer a long-term fixed rate on the loan and then (a) sell the loan and lose ongoing earnings and the customer relationship, or (b) borrow long-term funds from the Federal Home Loan Bank to match that asset with appropriate liabilities, a choice that significantly erodes profit on the loan and uses up precious wholesale liquidity.
If a community bank wants to compete using interest rate swaps, then there are three general methods for packaging an interest rate swap with a typical loan offered by a community bank. There are several regulations that apply to swaps, including changes to the Commodities Exchange Act enacted by the Dodd-Frank Act and the numerous related rules and regulations promulgated by the U.S. Commodity Futures Trading Commission (the CFTC). If the community bank is under $10 billion in assets, then all three swap methods described below should qualify for an exemption from regulatory requirements that interest rate swaps be cleared through a derivatives exchange. Avoiding clearing requirements saves considerable costs and operational effort.
The first is a one-way swap in which a community bank simply makes a long term, fixed-rate loan to its borrower and then executes an interest rate swap with a swap dealer (such as a broker-dealer affiliate of a larger commercial bank) to hedge against rising interest rates. In a one-way swap, the community bank is subject to fair value hedge accounting, which requires the bank to mark the swap to market on its balance sheet and run changes in fair value through its income statement.
The second is a two-way swap, otherwise known as a back-to-back swap, in which the community bank makes a variable rate loan to its borrower and enters into an interest rate swap with the borrower that, together with the loan facility, delivers the borrower an effective fixed-rate obligation and the lending bank a loan with an effective variable rate. The bank then enters into an offsetting swap with a swap dealer. Even though the terms of the two swaps in a two-way swap may be identical economically, the two swaps can present quite different credit risks to the community bank and the bank may still have to, under accounting rules, track a significant variance between the two swaps.
Both one-way and two-way swaps have some other disadvantages. Under the CFTC's proposed margin (collateral) regulations , financial end-users of swaps such as community banks likely will have to post initial and variation collateral to secure obligations under swaps. In one-way and two-way swaps, the borrower and the community bank must maintain records that are complete, systematic, retrievable and include, among other things, all records demonstrating the bank qualified for an exception from swap clearing requirements. Also, in a two-way swap, the community bank must ensure that the swap is economically appropriate to reduce the borrower's interest rate risk and fulfill the bank's reporting obligations to swap clearing organizations.
The third method is an outsourced swap product designed for community banks. Under this model, the community bank makes a variable rate loan and the borrower signs a simplified swap-type agreement with the swap provider, which results in the bank receiving its preferred variable rate and the borrower paying a net fixed rate. This third method generally does not carry the disadvantages of the first two methods if the provider has properly designed the product.
Once your bank has decided which method or methods it wishes to use with interest rate swaps, the bank must supplement its policies and procedures (at least its interest rate risk, asset/liability and accounting policies) and train its board, management and applicable staff in several key areas. All of this requires careful study and execution, but it can be done.

subset: commoncrawl


text:
If there is not a Cafe Scientifique in your city or town and you would like to start one, you are very welcome to join the family. We provide support to new Cafes Scientifiques, advice and links to the rest of the network. If you want to start a Cafe Scientifique, email us here.
Take a look at the 'gone but not forgotten' page, which lists currently suspended cafes – there may have been one near you in the past.
Cafes are usually held monthly and many have run successfully for several years. You might find interested people in organisations such as local science centres, Adult Education, the local council, the public engagement departments of your nearest university, the media and many more. It depends what works in your local circumstances.
Many cafes are organised successfully by one person but it's undoubtedly very much easier if there is an organising group of three or four people who can share the tasks among them.
To organise a cafe, you should be prepared to: approach a venue and establish a relationship with them, approach and book speakers, host the events yourself, or arrange for someone else to do this, and publicise events. Once a Cafe Scientifique is established it can be relatively easy to maintain.
Once a cafe is established, many organisers set up email lists for circulating details of forthcoming events. However, the first few events must generally be publicised using a wide range of means, so that you can build up an audience. Most start off using a mix of posters, leaflets, inserts in local 'What's On' publications, Adult Education contact lists, local newspapers and local radio and television. Again, it very much depends on the situation in your city or town.
Cafe Scientifique is all about conversation, so it is important that your venue allows the audience to see and hear the speaker and each other. The venue needs to strike a balance between being large enough to accommodate the audience (usually from 30 to 50 people) and small enough to allow them to hear each other and interact successfully.
It is important that the venue is relaxed and informal and that drinks (and perhaps food) are available. Noise should be kept to a minimum while the cafe is running, especially during the opening talk from the speaker. Where you find these things depends on your local situation. Cafes and bars are an obvious choice but pubs, arts centres, community centres, science centres, libraries, cinemas and theatres have all been successful.
Once you have found a suitable venue, you need to book some speakers. Cafes usually have a single speaker for each event, so that the dialogue with the audience is maintained. If you have a 'panel' of speakers, the audience tends to become viewers of, rather than participants in, the conversation.
If you're thinking of starting a cafe scientifique, you are probably already interested in science. If you have your own networks in science and technology then it makes it relatively easy to find speakers but organisers also find speakers by following up articles they read in newspapers, magazines or in the popular science press, talking to local universities or contacting local science and technology-based industries. All cafes welcome suggestions for speakers and topics – many leave slips of paper on tables during the event so that people can write down their suggestions.
Each Cafe Scientifique event is open to the public and is run on the principles of free speech and respect for the individual. It is important the host maintains these principles and that everyone feels able to ask questions.


text:
(Mineola, NY) Nassau County Clerk Maureen O'Connell is cautioning homeowners about mass mailings continually being sent to local communities claiming "The U.S. Government Federal Citizen Information Center website recommends that property owners should have an official or certified copy of their deed." These letters recently targeted the Levittown area advising homeowners that it is necessary to purchase a certified copy of the deed to their home.
Homeowners should know that all deeds for property located in Nassau County are recorded and maintained at the County Clerk's Office and only the Clerk's Office can issue certified copies of these records, which are legally equivalent to the original. When the original deed is recorded with the Clerk's Office, it is returned directly to the owner or their attorney upon processing. These private companies continue to solicit to purchase a deed on behalf of the homeowner, sometimes for more than 1000% over Clerk's Office fees.
County Clerk O'Connell, concerned by these deceptive practices, advocated along with County Clerks throughout the state for the passage of legislation requiring these solicitations to disclose that certified copies of deeds are available directly from the County Clerk for a nominal fee. However, many homeowners continue to be victimized by these scams.
County Clerk O'Connell reminds residents it is not necessary to retain a service such as this to get a copy of your deed. Certified copies of deeds can always be obtained from the County Clerk's Office for $5 to $10. Anyone wishing to request a certified copy of their deed can contact Clerk O'Connell's office at 516-571-2664 for further information.


text:
WALLDORF — SAP SE today announced that Sokołów SA, a leader in the food and meat manufacturing industries in Poland, is the first company in the Central and Eastern European region to launch SAP Business Suite software on the SAP HANA platform. With the migration of SAP Business Suite and the SAP Business Warehouse (SAP BW) application to SAP HANA, Sokołów SA is able to simplify IT management, reduce maintenance costs and accelerate transactional and analytical data processing.
"The application of an innovative in-memory technology allows for more efficient and convenient work with the SAP systems we have been using for years and it has improved the quality of our business applications," said Bogdan Biłas, IT director, Sokołów SA. "Faster transaction processing, rapid access to data and shortening the system response time allow us to act more efficiently within the IT area and use our resources to more effectively build the competitiveness of Sokołów SA on the Polish and European market."
After migrating SAP BW and SAP Business Suite to the SAP HANA platform the data loading and planning speed has increased tenfold and the speed of reporting from the SAP BW level increased more than a hundred times. Generating reports directly from SAP Business Suite, where the productivity has increased a thousand fold, is now even faster. The increased efficiency of the data warehouse and business applications powered by SAP HANA has been accompanied by the simplification and reduction of the total costs of the IT infrastructure maintenance. The previous database could store about 2.5 TB but after migrating to SAP HANA it has been compressed to less than 600 GB. At the same time direct reporting from SAP HANA was introduced, which has helped eliminate the need to create indexes to clustered tables. Ultimately, SAP HANA replaced the traditional databases used by Sokołów SA for SAP Business Suite.
The implementation of SAP HANA was completed by BCC, the main implementation partner of Sokołów and SAP Polska.
"Migration of SAP environments to the SAP HANA platform is one of the most innovative projects implemented by BCC in recent years," said Andrzej Moskalik, director for Client Services Department, BCC. "The successful implementation in Sokołów confirms that with SAP HANA, Polish companies can make a significant progress in the use of IT tools for business data planning and analysis."
More Efficiency For Employees
The employees of Sokołów SA can now, without any concerns about the loss of IT infrastructure performance, more effectively use SAP solutions such as the SAP ERP application or SAP BusinessObjects business intelligence (BI) solutions. These solutions now carry out dozens of additional transactions, increase the number of analytical views and take advantage of the newly implemented applications that run on SAP HANA, including SAP Business Planning and Consolidation, SAP Accounting powered by SAP HANA and SAP Cash Management powered by SAP HANA. The applications assist users with planning and budgeting, implementing financial and accounting data management and controlling and forecasting cash flows in real time.
To learn more about SAP HANA, visit www.saphana.com. For more information, visit the SAP News Center. Follow SAP on Twitter at @sapnews.
Media Contact:
Julia Fargel +1 (650) 276-8964, email@example.com, PDT


text:
Year of the Glitch
"56. What makes good glitch art good is that, amidst a seemingly endless flood of images, it maintains a sense of the wilderness within the computer. " — Hugh S. Manon and Daniel Temkin, "Notes on Glitch"
Year of the Glitch is a yearlong glitch-a-day project by Phillip Stearns exploring various manifestations of glitches (intentional and unintentional / staged and found) produced by (digital) electronic systems.
Each day will bring a new image, video or sound file from a range of sources: prepared digital cameras, video capture devices, electronic displays, scanners, manipulated or corrupted files, skipping CDs, disrupted digital transmissions, etc.
These images are not of broken things, but the unlocking of other worlds latent in the technologies with which we surround ourselves. Part of what this project is about is approaching the familiar with fresh senses, to turn it into something that is unfamiliar.
Related to the DCP Series and Glitch Textiles projects.
About Creative Divergents
All submissions prior to 2014 have been reposted by Creative Divergents. To have your previous entries associated with your current account, go to Claim Account.


text:
Tarantulas have been invading India and attacking thousands of citizens!
Indians are fearing for their lives as almost a million tarantulas have invaded the country and are crawling into small towns and cities.
An army of eight-legged freaks, killer spiders some say, have been spotted in many towns across the entire country.
In one incident on May 8, residents of Chaulkhowa Nagaon village saw swarms of spiders suddenly descended from nowhere and started biting the people. Villagers ran for their lives, but unfortunately 57 didn't make it. Bitten. Luckily doctors were able to save about 20 victims.
But the panic remains in the village and some residents have become Tarantula Hunters – seeking out the deadly critters.
Here are the Tarantula Hunters preparing for battle:
One victim, Joyti Aggarwala, showed her blackened, swollen finger to WWN. She was no longer in excruciating pain, but her finger will take a long time to heal. She is grateful to be alive.
Thousands of people with spider bites are in hospitals across India. Authorities are trying to decide the best way to combat the tarantula attack. Government leaders what every city to set off anti-tarantula fog bombs, laced with DDT to kill the arachnids.
Most people die because they have severe allergic reactions to the tarantula venom. You can be saved if you get your hands on antivenin, which counters the effects of the tarantula venom.
Most hospital are ill-equipped to handle the tarantula crises due to manpower crunch, erratic power supply and equipment shortage.
One thing that is unexplained is why the tarantulas have decided to attack in swarms. Swarms of spiders are rare, although they have been reported, usually after flooding when the spiders search for dry and higher ground.
But there has been no flooding in most of India… so what is causing this?


text:
HTML5 is here. Time for a new csstyle!
Printed with Makerbot*
Get the style code:
SVG File
Gcode + STL file.
The expressions published in this site are all in the public domain. You may enjoy, use, modify, snipe about and republish all F.A.T. media and technologies as you see fit.


text:
Swype has been my favorite way to type on an Android phone, but it's been kinda limited in what phones can run the keyboard software. Until now! All you have to do is register at Swype and download.
Meet Microsoft's New Surface Laptops
There's also a FAQ to get your started on installing Swype on your phone. It should work on most Android devices. If you've been a beta user, you may want to check here to see what's changed for you. Go forth and type fast. [Swype]


text:
Ofqual, the exams regulator of the UK government, has confirmed that Cambridge ESOL's Delta qualification for teachers is at the same level as a Master's degree or a professional diploma in the European Union. This is a result of Delta being placed at level 7 of the UK government's Qualification and Credit Framework (QCF), making it the only English language teaching diploma currently included at this level.
Welcoming this new recognition, Cambridge ESOL's Chief Executive Dr Mike Milanovic says: "Teachers holding this qualification demonstrate a very high level of expertise indeed and we're delighted by this acknowledgment from Ofqual. This reflects the quality standards associated with the Delta qualification which is great news for teachers and the millions of students around the world learning English."
N.B. The DELTA on its own does not constitute an MA qualification but is considered to be at the same level, which makes holders eligible for exemptions, credits, and fast track options in a variety of UK based universities.
The following UK institutions offer credits or exemptions to DELTA holders, for the courses listed. We make every attempt to keep this information up to date – however, applicants should always check with the institution, as they do change their requirements, and these may differ for individual applicants.
Please use Google to verify the information below and do leave a comment if you have information about other universities not included here – we have added total number of credits where this was available and easy to find from the university website.
|Courses with credits/exemptions
|Further information
|Total Credits
|Aston University
|MSc in Teaching English to Speakers of other Languages (TESOL)
MSc in Teaching English for Specific Purposes (TESP)·
MSc in Teaching English to Young Learners (TEYL)
MSc in Educational Management in TESOL (EMT)
|Exemption from the Methodology module plus 20 credits toward an additional module
|4 modules
|Bath, University of
|Fast track available: exemption of two core units (from total of 5).
|5 core units
|Bath Spa University
|MA/Teach TESOL
|Exemption from first semester equal to 60 credits
|180 credits
|Birkbeck, University of London
MA Language Teaching
|30 credits
|Bristol, University of
|MSc in TESOL
|40 credits.
|Bedfordshire, University of
|Applied Linguistics MA (TEFL)
|Exemption from assessed teaching practice (30 points)
|Canterbury Christ Church
|Exemption from first two modules (40 credits).
|5 modules
|University of Derby
|Education MA
|DELTA holders offered up to 60 credits upon consultation
|East London, University of
|MA English Language Teaching (ELT)
|Exemption from one 30-credit module
|Edinburgh, University of
|MEd TESOL
|Students may request accreditation for prior learning for the core course in TESOL Methodology.2 core modules
|6 core modules
|Exeter University
|Med TESOL
|DELTA holders offered up to 60 credits
|Link to info
|Institute of Education, University of London
|MA Teaching of English to Speakers of Other Languages (campus-based)
|Exemption from one 30-credit optional module.
|180 credits
|King's College London
|MA in ELT & Applied Linguistics (part-time programme only)
|Fast track option – exemption from one core module (Principles and Practice in ELT) and one option – 30 credits in total.
|180 credits
|Leeds Beckett University
|MA English Language Teaching
|60 credit exemption
|Direct entry to semester 2
|Leicester, University of
|MA TESOL & Applied Linguistics (campus-based and distance learning versions)
|30 credit exemption
|6 modules
|Northumbria University
|MA in Applied Linguistics forTESOL· MA TESOL
|Exemptions of up to 3 modules, or 60 credits, equivalent to 1/3 of the MA
|180 credits
|Nottingham, University of
|MA ELT distance
|Exemption of two core modules running from May to end of year (January start recommended)
|40 points/credits
|Open University, The
|Masters degree in Education (Applied Linguistics)
|60 credits
|Oxford Brookes University
|MA in Education
|One module only worth 20 credits
|180 credits
|Portsmouth, University of
|· MA Applied Linguistics and TESOL (both on site & distance modes)
|30 credits at M-level.
|180 credits
|Reading, University of
|· MA in English Language Teaching
|Language Curriculum Design (10 credits) and one of: Written Language (20 credits), Spoken Language (20 credits), Language Testing Principles (20 credits). This equals a total credit transfer of 30 credits towards this 180-credit degree.
|180 credits
|Sheffield, University of
|MA Applied Linguistics
|Exemption from 15-credit core module on Language Teaching Methodology.
|8 core modules
|Sheffield Hallam
|60 credits to DELTA holders (i.e. they are exempt from the Postgraduate Certificate, which forms the first part of the MA).
|180 credits
|York St John University
|MA English Language Teaching
|Exemption from 30-credit core module on Practical English Language Teaching
|Warwick University
|Exemption of 60 credits from an 180 credit course
|Link to info
About the Author
Marisa Constantinides, Dip.RSA, M.A. App Ling
A teacher, teacher educator and materials writer, Marisa Constantinides is the head of CELT Athens, a teacher education centre established in 1993, She is responsible for the design and training on all courses including Cambridge CELTA and DELTA, face-2-face and online. Marisa has a strong presence in Social Networks, moderates #ELTchat, a weekly discussion on Twitter (recently nominated for an ELTons award in Innovation in Teaching Resources). Marisa maintains a number of blogs (TEFL Matters, #ELTchat, Teaching & Learning Languages, the DELTA course blog, the CELTA course blog). She has published materials for young learners as well as for B2 and C2 level classes.
Subscribe to my RSS Feed
If you liked this post, you can subscribe in as RSS Reader. To subscribe to my personal blog RSS feed of this blog, click here!
Study with me
Follow our DELTA course face-to-face or online
Categories: Article


text:
LSUA To Hold National Weather Service SKYWARN Class
class="alignleft wp-image-21010″ style="margin: 2px 4px;" alt="LSUA-Logo" src="http://klax-tv.com/wp-content/uploads/2012/10/LSUA-Logo.png" width="175″ height="175″ />ALEXANDRIA, LA – Severe weather is a possibility throughout the year in central Louisiana and as a result, it pays to be weather aware in order to stay ahead of rapidly changing conditions. To help residents prepare for severe storms, LSUA is hosting members of the National Weather Service as they conduct a SKYWARN class.
Members of the Lake Charles office of the NWS will be on the LSUA campus on Monday, January 13 to hold the class. It will be in the Coughlin Hall Auditorium at 1:00pm.
Topics covered in the class include: background information on the NWS, weather observations, NWS communication of severe weather, severe weather definitions and safety tips, local tornado climatology, visual observations of possible tornado/severe storms, tornado look-a-likes and how to report severe weather to the NWS.
The class will last an hour and is free and open to the public.


text:
Improving Life for You, Your Family and Your Pets
Quality Based Products for a Quality Life
The "Q" Stands for Quality Solutions, Quality Products
You will receive affordable, quality solutions for you, your pets, and your living environment. Whatever it is that ails you, you can find a proven remedy here that really works.
We have the experience online shoppers demand and a strong team committed to providing the best service and quality for our customer's satisfaction. Learn more »
Guaranteed, Proven, Premium Personal Health, Pet and Skin Care Products


text:
Bryshun Mechanical is your complete one stop for everything plumbing and heating. We provide superior services and products to residential and commercial Calgary and area.
Our name is synonymous with quality, honesty, integrity and efficiency.
No matter the job at hand you can rest assured that it will be completed correctly, on time and on budget.
Please feel free to look around our site, and contact us for anything you may need assistance with.
Thank You!


text:
Many individuals enter entrepreneurship by starting their own business. Others, like myself, receive the opportunity to buy an existing business.
Buying a business is a huge responsibility. You are taking the reins from its previous owner as the company's new leadership. There are certain perks that come with buying an established business, such as transferring over existing intellectual property and having a built-in customer base. However, plenty of hard work still needs to be done before and after the purchase.
Let's start with the 'before' part of the conversation.
Ready to buy a business? Don't make an offer until you have carefully followed these rules.
1. Answer This Question: "Why Do I Want to Buy This Business?"
When I purchased MyCorporation in 2009, I was the GM of its division at Intuit. I was familiar with the inner workings of the business. I believed in its offerings and customers and was confident that I could manage and grow the business as CEO.
Buying a business is a major investment. Why do you want to buy this existing business? Do not answer by saying you're doing it for financial purposes or to become a boss. Take the time to consider the answers to these questions.
- Is this business in an industry I am experienced in? Entrepreneurs don't need to know every single thing about the business they're interested in purchasing. However, it does help to have some familiarity with its industry. Otherwise, you'll spend most of your time trying to catch up.
- How do I benefit from the purchase? Does the business already have a proven concept? Strong revenue? Loyal customers? Is the business and its offerings in demand?
- Why is the business for sale? This is a conversation you may have with its seller. You can discuss how long the company has been in business, what the current leadership is like, and revenue over time. Don't be afraid to ask why the business is for sale either. The reasons may vary. If the response you receive sounds fishy, move into conducting due diligence. (More on that in a bit.)
- What do I need to operate this business? Will you need to hire more employees? Lease a new office location? File specific permits to stay in operations?
- Am I passionate about this business? You want to buy a business or know a few things about its industry. However, the company won't grow under disinterested leadership.
2. Conduct Due Diligence with The Help of An Attorney and Accountant
It's still considered a risk to purchase a business for sale, even if you feel confident that this is a good match.
Start conducting due diligence about the business. Learn all that you can about the background of this company. It is advised that you do not do this alone. Hire an attorney and accountant to help out.
Accountants can assist with understanding the financial background of the business, evaluate its financial statements from previous years, and determine the costs involved with its purchase. Attorneys may assist with gathering and drafting key documents. Some of these may include tax returns, contracts and leases, a certificate of good standing, and a letter of intent, the latter of which is issued by the seller when a price proposal has been agreed upon by both sides.
3. Determine Funding for the Business
Generally, most entrepreneurs purchasing businesses need a little extra capital. When I purchased MyCorporation, I took out a second mortgage. I also bootstrapped the purchase. It's a difficult way to fund a business because it requires strict budgeting, but it can be done.
Bootstrapping aside, consider other funding options. The U.S. Small Business Administration (SBA) offers SBA-guaranteed loans in price points from $500 to $5 million. Available from a wide variety of lenders, these loans often come with rates and fees comparable to traditional bank loans. These loan programs do come with requirements, so check in with the lender you'd like to work with (using SBA's Lender Match tool) before moving forward.
Not ready to apply for a loan? There are other avenues available to fund the purchase of the business. You may use your existing personal savings, borrow money from family, or buy the business using Rollovers for Business Start-ups (ROBS) from eligible retirement accounts.
4. Prepare the Sales Agreement
Everything has been leading up to this moment! It's time to close the deal with a sales agreement. Work closely alongside an attorney when creating this document and have them review the terms with you before signing the paperwork.
Once you've signed, congratulations! The business has been sold to you and you are now its owner. This is an exciting time. Great successes, as well as some challenges, lie ahead. Don't worry. Let the passion, understanding, and familiarity you have for the company and industry guide you forward in all aspects of leadership from here on out.
Copyright © 2023 SCORE Association, SCORE.org
Funded, in part, through a Cooperative Agreement with the U.S. Small Business Administration. All opinions, and/or recommendations expressed herein are those of the author(s) and do not necessarily reflect the views of the SBA.


text:
Broccoli is a nutritious green vegetable belonging to the Cabbage family. It also bears resemblance to its relative, Cauliflower. The leaves, stalk and florets of Broccoli are all edible, but vary in flavor and texture.
Broccoli is high in vitamins A, C and D, and goes well in a variety of dishes, including stir fries, raw salads and soup. It has also been shown to reduce the risk of cancer. Eat broccoli once or twice a week.
A plant originally from southern Italy, broccoli can be green, white or purple. There are several other varieties, in particular the broccoflower, which is close to cauliflower, and the Romanesco broccoli, which is the result of a cross between broccoli and cauliflower.
Physical Description
It has large (10 to 20 cm) green heads and thick stalks.
Tasting Notes
Selecting and Buying
TIME IT RIGHT. How long has the broccoli you choose been sitting in the produce section? You'll never know, unless you ask. So find the produce manager and ask when he puts the fresh broccoli out. It's well worth knowing and timing your visits accordingly.
Step 2
GO FOR THE PURPLE. Of course broccoli is green, and you want to choose broccoli that has a nice deep green color. But did you ever notice a grayish-purple color on the florets? That's your key to choosing a really flavorful broccoli. Trust me on this. You won't believe the difference until you compare "purple" broccoli with the ordinary kind. The nutritional value is the same, but the "purple" broccoli is so much tastier!
Step 3
CHECK FOR FRESHNESS. Color won't help if the broccoli you choose is rubbery, has wilted leaves, brown areas, or just looks bad. The broccoli you want is firm, deep green (or with purplish-gray crowns -- see Step 2 above), and chilled. Don't accept less-than-appetizing broccoli just because it's there. If you don't like what you see, ask the produce manager if he has a fresher selection.
Choose broccoli with tight, compact crowns and firm, bright green stalks.
Avoid broccoli with yellow florets or leaves.
Check the end of the stalks to make sue they are moist and have no openings. Tight, closed, moist stalks indicate fresher, more tender broccoli.
When buying broccoli, if there is bluish or purple coloring on the head florets this is a good sign tht it is denser in essential phytonutrients.
Avoid buying broccoli with any yellow coloring on the florets or leaves, as it means the broccoli is overaged.
Preparation and Use
Broccoli is usually boiled or steamed, but may be eaten raw and has become popular as a raw vegetable in hors d'œuvre trays. Although boiling has been shown to reduce the levels of suspected anti-cancer compounds in broccoli, other preparation methods such as steaming, microwaving, lactic fermentation, and stir-frying have not been shown to reduce the presence of these compounds
Cooked broccoli, still firm, may be served hot or cold. It is delicious dressed with a vinaigrette, covered with béchamel, Mornay or hollandaise sauce and gratinéed, with butter or puréed. It is served as a side dish or used in soups, stews, stir-fries, omelettes, souffés, quiches and pasta dishes. It works well in recipes for cauliflower.
Conserving and Storing
Broccoli is hailed as a wonder vegetable. It is packed full of phytonutrients that boost your body's immune power. It has been found in numerous studies to prevent cancer, cleanse and detoxify cells, prevent heart disease and cataracts, build up the density of bones and strengthen the immune system. But how do you keep broccoli fresh? Simple. Follow these simple tricks to keep this healthy vegetable at its peak.
To keep broccoli at its freshest stage, store it for 3 to 5 days in a plastic bag in the refrigerator.
Broccoli can also be stored by freezing it. Peel the leaves from the stalk. Blanch the broccoli in steam for 5 minutes. Cool, and then place the broccoli in a sealed plastic bag. Broccoli can be stored in the freezer for up to 10 months
Cooked broccoli does not store well, as it will break apart when reheated. If you want to store cooked broccoli, steam it until it is just tender and store in a plastic bag for 2 to 3 days.
Related Cooking Videos
July 9, 2011
If you want to buy a car, you would have to get the mortgage loans. Moreover, my father usually takes a short term loan, which is the most useful.
July 9, 2011
If you want to buy a car, you would have to get the mortgage loans. Moreover, my father usually takes a short term loan, which is the most useful.
August 10, 2011
Broccoli health benefits seem to be never ending. This versatile veggie is loaded with down home goodness and super nutrition.
admissions essay
August 10, 2011
Broccoli health benefits seem to be never ending. This versatile veggie is loaded with down home goodness and super nutrition.
[url=http://www.admissionsessay.net/]admissions essay[/url]


text:
Every time I write a requirements document for SEO, I make sure to address Usability and Information Architecture. I like to think that Google will reward sites that do have good Information Architecture because it is mostly always search engine friendly designs that support crawlability and indexing. This is usually the reason I spend a lot of time with the User Experience team or UX designers, because working closely with them will only help influence a search engine friendly design built into the product requirements. I'm not going to sit here and say that I win every time, but, I'll take a win where I can get it. Aside from all the awesome acronyms, I thought I would share some of the things that I have seen influence IA, UX, and SEO.
Sub-Pages and Navigation
Deep Content websites have a ton of content that requires you to split pages up and helps from both a standpoint of clean Information Architecture of main page to sub-page. Similar to category and sub-category indexes, entertainment content like Movies, TV, Celebrities and Music all have deep content types and indexes, putting it all on one page would be one incredibly long, unusable page with a horrible user experience. Oh, and that page would probably take 20 seconds to load even on today's speedy internet connections. I think it's fairly obvious that pages and sub-page types exist, so, taking a few minutes to think it through is probably a good idea.
Breadcrumbs are navigational elements that are designed to help the user experience of a website by leaving a trail of where are user is browsing on the site. From an SEO standpoint, breadcrumbs are extremely useful because of all the internal links that are created as you get deeper into the content. For sites with a lot of deep content or a large index of pages, this can be especially helpful because the number of internal links grows exponentially.
Example of a Breadcrumb:
So, let's say I was designing a breadcrumb for Myspace and I was on the Kim Kardashian topic page. It would look something like this:
Home > Celebrities > Kim Kardashian
And, by the way, the term "Breadcrumb" is probably one of the coolest web terms used…how could you not use them on your site?!
In-Page Navigation
In-Page Navigational links can be referenced in a few different ways, from jump-links to on-page anchors, etc. It's actually one of the oldest forms of navigation from the web 1.0 days when websites didn't have fancy menu's, navigation elements, etc. Today, you'll still see many sites use in-page navigation to guide users through FAQs or even through large pages. Wikipedia and IMDB are great examples of this as they have fairly long pages and help users move through page content fairly easily.
Now, from an SEO standpoint, this is awesome for internal linking because, URL fragments (#) (and, everything the follows) that are used in on-page anchors are ignored by search engines and therefore creates links internal to that page. While It is debatable from an SEO standpoint, you can leverage URL fragments for SEO benefits in AJAX as well.
Related Links
Related links are a gold-mine and one of my favorite types of ways to leverage User Experience for SEO purposes. From a page to page browsing standpoint, they are great at increase page views while users stay engaged, clicking through your website content. There are all types of implementations from modules in sidebar's, sub-page sections, and link lists to navigate users through a website. Many of these examples range from "Songs similar to…", "You might also like…", or "Top Lists." Here are some examples from Kanye West's HAM song page on Myspace:
User Experience and SEO
I tried to show some of the key examples of how user experience and SEO teams can work together. But, there are so many more examples out there and every website and product have different use cases. The key is to work together to create richer and smarter user experiences on the web. And, you can pretty much guarantee that by creating that solid UI, with a well thought out content architecture, you're site will be search engine friendly. This helps overall SEO strategies through strong internal linking that increases crawl paths and rich anchor text links on your website. An overall win-win for UX and SEO in my opinion.
I make it a point to talk to user experience professionals daily to understand how they think and talk through various scenarios. There are countless times where they have helped me think outside the box on projects and through a simple brainstorm, come up with better SEO solutions for a page, product, or website.


text:
If you've clicked on one of those "meme" things lately or watched a video of something happening, there's a good chance it meandered its way through Reddit, one of the most massively influential websites, ever. Come talk to its daddy.
Reddit, in truest 21st century fashion, actually has two awesome dads—but today we have co-founder Alexis Ohanian. Ohanian made Reddit in 2005 alongside Steve Huffman, which in turn killed Digg, and has gone on to create a company that publsihes XKCD comic books and super-useful travel service Hipmunk. What a guy, right? But how did he get here? What made a guy who majored in business and history with a minor in German—and planned to be a lawyer—go on to make so much stuff that's changed the way millions and millions of people use the Internet and share things they love? What happened? What was it? And what's in that book of his?
We don't know, so let's ask him ourselves.


text:
Tuesday, May 31, 2016
doing the dishes
The kitchen table full of dishes, a beautiful sight!
The vintage serving cart in our kitchen is the perfect place to store the dishes.
Some of them we use daily, most of them we use very often, but some we hardly ever use.
Because the kitchen cart is open, every now and than the cart including stacks need to be cleaned.
Doing the dishes is not as much work as it might seem, thank goodness we have a dishwasher.
Everything is cleaned up and tidy and all the stacks are back on the cart again.
Geplaatst door wood & wool stool op 9:04 AM 3 comments:
Labels: cleaning, dishwasher, doing the dishes, kitchen, kitchen cart, plates, serving cart, vintage plates
Monday, May 30, 2016
baby blanket pattern
I've written the pattern of the wood & wool baby blanket. The first one I already made in 2010 and during the last 6 years received lots of questions about the pattern.
This black & white version of the blanket I started in August last year, so it's about time to finally finish the project!
The pattern is NOW available in my E T S Y - S H O P and you can find a lot of different versions on my blog, when you search for baby blanket inspiration!
[blanket shoot at the green barn - september 2010]
Sunday, May 29, 2016
on the inside
A pin board on the inside of the kitchen cabinet.
With pushpins I've pinned some precious postcards and stuff hanging around.
Out of sight until you open the cabinet door.
It annoys me when someone does not close the cabinet door, so that 'problem' is solved too.
Geplaatst door wood & wool stool op 4:33 PM 2 comments:
Friday, May 27, 2016
handmade harlequin baby blanket
A handmade harlequin blanket is the perfect item for a babyroom.
You can make this multicolored blanket with wool leftovers. You can also make a very natural colored version if you prefer.
Making a babyblanket is so much fun! All harlequins are simple small projects and when you make one or just a few a day, you finally have enough harlequins to make a unique blanket.
At the moment I'm working on a white & colors version and I'm making it in a bigger size for our daybed.
You can make the blanket with all types of yarn and in any size you want.
The harlequin p a t t e r n is available HERE.
Geplaatst door wood & wool stool op 10:06 AM No comments:
Labels: baby, babyroom, handmade, harlequin pattern, multicolored, unique, vintage bamboo babybed, wood & wool baby blanket, wood & wool harlequin blanket, wood & wool xs stool
Wednesday, May 25, 2016
catch of the day
Catch of the day; fresh peonies from my dearest flowergirl Pippa!
At the moment she's busy preparing her final school exam Flower & Design.
Geplaatst door wood & wool stool op 4:10 PM 4 comments:
Labels: catch of the day, fishvase, flowergirl, flowergirl. fresh, flowers, green, kitchen table, pionies, pippa, vase
Monday, May 23, 2016
rural bike ride
Yesterday morning we took full advantage of the one hour it was not raining, to make a test drive on my new bike.
We live on the outskirts of the city and within 5 minutes you are cycling in a completely different landscape along the river between the sheep.
Riding my new blue [holymoly] bike is so much easier and lighter, than my old vintage 'french' bike.
We made a polder tour and even climbing the river embankment was a piece of cake.
We even had time for a cup of coffee on a terrace, facing a dark sky. We raced home and arrived just in time for the rainshower. (it has not been dry since...)
Geplaatst door wood & wool stool op 8:07 PM 3 comments:
Labels: bicycle, crema, dordrecht, holymoly, may, merwede, polder, rainy days, ride, riverview, rural, spring, sunday morning, turquoise, weekend
Sunday, May 22, 2016
eclectic pixels
Popping pixels! Love at first sight, when I spotted our 'new' handmade pixel daybed spread.
It's an oldie from eastern europe with a colorful flower border, craftsmanship with an eclectic embroidery technique and lacy crochet.
Last week it was actually laying on our bed end, but I prefer to enjoy it all day, so the bright pixel blanket moved to the daybed in our livingroom.
Geplaatst door wood & wool stool op 2:13 PM 3 comments:
Labels: bamboo, blanket, boucherouite, colorful, craftsmanship, daybed, eclectic, embroidery, handmade, livingroom, pixels, vintage, wood & wool harlequin pillow
Saturday, May 21, 2016
bon weekend
Geplaatst door wood & wool stool op 1:08 PM 3 comments:
Wednesday, May 18, 2016
publication vt wonen lifestyle
VT Wonen gathered more than 300 hotspots to shop, eat, stay and relax.
A lifestyle tour guide book along all the provinces in the Netherlands.
You can buy this smart 'keep issue' with the newest VT Wonen issue for next to nothing.
Highly recommended; a magazine packed with fun addresses.
(and it was a nice surprise to find myself at work on the Villa Augustus page)
Geplaatst door wood & wool stool op 10:37 AM 1 comment:
Labels: at work, market shop, markt, places to go, publication, sweet peas, villa augustus, vt wonen
Monday, May 16, 2016
stripes, socks & bookcover
Socks in heels. Stipes on stripes. I like it a lot, those unusual combinations.
The red shoes are already ten years old and I hardly wear them, since the sneakers made their entry in my shoe collection.
Every now and then I bring them out of the shoe rack.
This weekend I started to read The Year of the Runaways.
The English translation of a novel by Sunjeev Sahota.
I received the book from India in the mail last week.
Just a few months ago I got a request from Bhavi Mehta to use my [red suitcase] photo from London for the cover of the book.
She said the picture is just right for the story.
I like those unexpected surprising twists.
Geplaatst door wood & wool stool op 10:35 PM 3 comments:
Labels: book, bookcover, daybed, fashion, heels, london, publication, shoes, stripes, sunjeev sahota, the year of the runaways
Sunday, May 15, 2016
amsterdam blue
Friday the 13th in Amsterdam. Our lucky day ;-)
Lunchdate with my dear friend Ank, we're both very excited about the new Marrakech projects for 2017.
After lunch a boattrip to the city center with my man.
We tried to escape the crowded places and walked along the canals and decided to finish the day on the beach at Pllek until sunset.
Geplaatst door wood & wool stool op 2:56 PM 1 comment:
Thursday, May 12, 2016
a harlequin a day
To me crochet in the backyard during these summer may nights are so relaxing.
I love love love to sit outside and working on tiny crochet projects.
During the last cool crochet workshop in Marrakech, we were joking about a new motto 'a harlequin a day, keeps the stress away...'
For me it really works.
At the moment I'm working on a new harlequin blanket.
Lots of 'white' harlequins with and also many different colors to make it 'work'.
Tonight I even made 3 harlequin in a row (i'm totally zen haha)
If you feel you need a harlequin a day prescription, you can find the recipe in my Etsy shop.
*only side effect: it is addictive
Geplaatst door wood & wool stool op 9:50 PM 4 comments:
Subscribe to: Posts (Atom)


text:
Age 25 from Dunn Center, ND
Age 25 from Dunn Center , ND
About EFFIE :
"horny and looking for a someone to help me. Nice wet pussy(just right for tasting)do with me as u want lick me- suck ms- fuck me whatever, i have some toys anal beads,dildos, gonna go get a strap-on and a double head dildo, so its up to you…"
You've just gotten out of a serious relationship and now you've decided to try a casual adult dating. Where do you start? Are you rusty? There are a few things that you can keep in mind that will help to ensure that your casual relationship remains safe, fun, and most of all, casual.
1. Always make sure to be honest about wanting to keep the relationship casual. After all, you do not want to mislead your partner into thinking you want more when you're really just looking for casual sex.
2. Remember to never spend the night, because this gives your partner the impression that you want to move beyond a casual relationship into a more serious one.
3. Remember that you are not the only one in a casual relationship. You're looking for a local girl that will have sex with you, and chances are that she is just looking for sex too. You're going to talk to hot, sexy women and she will probably end up talking to sexy men or woman as well. This is a casual sex date.
4. Always take care of yourself. Make sure that, when you meet up, you are clean and ready for sex. With casual adult dating, she will be more likely to refuse sex if you do not look clean and ready to go.
5. Remember that she is a fuck buddy, and that you are looking for hot sex and nothing more. Always, ALWAYS, wear protection.
6. Casual dating lets you try new things. Maybe you've always wanted a threesome, or maybe you have never had sex with a blonde. Maybe, you want to be tied up by a hot MILF. Remember to have fun and be adventurous.


text:
Steelers turn up D to beat Bengals
The top two running backs were gone. So were two offensive linemen. Safety Troy Polamalu was sitting on the bench along with all those other injured Steelers.
So, what exactly did Pittsburgh have left? A determined defense. Some reserve running backs. And Ben Roethlisberger.
That's enough, especially in Cincinnati.
Roethlisberger threw for a touchdown, and Pittsburgh's defense clamped down on the Bengals' Dalton-to-Green connection for a 24-17 victory Sunday night that got the Steelers back into the thick of the AFC North race.
For the Steelers (3-3), it was a significant win under tough conditions. Their first road victory of the season moved them into second place behind Baltimore (5-2), which lost to Houston 43-13 earlier Sunday.
''It puts us right there in the hunt,'' safety Ryan Clark said.
A lot of players got them there on a tough night.
Third-year running back Jonathan Dwyer made his first career start and ran for a career-high 122 yards, including a 32-yard gain in the final minute that put it away. Shaun Suisham kicked field goals of 42, 47 and 42 yards. And the defense came up with a game-turning interception.
''It was a back-against-the-wall mentality and you've got to fight your way out,'' said cornerback Ike Taylor, who helped limit Pro Bowl receiver A.J. Green to one catch.
Cincinnati (3-4) wasted yet another chance to show it deserved to be considered up there with the division's two most successful teams. The Bengals fell to 0-6 against the Steelers and Ravens over the last two seasons, a sign they are still an also-ran in their division.
They have lost three straight, falling into third place in the division.
''It's going to be tough to sleep,'' Bengals cornerback Leon Hall said. ''At the end of the day, we've lost three in a row and we're in a tough spot.''
This was their best chance yet to break through, especially after the Steelers dropped passes, fumbled and threw an end zone interception in a self-destructive first half. They couldn't take full advantage against the team that always seems to win on their home field.
The Steelers improved to 12-2 at Paul Brown Stadium, where thousands of towel-waving fans make them feel at home. They have won their last five overall against their Ohio River rival and 10 of the last 12.
And once again, the Bengals could blame themselves.
Andy Dalton's slip-out-of-the-hand interception set up Roethlisberger's 9-yard touchdown pass to Heath Miller and a tying 2-point conversion to the tight end with 24 seconds left in the half. Chris Rainey's 11-yard touchdown run put the Steelers ahead early in the fourth quarter, and the injury fill-ins finished them off.
''I'm proud of the way those young guys stepped up,'' said Roethlisberger, who was 27 of 37 for 278 yards. ''There never was a doubt they would do that.''
The Bengals got the better of it at the outset, pulling ahead 14-3 by getting their running game moving behind BenJarvus Green-Ellis and turning a fumble by Roethlisberger into a touchdown. If they were going to end that streak of futility against the Steelers, this was their chance.
Dalton's only glaring mistake made the difference.
He saw a defender waiting to make an interception and tried to stop his throwing motion. The ball slipped out of his hand, hit the helmet of Bengals lineman Kevin Zeitler and deflected to linebacker LaMarr Woodley at the Cincinnati 29-yard line with 1:23 left in the half. That set up Roethlisberger's tying TD pass and conversion.
''You can't have a thing like that happen,'' Dalton said. ''We had a chance to go down and score points or at least keep it where it was. What you can't let happen is not just let the ball slip out of your hands, but let them get an interception and get points.''
Dalton was 14 of 28 for only 105 yards with a touchdown and an interception. He threw six passes toward Green but completed only one, an 8-yard touchdown after Roethlisberger's fumble.
The Steelers' 31st-ranked running game was missing Rashard Mendenhall and Isaac Redman, as well as center Maurkice Pouncey and right tackle Marcus Gilbert. Rookie Mike Adams made his first start in Gilbert's spot.
Plus, Polamalu was inactive for the fourth time in the last five games with a calf injury.
That put a lot on Roethlisberger, who usually does well in his home state — 15-2 all-time in Cleveland and Cincinnati — but rarely has been so short-handed.
Didn't matter.
''On the road, which is big for us, in this hostile environment — I can't say enough about it,'' Roethlisberger said.
Notes: Steelers rookie NT Alameda Ta'amu served the first of his two-game suspension for his arrest last weekend. ... Bengals rookie CB Dre Kirkpatrick was inactive for the seventh game. He hurt his left knee over the summer and hasn't played. He's expected to be ready after the Bengals' upcoming bye week. ... Bengals C Jeff Faine injured a hamstring, forcing rookie Trevor Robinson to take over in the second half. ... The Steelers wasted a chance to score off a trick play in the first half. Roethlisberger threw a lateral to Antonio Brown, who threw a pass to uncovered running back Baron Batch. The ball went through his arms. Roethlisberger then threw an end zone interception.


text:
String theory
see also Colloquia, Conformal Field Theory
String Theory in a nutshell
by Elias Kiritsis, (Princeton University Press, 2007, Errata)
This book is an up to date presentation of the main parts of modern string theory, targeting specialized students and postdocs entering or working in string theory. It contains also a large set of problems, as well as chapters on black-hole microstate counting, matrix models and an extendent exposition of the AdS/CFT correspondence.
String Theory and M-Theory
by Katrin Becker, Melanie Becker and John Schwarz (CUP, 2006)
This is a book that is intended to be a comprehensive introduction to the subject of string theory in a modern fashion, with rather rapid discussions of many modern developments including AdS/CFT. As such, it includes a lot of material with relatively less detailed explanation, which serves its purpose as an introduction very well. However, one does need some further readings to completely understand everything this book is trying to say.
A First Course in String Theory
by Barton Zwiebach, (CUP, 2003)
This book is intended for the advanced undergraduate or beginning graduate level. No familiarity with quantum field theory is assumed (although Zwiebach does assume a working knowledge of quantum mechanics). It focuses on the study of single strings and their interactions, which can be understood in some detail. Of necessity, however, it is impossible to address many advanced topics.
String Theory
Volume 1: An Introduction to the Bosonic String
Volume 2: Superstring Theory and Beyond
by Joe Polchinski (two volumes, CUP, 1998, errata)
This book addresses the discoveries of the superstring revolutions of the early to mid 1990s, which mark the beginnings of modern string theory. Volume 1 quantises the bosonic string and uses this setting to introduce T-duality and D-branes without the complications of fermions. The first three chapters of volume 2 introduce superstrings, but quickly move beyond. The rest of the second book provides an introduction to nearly all modern string topics pre-dating the AdS/CFT duality. In particular, it includes D-branes, Orbifolds, Black Hole Entropy, and Mirror symmetry.
Some of the errata were corrected in the reprinting in 2000.
A solution manual for Polchinski's "String Theory"
by Matthew Headrick (0812.4408 [hep-th], 114 pages)
Superstring Theory
Volume 1: Introduction
Volume 2: Loop Amplitudes, Anomalies and Phenomenology
by Michael Green, John Schwarz and Edward Witten (two volumes, CUP, 1988)
Volume 1 is the first of a classic two-volume string text by founders in the field. Though there are now many more modern texts, it containing many details that more recent texts must skim through to discuss modern topics. Volume 1 is concerned mainly with the free string, though it treats both bosonic and supersymmetric versions. Volume 2 addresses the details of loop calculations, but also discusses low-energy effective theories (in particular, supergravity) and compactifications (especially on Calabi-Yau manifolds).
Supersymmetry and String Theory: Beyond the Standard Model
by Michael Dine (CUP, 2007)
Gravity and Strings
by Tomás Ortín (CUP, 2004)
Introduction to Superstring Theory
by E. Kiritsis (Leuven University Press, 1998, hep-th/9709062, 244 pages, 22 figures)
Also available from the arXiv. Kiritsis provides a pedagogical introduction starting with the point particle and the bosonic string, and then proceeds through conformal field theory and the superstring. Advanced topics treated include T- duality, anomalies, compactification and supersymmetry breaking, loop corrections, and non-perturbative dualities.
Lectures on String Theory
by D. Lüst and S. Theisen (Springer-Verlag, 1989)
This very useful text features a short route to the superstring and includes an excellent treatment of the heterotic string.
Quantum Field Theory of Point Particles and Strings
by B. Hatfield (Perseus Publishing, 1998)
An updated version of Hatfield's 1992 book, the first half quickly reviews quantum field theory while the second introduces the very basics of strings.
Gauge fields and Strings
by A. M. Polyakov (Harwood Academic Publishers, 1987)
This classic work uses a detailed treatment of quantum field theory in terms of first-quantized particles to make a natural transition to the first quantized string. Details of path-integral measures and other fundamentals are well-presented.
Introduction to Superstrings and M-Theory
by M. Kaku (Springer Verlag, 1999)
This updated version of an earlier text begins with the basics and, after some development, addresses advanced topics such as compactifications and M-theory. As a one-volume text, it cannot be comprehensive and, as a result, has a rather light discussion of D-branes.
Strings, Conformal Fields, and M-Theory
by M. Kaku (Springer Verlag, 2000)
The intent of this text is to build on Introduction to Superstrings and M-theory, addressing a number of more modern topics and illustrating the relationship to a broad range of related topics.
An Introduction to String Theory
by James Bedford (1107.3967 [hep-th], 100 pages)
Based on DAMTP Part III lectures by Michael Green in 2003.
DAMTP Part III 2009 Lectures on String Theory
by David Tong
String Theory: A Framework for Quantum Gravity and Various Applications
by Spenta R. Wadia (0809.1036, 38 pages, 5 figures)
Introductory Lectures on String Theory
by A.A. Tseytlin (0808.0663, 38 pages, 21 figures)
Superstring theories
by Constantin Bachas, Jan Troost (physics/0605105, 12 pages, 5 figures)
concise review for Encyclopedia of Mathematical Physics (Elsevier, 2006)
String Theory
by Eric D'Hoker (downloadable from the Quantum Field Theory program at IAS: Spring Term 1997)
Les Houches Lectures on Fields, Strings and Duality
by R. Dijkgraaf (hep-th/9703136, 152 pages, 31 figures)
Introduction to Non-perturbative String Theory
by Elias Kiritsis (hep-th/9708130, 60 pages, 4 figures)
String Primer
by E. Alvarez and P. Meessen (hep-th/9810240, 87 pages, 4 figures)
TASI Lectures on Perturbative String Theories
by Hirosi Ooguri, Zheng Yin (hep-th/9612254, 80 pages)
What is String Theory?
by Joseph Polchinski (hep-th/9411028, 153 pages, 30 figures)
An Introduction to the Covariant Quantization of Superstrings
by P.A. Grassi, G. Policastro, P. van Nieuwenhuizen (hep-th/0302147, 23 pages)
Lectures on Two-Loop Superstrings
by Eric D'Hoker, D.H. Phong (hep-th/0211111, 37 pages, 3 figures)
ICTP Lectures on Covariant Quantization of the Superstring
by Nathan Berkovits (hep-th/0209059, 43 pages)
Open Strings
by Carlo Angelantonj, Augusto Sagnotti (hep-th/0204089, 156 pages)
TASI Lectures on Perturbative String Theory and Ramond-Ramond Flux
by L. Dolan (hep-th/0201209, 39 pages)
An Introduction to Conformal Field Theory
by Matthias R Gaberdiel (hep-th/9910156, 69 pages)
A New Description of the Superstring
by Nathan Berkovits (hep-th/9604123)
Introduction to Superstring Theory
by E. Kiritsis (hep-th/9709062, 244 pages, 22 figures)
Also available as a book. Kiritsis provides a pedagogical introduction starting with the point particle and the bosonic string, and then proceeds through conformal field theory and the superstring. Advanced topics treated include T- duality, anomalies, compactification and supersymmetry breaking, loop corrections, and non-perturbative dualities.
An Introduction to Non-perturbative String Theory
by Ashoke Sen (hep-th/9802051, 129 pages, 22 figures)
Introduction to Superstring Theory
by John H. Schwarz (hep-ex/0008017, 44 pages)
Strings, Branes and Extra Dimensions
by Stefan Forste (hep-th/0110055, 238 pages)
String Theory or Field Theory?
by A. Marshakov (hep-th/0212114, 56 pages, 18 figures)
String theory: an update
by Jan de Boer (hep-th/0210224, 20 pages, 2 figures)
Introduction to String Theory
by Thomas Mohaupt (hep-th/0207249, 78 pages)
BUSSTEPP Lectures on String Theory
by Richard J. Szabo (hep-th/0207142, 90 pages, 24 figures)
Introduction to M-theory for relativists and cosmologists
by Nobuyoshi Ohta (gr-qc/0205036, 28 pages, 7 figures)
Topics on Strings, Branes and Calabi-Yau Compactifications
by Hugo Garcia-Compean, Oscar Loaiza-Brito (hep-th/0010046, 50 pages, no figures)
Lectures on Strings, D-branes and Gauge Theories
by Hugo Garcia-Compean, Oscar Loaiza-Brito (hep-th/0003019, 38 pages, no figures)
An introduction to perturbative and non-perturbative string theory
by Ignatios Antoniadis, Guillaume Ovarlez (hep-th/9906108, 17 pages)
Supergravity, Brane Dynamics and String Duality
by P. West (hep-th/9811101, 109 pages, 2 figures)
Introduction to M Theory
by Miao Li (hep-th/9811019, 76 pages)
String Primer
by E. Alvarez, P. Meessen (hep-th/9810240, 87 pages, 4 figures)
Lectures on Strings and Dualities
by Cumrun Vafa (hep-th/9702201, 53 pages)
Fields, Strings and Branes
by C. Gomez, R. Hernandez (hep-th/9711102, 176 pages, 6 figures)
Les Houches Lectures on Fields, Strings and Duality
by R. Dijkgraaf (hep-th/9703136, 152 pages, 31 figures)
Introduction to String Theory
by Angel Uranga (Graduate Course in String Theory, 528 pages)
String Theory
by Sunil Mukhi (BUSSTEPP 2003 Lectures, 147 pages). Downloadable from BUSSTEPP 2003 Website
The birth of string theory
by Paolo Di Vecchia (0704.0101, 60 pages)
Covers developments that in the years 1968 to 1974 led from the Veneziano model to the bosonic string.


text: I couldn't sleep last night because i know that it's over between us. I'm not bitter anymore, because I know that what we had was real. And if in some distant place in the future we see each other in our new lives, I'll smile at you with joy and remember how we spent the summer beneath the trees, learning from each other and growing in love. The best kind of love is the kind that awakens the soul and makes us reach for more, that plants a fire in our hearts and brings peace to our minds, and that's what you've given me. That's what I hope to give to you forever. I love you. I'll be seeing you.


text:
Canada recently voted at the United Nations for the establishment of a Palestinian state. At the same time, Canada reiterated its position that there were too many UN resolutions about Israel. Canada argued that these resolutions unfairly singled out Israel for criticism.
Nevertheless, Israel's ambassador to the UN claimed that Canada's vote delegitimized Israel.
This event raises questions of what are legitimate or illegitimate criticisms of the state of Israel. It also raises questions about when or whether such criticism is anti-Semitic.
The International Holocaust Remembrance Alliance defines anti-Semitism as "a certain perception of Jews, which may be expressed as hatred toward Jews." It states that evidence of anti-Semitism "might include the targeting of the state of Israel, conceived as a Jewish collectivity."
However, it also states that "criticism of Israel similar to that leveled against any other country cannot be regarded as anti-Semitic."
Using this definition, Canada's vote for creation of a Palestinian state does not delegitimize Israel, any more than Canadian criticism of any other state delegitimizes it.
Illegitimate criticism
On the other hand, activists for Palestinian rights who call for the state of Israel to be destroyed, for example, by referring to a free Palestine "from the river to the sea," engage in illegitimate criticism.
Regardless of the circumstances of its creation, Israel is a sovereign state that enjoys the right to exist. All sovereign states enjoy this right. Like any other state, Israel also has the right to defend itself against attack.
To suggest that Jews have no right to live in Israel is also to engage in illegitimate criticism. All states are permitted to determine who will live within their borders. And suggesting that Jews should not live in Israel means advocating the creation of a huge refugee population based on religio-ethnic criteria.
Some critics call Israel a colonial power. They assume that it is illegitimate for any Jewish "settler" to live in Israel proper. This assumption is based in part on the belief that Jews are not indigenous to the Middle East. But Jews have lived in the Middle East for thousands of years.
Israel was created in 1948. An estimated 600,000 to 760,000 Palestinians fled or were expelled in the subsequent Arab-Israeli war.
In later years, about 800,000 Jews left Arab countries. About two-thirds of them settled in Israel, and the other third elsewhere. Many of these Jews had been forcibly expelled.
Many Jews settled in Israel from Europe. It is important to remember the context of European pogroms and Nazi genocide that obliged many of them to flee.
This does not justify Israeli violations of the human rights of either Israeli Arabs or of Palestinians in the West Bank and Gaza. It merely provides some context as to why so many Jews have settled in Israel.
Sanctions against Israel are legitimate
Having said this, I agree with the opinion of the International Holocaust Remembrance Alliance that it's legitimate to criticize Israel as one might criticize any other state. Thus the boycott, divestment and sanctions movement against Israel is legitimate, as long as it does not simultaneously question the right of Israel to exist as a state. Many Jewish people both within and outside Israel who are concerned about Palestinian rights support this movement.
Similarly, although it is not strictly accurate to call Israel an apartheid state, it is within the realm of acceptable political rhetoric. Legally speaking, apartheid can only occur within a state. So calling Israel an apartheid state suggests that it has legal sovereignty over the West Bank and Gaza.
A better way to judge Israel's actions in Gaza and the West Bank is through universal standards. One such standard is international humanitarian law, especially the fourth Geneva Convention of 1949. This convention prohibits transfers of population, either from or into conquered territories. That means Jewish settlements in the West Bank are illegal.
The International Court of Justice also adheres to universal standards. It ruled in 2004 that the wall separating Israel from the West Bank is illegal, because part of it is built outside Israel's territory. This wall frequently separates Palestinians from their land, work opportunities and family members.
International human rights law is another universal standard that protects Palestinians. Israel definitely denies some human rights to people in the West Bank and Gaza. But so do Palestinians' own political leaders, Hamas in Gaza and Fatah in the West Bank. Both these political groups deny their subjects civil liberties. They also use torture and arbitrary arrest, prohibited by international human rights law.
Other states punish Palestinians
Other states also undermine Palestinians' human rights. Like Israel, Egypt periodically blockades Gaza . These blockades deny Palestinians freedom of movement across national boundaries. Both these states have the legal right to control their own borders. But these controls frequently mean that Palestinians cannot buy food, go to hospitals or work in Israel or Egypt.
Arab states also undermine Palestinians' human rights. Some have given shelter to Palestinian refugees and their descendants for decades, but refuse to grant them citizenship.
These states are not legally obliged to grant citizenship to refugees and their descendants. But the reason that Jewish emigrants and refugees from Arab states do not constitute a political bloc, which Palestinians emigrants and refugees do, lies partly in citizenship laws.
Jewish emigrants and refugees obtained citizenship in Israel and other countries like the United States and Canada. Palestinians emigrants and refugees from Israel, and many of their descendants, remain stateless.
Universal rules and responsibilities
Serious concern for the human rights of Palestinians requires consideration of all the states that violate their rights under international human rights and humanitarian law.
These legal standards are universal. As long as they do not advocate eradication of the state of Israel and/or expulsion of Israeli Jews, states and activists that adhere to these standards are engaged in legitimate criticism.
Activists should respect Israel's rights as a sovereign state. But Israel should respect Palestinians' rights under universal human rights and humanitarian law. Israel is the most important of all the states in the Palestinian crisis.
Unfortunately, the government of Israel in 2019 was nationalist and expansionist. There's little hope as we head into 2020 that Israel will negotiate in good faith with Palestinian leaders. Yet Israel will never be safe from attack until it negotiates a peaceful settlement that gives Palestinians their own state.
[ You're smart and curious about the world. So are The Conversation's authors and editors. You can read us daily by subscribing to our newsletter.]


text:
(CNN)Notch this up to Swedes and another ridiculously cool, innovative design.
This latest effort can be found off an African island and straightaway is placed high on that list of 'amazing hotels I wish i could get to' many travelers have.
Just off the coast of Tanzania, The Manta Resort on Pemba Island has added a beautiful, other-worldly underwater bedroom to their original 16-room offering.
The new 'digs' opened for business this month, designed by Swedish company Genberg Underwater Hotels.
They are the brains behind the The Utter Inn, an underwater room in the middle of a Swedish lake which was also one of our 15 unusual places to spend the night.
Lying approximately 250 meters offshore, the latest underwater structure is a three-story affair, with a rooftop deck, a bathroom and a lounge area at sea level and finally the bedroom downstairs, with the fish.
At night, spotlights under the windows attract and illuminate squid and octopus — a more reclusive crowd than the daytime sea life.
The resort is popular with divers owing to the coral reef around the island.
Read more: http://www.cnn.com/2013/11/17/travel/underwater-room/index.html


text:
|« Prev
|Psalm 106
|Next »
Psalm 106
106 1 aPraise ye Jehovah.
Oh give thanks unto Jehovah; for he is good;
For his lovingkindness endureth forever.
2Who can utter the mighty acts of Jehovah,
Or show forth all his praise?
3Blessed are they that keep justice,
And he that doeth righteousness at all times.
4Remember me, O Jehovah, with the favor that thou bearest unto thy people;
Oh visit me with thy salvation,
5That I may see the prosperity of thy chosen,
That I may rejoice in the gladness of thy nation,
That I may glory with thine inheritance.
6We have sinned with our fathers,
We have committed iniquity, we have done wickedly.
7Our fathers understood not thy wonders in Egypt;
They remembered not the multitude of thy lovingkindnesses,
But were rebellious at the sea, even at the Red Sea.
8Nevertheless he saved them for his name's sake,
That he might make his mighty power to be known.
9He rebuked the Red Sea also, and it was dried up:
So he led them through the depths, as through a awilderness.
10And he saved them from the hand of him that hated them,
And redeemed them from the hand of the enemy.
11And the waters covered their adversaries;
There was not one of them left.
12Then believed they his words;
They sang his praise.
13They soon forgat his works;
They waited not for his counsel,
14But lusted exceedingly in the wilderness,
And tempted God in the desert.
15And he gave them their request,
But sent leanness into their soul.
16They envied Moses also in the camp,
And Aaron the asaint of Jehovah.
17The earth opened and swallowed up Dathan,
And covered the company of Abiram.
18And a fire was kindled in their company;
The flame burned up the wicked.
19They made a calf in Horeb,
And worshipped a molten image.
20Thus they changed their glory
For the likeness of an ox that eateth grass.
21They forgat God their Saviour,
Who had done great things in Egypt,
22Wondrous works in the land of Ham,
And terrible things by the Red Sea.
23Therefore he said that he would destroy them,
Had not Moses his chosen stood before him in the breach,
To turn away his wrath, lest he should destroy them.
24Yea, they despised the pleasant land,
They believed not his word,
25But murmured in their tents,
And hearkened not unto the voice of Jehovah.
26Therefore he asware unto them,
That he would aoverthrow them in the wilderness,
27And that he would overthrow their seed among the nations,
And scatter them in the lands.
28They joined themselves also unto Baal-peor,
And ate the sacrifices of the dead.
29Thus they provoked him to anger with their doings;
And the plague brake in upon them.
30Then stood up Phinehas, and executed judgment;
And so the plague was stayed.
31And that was reckoned unto him for righteousness,
Unto all generations for evermore.
32They angered him also at the waters of aMeribah,
So that it went ill with Moses for their sakes;
33Because they were rebellious against his spirit,
And he spake unadvisedly with his lips.
34They did not destroy the peoples,
As Jehovah commanded them,
35But mingled themselves with the nations,
And learned their works,
36And served their idols,
Which became a snare unto them.
37Yea, they sacrificed their sons and their daughters unto demons,
38And shed innocent blood,
Even the blood of their sons and of their daughters,
Whom they sacrificed unto the idols of Canaan;
And the land was polluted with blood.
39Thus were they defiled with their works,
And played the harlot in their doings.
40Therefore was the wrath of Jehovah kindled against his people,
And he abhorred his inheritance.
41And he gave them into the hand of the nations;
And they that hated them ruled over them.
42Their enemies also oppressed them,
And they were brought into subjection under their hand.
43Many times did he deliver them;
But they were rebellious in their counsel,
And were brought low in their iniquity.
44Nevertheless he regarded their distress,
When he heard their cry:
45And he remembered for them his covenant,
And repented according to the multitude of his lovingkindnesses.
46He made them also to be pitied
Of all those that carried them captive.
47Save us, O Jehovah our God,
And gather us from among the nations,
To give thanks unto thy holy name,
And to triumph in thy praise.
48Blessed be Jehovah, the God of Israel,
From everlasting even to everlasting.
And let all the people say, Amen.
aPraise ye Jehovah.
|« Prev
|Psalm 106
|Next »


text:
Emmi programs are online tools that take complex medical information and make it simple and easy-to-understand. Lompoc Valley Medical Center offers Emmi programs for both adults and children. The programs can help you prepare for an upcoming procedure or manage your chronic condition.
You may have questions you think aren't relevant. You may forget them as you walked out of the doctor's office. Emmi programs are designed to answer important but often unasked questions.
At Lompoc Valley Medical Center, our patients go online expecting dry, hard-to-understand material and instead find a helpful tool that empowers them to make sense of complicated medical information.
You can view your Emmi program in the comfort of your own home, or anywhere that has Internet access. You can even share Emmi with friends or family members.
Each Emmi program takes about 20 minutes to watch, some even less time. You can view them as many times as you like. As you watch the program, you can also write notes and questions that you can print out at the end and bring with you to your next appointment.
Your doctor may have given you an 11-digit access code to view an Emmi program that's right for you. Use this access code to activate the program online at my-emmi.com.
Self-register for a program and get started right away. You can choose from many different specialties or chronic conditions. You may need to ask your doctor which program is right for you.


text:
In this album art from Jeff Wayne's musical version of War of the Worlds, artist Geoff Taylor has recast the menacing tripods as robots who look like giant, horrifying iPods ravaging the Earth.
Taylor also does a terrific job with this image of War of the Worlds' red weed - the hideous plants that the invading aliens set loose to grow all over our planet. The Skiffy blog points out that Taylor's illustrations are just two of many by a number of artists available on a site devoted to the best concept art dealing with War of the Worlds.
UPDATE: For all the complainers in comments below (you know who you are), I will reiterate: This album is from the 1970s. That means Steve Jobs looked at it while on acid, and decided years later to create a musical device that looks like a horrendous robot trying to destroy the Earth. Make of that what you will.


text:
Early Reviews of Leviathan at Canada's Wonderland
The highly anticipated B&M giga coaster is here. Leviathan has been unleashed at Canada's Wonderland and some early reviews are starting to trickle in. Once again, Crave Coasters was there with great coverage of that monster. During a benefit, a few lucky riders were the first to face it's sky-scrapping 300-plus foot peak.
Leviathan's Lair – New Tunnel Added
The preview videos and construction photos I've come across never showed a tunnel, but now that the ride's open there's a 100 foot steel covering at the bottom of the first drop. It's being described as looking similar to Millennium Force's tunnels. I'm big on tunnels so I'm all for it.
This post on Theme Park Review includes an image of Leviathan's tunnel at the bottom of the first drop. Right now it's just a steel covering, but some are wondering if Canada's Wonderland still has more to do with it. To truly be Leviathan's lair, and follow the theme of the rest of the ride fans are hoping for some type of cave-like theming.
Leviathan Reviews: Speed in Spades
As the reviews come in, I've been interested to see what people think. Here's a sample:
Leviathan is all about speed. Sit on the outside at the front for the best experience. You feel like the ground is going to open up and swallow you during that first drop! – KDunatov on The Coaster Critic
"That first drop is just amazing and the speed just never lets up. Such a great ride! The tunnel is definitely a great head chopper and really gives a sense of how fast you're going. If you blink, you'll miss it!" – rollin_n_coastin on CWMania
What a great ride! Fast, smooth and VERY fun. I could ride that all day. Rode 4th and 2nd car, didn't get to experience the back. It's like you don't even notice the tunnel, you're going to quick. If you happen to blink at that time, you would have gone through it and missed it anyway. – boomer78 on CWMania
The high speed curve is surprisingly fun, and yes you do pull a little airtime on it! Each element is executed with speed and elegance, Leviathan is a coaster that should be on an enthusiast's bucket list! – PureCoaster
Here's another great on-ride POV video from Theme Park Review. Again, don't try this yourself kids:
Read Crave the Coasterer's full coverage of Leviathan's opening: First Ride: Leviathan Unleashes Its Fury
Leviathan just opened to the public, so I'm sure we'll get to hear from more and more people what they think of it.
How do you think Leviathan looks now that it's open? Have you ridden it? Leave a comment or review below. Images Courtesy of CraveCoasters.com.[poll id="65″]