---
layout: post
title: Witnessing the Demise of C++ or Its Second Wind
categories: []
tags: []
status: publish
type: post
published: true
meta:
_original_post_id: ''
_original_import_author: John Duprey
author:
---
I'm a software engineer who develops most applications using C++. I develop server-based applications on 'NIX and Windows platforms. When I graduated college in '95, C++ was really heating up. It has been *the* language for
object oriented programming (OOP) of high performance applications for many years. Even the open source hackers who once scoffed at the idea of C++ over plain old lean and mean C have made the switch at some point.. mostly.
So what's with the title? Why do I wonder if C++ is at the end of its rope?
( ... [click to follow my reasoning] )I've stumbled on a number of C++ related links that you may find interesting:
- http://boost.org/ - Portable C++ libraries based on the standard library. The Boost site has a lot of good links - the more interesting of which are listed here.
C++ standards committee
The C++ Source - a lot of good articles and HOW-TO's here.
Adaptive Communication Environment
OSE
Its clear that its time for me to become fully versed in the Java platform. Its become an obvious choice for many applications. (A good developer strives to ever increase his/her repertoire of tools.) However, I wonder if I'm witnessing the very slow demise of C++ or merely its second wind.?


Users class
This class contains a hard-coded list of user accounts and the corresponding passwords. This is merely a development stub and should be implemented with some sort of permanent storage and security.
Located in /classes/Users.php (line 25)
static validate method
Given a user name and password, this method decides whether the user has a valid account and whether he/she supplied the correct password.
magic __call method
This method only implements a magic validate method where the second part of the method name is the user's account name.
Documentation generated on Fri, 17 Apr 2009 13:52:09 -0700 by phpDocumentor 1.4.2


Adults Only Petfinder
Convince your parents to get a pet!
Written guide on manipulation.
Top 5 Reasons to Adopt
Find your forever pet
Funny pet fails. Just 'cause.


{% extends "base.html" %} {% block title %}Blog{% endblock %} {% block content %}
What I'm Working on...
The latest project I’m working on is the Easy Lace Shrug a free pattern from Lion Brand Yarn. I’m not using the yarn from the company but some yarn I’ve had in my stash for a while. The yarn is called "Cascade 220 Heathers" in the color "Savanna Heather" (a lovely light green color with some yellow undertones). The yarn is nice and soft and it great to work with. I can’t wait till its cold enough to wear it!!
So far I love this pattern!! It took me a little while to figure out the lace pattern, but now that I have it down, I’m getting a lot done on this project.  I can’t wait to post a picture of my finished object, but for now, I will just post what I have done so far.
Make sure to take some time to knit (or crochet) today!!


SLEEP(seconds) → null
Wait for a certain amount of time before continuing the query.
SLEEP(1) // wait 1 second SLEEP(0.02) // wait 20 milliseconds


