| HOME | DOWNLOAD | DOCUMENTATION | FORUM | FAQ |
The current version of SHTOOLS is 2.6 (released November 21, 2011)
What is SHTOOLS?
SHTOOLS is an archive of fortran 95 based software that can be used to perform (among others) spherical harmonic transforms and reconstructions, rotations of spherical harmonic coefficients, and multitaper spectral analyses on the sphere.
What makes SHTOOLS different?
While several collections of code currently exist for working with data expressed in spherical harmonics, this one is unique for several reasons:
- It can accommodate any standard normalization of the spherical harmonic functions ("geodesy" 4π normalized, Schmidt semi-normalized, orthonormalized, and unnormalized).
- Either real or complex spherical harmonics can be employed.
- Spherical harmonic transforms are calculated by exact quadrature rules using either (1) the sampling theorem of Driscoll and Healy (1994) where data are equally sampled (or spaced) in latitude and longitude, or (2) Gauss-Legendre quadrature. A least squares inversion routine for irregularly sampled data is included as well.
- One can choose to use or exclude the Condon-Shortley phase factor of (-1)m with the associated Legendre functions.
- The spherical harmonic transforms are proven to be accurate to approximately degree 2800, corresponding to a spatial resolution of better than 4 arc minutes.
- Routines are included for performing localized multitaper spectral analyses.
- Routines are included for performing standard gravity and magnetic field calculations, such as computation of the geoid and the determination of the potential associated with finite-amplitude topography.
- The routines are fast. Spherical harmonic transforms and reconstructions take on the order of 1 second for bandwidths less than 600 and about 3 minutes for bandwidths close to 2800.
How do I use SHTOOLS?
SHTOOLS is invoked by standard subroutine and function calls in your fortran 90/95 program. For some routines, it will be necessary to have installed the Fourier transform package FFTW, as well as the linear algebra packages LAPACK and BLAS.
How much does it cost?
The SHTOOLS software package is free. Two free Fortran 95 compilers exist (gfortran as part of GCC, and g95), and the FFTW, BLAS, and LAPACK libraries are freely available as well. SHTOOLS can be modified and distributed according to the revised BSD license.
| Centre National de la Recherche Scientifique | Institut de Physique du Globe de Paris | © 2011 Mark Wieczorek |


Item Class¶
-
class
item.
Item
(itemJson, api)¶ This is the Item class.
-
allDay
¶ Boolean to determine is the item is active all day.
Type: boolean
-
api
= None¶
-
boxFolderID
¶ The BoxFolderID value (read only).
Type: int
-
childID
¶ The childID value. (read only).
Type: int
-
completed_by
¶ The name of the user who has completed the item. (read only)
Type: string Note
The variable will be modified when an user set an item as completed
Note
None in case the item is not completed
-
completionDate
¶ The date when the item was completed (read only).
Type: datetime Note
None in case the item is not completed
-
completionPercentage
¶ The completion percentage value.
Type: int Warning
completionPercentage param must be greater than or equal to 0 and less than or equal to 100.
Note
If the completionPercentage is 100, the item will be set as completed.
-
creationDate
¶ The date when the item was created (read only).
Type: datetime
-
delegate
(username)¶ Delegate the item to the user with the specified username.
Parameters: owner_username (string) – The new name of the item’s owner
-
delegated_by
¶ The user name who delegated the item (read only).
Type: string
-
descriptionText
¶ The item description text.
Type: string
-
dueDate
¶ The due date in case it exists.
Type: datetime
-
effort
¶ The effort value of the item.
Type: int Warning
effort param must be greater than or equal to 0 and less than or equal to 10.
-
frequency
¶ The item’s frequency.
Type: string. Warning
frequency value must be one the next list: “Never”, “Daily”, “Weekly”, “Biweekly”, “4-weekly”, “Monthly”, “Quaterly”, “Semesterly”, “Yearly” or “None”
-
getCreator
¶ The user name of the item creator.
Type: string
-
getEdited_by_username
¶ The last user’s name who edited the item (read only).
Type: string
-
getParentID
¶ The Parent ID of the item (read only).
Type: int
-
id
¶ The ID of the item (read only).
Type: int
-
idd
¶ The idd of the item. (read only)
Type: int
-
isCompleted
()¶ Returns if the item is completed or not.
Returns: True if the item is completed Returns: False if the item is not completed Return type: boolean
-
isDeleted
()¶ Returns if the item is deleted or not.
Returns: True if the item has been deleted Returns: False if the item has not been deleted Return type: boolean
-
isDue
()¶ Returns if the item is due or not.
Returns: True if the due date has passed Returns: False if the due date has not passed Return type: boolean
-
name
¶ The name of the item.
Type: string
-
ownerUsername
¶ The owner username of the item.
Type: string
-
projectID
¶ The Project ID where the item is, in case it isn’t in the item box
Type: int Note
None in case the item is in item box
Note
The ID must belong to a created project
-
quadrant
¶ The Quadrant where the item is.
Type: int Note
None in case the item doesn’t belong to a project yet
-
save
()¶ Update the item with the changes made.
Note
If we have changed some value of the item, until we dont call to this function, it will not be saved on the API.
-
setAllDay
¶ Boolean to determine is the item is active all day.
Type: boolean
-
setDescriptionText
¶ The item description text.
Type: string
-
setEffort
¶ The effort value of the item.
Type: int Warning
effort param must be greater than or equal to 0 and less than or equal to 10.
-
toString
()¶ Returns a string with relevant information about the item.
-


Micah Fox
Welcome to my website. It doesn't have much content, just links to my various projects.
The Weaverland Conference songbook.
With help from
Jonathan McMurray


Register
Every year we aim to have an unbelievable time, and this year we'd love it for you to join us. Conference passes only cost $99, one of the best values you'll find.
Purchase a Conference Pass
$99 PER PASS
Purchase your Styles Conference pass using the form to the right. Multiple passes may be purchased within the same order, so feel free to bring a friend or two along. Once your order is finished we’ll follow up and provide a receipt for your purchase. See you soon!
Why Attend?
- Over twenty world-class speakers
- One full day of workshops and two full days of presentations
- Hosted at The Chicago Theatre, a historical landmark
- August in Chicago is simply amazing


Scale up your operations, manage pipelines effectively, access multiple tools and customize workflows as per business need.
Simplify customer service approach, anticipate customer needs to provide relevant solutions and create self-service communities.
Personalize customer experience across channels, leverage customer data to build one-to-one relationships, and automate journeys for superior customer engagement.
Build custom apps specific to your business, connect multiple systems to unified platforms and integrate with third-party apps via APIs.
Generate actionable insights using data analytics, leverage Einstein AI to predict future outcomes and recommendations.
Maximize the value of your salesforce investment, learn to effectively use the applications to improve overall business productivity.
Implemented Salesforce service cloud for customer service management.
Customized service cloud console, chatter, social service management and knowledge management.
Migrated existing donor management system from legacy to a cloud based salesforce platform.
Implemented complete donor management solution, event management (scheduling, seating, analytics and waitlist), billing and financials.
Integrated with third party applications for address validation, financial reports and employee payroll.
Implemented Salesforce Communities for Customer and revamped the entire design of the portal with responsive VF Pages.
Resulted in quick resolution of support ticket and better collaboration between the client team and their customers.
Founded in 2017, headquartered in Gujrat, India, we are an IT Consulting and Services Company providing a wide range of services such as end-to-end implementation, integration, migration, training, and many more.
Since inception, we have been helping leading global firms transform their customer experience through our best-in-class IT solutions. We provide flexible engagement models to help you accelerate your transformation journey in line with your business goals.
C4 Jinal Park, Eru Char Rasta, Jalalpore, Navsari, Gujarat 396450
+91-9909240666
info@eruditeworks.com


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.Throwable java.lang.Exception org.ietf.jgss.GSSException
public class GSSException
This exception is thrown whenever a GSS-API error occurs, including any mechanism specific error. It may contain both the major and the minor GSS-API status codes. Major error codes are those defined at the GSS-API level in this class. Minor error codes are mechanism specific error codes that can provide additional information. The underlying mechanism implementation is responsible for setting appropriate minor status codes when throwing this exception. Aside from delivering the numeric error codes to the caller, this class performs the mapping from their numeric values to textual representations.
| Field Summary | |
|---|---|
static int |
BAD_BINDINGS
Channel bindings mismatch. |
static int |
BAD_MECH
Unsupported mechanism requested. |
static int |
BAD_MIC
Token had invalid integrity check. |
static int |
BAD_NAME
Invalid name provided. |
static int |
BAD_NAMETYPE
Name of unsupported type provided. |
static int |
BAD_QOP
Unsupported QOP value. |
static int |
BAD_STATUS
Invalid status code. |
static int |
CONTEXT_EXPIRED
Security context expired. |
static int |
CREDENTIALS_EXPIRED
Expired credentials. |
static int |
DEFECTIVE_CREDENTIAL
Defective credentials. |
static int |
DEFECTIVE_TOKEN
Defective token. |
static int |
DUPLICATE_ELEMENT
Duplicate credential element requested. |
static int |
DUPLICATE_TOKEN
The token was a duplicate of an earlier token. |
static int |
FAILURE
General failure, unspecified at GSS-API level. |
static int |
GAP_TOKEN
An expected per-message token was not received. |
static int |
NAME_NOT_MN
Name contains multi-mechanism elements. |
static int |
NO_CONTEXT
Invalid security context. |
static int |
NO_CRED
Invalid credentials. |
static int |
OLD_TOKEN
The token's validity period has expired. |
static int |
UNAUTHORIZED
Operation unauthorized. |
static int |
UNAVAILABLE
Operation unavailable. |
static int |
UNSEQ_TOKEN
A later token has already been processed. |
| Constructor Summary | |
|---|---|
GSSException(int majorCode)
Creates a GSSException object with a specified major code. |
|
GSSException(int majorCode,
int minorCode,
String minorString)
Creates a GSSException object with the specified major code, minor code, and minor code textual explanation. |
| Method Summary | |
|---|---|
int |
getMajor()
Returns the GSS-API level major error code for the problem causing this exception to be thrown. |
String |
getMajorString()
Returns a string explaining the GSS-API level major error code in this exception. |
String |
getMessage()
Returns a textual representation of both the major and the minor status codes. |
int |
getMinor()
Returns the mechanism level error code for the problem causing this exception to be thrown. |
String |
getMinorString()
Returns a string explaining the mechanism specific error code. |
void |
setMinor(int minorCode,
String message)
Used by the exception thrower to set the mechanism level minor error code and its string explanation. |
String |
toString()
Returns a textual representation of both the major and the minor status codes. |
| Methods inherited from class java.lang.Throwable |
|---|
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int BAD_BINDINGS
public static final int BAD_MECH
public static final int BAD_NAME
public static final int BAD_NAMETYPE
public static final int BAD_STATUS
public static final int BAD_MIC
public static final int CONTEXT_EXPIRED
public static final int CREDENTIALS_EXPIRED
public static final int DEFECTIVE_CREDENTIAL
public static final int DEFECTIVE_TOKEN
public static final int FAILURE
public static final int NO_CONTEXT
public static final int NO_CRED
public static final int BAD_QOP
public static final int UNAUTHORIZED
public static final int UNAVAILABLE
public static final int DUPLICATE_ELEMENT
public static final int NAME_NOT_MN
public static final int DUPLICATE_TOKEN
public static final int OLD_TOKEN
public static final int UNSEQ_TOKEN
public static final int GAP_TOKEN
| Constructor Detail |
|---|
public GSSException(int majorCode)
majorCode
- the The GSS error code for the problem causing this
exception to be thrown.public GSSException(int majorCode, int minorCode, String minorString)
majorCode
- the GSS error code for the problem causing this
exception to be thrown.minorCode
- the mechanism level error code for the problem
causing this exception to be thrown.minorString
- the textual explanation of the mechanism error
code.| Method Detail |
|---|
public int getMajor()
getMajorString()
,
getMinor()
,
getMinorString()
public int getMinor()
getMinorString()
,
setMinor(int, java.lang.String)
public String getMajorString()
getMajor()
,
toString()
public String getMinorString()
getMinor()
,
getMajorString()
,
toString()
public void setMinor(int minorCode, String message)
minorCode
- the mechanism specific error codemessage
- textual explanation of the mechanism error codegetMinor()
public String toString()
toString
in class Throwable
public String getMessage()
getMessage
in class Throwable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


Song Title
File Size
Play Time
Performer
Composer
Publisher
Licensed To
License Term
Use of License
License Expiration
RMF Index#
Composer Notes


Greetings! You found my personal site.
I am a software professional, an adventurer, and a thinker.
On this portfolio you can find a timeline of my software history, a climbing log, some of my favorite photos, and a contact form.
If you are really curious, check out the about section or go to bwackwat.com. There, you can find my blog and things I want to put online for the world. I hope you find some interesting things!
Please contact me if you'd like as well, stress free.


Seven O’Clock Stories
by Robert Gordon Anderson
“Twentieth Night: The Lions of the North Wind”
Additional Information
- Year Published: 1920
- Language: English
- Country of Origin: United States of America
- Source: Anderson, R. G. (1920). Seven O’Clock Stories. New York: G.P. Putnam’s Sons: The Knickerbocker Press.
-
Readability:
- Flesch–Kincaid Level: 3.7
- Word Count: 3,468
- Genre: Adventure
- Keywords: children's stories
- ✎ Cite This
Downloads
By the fire sat the Toyman.
He must have been seeing things in the flames, for he kept looking, looking all the time.
He was all alone, for Father and Mother Green had gone to town to see a fine wedding. It was not often that they stayed out so late, but this was a grand event. And they knew the three happy children would be safe in the Toyman’s care.
They were all in the next room. Jehosophat and Hepzebiah were sound asleep—but not Marmaduke. He was sitting up, a little bit of a fellow in a big bed.
Outside, old Giant Northwind roared and roared. Now he seemed to be running around and around the house, faster than any train. Now he stopped to knock at the door and bang at the window panes. Now he trampled on the roof, knocking off pieces of slate and a brick from the chimney, which fell, crash , through the glass cover of the little greenhouse.
Marmaduke did not like the sounds cruel Giant Northwind made. And it was very dark in the room. To tell the truth he was just a little bit frightened. But he didn’t say anything at all. For the Toyman had told him always to be “game.” That was a funny word, but Marmaduke knew what it meant. A brave little boy must not cry even if he is afraid.
Still the Giant Northwind kept running round and round the house with great leaps. And the windows creaked, and the trees thumped the house with their branches.
Suppose the Giant should break in and carry him ‘way, ‘way off!
The door of the next room was open. Through it he could see the bright fire. Higher and higher leaped the flames, as if they wanted to jump up the chimney and join the Northwind in his mad race.
Very comfy and bright looked the fire. Very funny were the shadows on the wall, dancing and bowing to each other and jumping up and down like Jacks-in-the-Box.
One shadow was like a man’s, as tall as the ceiling.
Had Giant Northwind gotten in the house at last!
Marmaduke shivered and crept out of bed—and hurried into the next room. He kept as far away from that giant shadow as he could. But he never cried out. He was very brave.
On and on against the wall he tiptoed towards the chair by the fire, where the Toyman sat, thinking his strange thoughts.
The Toyman felt a tug at his sleeve. He looked around. There stood Marmaduke, pointing at the shadow.
That shadow was so big and Marmaduke was so small.
“Don’t let him get me!” the little boy cried.
The Toyman reached down and in a second Marmaduke was safe in his arms.
“There’s nobody here but me,” said the Toyman.
Loud the Giant Northwind howled and roared, while the flames leaped up the chimney.
“Look there!” cried Marmaduke. “There he is!!”
And again he pointed to the shadow on the wall.
“The Giant Northwind has got in our house!”
But the Toyman only laughed, hugging him tighter.
“That’s not old Northwind, that’s only my shadow,” he explained.
Then Marmaduke laughed too.
“Tell me a story, Toyman,” he asked, “’bout that ole Giant Northwind.”
“It might scare you,” the Toyman answered.
Marmaduke only shook his head.
“Nothing makes me scared when I’m here,” he said. He wasn’t afraid of giants, or ogres, or wild animals, or anything, when he was safe in the Toyman’s arms.
For a while he looked up into his face. The Toyman’s hair stood up, all funny and rough. He was always running his fingers through it. His face had wrinkles like hard seams, and it was as brown as saddle leather from working outdoors. But Marmaduke thought that nowhere in the world was there so kind a face, except his Mother’s.
The Toyman put down his corncob pipe and began:
“Once upon a time, long time ago, before your mother was born, or your grandmother, or your great-grandmother either, there was a King. He was King of all the Winds. And he lived in a great big cave up in a high mountain.”
“Was the mountain as high as the church steeple?” asked Marmaduke.
“Oh, higher than that—as high as a lot of church steeples, stuck one on top of another,” the Toyman explained.
“Sometimes the King of the Winds took a little snooze in his cave, and then everything was quiet.
“There was a lot of work for him to do, east and west, south and north. He tossed the branches of the trees and made ‘em crack, and he made the waves in the ocean turn somersaults, and blew the wooden ships across the sea, and chased the cloud-ships across the sky.
“And he had a lot of little chores too, like drying the clothes on Mondays, and waving the flags on Fourth of July, and sailing little boy’s kites high in the air.
“When the King of the Winds was a young fellow, it was all great fun. But after a while the trees grew bigger and bigger, and the ships taller and taller, and there were so many clouds that he got very tired. He was getting pretty old and he ached in all of his bones.
“So he said to himself, said he:
“’I’ll let the kiddies do the work, and rest for a spell in my cave on the mountains.’
“There were four of ‘em—two boys and two girls—and each had a name, of course. Southwind and Westwind were the girls, Eastwind and Northwind the boys, two strapping big fellows.
“So he called his children together and sat in the door of his cave.
“First he took a big pinch o’ snuff. That was a very bad habit folks had in those days.
“Kerchoo ! he sneezed, and blew two big clouds out of the sky.
“Kerchoo !!! he sneezed again, and turned upside down a whole fleet of ships in the ocean.
“Kerchoooooo !!!! he sneezed a third time, and blew off the roofs from all the houses in the city, a hundred miles away.
“When he was all through his sneezing he said to his children:
“’Get ye out to the four corners of the earth and take up my business.’
“Now for a cane the old King used a tree with the branches pulled off. He picked it up and pointed to the south.
 And she answered him sweet as you please, ‘All right, Daddy,’ and out she danced.
“Then with the big tree cane, the old King pointed to the west.
“’Westwind, there is your place,’ he said.
“A very pretty girl too was Westwind, with kind eyes and a soft smile. Her voice was soft and low, and she answered in a whisper:
“’Good-bye, Daddy dear.’
“She kissed him on the forehead, and floated away to her new home in the west.
“Then the two boys came before the old King. The big tree cane pointed east.
“’Get to work over there, Eastwind,’ commanded the old King.
“Now Eastwind was a strong fellow, but he was surly and cross and he didn’t obey very quickly. So his father the King picked up his tree cane in a rage and whacked him across the shins, and out Eastwind ran, crying and yelling till the trees of the forests sobbed too. And he cried so hard that rivers of tears ran from his eyes and over the earth.
“Once more the old King picked up his big tree cane, and said to the eldest of his sons:
“’Northwind, your home is right here in the North.’
“Bigger even than his brother was Northwind. Strong were his muscles, and his whiskers and hair were covered with icicles. When he breathed, millions of snowflakes danced from his mouth.
“Brrrrrrr !! how one shivered when he was around.
“Then the old King’s hand trembled and the big cane dropped to the floor. He laid him down in the cavern and breathed his last. He had been a great King but he was deader than a doornail now.
“So his four children took up his work.
 And wherever she went she scattered posies and violets upon the earth.