This demo provides a synthetic application which makes use a good number of GraphLab concepts. Note that this demo app is intentionally built to use as many of graphlab concepts as possible. This may not be typical for most GraphLab applications.
| Grid Model | |
|---|---|
x----x----x | | | x----o----o | | | o----x----x |
| scope |
The scope provides access to a local neighborhood of a graph.
The scope is centered on a particular vertex, ( All vertices are identified by an unsigned integer type |
| scheduler |
There are two basic types of schedulers.
The synchronous / round_robin scheduler takes a single fixed set of tasks
and repeatedly executes them until some termination condition is achieved.
Using these schedulers generally means that the update function will not need use
this parameter.
The task schedulers, which include |
| shared_data | This provides access to the shared_data object. If no shared_data object is provided, this could be NULL. We will describe the shared data object in greater detail later |
Since the task scheduler is slightly more complex to use, in this example, we will demonstrate task schedulers.
Each update call on a vertex has the option of inserting new tasks into the scheduler: in this case, its neighbors. The algorithm terminates when there are no tasks remaining. There are other methods for terminating execution, such as registering a termination evaluator with the engine, but we are not going to describe that here.
First lets get the the id the vertex I am operating on, and get a reference to the vertex data on this vertex.
gl::vertex_id_t curv = scope.vertex(); vertex_data &curvdata = scope.vertex_data();
Note that the function
Recall that the task is to set the color of this vertex to the color of the majority of the neighbors, so lets declare a variable which counts the number of red neighbors
size_t numredneighbors = 0;
Now I need to loop through all my neighboring vertices and count the number of red vertices. To do this I have to look at my edges. Recall that our graph construction is "bi-directed", therefore looking at just the in-edges of the vertex will provide me all my neighbors. This is done through the
for (size_t i = 0;i < scope.in_edge_ids().size(); ++i) { size_t eid = scope.in_edge_ids()[i];
Now the variable 'eid' contains the edge id of a particular incoming edge. The function
size_t sourcev = scope.source(eid);
The
const vertex_data& nbrvertex = scope.neighbor_vertex_data(sourcev); // if red, add to our counter if (nbrvertex.color) ++numredneighbors; }
Now we can decide on the new color of the vertex.
We either match the majority color, or in the case of no majority color, we flip a coin.
Basic random number support is provided through
// get the total number of neighbors we have size_t numneighbors = scope.in_edge_ids().size(); bool newcolor; // my newcolor bool isdeterministic = false; // whether we flipped a coin to decide. We will // see later why this is useful if (gl::random::rand01() < double(numredneighbors) / numneighbors) { newcolor = true; } else { newcolor = false; } // if all my neighbors are black or all red, then this was // a deterministic decision if (numneighbors == numredneighbors || numredneighbors == 0) { isdeterministic = true; } else { isdeterministic = false; }
Now we have decided on the new color of the vertex, we can go ahead and update the value of the vertex. Once again recall that curvdata is a reference to the actual graph data. Therefore we can just modify it directly.
bool flipped = (newcolor != curvdata.color); if (flipped) ++curvdata.numflips; curvdata.color = newcolor;
Now for the task creation algorithm. There are 2 basic cases.
Case 1: If I did not flip, then my neighbors will not be affected, it will be as if this vertex was never updated at all. We therefore do not need to update my neighbors.
Case 2: If I flipped, all my neighbors could be affected, therefore loop through all my neighboring vertices and add them as tasks.
To add a task, I call
if (flipped) { for (size_t i = 0;i < scope.in_edge_ids().size(); ++i) { // get the neighboring vertex size_t eid = scope.in_edge_ids()[i]; size_t sourcev = scope.source(eid); scheduler.add_task(gl::update_task(sourcev, update_function), 1.0); } }
Now, there is another special case. If flipped myself on a random number, then I could switch colors when updating myself again. Therefore I should try again and update myself again in the future
if (isdeterministic == false) { scheduler.add_task(gl::update_task(curv, update_function), 1.0); } }
The shared data manager serves two roles. Firstly, it provides access to data which is globally accessible through all update functions, and secondly, it provides the capability to compute aggregations of all graph data. The first capability may not appear to be useful in the shared memory setting since one could simply define global variables. However, using the shared data manager, allows GraphLab to manage these "global variables" in a platform independent fashion; such as in the distributed setting.
For this application, say if we are interested in having an incremental counter which provides the total number of flips executed so far, as well as computing the proportion of red vertices in the graph. we can do this via the shared data manager's Sync mechanism.
The Sync mechanism allows you to build a 'Fold / Reduce' operation across all the vertices in the graph, and store the results in the Shared Data object. The Shared Data table is essentially a big table mapping integer ids -> arbitrary data types
First we need to define the entries of the table. The data we need are:
const size_t NUM_VERTICES = 0; const size_t RED_PROPORTION = 1; const size_t NUM_FLIPS = 2;
The number of vertices in the graph is a constant, and will not be changed through out execution of the GraphLab program.
We can set this value as a constant in the Shared Data Manager by calling the
shared_data.set_constant(NUM_VERTICES, (size_t)(DIM * DIM));
To read the value of a constant from the shared_data table, we use the
size_t numvertices = shared_data.get_constant(NUM_VERTICES).as<size_t>();
A sync is defined by a pair of functions, a
We will use this to implement the RED_PROPORTION sync. The way we will implement this is to use the reducer to count the number of Red vertices. The apply function will then divide the result by the value in the NUM_VERTICES table entry
The reducer is a function which takes 4 parameters:
void reduce_red_proportion(size_t index, const gl::ishared_data& shared_data, gl::iscope& scope, graphlab::any& accumulator) {
| index | This is the entry of the shared data table corresponding to this reduce. In this case, we can gaurantee that index will always be equal to RED_PROPORTION |
| shared_data | A reference to the shared data object |
| scope | The scope on the vertex we are currently accessing |
| accumulator | The input and output of the fold/reduce operation. |
In this reducer, we will simply increment the accumulator if the color of the vertex is red.
if (scope.vertex_data().color) accumulator.as<double>() += 1.0; }
The apply function takes the followng 4 parameters
void apply_red_proportion(size_t index, const gl::ishared_data& shared_data, graphlab::any& current_data, const graphlab::any& new_data) {
| index | This is the entry of the shared data table corresponding to this reduce. In this case, we can gaurantee that index will always be equal to RED_PROPORTION |
| shared_data | A reference to the shared data object |
| current_data | The current (old) value in the shared data table entry. Overwriting this will update the shared data table entry |
| new_data | The result of the reduce operation. |
The reduced result in new_data, will be the count of the number of red vertices. We can get the total number of vertices from the NUM_VERTICES entry of the shared data table, and compute the proportion of red vertices by dividing the number of red vertices by the total number of vertices.
// get the number of vertices from the constant section of the shared data size_t numvertices = shared_data.get_constant(NUM_VERTICES).as<size_t>(); // new_data is the reduced result, which is the number of red vertices double numred = new_data.as<double>(); // compute the proportion double proportion = numred / numvertices; // here we can output something as a progress monitor std::cout << "Red Proportion: " << proportion << std::endl; // write the final result into the shared data table current_data = (double)proportion; }
Now that both reduce and apply functions have been defined, we can create the entry in the shared data table by calling
shared_data.set_sync(RED_PROPORTION, // the entry we are creating reduce_red_proportion, // the reduce function apply_red_proportion, // the apply function double(0), // the initial value for the fold/reduce 100); // syncing frequency in milliseconds. // The highest effective syncing frequency is 0.1 sec (100ms)
GraphLab provides a number of predefined syncing operations which allow simple reductions / applies to be implemented very quickly. For instance, computing sums, sums of squares, etc. We will implement the NUM_FLIPS entry using one of these predefined operations. Since the vertex data could be any arbitrary type, the predefined operations typically require the user to provide a simple function which extracts the information of interest from the vertex data. In this case, we are interested the numflips field.
size_t get_flip(const vertex_data &v) { return v.numflips; }
To create the sync, we use the
shared_data.set_sync(NUM_FLIPS, gl::ishared_data::sync_ops::sum<size_t, get_flip>, gl::ishared_data::apply_ops::identity<size_t>, size_t(0), 100);
int main(int argc, char *argv[]) { // create the graph and shared data objects graph_type graph; gl::thread_shared_data shared_data; // creating a DIM * DIM graph const size_t DIM = 10; // call create_graph to create the graph create_graph(graph, DIM); // call create shared_data to create the shared data create_shared_data(shared_data, DIM); // create the engine gl::iengine *engine = new_engine("multithreaded", // engine type. multithreaded/sequential "fifo" // scheduler type "edge", // scope consistency type (vertex/edge/full) graph, // the graph it operates on 2); // number of processors // set the shared data object engine->set_shared_data(&shared_data); // since we are using a task scheduler, we need to // to create tasks. otherwise the engine will just terminate immediately // there are DIM * DIM vertices for (size_t i = 0;i < DIM * DIM; ++i) { engine->get_scheduler().add_task( gl::update_task(i, update_function), 1.0); } // begin executing the engine // this function will only return when all tasks are done engine->start(); // since it is possible for the engine to terminate in between syncs // if we want to get correct values for the syncs we should run them again // we can do his with shared_data.sync(NUM_FLIPS); shared_data.sync(RED_PROPORTION); // Do whatever you want with the graph data / shared data }
When an update function is executed on a vertex, it can access all graph data on adjacent edges and adjacent vertices. The different scoping consistency models provide different data consistency guarantees when accessing graph data. There are three scoping models, vertex, edge, and full.
Vertex consistency is the weakest consistency model, and also the fastest (lowest contention). The vertex consistency model only guarantees that the Update Function can read and write to the current vertex without experiencing data races. Reading or writing to adjacent edges or adjacent vertices could result in inconsistent data. Data on adjacent edges and vertices may also change between consecutive reads within a single Update Function call.
The edge consistency model guarantees that the Update Function can read and write to the current vertex as all as all adjacent edges without experiencing data races. In addition, the Update Function can also made consistent reads from adjacent vertices.
The full consistency model guarantees that the Update Function can read and write to the current vertex, as well as all adjacent edges and vertices in a consistent fashion. This model experiences the highest amount of contention and provides the lowest level of parallelism
The user should try to pick the lowest consistency model which satisfies the needs of the algorithm. For instance, in this demo application, since the update function only requires reading of neighboring vertex data, the edge_consistency model is guaranteed to have sequential consistency, and the algorithm is therefore guaranteed to be correct (assuming GraphLab is bug-free) if executed with the edge consistency model or the full consistency model.


Sachi Pitkin
Project Portfolio CSE 170
Sachi Pitkin is a student at UCSD.
Projects
T.R.O.L.L. UCSD Coffee App
Classes
About Sachi Pitkin


Blog Entries
Depth First Searches
This is the first few starting sentences in the DFS blog entry and also a link that will take you to the blog page and is also a run on sentence...
Breadth First Searches
This is the first few starting sentences in the BFS blog entry and also a link that will take you to the blog page and is also a run on sentence... NATHAN WAS HERE


Hi Guys!
I am
Suvin Nimnaka from Sri lanka
You can reach me on following urls
Github
Website
Twitter
twitter


Jun 3, 2023
GPIO on the MangoPi MQ-Pro —
One of the last aspects I wanted to explore and get working on my MangoPi MQ-Pro. For this experiment, like my previous endeavor trying out Bluetooth on my MangoPi MQ-Pro, I used the Ubuntu 22.10 RISC-V image for the SiPeed LicheeRV Dock image.
No extra configuration is needed to get GPIO working with this image on the MangoPi MQ-Pro. I tried out three different ways of accessing the GPIO pins; using legacy sysfs-based access, using the userspace GPIO driver, and lastly using lgpio from Python.…
Mar 25, 2023
Setting up Bluetooth on the MangoPi MQ-Pro, and testing it out with a Bluetooth access point —
I received my MangoPi MQ-Pro a few months ago, and was very eager to test out all the hardware which I use the most on SBC’s. Bluetooth is not one of the features I use a lot on SBC’s. But after having tested out a lot of operating systems and hardware features of the board, I decided to also try and see what the status of Bluetooth on the board was.…
Oct 31, 2022
Exploring non-Linux Based Operating Systems on Allwinner D1 —
Introduction As of writing this article, there are a few choices of operating systems to choose from for the Allwinner D1. In the future, more choices will probably become available. In this article we will take a closer look into FreeBSD and xv6 for the Allwinner D1. I will use a MangoPi MQ-Pro to test these operating systems.
FreeBSD For many people, FreeBSD won’t need an introduction. FreeBSD is a free and open-source Unix-like operating system first released in 1993.…
Sep 19, 2022
Running x86_64 Software on RISC-V Using Box64 —
In this post I will give an overview on how a ran some software compiled for x86_64 on my RISC-V SBC, a MangoPi MQ-Pro. We will be using an awesome piece of software called Box64. Basically this software runs x86_64 binaries through an emulator, but with a twist; it uses the native versions of some “system” libraries, like libc, libm, SDL, and OpenGL, like described in the README of the project:…
Aug 28, 2022
How to Use a Raspberry Pi Instead of a USB Console Cable —
As the title says, this article will be about using a Raspberry Pi SBC (whatever model), instead of a USB Console Cable to debug another SBC, router, microcontroller… The need for this came when I received my MangoPi MQ-Pro, I wanted to try different operating systems for this SBC, but I didn’t have access to a USB Console Cable, at least not one that was 3.3V tolerant. I wanted to have access to the serial console because a lot of OS images for the MangoPi, at the time of writing this article, didn’t have HDMI drivers.…
Nov 30, 2019
How to run the Apache webserver on a five year old Android smartwatch —
The first question you might ask yourself when reading the title of this article is; why would you want to this. My answer to that question is, why wouldn’t you?
I like using technology in ways that makes my live easier. That’s why I bought my Motorola Moto 360 in the first place, more than five years ago. It has indeed made my life easier in a few ways, quickly reading a message, discarding when necessary, or pulling out my phone when I need/want to reply.…
Jul 27, 2019
How I Run My Blog Using Github Pages and Hugo —
For my blog I’m using Github pages to host the static content generated by Hugo. Hugo is a static site generator which creates web pages from markdown files you write. That way, when you don’t want to be bothered with styling your blog, you can just choose a theme from a vast collection, and you’re done. Just write some posts in markdown run the hugo command, and you will find all the static content in the public directory, ready to deploy to a web server, or, in my case, Github pages.…
Apr 24, 2019
My First Post —
Hello there, this is my first blog post. Let me first start by saying a few words about myself, my name is Bram Oosterlynck and I was born in Belgium. In my free time I like to do a lot of stuff, camping, hiking, road trips, etc. But this blog will be about something else I love doing in my free time. I love playing around with technology, and that is what this blog will be about.…


MC^2 Image Library Maker v1.0
Copyright (c) Jun Zheng, MIT.
Import Library File
Export...
Library Name
Author
Add To Library
Name
Image
Controls
Delete


Cloning and characterization of the murine B-cell specific transcriptional coactivator Bob1.
Abstract
From a murine B-cell cDNA-library we have cloned a cDNA encoding the murine B-cell specific coactivator mBob1. The protein is the murine homologue to the recently described human coactivator Bob1 (hBob1), also referred to as OBF-1 or OCA-B. We have also characterized the genomic mBob1 clone. Analysis of its intron-exon structure has allowed identification of a C-terminal splice variant. mBob1 is B-cell restricted, and is found in all B-cell lines representing different stages of B-cell differentiation. mBob1 interacts with the octamer transcription factors Oct-1 and Oct-2 and stimulates transcription mediated by these factors.


|
|
| alps (int _layers, int _scale, Genome *sg, population_state *initial, successfunc sf, const char *outputdir, long _maxevals=1000000) |
| |
|
void | update_layer_cnt () |
| |
|
Organism * | reproduce (population_state *from, population_state *to) |
| |
|
void | reproduce_alps (population_state *r, population_state *bef, population_state *aft, int psize, bool onlybefore=false) |
| |
|
void | reproduce_layer (int i) |
| |
|
population_state * | create_new_layer (int from_layer) |
| |
|
void | repopulate (population_state *r) |
| |
|
void | do_alps () |
| |
|
|
long | evals |
| |
|
int | generation |
| |
|
int | scale |
| |
|
int | max_layers |
| |
|
int | clayers |
| |
|
int | layer_ceiling |
| |
|
bool | novelty |
| |
|
long | maxevals |
| |
|
float | best_fitness |
| |
|
int | popsize |
| |
|
plot | ageplot |
| |
|
plot | fitnessplot |
| |
|
plot | behaviorplot |
| |
|
plot | paretoplot |
| |
|
noveltyarchive * | protoarc |
| |
|
Genome * | start_genome |
| |
|
population_state * | layers [ALPS_MAX_LAYERS] |
| |
|
evaluatorfunc | evalf |
| |
|
const char * | outname |
| |
|
ofstream * | logfile |
| |
|
vector< vector< float > > | age_record |
| |
|
vector< vector< float > > | fitness_record |
| |
|
epochfunc | generation_func |
| |
|
successfunc | success_func |
| |
The documentation for this class was generated from the following file:


French jihadists to be arrested on arrival if deported from Turkey
by RFITurkey is preparing to deport 11 French citizens, mostly women, who joined the Islamic State in Syria. The French government says they will be arrested as they leave the airplane.
The Turkish government said on Monday that 11 foreign Islamic State terrorists “of French origin” were being prepared for deportation.
The jihadists to be deported were mostly women, a source working on the case said.
Terrorists from Ireland, Germany and Denmark were also in line, while an American terrorist fighter had already been expelled to the USA.
Interior Minister Suleyman Soylu claimed last week to have nearly 1,200 foreign IS members in custody.
"There is no need to try to escape from it, we will send them back to you. Deal with them how you want," Soylu told Western powers.
Western countries have been refusing to repatriate their citizens who joined the Islamic State group in Syria and Iraq.
Some of them have been stripped of their citizenship, a move likely to complicate the deportation process further.
Normal but ‘secret’ procedure for France
Over the weekend, a French foreign ministry source said that jihadist suspects were frequently repatriated to France under a 2014 agreement with Turkey, and that the system was functioning well.
"Jihadists and their families are regularly sent back to France and arrested as they leave the airplance. Most of the time it is done secretly. The news is not published, or released much later," the source said
Offensive against Kurdish militants
Last month, Turkey launched an offensive in northern Syria against Kurdish militants who were holding thousands of IS fighters and their families.
Following the operation, the Turkish government has increased pressure on Europe to take responsibility for the problem.
Turkey said it would take control of captured jihadists in areas that it seized from Kurdish groups, but has demanded greater assistance from Europe.


Change Language to German.
Table of Contents
The usage of the Tableau Prover is kept relatively simple. Formulae are entered in the text areas in the center of the drawing canvas. To enter multiple formulae, enter those in different lines. To start the atomatic or manual calculation, press the "Calculate"-button below the text areas. The Settings are described in the settings section.
There are two kinds of settings. The first one defines the logic used and the second one whether or not the Tableau should be automatically solved. The available logic types are "Propositional Logic (PL)", "First-Order Predicate Logic (FOPL)", "Intuitionistic Propositional Logic (IPL)" and "Intuitionistic First-Order Predicate Logic (IFOPL)" To change the logic, change the selected radio button on top of the window.
To change, whether or not the Tableau should be solved automatically, change the selected radio button below the logic settings. If "Manual" is selected, you can enter the steps of solving the Tableau manually. The program checks, whether or not the entered steps are valid. If "Automatic" is selected, the Tableau is fully solved automatically if possible.
After calculating a Tableau, it is possible to reset the screen by pressing the Reset-Button at the upper left corner of the Scroll-Area. By pressing the button again, the entered formulae are deleted.
If the logic type "Propositional Logic (PL)" is selected, the syntax and operator precedences defined in this section are applied.
The Propositional Logic has 5 Operators (Negation, Conjunction, Disjunction, Conditional, and Biconditional). These can be entered as Keyboard-Friendly characters:
To avoid unreadability due to too many clamps, the Operators got Precedences. An Operator with higher Precedence is evaluated first. I.e. with & having higher precedence then |, (A&B)|C is the same as A&B|C. The Operator Precedences are as follows:
If the logic type "First-Order Predicate Logic (FOPL)" is selected, the syntax and operator precedences defined in this section are applied. Please note that it is possible to enter functions, for example in P(f(X, Y)) the Predicate P got the function f as an argument. But there is no possibility to enter a custom evaluation of functions. Functions are considered equal, if and only if, all its input arguments are equal.
First-Order Predicate Logic has 7 Operators (Negation, Conjunction, Disjunction, Conditional, Biconditional, Univeral Quantification, and Existential Quantification). These can be entered as Keyboard-Friendly characters:
To avoid unreadability due to too many clamps, the Operators got Precedences. An Operator with higher Precedence is evaluated first. I.e. with & having higher precedence then |, (A&B)|C is the same as A&B|C. The Operator Precedences are as follows:
If the logic type "Intuitionistic Propositional Logic (IPL)" is selected, the syntax and operator precedences defined in this section are applied.
The Intuitionistic Propositional Logic has 5 Operators (Negation, Conjunction, Disjunction, Conditional and Biconditional). These can be entered as Keyboard-Friendly characters:
To avoid unreadability due to too many clamps, the Operators got Precedences. An Operator with higher Precedence is evaluated first. I.e. with & having higher precedence then |, (A&B)|C is the same as A&B|C. The Operator Precedences are as follows:
If the logic type "Intuitionistic First-Order Predicate Logic (IFOPL)" is selected, the syntax and operator precedences defined in this section are applied. Please note that it is possible to enter functions, for example in P(f(X, Y)) the Predicate P got the function f as an argument. But there is no possibility to enter a custom evaluation of functions. Functions are considered equal, if and only if, all its input arguments are equal.
Intuitionistic First-Order Predicate Logic has 7 Operators (Negation, Conjunction, Disjunction, Conditional, Biconditional, Univeral Quantification, and Existential Quantification). These can be entered as Keyboard-Friendly characters:
To avoid unreadability due to too many clamps, the Operators got Precedences. An Operator with higher Precedence is evaluated first. I.e. with & having higher precedence then |, (A&B)|C is the same as A&B|C. The Operator Precedences are as follows:
If the mode "Automatic" is selected, the tableau prover trys to solve the tableau automatically after pressing "Calculate".
The default number of derivation steps performed are <=1000. After 1000 steps, the solving attempt is aborted and a error message is shown.
In the current version this number can not be changed.
If the mode "Manual" is selected, each derivation step is performed by the user.
To perform such a step, first select the formula to derive by pressing the button representing this formula.
If the logic type "Propositional Logic (PL)" is selected, the derivation rules defined in this section are applied.
Negation
If the logic type "First-Order Predicate Logic (FOPL)" is selected, the derivation rules defined in this section are applied.
Univeral Quantification
If the logic type "Intuitionistic Propositional Logic (IPL)" is selected, the derivation rules defined in this section are applied.
Negation
If the logic type "Intuitionistic First-Order Predicate Logic (IFOPL)" is selected, the derivation rules defined in this section are applied.
Univeral Quantification


Table of Contents
Quadratic Functions
-
- What?
- A function \(q : \mathbf{R}^n \rightarrow \mathbf{R}\) is said to be a quadratic function if it can be expressed as
- \[q(x) = \sum_{i=1}^n \sum_{j=1}^n A_{ij} x_i x_j + 2 \sum_{i=1}^n b_i x_i + c,\]
- for numbers \(A_{ij}, b_i,\) and \(c, i, j \in {1, \ldots, n}\).
A quadratic function is thus an affine combination of the \(\ x_i\)’s and all the “cross-products” \(x_ix_j\).
-
We observe that the coefficient of \(x_ix_j\) is \((A_{ij} + A_{ji})\).
-
The function is said to be a quadratic form if there are no linear or constant terms in it: \(b_i = 0, c=0.\)
-
The Hessian of a quadratic function is always constant.
-
- Link between Quadratic Func’s & Symmetric Matrices:
- Indeed, any quadratic function \(q : \mathbf{R}^n \rightarrow \mathbf{R}\) can be written as
- \[q(x) = \left( \begin{array}{c} x \\ 1 \end{array} \right)^T \left( \begin{array}{cc} A & b \\ b^T & c \end{array} \right) \left( \begin{array}{c} x \\ 1 \end{array} \right) = x^TAx + 2 b^Tx + c,\]
- for an appropriate symmetric matrix \(A \in \mathbf{S}^{n}\), vector \(b \in \mathbf{R}^n\) and scalar \(c \in \mathbf{R}\).
-
\(A_{ii}\) is the coefficient of \(x_i^2\) in q;
\(2A_{ij}\) (for \(i \ne j\)) is the coefficient of the term \(x_ix_j\) in q;
\(2b_i\) is that of \(x_i\);
\(c\) is the constant term, \(q(0)\). -
If q is a quadratic form, then \(b=0, c=0,\) and we can write \(q(x) = x^TAx\) where now \(A \in \mathbf{S}^n\).
-
- Second-order approximations [1-D]:
- If \(f : \mathbf{R} \rightarrow \mathbf{R}\) is a twice-differentiable function of a single variable, then the second order approximation (or, second-order Taylor expansion) of \(f\) at a point \(x_0\) is of the form:
- \[f(x) \approx q(x) = f(x_0) + f(x_0)' (x-x_0) + \dfrac{1}{2} f''(x_0)(x-x_0)^2,\]
- where \(f'(x_0)\) is the first derivative, and f’‘(x_0) the second derivative, of \(f\) at \(x_0\).
We observe that the quadratic approximation \(q\) has the same value, derivative, and second-derivative as \(f\), at \(x_0\).
-
- Second-order approximations [n-D]:
- Let us approximate a twice-differentiable function \(f : \mathbf{R}^n \rightarrow \mathbf{R}\) by a quadratic function \(q\), so that \(f\) and \(q\) coincide up and including to the second derivatives.
- The function \(q\) must be of the form
- \[q(x) = x^TAx + 2b^Tx + c,\]
- where \(A \in \mathbf{S}^n, b \in \mathbf{R}^n\text{, and } c \in \mathbf{R}\).  \\\]
- Solving for A,b,c we obtain the following result:
- \[f(x) \approx q(x) = f(x_0) + \nabla f(x_0)^T (x-x_0) + \dfrac{1}{2} (x-x_0)^T \nabla^2 f(x_0) (x-x_0),\]
- where \(\nabla f(x_0) \in \mathbf{R}^n\) is the gradient of \(f\) at \(x_0\), and the symmetric matrix \(\nabla^2 f(x_0)\) is the Hessian of \(f\) at \(x_0\).

-
The interpretation of \(v\) is that it defines a direction along \(A\) behaves just like scalar multiplication. The amount of scaling is given by \(\lambda\).
-
- Eigenvector:
- Asynchronous: \
THIRD
- Asynchronous: \
Eigen-Stuff of Symmetric Matrices
-
- The Spectral Theorem (for Symmetric Matrices):
- We can decompose any symmetric matrix \(A \in \mathbf{S}^n\) with the symmetric eigenvalue decomposition (SED)
- \[A = \sum_{i=1}^n \lambda_i u_iu_i^T = U \Lambda U^T, \;\; \Lambda = \mathbf{diag}(\lambda_1, \ldots, \lambda_n) .\]
- where the matrix of \(U := [u_1 , \ldots, u_n]\) is orthogonal (that is, \(U^TU=UU^T = I_n\)), and contains the eigenvectors of \(A\), while the diagonal matrix Lambda contains the eigenvalues of \(A\).
The SED provides a decomposition of the matrix in simple terms, namely dyads.
-
- Spectral Decomposition:
- \[Au_j = \sum_{i=1}^n \lambda_i u_iu_i^Tu_j = \lambda_j u_j, \;\; j=1, \ldots, n.\]
-
- Rayleigh Quotients:
- Given a symmetric matrix \(A\), we can express the smallest and largest eigenvalues of \(A\), denoted \(\lambda_{\rm min}\) and \(\lambda_{\rm max}\) respectively, in the so-called variational form:
- \[\lambda_{\rm min}(A) = \min_{x} : \left\{ x^TAx ~:~ x^Tx = 1 \right\} , \\ \lambda_{\rm max}(A) = \max_{x} : \left\{ x^TAx ~:~ x^Tx = 1 \right\} .\]
-
The term “variational” refers to the fact that the eigenvalues are given as optimal values of optimization problems, which were referred to in the past as variational problems.
Variational representations exist for all the eigenvalues, but are more complicated to state. -
- Interptation:
The interpretation of the above identities is that the largest and smallest eigenvalues is a measure of the range of the quadratic function \(x \rightarrow x^TAx\) over the unit Euclidean ball.
The quantities above can be written as the minimum and maximum of the so-called Rayleigh quotient \(\dfrac{x^TAx}{x^Tx}\).
- Interptation:
-
Example: Largest singular value norm of a matrix
Visit the Book
- Asynchronous:
Positive Definitness
-
- Associated Quadratic Form:
- For a given symmetric matrix \(A \in \mathbf{R}^{n \times n}\), the associated quadratic form is the function \(q : \mathbf{R}^n \rightarrow \mathbf{R}\) with values: \(q(x) = x^TAx.\)
-
- Positive Definite Matrices:
- A symmetric matrix \(A\) is said to be positive definite (PD, notation: \(A \succ 0\)) if and only if the associated quadratic form \(q\) is positive everywhere:
- \[q(x) > 0 \mbox{ for every } x \in \mathbf{R}^n.\]
-
- Positive Semi-Definite Matrices:
- A symmetric matrix \(A\) is said to be positive semi-definite (PSD, notation: \(A \succeq 0\)) if and only if the associated quadratic form \(q\) is non-negative everywhere:
- \[q(x) \ge 0 \mbox{ for every } x \in \mathbf{R}^n.\]
-
- Definite Matrices:
- When \(q = 0\).
-
- Diagonal Matrices and Positive Definitness:
-
Diagonal matrices. A diagonal matrix is PSD (resp. PD) if and only if all of its (diagonal) elements are non-negative (resp. positive).
-
- Theorem. Spectral Decomposition of PSD Matrices:
- A quadratic form \(q(x) = x^TAx\), with \(A \in \mathbf{S}^n\) is non-negative (resp. positive-definite) if and only if every eigenvalue of the symmetric matrix A is non-negative (resp. positive).
-
- Square Roots of PSD Matrices:
- If A is PSD, there exist a unique PSD matrix, denoted \(A^{1/2}\), such that \(A = (A^{1/2})^2\).
- We can express this matrix square root in terms of the SED of \(A = U\Lambda U^T,\) as \(A^{1/2} = U \Lambda^{1/2} U^T\), where \(\Lambda^{1/2}\) is obtained from \(\Lambda\) by taking the square root of its diagonal elements.
- If \(A\) is PD, then so is its square root.
-
- The Cholesky Decomposition: \
- Any PSD matrix can be written as a product \(A = LL^T\) for an appropriate matrix \(L\).
- The decomposition is not unique, and \(L = A^{1/2}\) is only a possible choice (the only PSD one).
- Another choice, in terms of the SED of \(A = U^T \Lambda U\), is \(L = U^T \Lambda^{1/2}\).
- If \(A\) is positive-definite, then we can choose \(L\) to be lower triangular, and invertible. The decomposition is then known as the Cholesky decomposition of \(A\).
-
- Ellipsoids and PSDs:
- Definition. We define an ellipsoid to be affine transformation of the unit ball for the Euclidean norm:
- \[\mathbf{E} = \left\{ \hat{x} + L z ~:~ \|z\|_2 \le 1 \right\} ,\]
- where \(L \in \mathbf{R}^{n \times n}\) is an arbitrary non-singular (invertible) matrix.
- We can express the ellipsoid as:
- \[\mathbf{E} = \left\{ x ~:~ \|L^{-1}(x-\hat{x})\|_2 \le 1 \right\} = \left\{ x ~:~ (x-\hat{x})^T A^{-1} (x-\hat{x}) \le 1 \right\} ,\]
- where \(A=LL^T\) is PD.
-
- Geometric Interpretation via SED:
- We interpret the eigenvectors and associated eigenvalues of A in terms of geometrical properties of the ellipsoid, as follows.
- Consider the SED of \(A: A = U \Lambda U^T\), with \(U^TU = I\) and \(\Lambda\) diagonal, with diagonal elements positive.
- The SED of its inverse is \(A^{-1} = L L^T = U \Lambda^{-1} U^T\).
- Let \(\tilde{x} = U^T(x-\hat{x})\).
- We can express the condition \(x \in \mathbf{E}\) as:
- \[\tilde{x}^T\Lambda^{-1}\tilde{x} = \displaystyle\sum_{i=1}^n \frac{\tilde{x}_i^2}{\lambda_i} \le 1.\]
-
- Now set \(\bar{x}_i := \tilde{x}_i/\sqrt{\lambda_i} , i=1, \ldots, n\).
- The above writes \(\bar{x}^T\bar{x} \le 1: \in \bar{x}-\)space, the ellipsoid is simply an unit ball.
- In \(\tilde{x}-\)space, the ellipsoid corresponds to scaling each \(\bar{x}-\)axis by the square roots of the eigenvalues.
- The ellipsoid has principal axes parallel to the coordinate axes in \(\tilde{x}-\)space.
- We then apply a rotation and a translation, to get the ellipsoid in the original x-space.
- The rotation is determined by the eigenvectors of \(A^{-1}\), which are contained in the orthogonal matrix \(U\).
- Thus, the geometry of the ellipsoid can be read from the SED of the PD matrix \(A^{-1} = LL^T \\ \implies\)
(1) The eigenvectors give the principal directions, and
(2) The semi-axis lengths are the square root of the eigenvalues.
-
It is possible to define degenerate ellipsoids, which correspond to cases when the matrix B in the above, or its inverse A, is degenerate. For example, cylinders or slabs (intersection of two parallel half-spaces) are degenerate ellipsoids.


In this example, we are going to test how getting elements from the events queue and stacking them one by one could affect the performance of our javascript application.
The code is:
var LIMIT = 200000;
function createDiv() {
for (var i = 0; i < LIMIT; i++) {
output.appendChild(document.createElement('div'));
}
}
To test the example, click on the following button:
...


#include <platform_app.h>
Inherited by MyApplication, MyApplication, MyApplication, and MyApplication.
Public Member Functions | |
| void | setPixelData (unsigned char *buf, size_t width, size_t height, AggOO::PixelFormat pixFmt) |
| void | postQuit (int code) |
| void AggOO::modified_agg_app::setPixelData | ( | unsigned char * | buf, | |
| size_t | width, | |||
| size_t | height, | |||
| AggOO::PixelFormat | pixFmt | |||
| ) |
Set the pixel data.
| buf | Pointer to the raw pixel data | |
| width | Width of the raw buffer | |
| height | Height of the raw buffer | |
| pixFmt | Format of the raw buffer |
| void AggOO::modified_agg_app::postQuit | ( | int | code | ) |
Post the quit message. Basically, the implementation doesn't need to know about the operating system, but if on_key is overridden, then it needs to provide a way to quit the application with the escape key (if the implementor desires it.) Since the app doesn't know about the OS, it doesn't know how to send the quit message. Instead, it should call this function, which DOES know about the OS and can handle the operation.


Set the charset for the connection.
Set the collation for the connection.
Specify the default database for the re-authentication.
Specify the user password to be used for the authentication.
Set connection attributes which will be sent to server at the re-authentication.
Set the path of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
Set the value of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
Specify the user account to be used for the authentication.
Set the charset for the connection.
Set the collation for the connection.
Specify the default database for the re-authentication.
Specify the user password to be used for the authentication.
Set connection attributes which will be sent to server at the re-authentication.
Set the path of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
Set the value of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
Specify the user account to be used for the authentication.
Generated using TypeDoc
Authentication options for MySQL authentication which can be used for CHANGE_USER command.


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
IN THE HIGH COURT AT CALCUTTA CONSTITUTIONAL WRIT JURISDICTION APPELLATE SIDE Present: The Hon'ble Dr. Justice Sambuddha Chakrabarti W.P. No. 1526 (W) of 2018 Sarmistha Kundu Versus The State of West Bengal and Others. For the petitioner : Mr. Arunava Ghosh, Advocate Mr. Tapas Kumar Bhattacharyya, Advocate Mr. Purnasis Bhuniya, Advocate For the State : Mr. T. M. Siddiqui, Advocate respondents Mr. Parimal Kumar Dwari, Advocate
Mr. Nilotpal Chatterjee, Advocate Ms. Ujani Pal (Samanta), Advocate For the respondent : Mr. Saptangsu Basu, Sr. Advocate nos. 2 and 3 Mr. Arjun Ray Mukherjee, Advocate Ms. Saheli Mukherjee, Advocate Heard on : 03.05.2018, 04.09.2018, 07.09.2018, 11.01.2019 Judgement on : 11.04.2019 Sambuddha Chakrabarti, J.:
The petitioner who is an employee of the West Bengal Pollution Control Board (the Board, for short) was promoted by an 2 order, dated February 27, 2013 to the post of Senior Environmental Engineer. He says that his service conditions are guided by the West Bengal Pollution Control Board Employees' Service Regulation, 2009 which was framed in exercise of the powers conferred by Section 12 of the Water (Prevention and Control of Pollution) Act, 1974 (the Act, for short). In fact, the Board itself is a statutory body constituted under Section 4 of the Act. The promotion of the petitioner was sanctioned by the department of Environment, Government of West Bengal. His promotion was discussed and deliberated at the 156th meeting of the Board and in the 157th meeting of the Board held on September 30, 2013 the minutes of the previous meeting were confirmed.
The Board published a draft gradation list for the post of the Environmental Engineer and invited objections. By a subsequent memorandum, dated November 8, 2013, the gradation list was circulated as the final gradation list of the Environmental Engineers as on November 4, 2013 in which the name of the petitioner appeared at serial number 19. At present he is eligible for promotion to the next higher post of Senior Environmental Engineer.
3
The petitioner alleges that he was served with a memorandum, dated December 12, 2017 issued by the Member Secretary of the Board by which he was reverted to the feeder post of Environmental Engineer with effect from February 27, 2013. Such exercise had been undertaken on the basis of a memorandum, dated September 13, 2017 issued by the respondent no. 1, on the ground that the promotion granted in favour of the petitioner was based on an alleged erroneous procedure. The petitioner made a representation on December 18, 2017 the fate of which he remains still uninformed.
It has been the case of the petitioner that while granting promotion his eligibility and other incidental issues were considered and examined by the selection committee in terms of Regulation 33 of the Service Regulations, 2009 and a conscious decision was taken upon application of mind which will be evident from the resolutions of the Board meetings mentioned above. His right to hold the post of Environmental Engineer attained finality upon publication of the gradation list. Consequently, the order of reversion is bad and has the effect of setting aside the final gradation list without there being any challenge to it. 4
The petitioner has variously assailed the impugned memorandum, dated December 12, 2017 as issued by an authority lacking competence to do so, being perverse and arbitrary and that the same amounts to punishment by reduction in rank without holding any disciplinary proceeding against him. He has also assailed the impugned memo being barred by principle of estoppel as he had been reverted about five years after he was promoted.
The petitioner has inter alia prayed for a declaration that the impugned memorandum, dated December 12, 2017 and the memorandum, dated September 13, 2017 are bad in law and unsustainable, a writ in the nature of certiorari commanding the respondents to produce the records of the case so that conscionable justice may be done by quashing the impugned memoranda, a writ in the nature of mandamus commanding the respondents to withdraw, revoke and rescind the memorandum, dated December 12, 2017 and to allow the petitioner to continue in the post of the Senior Environmental Engineer with the consequential benefits attached to the post and for other ancillary reliefs. 5
On behalf of the respondents nos. 2 and 3 the senior law officer affirmed an affidavit-in-opposition. The answering respondents have contended that on the basis of the recommendation of the selection committee the petitioner was promoted to the post of Senior Environmental Engineer from Environmental Engineer. Subsequently, Smt Bithika Goswami and Sri Samit Dutta, two Assistant Environmental Engineers made several complaints to the Chairman and Member Secretary of the Board alleging that the promotional order in favour of the petitioner had deprived them of their due promotion. Similarly, Smt Dipanjana Moulik, a Senior Environmental Officer, Government of West Bengal, who was in deputation in the said department made a complaint to the Chairman alleging her supersession by some of the officers of the Board.
The Environment Department, Government of West Bengal by an order dated May 6, 2015 directed the Board to examine the issues raised by Smt. Dipanjana Maulik. The officer on special duty of the Board submitted a report on June 5, 2015 to the effect that on examination of records it had been found that Smt. Dipanjana Maulik had been denied promotion in view of an erroneous method 6 adopted by the selection committee ignoring the relevant seniority of the officers and ranked them based on their Annual Confidential Report (ACR, for short) ratings. This was not in conformity with the State of West Bengal promotional norms which the Board accepted to follow.
The Member Secretary of the Board by an order, dated November 16, 2016 constituted a three-member committee to suggest the necessary action to be taken. The said committee submitted a report in which it was found that the selection committee did not follow the State Government norms while ranking the Environmental Engineers for promotion, ignored their relevant seniority and ranked them based on their ACR ratings.
The report was subsequently referred to the Principal Secretary of the concerned department of the Government of West Bengal with a note that in order to redress the grievance of Smt. Dipanjana Maulik the Board would have to modify its order, dated February 27, 2013 and the Environmental Engineers promoted by order, dated February, 27, 2013 would have to be reverted to the feeder post. Since the other complaints have also been received, the 7 Board constituted a committee to enquire into the complaints. As the matter related to promotion and had financial implications the department of Environment was requested to give their opinion in the matter.
This time another three-member committee was constituted to ascertain the veracity of the complaints made by other engineers and scientists and the report submitted by this committee was in the same line with the one submitted by the previous committee. The committee proposed to cancel or modify the earlier orders. The report of the committee was again forwarded to the Principal Secretary of the concerned department who by a letter, dated September 13, 2017 informed the Member Secretary of the Board that the matter had been examined by the department and it was inter alia found that selection had been done erroneously and flouting government norms and the Board's own service regulations. The opinion of the department was communicated that the Board should cancel the earlier promotion based on erroneous procedure. After this the Member Secretary of the Board issued the impugned order, dated December 12, 2017.
8
It has been the stand of the respondents that by a memorandum, dated January 29, 1986 the Deputy Secretary, Government of West Bengal informed the Member Secretary of the Board that the employees of the Board would be guided by the provisions laid down in the West Bengal Service Rules. At present the Employee's Service Regulations, 2009 is in force. The Board is bound to accept all the directives and instructions of the State Government under the Act and since its inception it had carried out the same without reservation or modification. Even the pay scales cannot be prescribed by the Board without the approval of the State Government. Since Smt. Dipanjana Maulik, an employee of the Board was in deputation in the department of Environment, involvement of the department was inevitable. Since it had financial implication the opinion of the department was sought for. The respondents have specifically mentioned that before seeking any opinion from the department of Environment it was decided to modify/cancel the order, dated February 27, 2013. The order of promotion was rightly cancelled and the impugned orders do not suffer from any impropriety or infirmity.
9
The answering respondents have further contended that no legally protected right of the petitioner which can be judicially enforced has been infringed. They have prayed for dismissal of the writ petition.
The respondent nos. 2 and 3 have also filed a supplementary affidavit-in-opposition seeking to bring on record certain facts which were not mentioned inadvertently in the earlier affidavit. By this affidavit, the respondents contended that Regulation 33(1) of the Service Regulations of the Employees of the Board says that all cases of promotion shall be considered by the appointing authority on the basis of seniority-cum-merit after due consideration of the relevant criteria as mentioned in the affidavit. In case of category A employees the ACR and in case of categories B, C and D employees annual performance report shall be considered. In the case of seniority-cum-merit the seniors in the feeder grade are selected subject to their suitability. In that case a benchmark for merit should be prescribed and then making promotions according to the seniority out of the candidates achieving the requisite benchmark. In the present case the settled procedure was not followed. In the 10 gradation list several senior officers were ignored for promotion in spite of their eligibility.
In the affidavit-in-reply the petitioner has largely reiterated his stand in the writ petition. He has denied the allegations contained in various sub-paragraphs of paragraph 6 of the affidavit-in- opposition. He has particularly mentioned that he had not been informed of any complaint being made by anyone alleging supersession. Smt. Dipanjana Maulik alleged that she had been superseded in view of the promotional order, dated February 27, 2013 for the post of Senior Environmental Engineer and not for the post of Environmental Engineer. The officer-on-special-duty gave his findings behind the back of the concerned employees who were not served with any notice before he came to a finding that the procedure adopted by the Member Secretary while granting promotion on February 27, 2013 was not in conformity with the State Government's promotional norms which the Board was expected to follow. The petitioner has reiterated that the Principal Secretary, department of Environment, is not the employer and has no power and jurisdiction to redress the grievance of Smt. Dipanjana Maulik. The Board has no authority to seek opinion 11 from the Principal Secretary for modification of the order, dated February 27, 2013 and to revert the promotees to the feeder posts. The Committee constituted to enquire into the complaints violated the principles of natural justice. More than two years after the date of promotion complaints were lodged and the Board passed the order of reversion about 5 years after the date of promotion.
The petitioner has repeated that since the Board has its own service rules, the Government norms are not applicable with regard to his promotion. It was solely on the direction of the department of Environment that the petitioner had been demoted. The Board did not take any independent decision and acted on the dictation or direction of the State Government. Prior to coming to the finding that the selection committee had ignored the relative seniority of the candidates and ranked them based on their ACR ratings or the earlier promotional order was required to be cancelled no notice was given to the petitioner and the whole thing was sent to the Principal Secretary behind his back. The State Government cannot dictate the Board to cancel the order of promotion passed about 5 years before and to revert the petitioner to the post of the Assistant Environmental Engineer.
12
So far as the supplementary affidavit-in-opposition is concerned Mr. Ghosh, the learned Advocate for the petitioner, considering the contents of the same did not wish to file any rejoinder.
The primary challenge of the petitioner is the order issued by the Member Secretary of the Board cancelling the promotion given to the petitioner by order, dated February 27, 2013. The petitioner was reverted to the feeder post with effect from the date of promotion. Apart from the said order he has also assailed the memo, dated September 13, 2017 containing the direction of the department of Environment, Government of West Bengal, as pursuant to the same the order of reversion was passed by the Board.
The first document has been amended to the writ petition and the second has been disclosed by the respondent nos. 2 and 3 in their affidavit-in-opposition. We take the second-mentioned document first as it is chronologically earlier than the first- mentioned one.
13
By a communication, dated September 13, 2017 the Principal Secretary, Environment department, informed the Member Secretary of the Board that the three-member committee found that the selection did not follow the State Government's norms while ranking the holders of the feeder post for promotion. The department's opinion was that the Board should cancel the earlier promotion based on erroneous procedures after conducting selection process afresh considering the Service Rule of the State of Government as well as the Board. Till new promotions are decided no one might be reverted to an inferior post.
The petitioner has assailed the memo, dated December 12, 2017 as passed at the dictate the state government which in the present case was palpably impermissible. The Board being a statutory body must enjoy a certain degree of autonomy which cannot be compromised in any manner whatsoever.
The petitioner has further challenged the impugned decision of the Board as violative of principle of natural justice as before passing the final order of reversion no hearing was given to him. 14
To the first point, Mr. Basu, the learned Senior Counsel for the Board, submitted that the decision had been taken by the Board before the state government had communicated its decision. That apart, Mr. Basu submitted that since the government is the funding authority it has a complete control over the Board and that is why the matter was referred to them.
The first submission of Mr. Basu is factually incorrect. The Board itself has admitted in the affidavit that after receiving the report of the three-member committee the Member Secretary of the Board referred the matter to the Principal Secretary of the concerned department requesting him to give his opinion in the matter. To this the Principal Secretary expressed his opinion by a letter, dated September 13, 2017 and the memorandum of the Board, dated December 12, 2017 makes reference to the opinion expressed by the Principal Secretary of the concerned department as the direction of the Government. Thus, even if there was a finding of a committee, the decision of the Board was taken only after receiving the opinion of the Principal Secretary, department of Environment, which was treated by the Board as a directive. 15
The effort to justify the action of the Board has been made with reference to the alleged impropriety of the previous selection committee in not adhering to the norms of promotion and for violating the principle followed in the case of seniority-cum-merit rule. From this, Mr. Basu tried to establish that since the earlier selection committee committed the mistake no purpose would have been served by giving the petitioner an opportunity of hearing.
In support of his contention, Mr. Basu relied on the case of A. Janardhana vs. Union of India and Others, reported in AIR 1983 SC 769, State of Punjab vs. Jagdip Singh and Others, reported in AIR 1964 SC 521 and Indian Oil Corporation Ltd. and Others vs. Jharna Sarkar and Others, reported in 2004 (2) CHN 606. These three are primarily judgments on service jurisprudence laying down different principles of law pertaining to that particular branch. For example, A. Janardhana (supra) reiterates the principle that any rule of seniority has to satisfy the test of equality of opportunity in public service. In the absence of any other valid rule for determining inter se seniority of members belonging to the same service the rule of continuous officiation or the length of service etc. would be valid. 16
In State of Punjab (supra) the Supreme Court inter alia decided that where a Government servant has no right to a post or to a particular status he will not in law be deemed to have been validly appointed. Since these persons could not be confirmed to their post they could not be regarded as holding that status. They were merely officiating to those posts. The ratio in the case of Indian Oil Corporation Ltd. and Others (supra) is that if a person enjoys a benefit de hors his right conferred by statute or by agreement he cannot claim continuation of the same and the other party is entitled to rectify such mistake or the wrong.
There judgments lay down very well-settled principles service law which, however, have no application to the facts of the present case. The petitioner has not challenged the breach of any service rule for determination of seniority or the injustice done to him in not considering his length of service or whether he has any right to hold the post and to any declaration to that effect or he can claim any continuation to the post he had been promoted, so on and so forth.
17
These could have been valid considerations had the petitioner been reverted to the feeder post after complying with the rule of law and the principles of natural justice. Then the point of challenge would have been very different and the respondents might have some degree of justification in relying on them judgments in support of the action taken by them.
The petitioner did not raise any issue on the points which have been addressed by Mr. Basu seeking to establish the reasons for the decision taken by the respondents to revert the petitioner to the original post. The petitioner had no occasion to make any allegation of the sort in makebelief response to which Mr. Basu made his submissions. To the extent indicated above, the submission of Mr. Basu must be held to have been made in vacuum.
The effort of Mr. Basu to justify the action of the respondents to an unpleaded and extraneous challenge seems to establish that in the facts of the case compliance with the principles of natural justice would not have served any purpose. To that effect he relied on the judgment in the case of Escorts Farms Ltd., previously known 18 as M/s. Escorts Farms (Ramgarh) Ltd. vs. Commissioner, Kumaum Division, Noinital, U.P. and Others, reported in (2004) 4 SCC 281 for a proposition that rules of natural justice are to be followed for doing substantial justice and not for completing a mere ritual of hearing without possibility of any change in decision of the case on merits.
To the same effort is the judgment in the case of Dharampal Satyapal Ltd. vs. Deputy Commissioner of Central Excise, Gauhati and Others, reported in (2015) 8 SCC 519 which has been relied on by Mr. Basu for a proposition that when a fair hearing would make no difference no legal duty to provide a hearing arises. Every violation of a facet of natural justice may not lead to the conclusion that the impugned order is always null and void.
Undoubtedly, these are well carved-out exceptions, recognized for the last half-a-century or thereabout, to the principle of natural justice. It is true that in some cases courts felt that the action of the respondents could still be held even if it was not preceded by an opportunity of hearing. It was in this genre of cases that courts 19 have held that hearing would make no difference justifying - remanding the matter to the respondents for a fresh decision.
But such an exception can be resorted to by courts when the facts are indisputable and the failure to comply with the principles of natural justice cause no prejudice to the party complaining. These are the cases where the facts speak for themselves and the conclusion based on that must be inflexibly far too obvious to admit of any doubt. It is only in these cases that the courts have held that natural justice cannot be stretched to an absurd point of empty formality.
This, however, has to be decided by the courts upon an adjudication of the lis between the parties. It is the court which has to come to this conclusion after considering the effects of failure to comply with the principle of natural justice. Form the facts of a given case the court will have to draw this conclusion. For example, in the case of Escorts Farms Ltd. (Supra) the Supreme Court found that the transfer was effected contrary to the terms of government grant and were impermissible. Upon such a finding the Supreme 20 Court held that remanding the case would be of no legal consequence.
In Dharampal Satyapal Limited (Supra) the appellant attached the recovery orders passed by the respondents without a show- cause notice under Section 11A of the Excise Act. On facts the Supreme Court held that there was a requirement of issuing show- cause notice before passing the order of recovery, irrespective of the fact whether Section 11A of the Act was attracted in that case or not.
That apart, it is not understood why Mr. Basu relied on this judgment which, if read carefully, is bound to go against the contention of the respondents. The Supreme Court laid down that an administrative authority cannot dispense with the requirement of issuing notice by itself deciding that no prejudice would be caused to the person against whom an action is contemplated. It is not permissible for the authority to skip over the compliance of the principles of natural justice on the ground that even if hearing would have been provided it would have served no useful purpose. That has to be considered at a later stage and cannot be presumed 21 by the authority. The Supreme Court relied on the case of Board of High School and Intermediate Education Vs. Chitra Srivastava, reported in AIR 1970 SC 1039 where the Supreme Court held whether a duty arises in a particular case to issue a show-cause notice before inflicting a penalty does not depend on the authority's satisfaction that the person to be penalized has no defence, but on the nature of the order proposed to be passed.
Judged from that perspective reliance on a part of Dharampal Satyapal Limited (Supra) is a self-defeating exercise. In a properly instituted case where the court is called upon to decide on the merits of the case coupled with a lack of notice of hearing, the court can conclude that in a given situation non-compliance with the principles of natural justice would not have an adverse effect on the fact of the case. This is a prerogative of the court and not of the administration. Otherwise, there would be a constant effort on the part of the administration to come up with the plea of empty formality to cover up their laches and in the process foreboding consequential doom to the settled requirements of law. As mentioned earlier, the introduction of the self-imposed justification or the alleged violation of law five years before by the Board itself 22 was not in response to any challenge to that effect by the petitioner. The scope of the dispute raised by the petitioner was very different and did not call for any explanation how the principle of seniority- cum-merit had been allegedly violated by the Board. The respondents were not required to make any submission on issues not pleaded and then claim that their act was so aboveboard and unimpeachable that compliance with the principles of natural justice was not required.
After the publication of the final gradation list, the petitioner had acquired a right to hold a post. That could never be unsettled by the Board more than five and a half years after a date of promotion without giving him an opportunity of being heard. The entire exercise by the Board was taken behind the back of the petitioner and that by itself constitute sufficient grounds for setting aside the order of the Board.
A bare reading of the order, dated December 12, 2017 carries an impression that the department of Environment, by its letter, dated September 20, 2017 had directed the Board to cancel the promotions given by the order, dated February 27, 2013 which was 23 allegedly based on erroneous procedure. In pursuance of the said direction, the promotion orders were treated as cancelled and the petitioner was reverted to his feeder post.
One thing stands out quite clearly that the Principal Secretary, department of Environment gave his opinion which was accepted by the Board as the direction. The Board never communicated to the petitioner that the Principal Secretary had conveyed his opinion as the opinion was treated as a direction and the same was followed unhesitatingly.
As mentioned earlier for Mr. Basu this all but natural as the State Government was the funding agency, the Court cannot buy such view as the accepted norm to be expected of a statutory body like the Board. The government is the funding authority of umpteen number of statutory bodies which does not mean that the government has the ultimate control over their internal affairs. A very unusual statement has been made in the affidavit-in- opposition by the respondent nos. 2 and 3 that the Board is bound to accept all the directives and instructions in verbatim of the government under the Act and since the very inception the Board 24 had carried out the same without any reservation. The other reason cited for obeying the opinion of the Principal Secretary is that alteration in the gradation list involved financial implication and, therefore, the opinion of the government became necessary.
It is one thing to say that the Board is required to follow the policies of the government under the Act and it is another thing to entirely act on the opinion of the State Government treating the same as a direction in respect of a matter falling within the internal administration of the Board. The Board is a statutory body and, therefore, it derives its powers and functions from the Act and not from the individual opinion of the Principal Secretary of any department.
The law has always recognized a very fundamental difference between a subordinate official and an independent statutory body. While a subordinate official is bound to carry out the directives of a superior officer such is not the position with an independent body constituted under an Act. In its internal functioning it is entirely independent of the government and should not feel bound by its directives merely because funds are provided by the government. 25 It's time that the autonomy of a statutory body irrespective of whether it is funded by the government or not, should be highlighted. The mere fact that the Government funds a statutory body does not give it any right to be the final arbiter in respect of the internal matters of a statutory body. The manner in which the Board treated an opinion as a direction goes a long way to show how and to what extent it had abdicated its authority in favour of the government. This has given a significant space to the petitioner to complain that the order of the Board has been passed the dictate of the government. This seems to have been admitted by the Member Secretary himself.
The power is to be exercised by the very authority upon whom it has been conferred by the statute. When a statutory authority exercises the powers vested in it by an Act under the dictate from a different authority, the authority must be held to have totally failed to exercise the power which was not only vested in it but which was, in fact, was its duty to exercise. An authority is always required to act according to its own discretion and to take a decision of its own. The moment it feels that some external authority has directed it to do certain thing and, therefore, it has to 26 be done, it is not the decision of the statutory body but of an external authority. Such an act is always vitiated by non- application of mind. This makes the administration vulnerable to any criticism.
In the case of Anirudhsinghji Karansinji Jadeja Vs. State of Gujarat, reported in AIR 1995 SC 2390, the Supreme Court observed that the discretion exercised under the direction of some higher authority is a failure to exercise discretion all together.
Whether a certain number of officials should be promoted or not is a decision to be taken by the Board itself consistent with its requirement and the recommendation of the selection committee. If there was any mistake committed by the Board at any stage earlier and if the Board wanted to rectify the same the decision has to be taken by the Board itself in accordance with law. This principle has been explained by the Supreme Court in the case of State of Uttar Pradesh Vs. Maharaja Dharmander Prosad Singh, reported in AIR 1989 SC 997 that an authority cannot permit its decision to be influenced by the dictates of others as this would amount to abdication and surrender of its discretion. It would then not be the 27 authority's discretion that is exercised, but someone else's. The Supreme Court was unambiguous in striking down such a decision when it held that such an interference by a person or body extraneous to the power would plainly be contrary to the nature of the power conferred on the authority.
When under the relevant Act under which the Board has been constituted contains no provision for acting under the dictates of the government, the Member Secretary of the Board had no reason to feel himself bound by the opinion expressed by the Principal Secretary treating the same as a direction. That is a situation when an external authority takes a decision and communicates it to another authority which feels itself bound by it. An independent application of mind is missing. In the case of Chandrika Jha Vs. State of Bihar, reported in AIR 1984 SC 322, the Supreme Court held when a discretionary power is vested in a designated official it is he alone who must exercise the power according to his own judgment and discretion and none else. In that case, the Supreme Court set aside the order of the Registrar of co-operative societies as the order was passed and dictated by the Chief Minister. 28
Reference may also be made to the case of Joint Action Committee of Air Line Pilots' Association of India (ALPAI) and Others Vs. Director General of Civil Aviation and Others, reported in 2011 (5) SCC 435 where the Supreme Court had held that in a democratic set up persons occupying key positions are not supposed to mortgage their discretion, volition and decision making authority and be prepared to give away to carry out commands having no sanctity in law. Thus, if any decision is taken by a statutory authority at the behest or on suggestion of a person who has no statutory role to play the same would be patently illegal.
This has exactly happened in the present case. The Board sought for opinion which in the first place was not necessary as the Board was the ultimate authority to take decision in its internal matters. When the opinion was communicated the Board interpreted it to be a direction and thought itself to be completely bound by it without even considering that in matters of internal administration it has to survive or perish on its own decision which is in tune with the cherished concept of the autonomy. The Member Secretary had no occasion to apply his mind once he felt himself 29 bound by direction of the Principal Secretary of the government rendering the order liable to be set aside.
For the reasons stated above, the Court considers the order, dated December 12, 2017 to be not sustainable in law and it is set aside. However, the communication, dated December 20, 2017 is not set aside as it is in the nature of an opinion. The Board is directed to restore the petitioner to the promotional post within two weeks. The financial benefit of the post which the petitioner would have enjoyed but for the order impugned should also be restored to him within a period of four weeks.
There shall, however, be no order as to costs.
Urgent photostat certified copy of this order, if applied for, be supplied to the parties subject to compliance with all requisite formalities.
(Dr. Sambuddha Chakrabarti, J.) S. Banerjee


{% extends "layout.html" %} {% block head %} Calorie Tracker {% endblock %} {% block body %}
1. Go to MyFitnessPal and find how many calories the food you've eaten contains
2. Select the date you ate the food
3. Add the correct number of calories below
That's it! Do this for every meal you eat and you'll be able to track your daily calorie intake, all in one place.
If you haven't set your calorie goal, or if you want to change it, set it below:
{% if goal != 0 %}


Optional
Fail the build if any of the listed defect IDs (comma separated) are found for any first party content items in any configured test.
Note: You can locate any defect ID at the top of any defect detail page in your results, or in the Knowledge Base. See Example.


Classic Chart
Bars Chart
Datatables integration
blaah blaah blaah blaah blaah blaah blaah blaah blaah blaah
| ID | Client | Subscription | Actions | ||
|---|---|---|---|---|---|
| 1 | client1 |<EMAIL_ADDRESS>| Personal | ||
| 2 | client2 |<EMAIL_ADDRESS>| Trial | ||
| 3 | client3 |<EMAIL_ADDRESS>| VIP | ||
| 4 | client4 |<EMAIL_ADDRESS>| Trial | ||
| 5 | client5 |<EMAIL_ADDRESS>| Personal | ||
| 6 | client6 |<EMAIL_ADDRESS>| Personal | ||
| 7 | client7 |<EMAIL_ADDRESS>| Business | ||
| 8 | client8 |<EMAIL_ADDRESS>| Personal | ||
| 9 | client9 |<EMAIL_ADDRESS>| Trial | ||
| 10 | client10 |<EMAIL_ADDRESS>| Personal | ||
| 11 | client11 |<EMAIL_ADDRESS>| Business | ||
| 12 | client12 |<EMAIL_ADDRESS>| Personal | ||
| 13 | client13 |<EMAIL_ADDRESS>| Personal | ||
| 14 | client14 |<EMAIL_ADDRESS>| VIP | ||
| 15 | client15 |<EMAIL_ADDRESS>| VIP | ||
| 16 | client16 |<EMAIL_ADDRESS>| Trial | ||
| 17 | client17 |<EMAIL_ADDRESS>| VIP | ||
| 18 | client18 |<EMAIL_ADDRESS>| VIP | ||
| 19 | client19 |<EMAIL_ADDRESS>| Business | ||
| 20 | client20 |<EMAIL_ADDRESS>| Trial | ||
| 21 | client21 |<EMAIL_ADDRESS>| Personal | ||
| 22 | client22 |<EMAIL_ADDRESS>| Business | ||
| 23 | client23 |<EMAIL_ADDRESS>| Personal | ||
| 24 | client24 |<EMAIL_ADDRESS>| Business | ||
| 25 | client25 |<EMAIL_ADDRESS>| Business | ||
| 26 | client26 |<EMAIL_ADDRESS>| Personal | ||
| 27 | client27 |<EMAIL_ADDRESS>| Trial | ||
| 28 | client28 |<EMAIL_ADDRESS>| Business | ||
| 29 | client29 |<EMAIL_ADDRESS>| Personal | ||
| 30 | client30 |<EMAIL_ADDRESS>| Business | ||
| 31 | client31 |<EMAIL_ADDRESS>| Trial | ||
| 32 | client32 |<EMAIL_ADDRESS>| Business | ||
| 33 | client33 |<EMAIL_ADDRESS>| Trial | ||
| 34 | client34 |<EMAIL_ADDRESS>| Trial | ||
| 35 | client35 |<EMAIL_ADDRESS>| VIP | ||
| 36 | client36 |<EMAIL_ADDRESS>| Business | ||
| 37 | client37 |<EMAIL_ADDRESS>| Trial | ||
| 38 | client38 |<EMAIL_ADDRESS>| Business | ||
| 39 | client39 |<EMAIL_ADDRESS>| Personal | ||
| 40 | client40 |<EMAIL_ADDRESS>| Trial | ||
| 41 | client41 |<EMAIL_ADDRESS>| Business | ||
| 42 | client42 |<EMAIL_ADDRESS>| Trial | ||
| 43 | client43 |<EMAIL_ADDRESS>| Trial | ||
| 44 | client44 |<EMAIL_ADDRESS>| Personal | ||
| 45 | client45 |<EMAIL_ADDRESS>| Business | ||
| 46 | client46 |<EMAIL_ADDRESS>| VIP | ||
| 47 | client47 |<EMAIL_ADDRESS>| Trial | ||
| 48 | client48 |<EMAIL_ADDRESS>| Business | ||
| 49 | client49 |<EMAIL_ADDRESS>| VIP | ||
| 50 | client50 |<EMAIL_ADDRESS>| Trial | ||
| 51 | client51 |<EMAIL_ADDRESS>| VIP | ||
| 52 | client52 |<EMAIL_ADDRESS>| VIP | ||
| 53 | client53 |<EMAIL_ADDRESS>| Personal | ||
| 54 | client54 |<EMAIL_ADDRESS>| Personal | ||
| 55 | client55 |<EMAIL_ADDRESS>| Personal | ||
| 56 | client56 |<EMAIL_ADDRESS>| Business | ||
| 57 | client57 |<EMAIL_ADDRESS>| Trial | ||
| 58 | client58 |<EMAIL_ADDRESS>| Personal | ||
| 59 | client59 |<EMAIL_ADDRESS>| VIP | ||
| 60 | client60 |<EMAIL_ADDRESS>| VIP |


Freelance Designer & Developer
I'm Cyril Gouverneur, a Designer and Front-end Developer from Biscarosse, France.
I love helping businesses of all size to build and improve their online presence.
I Design and Develop modern and responsive website.
Aside from development, I like learning languages, playing and waching sports.


Welcome to Edenmill Farm Shop and Smokery
Edenmill Farm is proud of the reputation it has for producing high quality produce on site throughout the entire range - Aberdeen Angus Beef, Pork, Lamb, Venison and Game. It is easy to shop at Edenmill - you
can visit our farm shop (with new product ranges), shop on line or order over the telephone
Edenmill Farm,Stockiemuir Road
Blanefield,Glasgow G63 9AX
WEDNESDAY: 9AM - 5PM
SUNDAY : 9AM - 5PM
© 2016 Edenmill All Rights Reserved


Loading Order Details
Delivery Status
{{ book.date | date:'MMMM d,y' }}
From: {{ book.src }}
To: {{ book.dest }}
Contact : {{ book.phone}}Truck: {{ book.vehicle }}
Cost: {{ book.cost | currency:'INR' }}
Goods-Type : {{ book.goods}}
Order Confirmation
{{ book.date | date:'MMMM d,y' }}
From: {{ book.src }}
To: {{ book.dest }}
Contact : {{ book.phone}}Truck: {{ book.vehicle }}
Cost: {{ book.cost | currency:'INR' }}
Goods-Type : {{ book.goods}}
Order History
{{ book.date | date:'MMMM d,y' }}
From: {{ book.src }}
To: {{ book.dest }}
Contact : {{ book.phone}}Truck: {{ book.vehicle }}
Cost: {{ book.cost | currency:'INR' }}
Goods-Type : {{ book.goods}}


{% load static %}
Noooo, the server is down (error 500)
Contact
support
to see what the hell is happening


Uluru chains removed, but site may take 'thousands of years' to return to natural state
by Alex BarwickThe last of the chain over Uluru, which helped thousands of people climb the 348-metre-high rock, has now been permanently removed from the monolith.
Key points
- It took less than three weeks to remove the chain used for the Uluru climb
- It may take "hundreds, maybe thousands" of years for the surface to return to its natural red hue
- Traditional Owners are still deciding what to do with the chain
Parks Australia confirmed the last poles were taken away by helicopter at 6pm on Monday.
"Three senior Anangu — Nelly Patterson, Reggie Uluru and Yuka Trigger — were at the old climb site [Monday] morning and were happy to see the last of the chain removed," a spokesman said.
"All infrastructure is being stored safely and securely by Parks Australia."
The guide chain included 138 posts drilled into the side of the rock that were joined together with 400 metres of link rope covering the steepest part of the route up the side of the monolith.
Holes from the steel posts were filled with a specially designed resin that mimicked the appearance of the rock.
Chain handover a 'quiet affair'
David Curl, from Uluru TV, was in Uluru-Kata Tjuta Park to see part of the chain handed to the Anangu traditional owners.
Mr Curl said it was "quite emotional" at the base of the rock.
"Today was a quiet affair — it was really very special," he said on Monday.
"We had about eight Anangu come from the community, senior traditional owners.
"And they came along at just the right moment, when the final bit of chain from the very topmost link of the whole of the climb had been brought down."
Mr Curl said roughly one tonne of chain and half a tonne of posts were pulled off the natural wonder.
Cairn controversy
Uluru was closed to climbers on October 26, and on October 28 Melbourne-based contractor Dave Wallis and his team of three started work.
Stonemason Luke Doyle was tasked with the job of moving the cairn — or human-made pile of stones — that once sat at the summit of Uluru.
Mr Doyle was critical of the cairn's appearance, calling it "hideous" during an interview with the ABC.
"It's so ugly. It is hideous," Mr Doyle said.
The stonemason said he started taking apart the cairn with little "battery operated little demolition hammers" at 6am on October 30 and by 8am it was in pieces.
But Mr Doyle said he put the mound of stones back together slightly differently to how he found it.
"I turned all the stone around, so the paint side is in. And I put all the Mount Conner stone facing out — and it's beautiful. Everybody is loving it," he said.
Mr Wallis said the comments by Mr Doyle in his interview weren't reflective of Spire's approach to the contract.
Parks Australia said it "does not agree with comments made recently that suggested the cairn was smashed during the removal process".
"The primary contractor managing the removal of the Uluru climb infrastructure engaged an experienced stonemason as a sub-contractor to assist with the relocation of the cairn," it said.
"As part of this process the cairn needed to be disassembled at the top of Uluru. Each piece was numbered before dismantling, and it has now been reassembled.
"Parks Australia can reassure anyone who may have concerns about the cairn that it will be stored safely and securely for historical and educational purposes."
The complex removal process
Mr Wallis said the removal process, which took his team about three weeks, involved rigging a high line in stages to the top of the series of pipes and progressively dismantling the chain, getting it into bags and belaying those bags down the zipline.
"I've been asked how it feels for us to be the last people on the climb, and that's the least of our concerns or our interests, we just want to do a good job," said Mr Wallis before he ascended the monolith.
"It's probably the most iconic part of the Australian landscape and who wouldn't want to be involved with a project like this?"
Surface will take years to return to normal
Parks Australia said it wanted the state of Uluru returned to the days before the climb.
"Part of the tender process, we didn't say what method should be used, just that it had to minimum impact, and that best as possible they had to restore Uluru to its natural state," manager of the Uluru-Kata Tjuta Park Mike Misso said.
The footsteps of climbers have worn down the surface along the trail over the last 60 years and the track has turned a light grey, in contrast to the red hue of the rest of Uluru.
Mr Wallis and his team will not be able to do much about the damage.
Mr Misso said while it could take up to 10 years for the surface to return to its natural red hue as the iron in the rock oxidises, it would take far longer for the texture to be remediated.
"Because it was worn so smooth, that process could be in the order of hundreds, maybe thousands of years for that surface to maybe go back to the condition of Uluru," Mr Misso said.
"It will hopefully at least be less obvious."
Traditional owners are still deciding what should be done with the chain.
Initial ideas included loaning it to museums and creating an exhibit at the park for educational purposes.
Parks Australia declined to say how much the process would cost, but Mr Misso said it was in the order of hundreds of thousands of dollars.


Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen book It has survived not only five centuries but also the leap into electronic typesetting remaining essentially unchanged It was popularised in the with the release of Letraset sheets containing Lorem Ipsum passages and moe recently with desktop.
Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been industrys.
Read MoreLorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been industrys.
Read MoreTypeseing industry Lorem Ipsum been industry standard ever since the when an Lorem Ipsum.
Read MoreLorem Ipsum is simply dummy of the tingand typeseing industry Lorem Ipsum been industry standard.
Read MoreLorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been industrys.
Read MoreLorem Ipsum is simply dummy of the tingand typeseing industry Lorem Ipsum been industry standard ever.
Read MoreLorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen ba galley of type and ook It has survived not only five centuries but also the leap into elec.
Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen ba galley of type and ook It has survived not only five centuries but also the leap into elec.
Years of experience
project completed
Happy users
Cups of coffee
Call us for FREE Consultation : +1<PHONE_NUMBER>
Lorem Ipsum is simply dummy text of therinting and typeseing industry Lorem sum haseen the industry's standard dummy text ever since the when aning.
Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen book It has.
Standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen book It has Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys.
Text of the printing and typesetting industry Lorem Ipsum has been the galley of type and scrambled it to make a type specimen book It has industrys standardindustrys standard dummy text ever since the when an unknown printer took.
Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen book It has survived not only five centuries but also the leap into electronic typesetting remaining essentially unchanged It was popularised in the with the release Letraset.
Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the industrys standard dummy text ever since the when an unknown printer took a galley of type and scrambled it to make a type specimen book It has survived not only five centuries but also the leap into electronic typesetting remaining essentially unchanged It was popularised in the with the release Letraset.


{
if(!$c{org}->is_generic_nctest)
{
my $href = $c{href};
$OUT.=<<"+++";
+++
}
}
Welcome to the quiz editor - edit questions and parts using the tree on the left.
To add a question, select an existing question and click 'add' -> enter the information
into the window and the new question will be added.
To edit a question - double click on its name in the tree or select it and click
'edit' -> edit the information in the window and click save.
To delete a question - select it and click 'delete'.
To add a part - select an existing part and click 'add' - the new part will be
added just after.
To edit a part - double click on its name in the tree or select it and click
'edit' -> edit the part in this window.
To delete a part - select it and click 'delete'.
To
edit level groups -> double click ' level groups' on the tree, select it and
click 'edit' or click the
button
above.
To
edit the quiz instructions s -> double click 'instructions' on the tree,
select it and click 'edit' or click the
button
above.
To view the default instructions that will accompany the quiz -> click the
button above.


Take control of your RESTful API's. Test them, simulate them, document how to use them and figure out how failure affects your architecture. No invasive changes to your code base. Swap API behaviour out real time over the network.
- Simulate API's with a portable concise JSON like language
- Hotswap API behaviour on the fly over the network
- Simulate error response status codes per project or per resource path
- Simulate timeouts
- Configure probability of error per project or per resource path
- Verify request structure; headers, query string params, body payload json keys, url encoded forms
- Auto generate curl commands to test your API's
- Automatically integration test your API simulation
- Automatically integration test your real API's passing in a small initial seed of data
- Automatic documentation generated for all configured projects


{{ product.name }}
{{ product.description }}
{{ product.details }}
{% if likes_list %} {% for likes in likes_list %} {{ likes.total_likes }} Likes
{% endfor %}
{% endif %}


My name is Yin Nam Wong, but I go for Steven.
I am 16. I was born in Hong Kong, and I'm going to Saint Mary's College High School now.
11th grath.
I live in Berkeley with my mun and younger brother. My dad stayed in HK.
My hobbies is reading Chinese books, I read tons of Chinese
and I playing computer games with my friends
I like playing table tennis, is fun. ☺
My favourite sport is table tennis, I play it the most.
And I play a little bit of basketball too ☺
I play League of Legend
I main support ☺ and I like to troll, troll is fun
I like eating eggs
Hello World ywong15
April 28 2014
This is my Button Page :D
What will people say after GG
This is the button to my lyrics website


#ftl output_format="HTML" auto_esc=true> <#import "layout/default.html" as layout><EMAIL_ADDRESS>Dear ${notificationTarget.name},
You have recently set up an account with the Innovation Funding Service. We now need you to verify your email address.
<EMAIL_ADDRESS>href="${verificationLink}" text="Verify account" />Once verified you can sign into your account.
<EMAIL_ADDRESS>/> @layout.default>