“Back and forth over her country floated Westwind with her soft smile and gentle voice.  She blew little boy’s kites up ever so high above the church steeple, and tried never to break them. And she blew the white ships gently across the ocean. Folks liked to travel the waters whenever she was about.
“But they didn’t like Eastwind very much. Sometimes he was all right, but usually he was bent on mischief, making trouble for every man Jack. The seas he would tumble about, turn over the ships, and drown the poor sailors. He would call his grey clouds together and they would weep till the rivers were full. Then he would blow the rivers over the banks, and spoil the gardens, and break the bridges, and drown the poor sheep, and all the rest of the animals too.
“But the most cruel of all was Giant Northwind. Where his heart ought to be was a chunk of ice. Sometimes he was pleasant enough, but most often he was hard and unkind. He would breathe on people, and freeze their noses and toeses, and leave many a poor fellow stiff on the snow.
“Northwind grew and grew till he was the biggest giant on earth. Most as tall as a mountain himself was he, and when he raised his arm he could nearly touch the sky. He kept walking up and down the earth, roaring and hollering fit to blow his lungs out. And how he could travel! He could go clear around the world in about a week.
“One fine day he went out for a walk and he saw Mr. Sun riding up high in the sky. Mr. Sun was a strange sort of a chap, all dressed up in gold armour. The gold armour shone so bright you could never see his eyes or his nose or his mouth, when he walked in the sky.
“Giant Northwind grew very jealous of Mr. Sun. He wanted that fine suit of gold armour, for all he had himself was his long whiskers and his fur coat of snow.
“At Mr. Sun he shook his fist.
“Mr. Sun only laughed at him.
  Mr. Sun laughed back. ‘Just try it and see. Might as well save your breath.’
“That made Northwind very mad.
“Then he let go. All the hills in the north country shook at that roar.
“And the clouds came hurrying out of the mountains and covered the sky so you couldn’t see the Sun and his fine suit at all.
“’Ho, ho!’ laughed the Northwind.’ Now you will laugh on the other side of your mouth, Mr. Sun.’
“Then he sat him down in his cave to enjoy himself.
“But what was that!
“There was a little hole in the clouds. Through the chink he saw gold shining. Then more and more gold. In a few moments Mr. Sun was riding up in the sky, as big as life.
“’Ho, ho!’ said Mr. Sun, ‘who laughs last, laughs best.’
“Then old Giant Northwind grew madder and madder, madder than a hornet, yes, just as mad as Mother Wyandotte when Wienerwurst chased her into the brook.
“He took a deep breath, did Giant Northwind, so deep that he almost burst his lungs. He blew and he puffed and he puffed and he blew till the whole sky was filled with grey clouds. And you couldn’t see Mr. Sun and his fine suit of gold armour at all.
“Then down he would sit in his cave to enjoy himself for a spell, but by and by, sure as shooting, Mr. Sun would come back again.
“So, for a hundred years, Northwind tried to blow out the Sun. But at last he gave it up as a bad job.
“When he was still a middling young fellow, only about a thousand years old or so, he went walking up and down the earth one night, just after dark.
“He came to a great forest. In it he saw something bright, like a little piece of the Sun. Now he was taller than the tallest tree in the forest, so he got down on his knees to peek between the trunks and see better.  Of course it was only a merry fire, but Giant Northwind was sure it was a piece of the Sun that had fallen on the Earth. He had been so busy trying to blow him out of the sky that he hadn’t noticed these little fires much before.
“But he had grown very cross as he knelt there, looking through the trees, and he said to himself, said he:
“’Ho, ho! That’s one of the Sun’s children. I’ll blow that out anyway.’
“And he took a deep breath and puffed his cheeks out.

“But the little fire just laughed and leaped higher and higher.
“So he took a real deep breath this time, till he filled all his chest, and it stuck way out like the strong man’s in the circus.
“Whurrrrrrooooooooooooooo !!!! he roared, but the little flames just danced in the air, as bright and as merry as could be.
“The more he blew the bigger grew the fire, and the sooner the people had their suppers.
“Then for years and years the old Giant stamped up and down the Earth, trying to put out those little pieces of the Sun. And he couldn’t do it at all. Like their father, the Sun, the little fires just laughed at him.
“At last Northwind said to himself, said he: “’I know what I’ll do, I’ll get me some big grey wolves to put out those fires.’
“So a-hunting he went, up into the biggest forests of the world, so dark that people called them ‘the Forests of Night.’

“Then one dark night when the people were sitting around their fires, so cozy and nice, he untied the wolves and roared out:
“’Wolves, put out those fires!’
“And the fierce grey wolves ran out of the cavern, and snapped and snarled at the little fires. But they couldn’t put them out.
“’Good-for-nothings,’ roared Northwind, ‘I’ll get me some tigers.’
“Again he went stalking over the Earth till he reached the great deserts, which the people called ‘the Deserts Without End.’ Here he caught a thousand fierce tigers and drove them back to his cave.
“The next night, while the people were talking and singing around the little fires, he let the tigers loose.
“’Tigers,’ roared he, ‘put out those fires.’
“They ran out of the cave, making a terrible noise, and they raced up and down the earth, with their sharp teeth gleaming, and their tails lashing.  But they were only burned for their trouble. And so the tigers too slunk back to the cave, with their heads hanging down and their tails between their legs.
“Once more the Northwind stalked forth and hunted through the highest mountains he could find, so high that people called them ‘the Roof of the World.’ Ten thousand lions he caught, the fiercest in all the Earth. He tied them together by their tails, ten at a time, and drove them back to his cave.
“And he sent them out too.
“’Lions, put out those fires!’
“Such a terrible roar those lions roared that the whole Earth shook. Through the forests they raced, leaping through the wild tree tops, lashing their tails, and shaking their shaggy manes. And they leaped at the fires, but they couldn’t do any better. Those big lions just couldn’t put the little fires out.
“Beside himself with rage was old Northwind now. So he sent them all out, wolves and tigers and lions wild, and he rushed on at their head.
“But never, never can they put the little fires out, so you needn’t worry at all.”
The Toyman stopped and Marmaduke listened.
“Hark!”
Yes, there were the grey wolves now, howling down the chimney. There were the wild tigers, snarling at the window panes and leaping at the door.
Hark! How the knobs rattled!
And there were the wild lions, rushing and roaring through the tree-tops.
And round and round and round the house raced old Giant Northwind himself.
But all the while, in the fireplace the little red flames danced merrily, never afraid at all.
Marmaduke jumped. Something was whining and scratching at the door.
Was it a wolf?
The voice he heard was too small and weak.
He knew who that was.
“Toyman,” he shouted, “that’s my little pet doggie, out in the cold. Those bad wolves an’ tigers an’ lions ‘ll eat him up.”
So they ran to the door, the Toyman and little Marmaduke. And he wasn’t afraid at all. And they let little Wienerwurst in, and saved him from the grey wolves and the wild tigers and the fierce lions of the Northwind.

After that Marmaduke spoke only once before he fell asleep.

“Don’t worry, Toyman,” he said, “I’ll be your little boy.”
Little Wienerwurst was sound asleep, so Marmaduke just had to fall asleep too, happy and safe in the Toyman’s arms, by the little red fire that the wind could never put out.


Fantasy Football
About
Jargon
Tips
Navbar Link
menu
Tips & Tricks
Do:
Your research.
Watch the games.
Have fun.
Don't:
Tweet at a player complaining.
Talk to fantasy football about people who don't play.
Forget to set your lineup.


A common mistake made in drawing organic compounds is exceeding the valency of a carbon atom:
Colloquially, carbon atoms with five covalent bonds are called Texas Carbons
Either because the Texas star has five points or because everything is bigger in Texas..
Formally, they are known as pentavalent carbons.
It turns out that well-formed pentavalent carbons are much more frequent than an organic chemistry class may have you believe.
Acids
SuperSuperacidic cationic pentavalent carbons can be formed in the presence of very strong acids. The simplest pentavalent carbon, methanium (), can be prepared from methane in the presence of .
Ethanium () is a protonated ethane derivative, also hosting a pentavalent carbon. Ethanium is interesting partly because it is prepared using methanium:
and partly because it easily dissociates into ethenium, which also has pentavalent carbons:
In practice, pentavalent acids are formed as intermediate species and during thermal crackingPer a DOE report, page 8..
Both B and C
Yamamotoa's and Akibab's 2004 Synthesis of Hypervalent Pentavalent Carbon and Boron Compounds describes the characteristics of larger pentavalent compounds. It appears (somewhat expectedly) that bonds to well-charged, larger-size atoms like those in Group 15 and 16 help stabilize pentavalent carbon and boron.
The bond angle of the emphasized is , more than the expected for a star-shaped pentavalency, and likely explained by the distance of the oxygens from the carbon.
Are there star-shaped pentavalencies?
Yes! One is stable methanium, which we have already seen. Another is , which is predicted to be planar and possible to prepare experimentally in the gas phase. Grande-Aztatzi et al. predict the lithium cluster derivatives to also be planar. Both of these form beautiful five-point shapes.
Beyond the stars
Pentavalent carbons are one of those ideas most of us won't deal with very often. But I think unique patterns like these are worth knowing, at least for the sake of knowing.
If you're interested in hypervalencies, you may enjoy hexavalent carbons and undecavalent borons.


Mobile Site For Mobile World - How to design and code your next site and/or web app. What are the important things to focus on.
All the cool stuff around Google cloud platform. High level overview on all the benefits.
Psst... Here is a
full tutorial on
Cloud Endpoints
It's a world that becoming mobile really fast. These slides focus on How you can build friendly mobile sites, and what type of advice and resources are best.
It's a world that becoming mobile ONLY.
1) make sure your site are built to 'mobile first'.
2) Performance: Get content to the user as quickly.
Here are the slides from a talk I gave at Campus TLV. It is s a summary of web fundamentals is offering developers at the first step of building your first multi screen site.
Google APIs, Services and Platform Update. These slides cover the main APIs: Android, Chrome, Cloud, YouTube, Maps, Google+ and Wallet.
Covering how to work on migrating, backups and archive your important data to Google Cloud Storage: Copying / Migrating Data, Object Composition and Durable Reduced Availability Storage.
List of Talks from Conferences, Google Developers Days, GTUGs, Meetups and everything in between.
Some demo projects and real-live web apps. In between, chrome extensions and other HTML5 'prof of concept' For more checkout my github page
My book -
Web Workers (June 2012)
Multithreaded Programs in JavaScript.
Some post I'm writing on my blog, html5rock and other places around the web. I'll also fetch here all the updates on Chrome, ChromeOS and HTML5 that I'm finding around the block.


Kassandra - Match Entry
Match:
Team:
{{team}}
{{team}}
Breaching
Defence
Success
Failure
{{ stats.name }}:
Shooting
Goal
Success
Failure
Low Close
Low Far
High Close
High Far
Collection
From Floor
From HP
Autonomous
Reach
Cross
Score
End Game
Challenge
Scale
Defence
{{defence.tactic}}
#{{defence.team}}
{{opponent}}
{{submit_error_msg}}
{{submit_ok_msg}}


Actividad Three JS
Three.js Scene Graph/Transform Hierarchy
Drag the mouse to rotate the scene
Drag the slider to scale.
rotation: 0,0,0
scale: 1
Add Objects to the Scene
Object limit reached
Add Object
Add Satellite
Clear


Ernie goes on memory to go low in Round 1 at Sun City
by Lynn Butler - Sport24Sun City - Ernie Els says he knows the Gary Player Country Club like the back of his hand - and he proved it in the opening round of the 2019 Nedbank Golf Challenge on Thursday.
LIVE LEADERBOARD: Nedbank Golf Challenge - Round 1
Els, who received a tournament invitation to compete at Sun City, recorded a bogey-free opening round of 4-under 68.
The last time Els won a tournament was in 2013 at the European Tour's BMW International Open in Germany.
The big South African admitted that although he's rarely a title contender nowadays, he's still bursting for the taste of victory.
"No one really gives me a chance to win, but you still want to play well," Els told reporters after his round on Thursday.
"If I get something going, I know how to score around this place so it was nice to get to a decent start and ease into the round."
The four-time Major winner, who won "Africa's Major" in 1999, 2000 and 2002, says he knows the course almost like the back of his hand.
"I just went on memory going around the golf course... I'm very happy with 68, I didn't expect it," said Els.
"I came here with a bit of a niggle in my hip - because of all the flying I've been doing - but that worked itself out. I was really pleased I could swing freely."
The 50-year-old, who will be making his debut on the PGA Champions Tour next year, insisted he still has a passion for the game.
"I haven't played well the last two or three years, but I love the game and still enjoy playing."


Ben Clauser Ringia
I am a goal-oriented Web Developer with strong commitment to solutions-oriented problem-solving. Committed to high standards of Web Design, User Experience and speed for multiple types of end-users.
Front-end Developer
I am a goal-oriented Web Developer with strong commitment to solutions-oriented problem-solving. Committed to high standards of Web Design, User Experience and speed for multiple types of end-users.


{% extends "global/Page.html" %} {% load otree static %} {% block title %} Round {{ subsession.round_number }} – Your Proposal {% endblock %} {% block content %}
You are Member {{ player.id_in_group }}.
This is the status quo allocation:
| {% if player.id_in_group == 1 %}Member 1: {% else %}Member 1: {% endif %} | {% if player.id_in_group == 2 %}Member 2: {% else %}Member 2: {% endif %} | {% if player.id_in_group == 3 %}Member 3: {% else %}Member 3: {% endif %} | {% endcomment %}Member 1 | Member 2 | Member 3 |
| {{ group.sq_to_1 }} | {{ group.sq_to_2 }} | {{ group.sq_to_3 }} |
Make your provisional allocation proposal:
| Member 1 | Member 2 | Member 3 |
| {% formfield player.offer_to_1 label=''%} | {% formfield player.offer_to_2 label=''%} | {% formfield player.offer_to_3 label=''%} |


LINDAT/CLARIN Common Theme
Select the theme you want...
Select active project:
Home
Repository
PML-TQ
Any
Refbox
Test Destroy
Switch items:


| Name | Address | Hours of Operation | Additional Information |
|---|---|---|---|
| University village | 2601 University Ave SE, Minneapolis, MN 55414 | 8:30AM-5PM | |
| Raising Cane's Chicken Fingers | 825 Washington Ave SE, Minneapolis, MN 55414 | 10:00AM-11PM | Link |
| Keller Hall | 200 Union Street SE, Minneapolis, MN 55455 | 6:00AM-10:00PM | |
| Yudof Hall | 220 Delaware St SE, Minneapolis, MN 55455 | 12:00AM-11:59PM |


|
retinanet-cell-detection
1
retinanet-cell-detection: RetinaNet for cell detection.
|
-aug::backbones::densenet More...
-aug::backbones::densenet
-aug::utils::visualization
-aug::utils::transform
-aug::utils::keras_version
-aug::utils::image
-aug::utils::eval
-aug::utils::config
-aug::utils::coco_eval
-aug::utils::anchors
-aug::train
-aug::loss_function::losses
-aug::layers::filter_detections
-aug::layers::_misc
-aug::initialization::initializers
-aug::evaluate
-aug::debug
-aug::data_generator_old::pascal_voc
-aug::data_generator_old::open_images
-aug::data_generator_old::kitti
-aug::data_generator_old::ivm
-aug::data_generator_old::generator
-aug::data_generator_old::csv_generator
-aug::data_generator_old::coco
-aug::data_generator_old::centroid
-aug::data_generator::object_detection_2d_photometric_ops
-aug::data_generator::object_detection_2d_patch_sampling_ops
-aug::data_generator::object_detection_2d_misc_utils
-aug::data_generator::object_detection_2d_image_boxes_validation_utils
-aug::data_generator::object_detection_2d_geometric_ops
-aug::data_generator::object_detection_2d_data_generator
-aug::data_generator::data_augmentation_chain_variable_input_size
-aug::data_generator::data_augmentation_chain_satellite
-aug::data_generator::data_augmentation_chain_constant_input_size
-aug::data_generator::data_augmentation_chain
-aug::convert_model
-aug::callbacks::eval
-aug::callbacks::coco
-aug::backend::theano_backend
-aug::backend::tensorflow_backend
-aug::backend::common
-aug::backend::cntk_backend
-aug::backbones::vgg
-aug::backbones::resnet
-aug::backbones::mobilenet
Copyright 2018 vidosits (https://github.com/vidosits/) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2017-2018 lvaleriu (https://github.com/lvaleriu/) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2017-2018 Fizyr (https://fizyr.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2017-2018 cgratie (https://github.com/cgratie/) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2017-2018 Fizyr (https://fizyr.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Example of usage:
The data augmentation operations of the original SSD implementation. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A data augmentation pipeline for datasets in bird's eye view, i.e. where there is no "up" or "down" in the images. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A data augmentation pipeline suitable for variable-size images that produces effects that are similar (but not identical) to those of the original SSD data augmentation pipeline while being faster. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A data generator for 2D object detection. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Various geometric image transformations for 2D object detection, both deterministic and probabilistic. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Utilities for 2D object detection related to answering the following questions: 1. Given an image size and bounding boxes, which bounding boxes meet certain requirements with respect to the image size? 2. Given an image size and bounding boxes, is an image of that size valid with respect to the bounding boxes according to certain requirements? Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Miscellaneous data generator utilities. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Various patch sampling operations for data augmentation in 2D object detection. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Various photometric image transformations, both deterministic and probabilistic. Copyright (C) 2018 Pierluigi Ferrari Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Create a parser to read annotations from image centroids (x,y) And capable of read videos, images or a directory of both.
Copyright 2017-2018 yhenon (https://github.com/yhenon/) Copyright 2017-2018 Fizyr (https://fizyr.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2019 Bruno Gregorio (https://brunoggregorio.github.io) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2019 Bruno Gregorio (https://brunoggregorio.github.io) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Example of usage: python debug.py --anchors --annotations --image-min-side=1200 --image-max-side=2000 ivm /home/bgregorio/workspace/data/dataset/all
Copyright 2017-2018 Fizyr (https://fizyr.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Example of usage: python evaluate.py --model=/home/bgregorio/workspace/models_outputs/Retinanet_resnet101/scale_1200_2000/all/resnet101_ivm_42.h5 --convert-model --image-min-side=1200 --image-max-side=2000 ivm /home/bgregorio/workspace/data/dataset/all/


Although the basics are all covered under the previous sections and you need nothing more to add a File Selector to your application, you will probably want to customize it somewhat. Typical simple customizations include limiting the types of files displayed, restricting the search to a single directory or volume, limiting the display to directories only (no files), and limiting the search to only those files with a given filename extension.
Each of these is shown in the displays following this section. Notice that the only changes you need to make to implement any of these customizations is to the File Selector's Goc code. You will not need to handle any other messages or add other code to your application. These customizations are shown in Display Only Directories through Show Only Files with a Given Filename Extension and show how to do the following (you may apply any combination):
tokenChars
and
tokenID
.These are not the only customizations you can make. Although they will satisfy the needs of the large majority of applications, you can change the File Selector's searches any way you want (you can even set up a callback routine to filter every single file or directory). The remainder of this chapter explains in detail the different things you can do to the File Selector.
Code Display 14-4 Display Only Directories
@object GenFileSelectorClass DirectorySelector = { GFSI_destination = process; GFSI_notificationMsg = MSG_MY_APP_DIRECTORY_SELECTED; GFSI_fileCriteria = FSFC_DIRS; };
Code Display 14-5 Limit the Search to a Single Directory
@object GenFileSelectorClass SingleDirFileSelector = { GFSI_destination = process; GFSI_notificationMsg = MSG_MY_APP_FILE_SELECTED; GFSI_attrs = FSA_HAS_FILE_LIST; GFSI_fileCriteria = FSFC_NON_GEOS_FILES | FSFC_GEOS_EXECUTABLES | FSFC_GEOS_NON_EXECUTABLES; ATTR_GEN_PATH_DATA = {0, DIRECTORY}; /* Limit the display to this standard directory. * Note that paths may be given; relative paths are taken as * relative to the specified standard path. This attribute * is defined in GenClass. */ };
Code Display 14-6 Show Hidden Files As Well As Normal Files
@object GenFileSelectorClass HiddenFileSelector = { GFSI_destination = process; GFSI_notificationMsg = MSG_MY_APP_FILE_SELECTED; /* Specify that FA_SYSTEM files are the only ones not to be displayed. */ ATTR_GEN_FILE_SELECTOR_FILE_ATTR = { 0, FA_SYSTEM}; };
Code Display 14-7 Show Only Files Created by a Given Geode
@object GenFileSelectorClass CreatorFileSelector = { GFSI_destination = process; GFSI_notificationMsg = MSG_MY_APP_FILE_SELECTED; ATTR_GEN_FILE_SELECTOR_CREATOR_MATCH = {{"CRTR"}, 0}; };
Code Display 14-8 Show Only Files with a Given Filename Extension
@object GenFileSelectorClass ExtensionFileSelector = { GFSI_destination = process; GFSI_notificationMsg = MSG_MY_APP_FILE_SELECTED; ATTR_GEN_FILE_SELECTOR_NAME_MASK = {"*.BAT"}; /* Show files ending with BAT. */ /* Note that the mask is case sensitive. This means that the mask must be * in upper case to match DOS files. */ };


| 1 |
Create a Web page including HTML basic skeleton using Offline HTML
Editor and Online Sandbox Environment
|
Practical-1
|
Checked |
edit
delete
|
| 2 |
Live your First Web-Page on Git-Hub. |
Practical-2
|
Checked |
edit
delete
|
| 3 |
Create a web page showing a basic html structure using character
Entities and span Tag.
|
Practical-3
|
Checked |
edit
delete
|
| 4 |
Create a website having list of all practical and their individual
practical Page links
|
Practical-4
|
Checked |
edit
delete
|
| 5 |
Create a Web-Page showing the use of Image-Map in the Web
Application.
|
Practical-5
|
Checked |
edit
delete
|
| 6 |
Create a Card Layout using CSS layout properties. |
Practical-6
|
Checked |
edit
delete
|
| 7 |
Create a Web Page Layout using div tags. |
Practical-7
|
Checked |
edit
delete
|
| 8 |
Create a Web Page having Fixed Navigation Bar with the given
content.
|
Practical-8
|
Checked |
edit
delete
|
| 9 |
Create a Responsive Web Layout with Responsive Navigation Bar.
|
Practical-9
|
Checked |
edit
delete
|
| 10 |
Create a Responsive Side-Bar Navigation Menu. |
Practical-10
|
Un-Checked |
edit
delete
|


What to Expect
BYOP (Bring Your Own Project)
Project Days are all about jumping in, getting help and giving back. Be that working on an upstream change to Ember itself or a side project using Ember. The sessions are informal, friendly and agenda-less.
Mix with your fellow Embereños and get hacking!
Refreshments provided by our awesome host(s) and sponsor(s).
We strive to ensure everyone feels comfortable and included and has a great time at our events.
See the code of conduct for more detail.


-
Badge A
Issued three days ago by Organization X. in about a year.
-
Badge B
Issued three days ago by Organization X. in about a year.
-
Badge C
Issued three days ago by Organization X. in about a year.
-
Badge J
Issued three days ago by Organization X. in about a year.
-
Badge K
Issued three days ago by Organization X. in about a year.


Community's page domain
Articles settings
Audio settings
City id of group
Country id of group
Community description
Docs settings
Community email
Finish date in Unixtime format
Community phone
Photos settings
Information about the group category
Information about the group subcategory
URL of the RSS feed
Start date
Community subject ID
Community title
Topics settings
Video settings
Wall settings
Community website
Wiki settings
Generated using TypeDoc
Community access settings


<meta charset="utf-8" />
<title>EXAMPLE</title>

We may define
discoursal point of view
as

the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction.


{% extends "layouts/main_layout.html" %} {# this will be rendered in the content block of main.html view view #} {% block content %} {% set model = result %}
This is the show view: show {{model.modelname}} list
| {{ att }} | {{ escape(result.get(att)) }} |
| Actions: |
curl -i -H "Accept: application/json" http://localhost:8000/{{result.modelname}}/{{result._id}}{% end %}


presented by…
brought to you by
oc
or kubectl
cli tools?Before we get started, please export the following env vars:
export GUID=9a61
export API_SERVER=https://api.cluster-nodeconf-$GUID.nodeconf-$GUID.example.opentlc.com:6443
export NAMESPACE=$(oc project --short)
export NODE_IP=<IP_ADDRESS>
Confirm that you've been authenticated by running:
oc whoami
Login credentials are usually persisted to your ~/.kube/config
file. Which can be generated by running:
oc login
Verify that your cli tools are configured to connect to your Kubernetes environment:
kubectl version
The output should include your kubectl
version info, and the release version of the kubernetes API server (when available)
↓
Try using kubectl
to list resources by type:
kubectl get nodes
Try using kubectl
to list resources by type:
kubectl get pods
Create a new resource based on a json object specification:
curl https://raw.githubusercontent.com/jankleinert/hello-workshop/master/pod.json
kubectl create -f https://raw.githubusercontent.com/jankleinert/hello-workshop/master/pod.json
List pods by type using curl
:
curl -k -H"Authorization: Bearer $(oc whoami -t)" $API_SERVER/api/v1/namespaces/$NAMESPACE/pods
Fetch an individual resource by type/id
; output as json
:
curl -k -H"Authorization: Bearer $(oc whoami -t)" $API_SERVER/api/v1/namespaces/$NAMESPACE/pods/hello-k8s
kubectl get pod hello-k8s -o json
Notice any changes between the json spec and the API response?
Request the same info, but output the results as structured yaml:
kubectl get pod hello-k8s -o yaml
Print human-readable API output:
kubectl describe pod/hello-k8s
Expose the pod by creating a new service
(or "loadbalancer"):
kubectl expose pod/hello-k8s --port 8080 --type=NodePort
Take a look at the resulting {.spec.selector}
attribute:
kubectl get svc/hello-k8s -o json
Contact your newly-exposed pod via internal kube-dns:
echo hello-k8s.$NAMESPACE:8080
curl hello-k8s.$NAMESPACE:8080
Try using a JSONpath selector to find the assigned port number:
kubectl get svc/hello-k8s -o jsonpath={.spec.ports[0].nodePort}
Contact your newly-exposed pod via the assigned port number:
echo $NODE_IP:$(kubectl get svc/hello-k8s -o jsonpath={.spec.ports[0].nodePort})
curl $NODE_IP:$(kubectl get svc/hello-k8s -o jsonpath={.spec.ports[0].nodePort})
Schedule the deletion of all pods that are labeled with run=hello-k8s
:
kubectl get pods -l run=hello-k8s
kubectl delete pods -l run=hello-k8s
Contact the related service. What happens?:
curl hello-k8s.$NAMESPACE:8080
Delete the service:
kubectl delete service hello-k8s
Create a specification for your deployment
:
kubectl run hello-k8s --image=jkleinert/nodejsint-workshop \
--dry-run -o json > deployment.json
View the generated deployment spec file:
cat deployment.json
Create new resources based on your spec files:
kubectl create -f deployment.json
Create a Service
spec to direct traffic:
kubectl expose deploy/hello-k8s --type=NodePort --port=8080 --dry-run -o json > service.json
View the resulting spec file:
cat service.json
Create a new service based on your spec file:
kubectl create -f service.json
List multiple resources by type:
kubectl get po,svc,deploy
Connect to your new deployment via the associated service id:
curl hello-k8s.$NAMESPACE:8080
Scale up the hello-k8s
deployment to 3 replicas:
kubectl scale deploy/hello-k8s --replicas=3
List pods:
kubectl get po
Edit deploy/hello-k8s
, setting spec.replicas
to 5
:
kubectl edit deploy/hello-k8s -o json
Save and quit. What happens?
kubectl get pods
Watch for changes to pod
resources:
kubectl get pods --watch &
In another terminal, delete several pods by id:
kubectl delete pod $(kubectl get pods | grep ^hello-k8s | cut -f1 -s -d' ' | head -n 3 | tr '\n' ' ')
What happened? How many pods remain?
kubectl get pods
View the current state of your deployment:
curl hello-k8s.$NAMESPACE:8080
Watch deployments:
kubectl get deploy -w &
Update your deployment's image spec to rollout a new release:
kubectl set image deploy/hello-k8s hello-k8s=jkleinert/nodejsint-workshop:v1
kubectl get rs
View the state of your deployment
curl hello-k8s.$NAMESPACE:8080
View the list of previous rollouts:
kubectl rollout history deploy/hello-k8s
Rollback to the previous state:
kubectl rollout undo deployment hello-k8s
View the state of your deployment
curl hello-k8s.$NAMESPACE:8080
Cleanup all resources:
kubectl delete service,deployment hello-k8s
Close your remaining --watch
listeners by running `fg` and sending a break signal (CTRL-c)
Verify that your namespace is clean:
kubectl get all
oc
or kubectl
command-line tools?For the rest of the workshop, go back to the interactive lab environment


UMUTONI Jacqueline
My names are Jacqueline UMUTONI as it is indicated above, i'm Rwandese, i leave in Nyarugende District and i have 2 siblings. i like programming and i am ready to attend any courses about coding because i want to become a Software Engineer.
Projects i have done
- The first project i made is Spoc Poject
- .This project is about the supermarket.
- .All products that a supermarket requires are included.
- .It also has all the services a supermarket requires.
- .And then the contacts that a customer may need to contuct us.
- .I used HTML and CSS Languages.
- The second project i did is about My first web page
- .This one is about the content that we are going to learn in Moringa School prep.
- .Here is used HTML only.
- the following project i created is called My Favorite Things
- .This project is about the things i like to do daily.
- .It contains a list of my favorite things.
- .In this project i used HTML only.
- The last project i did is about Dogs and is called pet website
- .This project is about Dogs animal.
- .It has their favorite toys.
- .It also has their favorite activities.
- .In this project i aslo used HTML Language.
ABOUT ME
In this Section you are going to know me very well. it includes my Background, Job Experience, my Contacts, my Interests, Hobbies and my Skills.
BACKGROUND
EDUCATION
- Primary School: APADE.
- *From 1998 to 2003.
- Secondary School: College Adventiste de Gitwe.
- *In Mathematics Physics and Geography(MPG).
- *From 2004 to 2009.
- University: Administrative Managment College(In INDIA).
- *In Computer Science.
- *From 2010 to 2013.
JOB EXPERIENCE
- Sports 4 Africa Rwanda.
- .Duration: February 2013- March2017.
- .Position: Sales Supervisor.
CONTACTS
- Phone : +250787683456
- Email<EMAIL_ADDRESS>- District: Nyarugenge
The reason why i decided to take a class on programming is because i wanted to know about programming very well and use it in Rwandan society or anywhere in the world to solve problems using technology and to have more skills.
INTERESTS
- Doing programming.
- Working in a group.
- Doing researches on the things i may not know.
- Knowing my family's news.
HOBBIES
- I like to whatch soccer.
- I like to go to church.
- Doing sport.
- Having fun with my friends.
SKILLS
Programming Languages
- HTML
- CSS
- C
- C++
- JavaScript
- Markdown
- Bootstrap
Spoken Languages
- English
- French
- Kinyarwanda


Creative Computing
Joel Gethin Lewis
Week 5: Lecture 9: Consuming
What I'm going to talk about now:
- Group meditation.
- Questions?
- Ant Farm, A Hole in Space and The secret war between uploading and downloading.
- Genes and Memes and the Alt Right.
- William Gibson and Atemporality.
- Disney eating the Commons and Relational Aesthetics.
- Aaron Swartz, Mark Fisher, Rutger Bregman and Timothy Morton.
- The EM Spectrum, how long a nanosecond is, Hedy Lamarr and Frequency Hopping.
- Feedback.
- Homework Assignment - exercises from Code as Creative Medium - Text and Language with rita.js
Are you recording Joel? Have you taken the register first?
2. Ant Farm, A Hole in Space and The Secret War between Uploading and Downloading.
3. Genes and Memes and the Alt Right.
- Genes allow living things to pass on biological information between generations.
- Memes allow humans to pass on information between each other, across time.
- Kill all Normies by Angela Nagle is an interesting book on the spread of online culture into the real world - from 4chan to the "alt-right".
4. William Gibson and Atemporality.
5. Disney eating the Commons and Relational Aesthetics.
6. Aaron Swartz, Mark Fisher, Rutger Bregman and Timothy Morton.
7. The EM Spectrum, how long a nanosecond is, Hedy Lamarr and Frequency Hopping.
8. Feedback
- What's working?
- What's not working?
- What am I missing?
- Lets talk now or you can Slack me in private.


Welcome to Amitabh's WebPage.[ email ]
personal bio
I am a y/o researcher in Computing and Physics. I grew up in India, mostly in the northern plains in Lucknow and later, in the lower Himalayas in Dehradun. After college, I moved to Geneva, Switzerland where I worked in the experimental physics department at CERN. Soon after that, I moved to Delft, Netherlands to continue my Masters. I worked on experimental aspects of enabling a scalable implementation of Quantum Processors. After graduating I continued on a parallel track of exploring theoretical quantum information devising quantum algorithms for High-Energy Physics experiments at LBNL/UC Berkeley and later as Electronics Engineer at CERN. Currently, I work on integrated circuit design for reliable mordern computing and biomedical electronics at École Polytechnique Fédérale de Lausanne (EPFL).
In my spare time, I work on white hat hacking on networks and systems. I excessively love movies (literally, all genres), puzzles, travelling, city escapes and of course, blabbering :P... A wannabe music composer, I keep experimenting on the DAW and practice playing the piano, whenever I find time. The progress on that front, however, has not been so impressive. I like cycling off-road, bike-packing, swimming and hiking - this comes alongside my hobbies as ranging from a nature lover to exploring ancient cities with intriguing historical backgrounds. I am a native Hindi speaker, fluent in English and a moderate-level French speaker.
One of my personal ambitions is to live at least till the age of 106 - this way I would be among the handful few who would have lived and experienced three centuries! Yayy!
just some thoughts
I curate thoughts and ideas. Every now and then when I stumble upon something mind-boggling, I update this list. Gentle disclaimer, you might find some of them ridiculous and in some ways, it is intended. I'll be psyched to discuss any and all of these and it'll be superb if you could change my mind. ;)
- Money can buy happiness.
- Chicken came before egg.
(unicellular organisms ⟶ multi-cell organisms ⟶ [ evolution & development of reproductive organs ] ⟶ chicken ⟶ eggs)
https://en.wikipedia.org/wiki/Evolutionary_history_of_life
also see: Goldilock's Conditions for life.
- The secret of happiness is 'free food'. [ WFP podcast ]
- Climate change and world food crisis are the catastrophe we, the human race, are not prepared for.
- The primary purpose of life is: Reproduction; everything else is secondary. The reason is purely 'survival'. Philosophically, you can find your own purpose.
- Coffee must have no sugar. If God intended coffee to be sweet, he wouldn't have made cocoa beans bitter.
- Quantum Mechanics is easier than classical mechanics. (It is! QM is a linear theory whereas, CM is non-linear.) But the needle's not going to move unless we prove the "correct" interpretation of QM.
- Twitter is better. Why? [ Michael Nielsen's thread ]
- The best application of artificial intelligence is tackling online harassment and security.
- The concept of jugaad (ad-hoc fix) is really harmful in any situation. It should be avoided, if possible.
- Tabs over spaces. Vim over Emacs. Windows/Linux over MacOS.
- It is possible to 'cure' growing old.
- Life can be Quantized (just needs to be figured out how; protein sequencing is a good first step). [See also: https://www.forbes.com/sites/robtoews/2023/07/16/the-next-frontier-for-large-language-models-is-biology/]
- The universe down to it's constituents of particles; and life down to it's individual cells is just an extremely complex engineering project.
- We 'probably' will never make a machine that takes us back in time (based on intuition from philosophical and scientific works - such as, Stanford Encyclopedia of Philosophy)
- Economics is as much of a science, as science itself.
- Just like 20th century dominated progress in Physics, 21st will be dominated by Biological breakthoughs. [Structure of Scientific Revolutions]
- Being happy is a full-time responsibiliy.
education
Ph.D. in Electrical Engineering, EPFL Lausanne (2028)
M.Sc. in Computer Engineering, TU Delft (2019) [Thesis]
B.Tech. in Electronics Engineering, UPES Dehradun (2017)
society memberships
research positions
- Visiting ResearcherIntegrated Neurotechnologies LaboratoryÉcole polytechnique fédérale de Lausanne (EPFL).(Summer 2023 - present)
- Research FellowIonizing Radiation Instrumentation and Logistics Group,European Organization for Nuclear Research (CERN).(Fall 2020 - Spring 2023)
- Research AssociateATLAS Experiment, Department of PhysicsLawrence Berkeley National Laboratory (LBNL).(Fall 2019 - Fall 2020)
- Graduate Research AssistantQuantum and Computer Engineering LaboratoryQuTech/TU Delft, the Netherlands.(Summer 2018 - Summer 2019)
- Summer StudentATLAS Pixel Group, Experimental Physics DepartmentEuropean Organization for Nuclear Research (CERN).(Summer 2017)
- Electronics Engineering InternshipDepartment of Electronics Engineering,Bhabha Atomic Research Center (BARC).(Summer 2016)
- Electronics Engineering InternshipInformation Technology DepartmentGeodata Processing and Interpretation Center (GEOPIC), Dehradun.(Summer 2015)


About
-
Welcome to the good burger ; home of the Good Burger. We can assure you the taste of feeling full with our special burgers and shakes. HAPPY TUMMY :)
-
Business Owner Info
Business Owner Name: Gee Marie Berdon Jonah Mae Apatan Hyacinth Mae Cipres
Business Owner Photos:
-
Be part of Our Community
If you're a great and IT Professional with the ability of good in handling a business you can join our business to maximize our business and more franchising in different places.
-
Good in treating a customer
Burgerlicios Customer is good in treating a customer with a kind personality in other people not only with the customer.
A good company/partnership and good management in a business.


XMKMF(1) XMKMF(1) NAME xmkmf - create a Makefile from an Imakefile SYNOPSIS xmkmf [ -a ] [ topdir [ curdir ] ] DESCRIPTION The xmkmf command is the normal way to create a Makefile from an Imake‐ file shipped with third-party software. When invoked with no arguments in a directory containing an Imakefile, the imake program is run with arguments appropriate for your system (con‐ figured into imake when it was built) and generates a Makefile. When invoked with the -a option, xmkmf builds the Makefile in the current directory, and then automatically executes ``make Makefiles'' (in case there are subdirectories), ``make includes'', and ``make depend'' for you. If a topdir is given, xmkmf assumes nothing is installed on your system and looks for files in the build tree instead of using the installed ver‐ sions. Optionally, curdir may be specified as a relative pathname from the top of the build tree to the current directory. It is necessary to supply curdir if the current directory has subdirectories, or the Make‐ file will not be able to build the subdirectories. SEE ALSO imake(1) X Version 11 imake 1.0.5 XMKMF(1)


KRISHIL MODI
Beginner
I am a 1st year computer engineering student and started learning coding html,css,etc many thing from github platform
EDUCATION
current
GANDHINAGAR INSTITUTE OF TECHNOLOGY(GIT)
Bachelor degree in Computer engineering
2018-2020
H B KAPADIA NEW HIGH SCHOOL
hsc
address:ahmedabad,gujarat,india
email:krishilmodh@gmail.com


Ismael Sanchez
🤘 People call me Ish.  Currently growing at
Dutchie
, working primarily on Brand, Marketing & Visual Design.
Work
2020 • Revel
revel branding
is
a collection of guidelines that ensures a consistent and unified experience.
Branding
Creative Direction
Visual Design
2019 • Uber
jump web system
is
a set principles bringing JUMP and Uber web properties closer together.
UX/UI
Creative Direction
Visual Design
2019 • Uber
jump motion design
is
a collection of guidelines and templates for creating JUMP videos.
Branding
Motion Design
Visual Design
2018 • Foursquare
enterprise site
is
a tech company pivot.
UX/UI Designer
Interaction Designer
Visual Design
Illustrator
Branding
2017 • Foursquare
developer site
is
a gateway for developers to Foursqaure tools and data.
UX/UI Designer
Interaction Designer
Visual Design
Illustrator
Branding
2015 • Caskers
Email Redesign
is
a re-thinking of the ecommerce email.
Branding
Developer
UX/UI
Visual Design
Strategist


/** * @class Ext.Class * * This is a low level factory that is used by {@link Ext#define Ext.define} and should not be used * directly in application code. * * The configs of this class are intended to be used in `Ext.define` calls to describe the class you * are declaring. For example: * * Ext.define('App.util.Thing', { * extend: 'App.util.Other', * * alias: 'util.thing', * * config: { * foo: 42 * } * }); * * Ext.Class is the factory and **not** the superclass of everything. For the base class that **all** * classes inherit from, see {@link Ext.Base}. */ (function() { // @tag class // @define Ext.Class // @require Ext.Base // @require Ext.Util // @require Ext.util.Cache var ExtClass, Base = Ext.Base, baseStaticMembers = Base.$staticMembers, ruleKeySortFn = function (a, b) { // longest to shortest, by text if names are equal return (a.length - b.length) || ((a < b) ? -1 : ((a > b) ? 1 : 0)); }; // Creates a constructor that has nothing extra in its scope chain. function makeCtor (className) { function constructor () { // Opera has some problems returning from a constructor when Dragonfly isn't running. The || null seems to // be sufficient to stop it misbehaving. Known to be required against 10.53, 11.51 and 11.61. return this.constructor.apply(this, arguments) || null; } //<debug> if (className) { constructor.name = className; } //</debug> return constructor; } /** * @method constructor * Create a new anonymous class. * * @param {Object} data An object represent the properties of this class * @param {Function} onCreated Optional, the callback function to be executed when this class is fully created. * Note that the creation process can be asynchronous depending on the pre-processors used. * * @return {Ext.Base} The newly created class */ Ext.Class = ExtClass = function(Class, data, onCreated) { if (typeof Class != 'function') { onCreated = data; data = Class; Class = null; } if (!data) { data = {}; } Class = ExtClass.create(Class, data); ExtClass.process(Class, data, onCreated); return Class; }; Ext.apply(ExtClass, { makeCtor: makeCtor, /** * @private */ onBeforeCreated: function(Class, data, hooks) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, '>> Ext.Class#onBeforeCreated', arguments); //</debug> Class.addMembers(data); hooks.onCreated.call(Class, Class); //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, '<< Ext.Class#onBeforeCreated', arguments); //</debug> }, /** * @private */ create: function (Class, data) { var i = baseStaticMembers.length, name; if (!Class) { Class = makeCtor( //<debug> data.$className //</debug> ); } while (i--) { name = baseStaticMembers[i]; Class[name] = Base[name]; } return Class; }, /** * @private */ process: function(Class, data, onCreated) { var preprocessorStack = data.preprocessors || ExtClass.defaultPreprocessors, registeredPreprocessors = this.preprocessors, hooks = { onBeforeCreated: this.onBeforeCreated }, preprocessors = [], preprocessor, preprocessorsProperties, i, ln, j, subLn, preprocessorProperty; delete data.preprocessors; Class._classHooks = hooks; for (i = 0,ln = preprocessorStack.length; i < ln; i++) { preprocessor = preprocessorStack[i]; if (typeof preprocessor == 'string') { preprocessor = registeredPreprocessors[preprocessor]; preprocessorsProperties = preprocessor.properties; if (preprocessorsProperties === true) { preprocessors.push(preprocessor.fn); } else if (preprocessorsProperties) { for (j = 0,subLn = preprocessorsProperties.length; j < subLn; j++) { preprocessorProperty = preprocessorsProperties[j]; if (data.hasOwnProperty(preprocessorProperty)) { preprocessors.push(preprocessor.fn); break; } } } } else { preprocessors.push(preprocessor); } } hooks.onCreated = onCreated ? onCreated : Ext.emptyFn; hooks.preprocessors = preprocessors; this.doProcess(Class, data, hooks); }, doProcess: function(Class, data, hooks) { var me = this, preprocessors = hooks.preprocessors, preprocessor = preprocessors.shift(), doProcess = me.doProcess; for ( ; preprocessor ; preprocessor = preprocessors.shift()) { // Returning false signifies an asynchronous preprocessor - it will call doProcess when we can continue if (preprocessor.call(me, Class, data, hooks, doProcess) === false) { return; } } hooks.onBeforeCreated.apply(me, arguments); }, /** * @private * */ preprocessors: {}, /** * Register a new pre-processor to be used during the class creation process * * @param {String} name The pre-processor's name * @param {Function} fn The callback function to be executed. Typical format: * * function(cls, data, fn) { * // Your code here * * // Execute this when the processing is finished. * // Asynchronous processing is perfectly ok * if (fn) { * fn.call(this, cls, data); * } * }); * * @param {Function} fn.cls The created class * @param {Object} fn.data The set of properties passed in {@link Ext.Class} constructor * @param {Function} fn.fn The callback function that **must** to be executed when this * pre-processor finishes, regardless of whether the processing is synchronous or asynchronous. * @return {Ext.Class} this * @private * @static */ registerPreprocessor: function(name, fn, properties, position, relativeTo) { if (!position) { position = 'last'; } if (!properties) { properties = [name]; } this.preprocessors[name] = { name: name, properties: properties || false, fn: fn }; this.setDefaultPreprocessorPosition(name, position, relativeTo); return this; }, /** * Retrieve a pre-processor callback function by its name, which has been registered before * * @param {String} name * @return {Function} preprocessor * @private * @static */ getPreprocessor: function(name) { return this.preprocessors[name]; }, /** * @private */ getPreprocessors: function() { return this.preprocessors; }, /** * @private */ defaultPreprocessors: [], /** * Retrieve the array stack of default pre-processors * @return {Function[]} defaultPreprocessors * @private * @static */ getDefaultPreprocessors: function() { return this.defaultPreprocessors; }, /** * Set the default array stack of default pre-processors * * @private * @param {Array} preprocessors * @return {Ext.Class} this * @static */ setDefaultPreprocessors: function(preprocessors) { this.defaultPreprocessors = Ext.Array.from(preprocessors); return this; }, /** * Insert this pre-processor at a specific position in the stack, optionally relative to * any existing pre-processor. For example: * * Ext.Class.registerPreprocessor('debug', function(cls, data, fn) { * // Your code here * * if (fn) { * fn.call(this, cls, data); * } * }).setDefaultPreprocessorPosition('debug', 'last'); * * @private * @param {String} name The pre-processor name. Note that it needs to be registered with * {@link Ext.Class#registerPreprocessor registerPreprocessor} before this * @param {String} offset The insertion position. Four possible values are: * 'first', 'last', or: 'before', 'after' (relative to the name provided in the third argument) * @param {String} relativeName * @return {Ext.Class} this * @static */ setDefaultPreprocessorPosition: function(name, offset, relativeName) { var defaultPreprocessors = this.defaultPreprocessors, index; if (typeof offset == 'string') { if (offset === 'first') { defaultPreprocessors.unshift(name); return this; } else if (offset === 'last') { defaultPreprocessors.push(name); return this; } offset = (offset === 'after') ? 1 : -1; } index = Ext.Array.indexOf(defaultPreprocessors, relativeName); if (index !== -1) { Ext.Array.splice(defaultPreprocessors, Math.max(0, index + offset), 0, name); } return this; } }); /** * @cfg {String} extend * The parent class that this class extends. For example: * * Ext.define('Person', { * say: function(text) { alert(text); } * }); * * Ext.define('Developer', { * extend: 'Person', * say: function(text) { this.callParent(["print "+text]); } * }); */ ExtClass.registerPreprocessor('extend', function(Class, data, hooks) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#extendPreProcessor', arguments); //</debug> var Base = Ext.Base, basePrototype = Base.prototype, extend = data.extend, Parent, parentPrototype, i; delete data.extend; if (extend && extend !== Object) { Parent = extend; } else { Parent = Base; } parentPrototype = Parent.prototype; if (!Parent.$isClass) { for (i in basePrototype) { if (!parentPrototype[i]) { parentPrototype[i] = basePrototype[i]; } } } Class.extend(Parent); Class.triggerExtended.apply(Class, arguments); if (data.onClassExtended) { Class.onExtended(data.onClassExtended, Class); delete data.onClassExtended; } }, true); // true to always run this preprocessor even w/o "extend" keyword /** * @cfg {Object} privates * The `privates` config is a list of methods intended to be used internally by the * framework. Methods are placed in a `privates` block to prevent developers from * accidentally overriding framework methods in custom classes. * * Ext.define('Computer', { * privates: { * runFactory: function(brand) { * // internal only processing of brand passed to factory * this.factory(brand); * } * }, * * factory: function (brand) {} * }); * * In order to override a method from a `privates` block, the overridden method must * also be placed in a `privates` block within the override class. * * Ext.define('Override.Computer', { * override: 'Computer', * privates: { * runFactory: function() { * // overriding logic * } * } * }); */ ExtClass.registerPreprocessor('privates', function(Class, data) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#privatePreprocessor', arguments); //</debug> var privates = data.privates, statics = privates.statics, privacy = privates.privacy || true; delete data.privates; delete privates.statics; // We have to add this preprocessor so that private getters/setters are picked up // by the config system. This also catches duplication in the public part of the // class since it is an error to override a private method with a public one. Class.addMembers(privates, false, privacy); if (statics) { Class.addMembers(statics, true, privacy); } }); //<feature classSystem.statics> /** * @cfg {Object} statics * List of static methods for this class. For example: * * Ext.define('Computer', { * statics: { * factory: function(brand) { * // 'this' in static methods refer to the class itself * return new this(brand); * } * }, * * constructor: function() { ... } * }); * * var dellComputer = Computer.factory('Dell'); */ ExtClass.registerPreprocessor('statics', function(Class, data) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#staticsPreprocessor', arguments); //</debug> Class.addStatics(data.statics); delete data.statics; }); //</feature> //<feature classSystem.inheritableStatics> /** * @cfg {Object} inheritableStatics * List of inheritable static methods for this class. * Otherwise just like {@link #statics} but subclasses inherit these methods. */ ExtClass.registerPreprocessor('inheritableStatics', function(Class, data) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#inheritableStaticsPreprocessor', arguments); //</debug> Class.addInheritableStatics(data.inheritableStatics); delete data.inheritableStatics; }); //</feature> Ext.createRuleFn = function (code) { return new Function('$c', 'with($c) { return (' + code + '); }'); }; Ext.expressionCache = new Ext.util.Cache({ miss: Ext.createRuleFn }); Ext.ruleKeySortFn = ruleKeySortFn; Ext.getPlatformConfigKeys = function (platformConfig) { var ret = [], platform, rule; for (platform in platformConfig) { rule = Ext.expressionCache.get(platform); if (rule(Ext.platformTags)) { ret.push(platform); } } ret.sort(ruleKeySortFn); return ret; }; //<feature classSystem.platformConfig> /** * @cfg {Object} platformConfig * Allows setting config values for a class based on specific platforms. The value * of this config is an object whose properties are "rules" and whose values are * objects containing config values. * * For example: * * Ext.define('App.view.Foo', { * extend: 'Ext.panel.Panel', * * platformConfig: { * desktop: { * title: 'Some Rather Descriptive Title' * }, * * '!desktop': { * title: 'Short Title' * } * } * }); * * In the above, "desktop" and "!desktop" are (mutually exclusive) rules. Whichever * evaluates to `true` will have its configs applied to the class. In this case, only * the "title" property, but the object can contain any number of config properties. * In this case, the `platformConfig` is evaluated as part of the class and there is * not cost for each instance created. * * The rules are evaluated expressions in the context of the platform tags contained * in `{@link Ext#platformTags Ext.platformTags}`. Any properties of that object are * implicitly usable (as shown above). * * If a `platformConfig` specifies a config value, it will replace any values declared * on the class itself. * * Use of `platformConfig` on instances is handled by the config system when classes * call `{@link Ext.Base#initConfig initConfig}`. For example: * * Ext.create({ * xtype: 'panel', * * platformConfig: { * desktop: { * title: 'Some Rather Descriptive Title' * }, * * '!desktop': { * title: 'Short Title' * } * } * }); * * The following is equivalent to the above: * * if (Ext.platformTags.desktop) { * Ext.create({ * xtype: 'panel', * title: 'Some Rather Descriptive Title' * }); * } else { * Ext.create({ * xtype: 'panel', * title: 'Short Title' * }); * } * * To adjust configs based on dynamic conditions, see `@link Ext.mixin.Responsive`. */ ExtClass.registerPreprocessor('platformConfig', function(Class, data, hooks) { var platformConfigs = data.platformConfig, config = data.config, added, classConfigs, configs, configurator, hoisted, keys, name, value, i, ln; delete data.platformConfig; //<debug> if (platformConfigs instanceof Array) { throw new Error('platformConfigs must be specified as an object.'); } //</debug> configurator = Class.getConfigurator(); classConfigs = configurator.configs; // Get the keys shortest to longest (ish). keys = Ext.getPlatformConfigKeys(platformConfigs); // To leverage the Configurator#add method, we want to generate potentially // two objects to pass in: "added" and "hoisted". For any properties in an // active platformConfig rule that set proper Configs in the base class, we // need to put them in "added". If instead of the proper Config coming from // a base class, it comes from this class's config block, we still need to // put that config in "added" but we also need move the class-level config // out of "config" and into "hoisted". // // This will ensure that the config defined at the class level is added to // the Configurator first. for (i = 0, ln = keys.length; i < ln; ++i) { configs = platformConfigs[keys[i]]; hoisted = added = null; for (name in configs) { value = configs[name]; // We have a few possibilities for each config name: if (config && name in config) { // It is a proper Config defined by this class. (added || (added = {}))[name] = value; (hoisted || (hoisted = {}))[name] = config[name]; delete config[name]; } else if (name in classConfigs) { // It is a proper Config defined by a base class. (added || (added = {}))[name] = value; } else { // It is just a property to put on the prototype. data[name] = value; } } if (hoisted) { configurator.add(hoisted); } if (added) { configurator.add(added); } } }); //</feature> //<feature classSystem.config> /** * @cfg {Object} config * * List of configuration options with their default values. * * __Note:__ You need to make sure {@link Ext.Base#initConfig} is called from your constructor if you are defining * your own class or singleton, unless you are extending a Component. Otherwise the generated getter and setter * methods will not be initialized. * * Each config item will have its own setter and getter method automatically generated inside the class prototype * during class creation time, if the class does not have those methods explicitly defined. * * As an example, let's convert the name property of a Person class to be a config item, then add extra age and * gender items. * * Ext.define('My.sample.Person', { * config: { * name: 'Mr. Unknown', * age: 0, * gender: 'Male' * }, * * constructor: function(config) { * this.initConfig(config); * * return this; * } * * // ... * }); * * Within the class, this.name still has the default value of "Mr. Unknown". However, it's now publicly accessible * without sacrificing encapsulation, via setter and getter methods. * * var jacky = new Person({ * name: "Jacky", * age: 35 * }); * * alert(jacky.getAge()); // alerts 35 * alert(jacky.getGender()); // alerts "Male" * * jacky.walk(10); // alerts "Jacky is walking 10 steps" * * jacky.setName("Mr. Nguyen"); * alert(jacky.getName()); // alerts "Mr. Nguyen" * * jacky.walk(10); // alerts "Mr. Nguyen is walking 10 steps" * * Notice that we changed the class constructor to invoke this.initConfig() and pass in the provided config object. * Two key things happened: * * - The provided config object when the class is instantiated is recursively merged with the default config object. * - All corresponding setter methods are called with the merged values. * * Beside storing the given values, throughout the frameworks, setters generally have two key responsibilities: * * - Filtering / validation / transformation of the given value before it's actually stored within the instance. * - Notification (such as firing events) / post-processing after the value has been set, or changed from a * previous value. * * By standardize this common pattern, the default generated setters provide two extra template methods that you * can put your own custom logics into, i.e: an "applyFoo" and "updateFoo" method for a "foo" config item, which are * executed before and after the value is actually set, respectively. Back to the example class, let's validate that * age must be a valid positive number, and fire an 'agechange' if the value is modified. * * Ext.define('My.sample.Person', { * config: { * // ... * }, * * constructor: { * // ... * }, * * applyAge: function(age) { * if (typeof age !== 'number' || age < 0) { * console.warn("Invalid age, must be a positive number"); * return; * } * * return age; * }, * * updateAge: function(newAge, oldAge) { * // age has changed from "oldAge" to "newAge" * this.fireEvent('agechange', this, newAge, oldAge); * } * * // ... * }); * * var jacky = new Person({ * name: "Jacky", * age: 'invalid' * }); * * alert(jacky.getAge()); // alerts 0 * * alert(jacky.setAge(-100)); // alerts 0 * alert(jacky.getAge()); // alerts 0 * * alert(jacky.setAge(35)); // alerts 0 * alert(jacky.getAge()); // alerts 35 * * In other words, when leveraging the config feature, you mostly never need to define setter and getter methods * explicitly. Instead, "apply*" and "update*" methods should be implemented where necessary. Your code will be * consistent throughout and only contain the minimal logic that you actually care about. * * When it comes to inheritance, the default config of the parent class is automatically, recursively merged with * the child's default config. The same applies for mixins. */ ExtClass.registerPreprocessor('config', function(Class, data) { // Need to copy to the prototype here because that happens after preprocessors if (data.hasOwnProperty('$configPrefixed')) { Class.prototype.$configPrefixed = data.$configPrefixed; } Class.addConfig(data.config); // We need to remove this or it will be applied by addMembers and smash the // "config" placed on the prototype by Configurator (which includes *all* configs // such as cachedConfigs). delete data.config; }); //</feature> //<feature classSystem.cachedConfig> /** * @cfg {Object} cachedConfig * * This configuration works in a very similar manner to the {@link #config} option. * The difference is that the configurations are only ever processed when the first instance * of that class is created. The processed value is then stored on the class prototype and * will not be processed on subsequent instances of the class. Getters/setters will be generated * in exactly the same way as {@link #config}. * * This option is useful for expensive objects that can be shared across class instances. * The class itself ensures that the creation only occurs once. */ ExtClass.registerPreprocessor('cachedConfig', function(Class, data) { // Need to copy to the prototype here because that happens after preprocessors if (data.hasOwnProperty('$configPrefixed')) { Class.prototype.$configPrefixed = data.$configPrefixed; } Class.addCachedConfig(data.cachedConfig); // Remove this so it won't be placed on the prototype. delete data.cachedConfig; }); //</feature> //<feature classSystem.mixins> /** * @cfg {String[]/Object} mixins * List of classes to mix into this class. For example: * * Ext.define('CanSing', { * sing: function() { * alert("For he's a jolly good fellow...") * } * }); * * Ext.define('Musician', { * mixins: ['CanSing'] * }) * * In this case the Musician class will get a `sing` method from CanSing mixin. * * But what if the Musician already has a `sing` method? Or you want to mix * in two classes, both of which define `sing`? In such a cases it's good * to define mixins as an object, where you assign a name to each mixin: * * Ext.define('Musician', { * mixins: { * canSing: 'CanSing' * }, * * sing: function() { * // delegate singing operation to mixin * this.mixins.canSing.sing.call(this); * } * }) * * In this case the `sing` method of Musician will overwrite the * mixed in `sing` method. But you can access the original mixed in method * through special `mixins` property. */ ExtClass.registerPreprocessor('mixins', function(Class, data, hooks) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#mixinsPreprocessor', arguments); //</debug> var mixins = data.mixins, onCreated = hooks.onCreated; delete data.mixins; hooks.onCreated = function() { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#mixinsPreprocessor#beforeCreated', arguments); //</debug> // Put back the original onCreated before processing mixins. This allows a // mixin to hook onCreated by access Class._classHooks. hooks.onCreated = onCreated; Class.mixin(mixins); // We must go back to hooks.onCreated here because it may have changed during // calls to onClassMixedIn. return hooks.onCreated.apply(this, arguments); }; }); //</feature> //<feature classSystem.backwardsCompatible> // Backwards compatible Ext.extend = function(Class, Parent, members) { //<debug> Ext.classSystemMonitor && Ext.classSystemMonitor(Class, 'Ext.Class#extend-backwards-compatible', arguments); //</debug> if (arguments.length === 2 && Ext.isObject(Parent)) { members = Parent; Parent = Class; Class = null; } var cls; if (!Parent) { throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page."); } members.extend = Parent; members.preprocessors = [ 'extend' //<feature classSystem.statics> ,'statics' //</feature> //<feature classSystem.inheritableStatics> ,'inheritableStatics' //</feature> //<feature classSystem.mixins> ,'mixins' //</feature> //<feature classSystem.platformConfig> ,'platformConfig' //</feature> //<feature classSystem.config> ,'config' //</feature> ]; if (Class) { cls = new ExtClass(Class, members); // The 'constructor' is given as 'Class' but also needs to be on prototype cls.prototype.constructor = Class; } else { cls = new ExtClass(members); } cls.prototype.override = function(o) { for (var m in o) { if (o.hasOwnProperty(m)) { this[m] = o[m]; } } }; return cls; }; //</feature> /** * This object contains properties that describe the current device or platform. These * values can be used in `{@link Ext.Class#platformConfig platformConfig}` as well as * `Ext.mixin.Responsive#responsiveConfig` statements. * * This object can be modified to include tags that are useful for the application. To * add custom properties, it is advisable to use a sub-object. For example: * * Ext.platformTags.app = { * mobile: true * }; * * @property {Object} platformTags * @property {Boolean} platformTags.phone * @property {Boolean} platformTags.tablet * @property {Boolean} platformTags.desktop * @property {Boolean} platformTags.touch Indicates touch inputs are available. * @property {Boolean} platformTags.safari * @property {Boolean} platformTags.chrome * @property {Boolean} platformTags.windows * @property {Boolean} platformTags.firefox * @property {Boolean} platformTags.ios True for iPad, iPhone and iPod. * @property {Boolean} platformTags.android * @property {Boolean} platformTags.blackberry * @property {Boolean} platformTags.tizen * @member Ext */ }());