| Interface | Description |
|---|---|
| ASN1ApplicationSpecificParser | |
| ASN1Choice |
Marker interface for CHOICE objects - if you implement this in a role your
own object any attempt to tag the object implicitly will convert the tag to
an explicit one as the encoding rules require.
|
| ASN1OctetStringParser | |
| ASN1SequenceParser | |
| ASN1SetParser | |
| ASN1String | |
| ASN1TaggedObjectParser | |
| DEREncodable | |
| DERString |
basic interface for DER string objects.
|
| DERTags | |
| InMemoryRepresentable |
| Class | Description |
|---|---|
| ASN1Boolean | |
| ASN1Encodable |
Base class for objects which can be written directly to ASN.1 output streams.
|
| ASN1EncodableVector |
the parent class for this will eventually disappear.
|
| ASN1Enumerated | |
| ASN1GeneralizedTime | |
| ASN1Generator | |
| ASN1InputStream |
a general purpose ASN.1 decoder - note: this class differs from the
others in that it returns null after it has read the last object in
the stream.
|
| ASN1Integer | |
| ASN1Null |
A NULL object.
|
| ASN1Object | |
| ASN1ObjectIdentifier | |
| ASN1OctetString | |
| ASN1OutputStream | |
| ASN1Sequence | |
| ASN1Set | |
| ASN1StreamParser | |
| ASN1TaggedObject |
ASN.1 TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
|
| ASN1UTCTime | |
| BERApplicationSpecific | |
| BERApplicationSpecificParser | |
| BERConstructedOctetString | |
| BERGenerator | |
| BERNull |
A BER NULL object.
|
| BEROctetStringGenerator | |
| BEROctetStringParser | |
| BEROutputStream | |
| BERSequence | |
| BERSequenceGenerator | |
| BERSequenceParser | |
| BERSet | |
| BERSetParser | |
| BERTaggedObject |
BER TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
|
| BERTaggedObjectParser | |
| DERApplicationSpecific |
Base class for an application specific object
|
| DERBitString | |
| DERBMPString |
DER BMPString object.
|
| DERBoolean | |
| DEREncodableVector |
a general class for building up a vector of DER encodable objects -
this will eventually be superceded by ASN1EncodableVector so you should
use that class in preference.
|
| DEREnumerated | |
| DERExternal |
Class representing the DER-type External
|
| DERExternalParser | |
| DERGeneralizedTime |
Generalized time object.
|
| DERGeneralString | |
| DERGenerator | |
| DERIA5String |
DER IA5String object - this is an ascii string.
|
| DERInteger | |
| DERNull |
A NULL object.
|
| DERNumericString |
DER NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }.
|
| DERObject | |
| DERObjectIdentifier | |
| DEROctetString | |
| DEROctetStringParser | |
| DEROutputStream | |
| DERPrintableString |
DER PrintableString object.
|
| DERSequence | |
| DERSequenceGenerator | |
| DERSequenceParser | |
| DERSet |
A DER encoded set object
|
| DERSetParser | |
| DERT61String |
DER T61String (also the teletex string)
|
| DERTaggedObject |
DER TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
|
| DERUniversalString |
DER UniversalString object.
|
| DERUnknownTag |
We insert one of these when we find a tag we don't recognise.
|
| DERUTCTime |
UTC time object.
|
| DERUTF8String |
DER UTF8String object.
|
| DERVisibleString |
DER VisibleString object.
|
| LazyDERSequence | |
| OIDTokenizer |
class for breaking up an OID into it's component tokens, ala
java.util.StringTokenizer.
|
| Exception | Description |
|---|---|
| ASN1Exception | |
| ASN1ParsingException |
Copyright © 2015. All rights reserved.


jQuery UI Draggable - Default functionality
Legend
- 11 Open Water
- 12 Perennial Ice/Snow
- 21 Developed, Open Space
- 22 Developed, Low Intensity
- 23 Developed, Medium Intensity
- 24 Developed High Intensity
- 31 Barren Land (Rock/Sand/Clay)
- 41 Deciduous Forest
- 42 Evergreen Forest
- 43 Mixed Forest
- 51 Dwarf Scrub
- 52 Shrub/Scrub
- 71 Grassland/Herbaceous
- 72 Sedge/Herbaceous
- 73 Lichens
- 74 Moss
- 81 Pasture/Hay
- 82 Cultivated Crops
- 90 Woody Wetlands
- 95 Emergent Herbaceous Wetlands


Despite its appearance, this puzzle is not a runaround on MIT campus.
The first thing we have to realize, either by reading these descriptions and thinking that the descriptions of “hallways” don't seem like MIT corridors, or by looking at “colorful” in the text of the puzzle, or by looking at different interpretations until the data makes sense, is that this puzzle is about subway trains. We start at Kendall/MIT and follow the instructions, interpreting things seen around MIT as similar things seen around the real world.
| Clue | Explanation | Station | Extraction Phrase | Letter |
|---|---|---|---|---|
| Start somewhere at MIT. Head east, through a hallway with a nice view. Turn right at the second opportunity, and head six doors down the hallway. You should have just passed the running track out the window to your left. Take the third letter of the first name on the nearest door. | Start at Kendall/MIT. Head east on the Red Line, crossing the Longfellow Bridge with a nice view. Transfer at Downtown Crossing onto the Orange Line. Take the Orange Line south to Roxbury Crossing. The Reggie Lewis State Track Athletic Center is to the left. Take the letter X from Roxbury. | Roxbury Crossing | Roxbury Crossing | X |
| Continue down the hallway, stopping at a door with a geometric shape on it. Write down the fourth letter of the name on that door. | Continue on to Jackson Square. Take the letter K from Jackson Square. | Jackson Square | Jackson Square | K |
| Turn around and head in the opposite direction until you reach a part of the hallway where you can't see the sky for a while. Just before there, there is a facility to the right named for a person whose first name is often abbreviated to an English word. Write down the first letter of his last name. | Head north on the Orange Line (which, for a while, runs underground but uncovered) until you reach Mass Ave Station, where it is covered again. Just before the track enters the tunnel, it passes William E. Carter School to the right. William is abbreviated to Will. Write down the C of Carter. | Mass Ave | William E. Carter | C |
| Continue until you reach a big intersection with another hallway. Turn left and then immediately right. There's a large brutalist building up ahead with a three-word name. Write down the last letter of the first name of its lead architect/designer. | Continue north to Downtown Crossing. Transfer onto the Red Line and then at Park Street transfer to the Green Line. Up ahead is Boston City Hall, and the lead architect/designer is Gerhard Kallmann. Take the D of Gerhard. | Government Center | Gerhard Kallmann | D |
| Pretty soon, you should pass some science demonstrations on your left. Continue in the same direction (even if it seems impossible) until you see a building that opened in 1976 and was renovated into a Course 7 lab in 1992. Write down the first letter of the lab's name. | Pass the Museum of Science on your left. Continue northwest... past the end of the Green Line??? |
On the fifth instruction, we reach a hiccup; we don't know how to continue beyond the end of the Green Line; even the puzzle acknowledges that it seems impossible. However, if we've been careful so far, we've now extracted the letters XKCD. Searching for “xkcd subways” yields a relevant xkcd comic that will help us solve the rest of the puzzle. In this map, the Green Line continues on to Montreal rather than ending at Lechmere. With this insight, we can solve the rest of the clues:
| Clue | Explanation | City | Station | Extraction Phrase | Letter | Line Color |
|---|---|---|---|---|---|---|
| Pretty soon, you should pass some science demonstrations on your left. Continue in the same direction (even if it seems impossible) until you see a building that opened in 1976 and was renovated into a Course 7 lab in 1992. Write down the first letter of the lab's name. | Pass the Museum of Science on your left. Continue northwest into Montreal, where you're on the Green Line heading southwest. On the right, shortly before Pie IX Station, is the Montreal Biodome, which was built for the 1976 Olympics and now houses replicas of different North American ecosystems. Take the B of Biodome. | Montreal | Pie IX | Biodome | B | Green |
| Continue in the same direction as you've been going, until you reach a place where many hallways intersect. Turn in the direction whose hallway is the shortest, and go halfway down the hallway. You just passed under a really big pipe. Write down the last letter of the first word of the two-word place the pipe leads to. | Continue southwest on the Green Line to Berri-UQAM, and then transfer to the Yellow Line. Ride this train for one stop, to Jean-Drapeau Station. You pass under the Saint Lawrence River, which drains to the Atlantic Ocean. Take the C of Atlantic. | Montreal | Olympic Park | Atlantic Ocean | C | Yellow |
| Go back to the intersection from the last paragraph, and this time go in the direction (other than the hallway you were in before) that goes the farthest before it ends. Continue in this new direction until you reach the second intersection. It may not look like it as you approach, but you can turn left here. Turn left and continue walking forward until the color of the walls changes. Veer right, and continue forward until you reach the second intersection with another hallway. There should be a Course 21 building across the street from where you are now. Turn right. Continue until you reach a door with a name whose second, third and fourth letters are the same. Write down that letter immediately following that letter in the alphabet. | Head back to Berri-UQAM on the Yellow Line, then transfer to the Orange Line toward Snowdon, where it intersects the Blue Line. Transfer onto the Blue Line, ending up in Toronto. Take Line 3 (blue) to its end, and then transfer to Line 2 (green). Continue to St. George Station, which is across the street from the Jackman Humanities Institute. Transfer to Line 1 (yellow) and ride to the end of the line and onward to Vancouver. Take the Millenium Line (yellow) to VCC-Clark, and write down the letter D (one after C). | Vancouver | VCC-Clark | VCC-Clark | D | Yellow |
| Turn around, and retrace your steps up until you reach an intersection that lets you turn southwest. Head that direction until you find a place where many hallways come together. Do your best to ignore the other hallways and follow this one. Eventually, you'll reach a place where it looks like the walls have been repainted recently. Don't let that trip you up; continue along this hallway (even if it takes a while) until you see an institute parking lot (#7) out the window to your right. The triangular building across the parking lot from here has a three word name; write down the letter that occurs most often in its name overall. | Turn around and leave Vancouver, heading southwest toward San Francisco. Take the Antioch–SFO/Millbrae line all the way through San Francisco and continue on to Los Angeles. Take the G line (orange now, but yellow on the xkcd map) to Pierce College, and note parking lot #7 to the south. Across the way is Pierce College Library, a triangular building whose most common letter is E. | LA | Pierce College | Pierce College Library | E | Yellow |
| Now return to the place where lots of hallways come together, and stay in this hallway the whole time until you see a door with a prime room number. At that point, turn around, and veer left at the first opportunity. Continue forward until you see a preponderance of parking lots to your right. At the center of them are two facilities; write down the sixth letter of the namesake of the nearer facility. | Head back to downtown San Fransisco, where a lot of lines run together for a few stops. Continue along the Antioch–SFO/Millbrae line (yellow) to 19th St/Oakland, and then transfer to a southbound Berryessa/North San José–Richmond (orange, formerly Fremont-Richmond) line train. At Coliseum Station there is a preponderence of parking lots to the right, and the nearer one is the RingCentral Coliseum. Take the E of RingCentral. | SF | Airport/Coliseum | RingCentral | E | Orange |
| Continue along this hallway for a long time, following when the hallway makes an abrupt right. Continue aways until you pass a Course 16 lab on the right. Shortly afterward, you'll see a facility on the left named for a Nobel-winning physicist. Write down the first letter of the physicist's last name. | Continue southeast toward Fremont, eventually entering Los Angeles. Take the L line from one end to the other, ending up in Chicago. Shortly after Midway Airport, there are a high school and a park on the left, both named for Marie Curie. Take the C of Curie. | Chicago | Pulaski | Marie Curie | C | Orange |
| Continue forward until you reach a rotunda. Take the hallway leading south out of there that immediately veers right. Continue until you see the admissions office on your left. On the other side of the hallway, facing the admissions office, is something sharing its name with the last name of a former president. Write down the fourth letter of that last name. | Keep going to the Chicago Loop. Take the Blue Line to Racine, where the UIC admissions office is to the left. On the other side is Van Buren Lofts. Take the B from Van Buren. | Chicago | Racine | Van Buren | B | Blue |
| Go back to the rotunda, this time exiting through a hallway that leads west. Continue, following the hallway as it turns, until you pass the university medical center on your left. Right in front of it is an establishment that sells food. Write down the first letter of the name of that establishment. | Head back to the Loop, and take the Pink Line out of it this time. Shortly before Polk Station is the Rush University Medical Center. In front of it is an Au Bon Pain. Take the A from Au Bon Pain. | Chicago | Polk | Au Bon Pain | A | Purple |
| Go back to the rotunda one more time, head downstairs, and go north. You'll pass a door whose name really ought to be more specific than it is. Ten doors later, write down the first letter of the name on that door. | Head back to the Loop. Instead of transferring to another train that runs on the Loop, head underground and transfer to a northbound Red Line train. Pass the amusingly named Chicago Station, and continue 10 stops further to Berwyn. Take the B from Berwyn. | Chicago | Berwyn | Berwyn | B | Red |
| Turn around, and go until you reach a door with a square number. To the left out the window, across the street, you see a popular place to go for food. Write down the first letter of the middle name of the second of the two names in the name of the architectural firm that designed it. | Take the Red Line south until it turns east and enters Cleveland. The first square-numbered stop you reach is West 25th–Ohio City Station. Across the street is the West Side Market, where the author fondly remembers going on field trips in elementary school and middle school. Their building was built by Hubbell and Benes. Take the D from W. Dominick Benes. | Cleveland | 25th St-Ohio City | Hubbell and Benes | D | Red |
| Shortly ahead, this hallway joins another. When they diverge, take the right branch, and then when the hallway splits again, take the right branch again. Continue along the current hallway, quite a ways, until you see two very famous historical landmarks out the window on the left. One of them should remind you of telephones and music. Take the last two digits of the year the other one opened, and subtract 1. Continue forward until you find a door with that number on it. Just before this door, out the window to the left, there is a business whose first word begins with D and ends with E. Write down the first letter of its second word. | Continue eastward to Tower City, where the Red, Green and Blue lines all run together for a few stops. Take the Blue Line toward Van Aken, and continue into Philadelphia. Take the Market–Frankford Line (blue) downtown until you see Independence Hall and the Liberty Bell out the window near 5th Street. The Liberty Bell reminds us of music and the Bell telephone companies, so we take the year Independence Hall opened, 1753, and we go to 52nd St. Just before 52nd is a business called Double Connect. Take the C from Double Connect. | Philadelphia | 52nd St | Double Connect | C | Blue |
| Turn around and continue a short distance until you reach a place where this hallway meets another. Turn right and continue down that relatively windy hallway until it reaches an intersection where four wide hallways meet at right angles. Turn left here. Walk very fast until you find yourself in a place whose name begins with state. Continue two doors down, and then look out the window to the right. You can see a green space whose name fits the enumeration 5 5 7 5 6. Write down the first letter of the last word in its name. | Head back to the point at which the trolley line (green) diverges from the Market–Frankford Line (blue), and take the trolley south, passing through Greenbelt and onto the Green Line in Baltimore. Continue into Washington, D.C., and transfer to an eastbound Blue Line train at L'Enfant Plaza Station. Take the Robert Moses high-speed line to Staten Island, and continue to just past Richmond Valley Station. Note North Mount Loretto State Forest out the window to the right, and take the F from Forest. | NYC (Staten Island) | Richmond Valley | North Mount Loretto State Forest | F | Blue |
| Turn around and retrace your steps, walking very fast where necessary. Just before you reach the big intersection where four wide hallways meet, look at the display on the right put on by Course 16. One of the most impressive parts of the display belonged to a guy whose name fits the enumeration (7 9). Write down the second-to-last letter of his last name. | Take the Staten Island Railway west, once again using the Robert Moses high-speed line to return to Washington. Just before L'Enfant Plaza, get off the train and visit the National Air and Space Museum. Charles Lindbergh's Spirit of St. Louis, in which he flew from New York to Paris, resides here. Take the G from Lindbergh. | Washington | Federal Center SW | Charles Lindbergh | G | Blue |
| Continue into the intersection and turn left twice. Continue until you reach a door with three consonants and four vowels on it. Write down the vowel that occurs most on the door. | Continue to L'Enfant Plaza Station and transfer to a southbound Green Line train. Take this train to Miami, and stop at Hialeah Station. Write down an A from Hialeah. | Miami | Hialeah | Hialeah | A | Green |
| Go on, heading generally southeast then southwest through the hallway, until you reach a place named for an emperor. Turn left, and continue until you can see twenty red-roofed buildings out the window to the right. The street between you and those buildings is named for a former president. Write down the first letter of his first name. | Continue southward, toward Monterrey. Take Line 2 (green) to Cuauhtémoc, and transfer there to an eastbound Line 1 (orange) train. South of Exposición Station is a preponderance of red-roofed buildings, and the road in between you and them is named for Benito Juárez, former president of Mexico. Take the B from Benito. | Monterrey | Exposición | Benito Juárez | B | Orange |
| Turn around, and continue straight ahead until you see another Course 16 lab - the most popular one on campus. Write down the last letter of its first namesake. | Take a westbound Line 1 (orange) train to the end of the line. Stop at ATL, the busiest airport in North America. Take the D from Hartsfield-Jackson. | Atlanta | ATL | Hartsfield-Jackson | D | Orange |
| Continue in the same direction. After a while, you'll pass a display put on by Course 21A and another from Course 7 to your left. At the next intersection, there are two hallways that meet this one. After you turn down the correct one, walk two doors down and you should see an exhibition put on by course 21H on the left. Continue forward, stopping one door short of the door leading to the most popular room on campus. Look out the window to the left. There's a building that sounds like it ought to contain a number of trees. Write down the first letter of the number in its name. | The line you're on curves south to become Line 7 (orange) in Mexico City. Pass the Museo Nacional de Antropología and the Zoológico de Chapultepec, and then transfer at Tacubaya to Line 1 (purple). Passing the Museo de Arte Moderno on the left, stopping at Zaragoza, one station before Pantitlán, the busiest station in North America. On the left is Módulo INE Cuatro Árboles. Take the C from Cuatro. | Mexico City | Zaragoza | Cuatro Arboles | C | Purple |
| Continue forward to the intersection. Head in a direction such that 2 doors down is a Course 16 lab. This lab is named for someone you encountered earlier in the puzzle. Write down the third letter of that person's last name. | Continue to Pantitlán and transfer to a Line 5 (yellow) train headed northwest. Pass MEX, which is named for Benito Juárez. Take the A from Juárez. | Mexico City | Terminal Aérea | Benito Juárez | A | Yellow |
| Continue forward to the fourth intersection. The intersection belongs to Course 10. Turn right at the intersection. Continue walking, travelling however necessary to keep going, heading straight forward and staying in the same hallway whenever you have an opportunity to turn. Do not stop until you reach a door whose number is a multiple of 23 (but not 23 itself). Two doors down, out the window to the left, look at a body of water with three words in its name. Write down the first letter of the third word. | Continue northwest to Petróleo (which belongs to Course 10) and then head East on Line 6 (red). Continue through the Chicxulub tunnel to Santo Domingo, then through the Mona tunnel to San Juan, then transfer to a submarine to Manhattan. Transfer a Bronx-bound 1 train (red), finally stopping at 207 St. Just ahead, separating Manhattan from the Bronx, is Sputyen Duyvil Creek. Take the C from Creek. | NYC | 207th St | Sputyen Duyvil Creek | C | Red |
| Turn around and go back until you reach an intersection (it shouldn't be nearly as long a walk as the previous step). Turn sharply right at the intersection, and continue until you reach another door whose number is a multiple of 23. Look around for a street that has two different names. Write down the second-to-last letter of the first word of the longer name. | Head back to 168 St Station, and transfer to an Inwood-207th Street bound A train (blue). Head back to Inwood, stopping at the end of the line, Inwood–207th Street Station. The station is on Broadway, also known as Juan Rodriguez Way. Take the A from Juan. | NYC | Inwood-207th St | Juan Rodriguez | A | Blue |
| Turn around again, and walk down this hallway until you see a large pipe overhead just ahead. Write down the first letter of the first word written on the pipe. | Take a Brooklyn-bound A train to Fulton Street. The East River passes over the tracks just ahead. Take the E from East. | NYC | Fulton St | East River | E | Blue |
| Turn around once more, and head five or so doors down the hallway. It gets complicated here, but you need to turn left such that the color of the walls don't change and there's a different pipe crossing the hallway overhead. This time, after passing under the pipe, write down the third letter of the first word on it. | Switch to an Inwood-207th St bound train once again, but this time get out at West 4th St Station and walk to the Christopher St PATH station, boarding a New Jersey-bound Hoboken-33rd St (blue) train. Cross under the Hudson River to Hoboken Station, then write down the D from Hudson. | NYC (PATH) | Hoboken | Hudson River | D | Blue |
| Turn around, one last time, and where this hallway and another one diverge, take the other one instead. You'll see that the big pipe from the last step goes overhead in this hallway too. Soon enough, you'll reach an intersection with the hallway you walked through in your very very long walk from a few steps ago. Turn left here, and continue until you reach the door to the most popular room in this part of campus. Switch to another hallway here, and continue two doors down until you see a well-known Course 21M facility on your right. Write down the first letter of the middle name of its architect. | Board a WTC-Hoboken (green) PATH train at Hoboken, passing under the Hudson River. At WTC/Fulton St, transfer to a Bronx-bound 1 train (red). At Times Sq-42nd St, the busiest station in the NYC subway system, transfer to a Queens-bound R train (yellow). Two stops ahead, at 7th Avenue-57th St, we're right outside of Carnegie Hall, designed by William Burnet Tuthill. Take the B from Burnet. | NYC | Carnegie Hall | William Burnet Tuthill | B | Yellow |
| Just ahead, you can see a park out the window. It was designed by two landscape architects; write down the first letter of the first name of the one whose middle name is an English word. | Central Park is ahead. It was designed by Frederick Law Olmsted and Calvert Vaux. Take the F from Frederick. | NYC | Carnegie Hall | Frederick Law Olmsted | F | Yellow |
| Continue until this hallway turns right. It may look like there's two places for this to happen, but there's really only one. Continue until you reach a door bearing the name of a former president, and turn left. Down the hall, you'll see athletics facilities on your left and right. The one on the right is named for a woman born in 1943. Take the first letter of her first name. | As of the time of publication of the xkcd map, the Second Avenue subway (Q) did not yet exist, so the only place to turn right is where the N, R, and W lines turn right into Queens. Take a Queens-bound R train to Jackson Hts/Roosevelt Ave, and transfer to a Flushing-Main St bound 7 (purple) train. A few stops ahead, at Mets/Willets Point, Citi Field is on the left and the Billie Jean King Tennis Center (of which Arthur Ashe stadium is a part - Arthur Ashe was born in 1943 but is a man) on the right. Take the B from Billie. | NYC | Mets | Billie Jean King | B | Purple |
| Turn around, and head back, almost to the end of the hall, to an intersection with one other hallway. Turn right. Where it splits in three, take the left fork. Continue along this hallway, following it as it turns here and there, until you see a large Harvard University facility on your left out the window in the distance. Write down the first letter of either of the two words in its name. | Take the 7, nearly to Times Sq-42nd St (the end on the xkcd map, though the 7 has since been extended), and transfer to a Bronx-bound D train. Take the D train to Boston. Stop at Forest Hills Station on the Orange Line, and note the Arnold Arboretum, a very large Harvard University facility, to the left. Take the A from Arnold or Arboretum. | Boston | Forest Hills | Arnold Arboretum | A | Orange |
| Continue forward until your next opportunity to turn left. Head back home. Your colorful journey has taken you through all 18 areas of campus! Write down the 3rd letter of the first word on the last door you pass by on your way home. | Take the Orange Line north to Downtown Crossing, and transfer to a Red Line train heading toward Alewife. Head back to Kendall/MIT. The last stop before there is Charles/MGH. Take the A from Charles. | Boston | Charles/MGH | Charles/MGH | A | Red |
Here is a glossary of the various terms used to refer to the world around as though they are MIT surroundings:
| Term | Interpretation |
|---|---|
| hallway | subway line |
| door | station |
| pipe | river |
| popular room | busy station |
| course 16 lab | airport |
| the way things “seem” or “look” | how things are in reality or on the current subway map for a city |
| the way things are | the way things are on the xkcd map |
Once we've completed our colorful journey through all 18 metro systems in North America (or the 18 that the xkcd comic knows about, anyway), we turn to extract an answer. Sadly, BCDEECBABDCFGABDCACAEDBFBAA is not a particularly good cluephrase. However, the colored blanks at the bottom help us find an insight — we need to extract from each color of line separately.
Each color extracts a contiguous set of letters starting with A; for example, blue extracts A through G. This suggests that we draw lines on the xkcd comic between the stations we visited of each color, in alphabet order.
This yields SW 9157, which, fittingly, is a color of paint: Sherwin-Williams 9157, or AUTUMN ORCHID, which fits into the second set of blanks at the bottom and is the answer to the puzzle.


This is a short description. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
31 reviews
6 reviews
18 reviews


The algorithm implementation consists of mainly three parts: Defining the custom imported data, initialization of the strategy parameters, and monthly re-balancing of the portfolio.
We import T-Bill data from Quandl - a marketplace for financial, economic and alternative data. This requires defining a small class that tells QuantConnect how to interpret?the Quandl data.
class TBill(PythonData): def GetSource(self, config, date, isLiveMode): return SubscriptionDataSource("https://www.quandl.com/api/v3/datasets/USTREASURY/BILLRATES.csv?api_key=XXXXXXXXX&order=asc", SubscriptionTransportMedium.RemoteFile) def Reader(self, config, line, date, isLiveMode): tbill = TBill() tbill.Symbol = config.Symbol # Example Line Format: # Date 4 Wk Bank Discount Rate # 2017-06-01 0.8 if not (line.strip() and line[0].isdigit()): return None try: data = line.split(',') value = float(data[1])*0.01 value = decimal.Decimal(value) if value == 0: return None tbill.Time = datetime.strptime(data[0], "%Y-%m-%d") tbill.Value = value tbill["Close"] = float(value) return tbill; except ValueError: return None
We first provide the source of the data as a URL to Quandl's API in the GetSource method. We need to make sure the data is?organized in ascending order which is done with the?"order=asc" parameter.?You need to substitute the API key in the URL for your personal Quandl API token. The Reader method parses a line of the data file. When using custom data you need to minimally set?the Time property?and Value property. In this example we find the value property from the headings in the spreadsheet is the second column and we reference it with data[1]. We set the Close property to the same value.
In our "Initialize" function we use the following commands to add the custom data into our portfolio.
self.AddData(TBill, "tbill") self.tbill = self.Securities["tbill"].Symbol
In our?"Initialize" function we set the cash amount, start-end date as well as other parameters that are specific to this strategy.?We set two parameters for the regression analysis period:
self.regPeriod = 24 self.daysInMonth = 21
The variable "regPeriod" indicates how many months we are going to take into consideration in our regression analysis. We assume 21 days per month and request a historical period of approximately 2 years. We jump back in steps of 21 days and assume it is roughly 1 month of return. We need to set up "Schedule" function in "Initialize" so as to trigger the monthly re-balancing function every month.
self.Schedule.On(self.DateRules.MonthStart(self.spy), self.TimeRules.AfterMarketOpen(self.spy),Action(self.MonthlyReg))
Every month we reconstruct the regression analysis to determine whether to be 100% long stocks or T-Bill contracts. We perform this re-balancing in the MonthlyReg function at the start of each month.?We use the History function to retrieve historical data for oil and stocks?and then divide the T-Bill rate by 12 to make it comparable to the monthly expected return of stocks.
hist = self.History([self.oil, self.spy], self.regPeriod*self.daysInMonth, Resolution.Daily) oilSeries = hist.loc[str(self.oil)]['close'][self.daysInMonth-1:self.regPeriod*self.daysInMonth:self.daysInMonth] spySeries = hist.loc[str(self.spy)]['close'][self.daysInMonth-1:self.regPeriod*self.daysInMonth:self.daysInMonth] rf = float(self.Securities[self.tbill].Price)/12.0
Then we make an OLS regression by using "numpy" to make the prediction on next month's stock return.
x = np.array(oilSeries) x = (np.diff(x)/x[:-1]) y = np.array(spySeries) y = (np.diff(y)/y[:-1]) A = np.vstack([x[:-1],np.ones(len(x[:-1]))]).T beta, alpha = np.linalg.lstsq(A,y[1:])[0] yPred = alpha + x[-1]*beta
Finally, we compare the expected return of stocks with risk-free rate. If the former is larger than the latter, we invest fully in stocks; otherwise we liquidate our holdings. Because we cannot purchase T-Bill contracts the performance is likely slightly underestimated.
if yPred > rf: self.SetHoldings(self.spy, 1) else: self.Liquidate(self.spy)


{% extends "base.html" %} {% block breadcrumbs %}
This reader study cannot be deleted. Please delete the following items first:
Are you sure that you want to delete the reader study "{{ object }}"? WARNING: You are not able to undo this action, once the reader study is deleted it is deleted forever.


US Supreme Court rejects call for new trial in Serial podcast case
Syed is serving a life sentence after he was convicted in 2000 of killing 17-year-old Hae Min Lee.
The US Supreme Court has rejected a Maryland man’s bid for a new trial based on information uncovered by the hit podcast Serial.
The justices did not comment in leaving in place a 4-3 ruling by Maryland’s highest court that denied a new trial to Adnan Syed, who was convicted of strangling a high school classmate he had once dated.
Syed is serving a life sentence after he was convicted in 2000 of killing 17-year-old Hae Min Lee and burying her body in a Baltimore park.
Prosecutors said during his trial that Syed killed her after she broke off their relationship.
Syed’s lawyers had argued that his trial lawyer’s failure to investigate an alibi witness violated his right to competent legal representation.
“We are deeply disappointed by the Supreme Court but by no means is this the end of Adnan Syed,” defence lawyer C Justin Brown told The Associated Press.
“There are other legal options and we are exploring each and every one of them.”
Millions of people learned about Syed when the hit podcast Serial dedicated its entire first season to the case in 2014.
The show shattered podcast-streaming and downloading records, shining a spotlight that led to renewed court proceedings.
Two Maryland courts found that Syed deserved a new trial.
His lawyer during his first trial, Cristina Gutierrez, failed to contact a woman who said she saw Syed at a library at the time prosecutors say he strangled his ex-girlfriend in 1999.
Ms Gutierrez has since died.
But in 2018, the Maryland Court of Appeals denied Syed a new trial, even though it agreed his trial lawyer’s work was lacking.
The state high court said there was little chance the outcome would have been different had Ms Gutierrez done what she should have.
Rabia Chaudry, a lawyer and friend of Syed’s family who first brought his case to the attention of This American Life, which developed the podcast, said that the Supreme Court’s decision “was fully expected”.
She said his defence team has been preparing to file either a habeas petition in federal court or go back to the state court.
“We were just waiting. It was just a technicality. Now it’s done, so we can move forward,” she said of the high court’s move.
“He is doing fine. He is hanging in there. He knows that none of us are basically giving up. He was a great legal team. He was a lot of public support and walking away is not an option.”


Overview
When I heard about WebGL, I thought it would be a great idea to make something with it for my portfolio. Initially, I wrote the renderer. Forward rendering, 3D. After I had completed the renderer, I decided to add an Entity Component System to provide a space for game (client) code and an abstraction layer to sit on top of the renderer, I/O manager, Physics engine etc.
The project as you see it now is made of three parts. A renderer, a physics engine (Cannon.js) and an ECS pulling them together.
Javascript was a very strange language to write in. I wanted to write in an object-oriented manner for a couple of reasons, so after skimming through Learning JavaScript Design Patterns I imposed a kind of object-oriented style on my project.
Besides familiarity, I really wanted access to polymorphism for the implementation of the Entity Component System. ECS is a very simple pattern that relies on iterating 2 types: GameObjects and Components. GameObject doesn't need to be derivable; it's essentially a collection of components and a bit of meta information. Components, on the other hand are most easily implemented via polymorphism. Components provide all game functionality within an ECS. Some cruical components will be provided along with the engine, but most will be written by clients writing their own game. In order to provide a common interface to the engine for all these unknown component types, I wanted to define a base type "Component" and have all real components implement this component type.
Once the ECS was up and running, I decided to add some physics. I looked around the internet for javascript rigidbody libraries and found Cannon.js to be particularly well documented and with a straightforward API.
So thats it. The ECS provides a place for game logic to be written and simplifies working with the renderer and physics simulation. Connecting the game logic to the renderer is the Mesh component, which holds model (VBO, IBO) and material data (Shader program handle, uniform data). Connecting game logic to the physics simulation is the Rigidbody component. Rigidbody retains a reference to an object within the physics simulation and provides accessors to certain properties of that object. The final basic component is Transform, which holds the model matrix and methods for translation, rotation, scaling.


This web application calculates the cosine distance between the encodings of two pieces of text using Google's Universal Sentence Encoder (USE). The USE is a model trained to encode sentences into a 512-dimensional vector space. The cosine distance is a measure of the similarity between these two encodings, with a smaller distance indicating more similar sentences.


Rick & Morty
All things about Rick & Morty Episodes
Search Episode Name
Deep Dive to Galaxy!
Display
Name
Air Date


This tutorial focuses on the boto interface to the Elastic Compute Cloud from Amazon Web Services. This tutorial assumes that you have already downloaded and installed boto.
The first step in accessing EC2 is to create a connection to the service. The recommended way of doing this in boto is:
>>> import boto.ec2
>>> conn = boto.ec2.connect_to_region("us-west-2",
... aws_access_key_id='<aws access key>',
... aws_secret_access_key='<aws secret key>')
At this point the variable conn will point to an EC2Connection object. In this example, the AWS access key and AWS secret key are passed in to the method explicitly. Alternatively, you can set the boto config environment variables and then simply specify which region you want as follows:
>>> conn = boto.ec2.connect_to_region("us-west-2")
In either case, conn will point to an EC2Connection object which we will use throughout the remainder of this tutorial.
Possibly, the most important and common task you’ll use EC2 for is to launch, stop and terminate instances. In its most primitive form, you can launch an instance as follows:
>>> conn.run_instances('<ami-image-id>')
This will launch an instance in the specified region with the default parameters. You will not be able to SSH into this machine, as it doesn’t have a security group set. See EC2 Security Groups for details on creating one.
Now, let’s say that you already have a key pair, want a specific type of instance, and you have your security group all setup. In this case we can use the keyword arguments to accomplish that:
>>> conn.run_instances(
'<ami-image-id>',
key_name='myKey',
instance_type='c1.xlarge',
security_groups=['your-security-group-here'])
The main caveat with the above call is that it is possible to request an instance type that is not compatible with the provided AMI (for example, the instance was created for a 64-bit instance and you choose a m1.small instance_type). For more details on the plethora of possible keyword parameters, be sure to check out boto’s EC2 API reference.
Once you have your instances up and running, you might wish to shut them down if they’re not in use. Please note that this will only de-allocate virtual hardware resources (as well as instance store drives), but won’t destroy your EBS volumes – this means you’ll pay nominal provisioned EBS storage fees even if your instance is stopped. To do this, you can do so as follows:
>>> conn.stop_instances(instance_ids=['instance-id-1','instance-id-2', ...])
This will request a ‘graceful’ stop of each of the specified instances. If you wish to request the equivalent of unplugging your instance(s), simply add force=True keyword argument to the call above. Please note that stop instance is not allowed with Spot instances.
Once you are completely done with your instance and wish to surrender both virtual hardware, root EBS volume and all other underlying components you can request instance termination. To do so you can use the call bellow:
>>> conn.terminate_instances(instance_ids=['instance-id-1','instance-id-2', ...])
Please use with care since once you request termination for an instance there is no turning back.
You can also get information on your currently running instances:
>>> reservations = conn.get_all_reservations()
>>> reservations
[Reservation:r-00000000]
A reservation corresponds to a command to start instances. You can see what instances are associated with a reservation:
>>> instances = reservations[0].instances
>>> instances
[Instance:i-00000000]
An instance object allows you get more meta-data available about the instance:
>>> inst = instances[0]
>>> inst.instance_type
u'c1.xlarge'
>>> inst.placement
u'us-west-2'
In this case, we can see that our instance is a c1.xlarge instance in the us-west-2 availability zone.
You can also get the health status of your instances, including any scheduled events:
>>> statuses = conn.get_all_instance_status()
>>> statuses
[InstanceStatus:i-00000000]
An instance status object allows you to get information about impaired functionality or scheduled / system maintenance events:
>>> status = statuses[0]
>>> status.events
[Event:instance-reboot]
>>> event = status.events[0]
>>> event.description
u'Maintenance software update.'
>>> event.not_before
u'2011-12-11T04:00:00.000Z'
>>> event.not_after
u'2011-12-11T10:00:00.000Z'
>>> status.instance_status
Status:ok
>>> status.system_status
Status:ok
>>> status.system_status.details
{u'reachability': u'passed'}
This will by default include the health status only for running instances. If you wish to request the health status for all instances, simply add include_all_instances=True keyword argument to the call above.
EBS can be used by EC2 instances for permanent storage. Note that EBS volumes must be in the same availability zone as the EC2 instance you wish to attach it to.
To actually create a volume you will need to specify a few details. The following example will create a 50GB EBS in one of the us-west-2 availability zones:
>>> vol = conn.create_volume(50, "us-west-2")
>>> vol
Volume:vol-00000000
You can check that the volume is now ready and available:
>>> curr_vol = conn.get_all_volumes([vol.id])[0]
>>> curr_vol.status
u'available'
>>> curr_vol.zone
u'us-west-2'
We can now attach this volume to the EC2 instance we created earlier, making it available as a new device:
>>> conn.attach_volume (vol.id, inst.id, "/dev/sdx")
u'attaching'
You will now have a new volume attached to your instance. Note that with some Linux kernels, /dev/sdx may get translated to /dev/xvdx. This device can now be used as a normal block device within Linux.
Snapshots allow you to make point-in-time snapshots of an EBS volume for future recovery. Snapshots allow you to create incremental backups, and can also be used to instantiate multiple new volumes. Snapshots can also be used to move EBS volumes across availability zones or making backups to S3.
Creating a snapshot is easy:
>>> snapshot = conn.create_snapshot(vol.id, 'My snapshot')
>>> snapshot
Snapshot:snap-00000000
Once you have a snapshot, you can create a new volume from it. Volumes are created lazily from snapshots, which means you can start using such a volume straight away:
>>> new_vol = snapshot.create_volume('us-west-2')
>>> conn.attach_volume (new_vol.id, inst.id, "/dev/sdy")
u'attaching'
If you no longer need a snapshot, you can also easily delete it:
>>> conn.delete_snapshot(snapshot.id)
True
Launch Configurations allow you to create a re-usable set of properties for an instance. These are used with AutoScaling groups to produce consistent repeatable instances sets.
Creating a Launch Configuration is easy:
>>> conn = boto.connect_autoscale()
>>> config = LaunchConfiguration(name='foo', image_id='ami-abcd1234', key_name='foo.pem')
>>> conn.create_launch_configuration(config)
Once you have a launch configuration, you can list you current configurations:
>>> conn = boto.connect_autoscale()
>>> config = conn.get_all_launch_configurations(names=['foo'])
If you no longer need a launch configuration, you can delete it:
>>> conn = boto.connect_autoscale()
>>> conn.delete_launch_configuration('foo')
Changed in version 2.27.0.
Note
If use_block_device_types=True is passed to the connection it will deserialize Launch Configurations with Block Device Mappings into a re-usable format with BlockDeviceType objects, similar to how AMIs are deserialized currently. Legacy behavior is to put them into a format that is incompatabile with creating new Launch Configurations. This switch is in place to preserve backwards compatability, but its usage is the preferred format going forward.
If you would like to use the new format, you should use something like:
>>> conn = boto.connect_autoscale(use_block_device_types=True)
>>> config = conn.get_all_launch_configurations(names=['foo'])


Home Energy Monitor (emonTx v3, Raspberry Pi, Emoncms V8)
This guide details how to build a web-connected home electricity monitor using the OpenEnergyMonitor emonTx V3, a Raspberry Pi (with RFM12Pi expansion board) and Emoncms web-app for logging and viewing the data. At the end of this guide you should have your system up and running with your energy data accessible on a mobile friendly web page like this:
System overview
Parts list
Here are the parts you will need, most of them are available from the OpenEnergyMonitor shop.
1x emonTx V3 pre-assembled
1x 100A max clip-on current sensor CT
1x AC-AC Power Supply Adapter - AC voltage sensor (Both UK and Euro plugs are available)
1x Raspberry Pi (Model B) - Web-connected Base Station
1x RFM12Pi - Raspberry Pi Base Station Receiver Board
1x Blank SD Card
1x (optional) RaspberryPi case, this one is nice: Pimoroni Berryblack Case
Note: it's important that the frequency (868Mhz / 433Mhz) of the chosen modules match each other and is a legal ISM band in your country.
You might also need:
1x 5V DC USB Power Adapter (UK Plug)
1x Micro-USB cable
1x Ethernet cable
System setup
The OpenEnergyMonitor hardware listed above all come pre-assembled, no soldering is required. However for this particular configuration we need to change the default firmware on the emonTx in order to gain the benefit of the new addition of accumulated watt-hours calculation on the emonx which increases the accuracy and reliability of the energy measurement.
Changing the EmonTx firmware 1. Start by following the: setting up the arduino anvironment guide 2. Click on File > sketchbook > OpenEnergyMonitor > emonTxFirmware > emonTxV3 > RFM12B > Examples > emonTxV3_continuous_kwhtotals_noeeprom. This will load the firmware example that both uses the higher accuracy continuous sampling code by Robin Emley and the watt hour calculation code mentioned above. 3. Set the frequency of your emontx at the top of the sketch/firmware and nodeid if you wish to change it. Plug up your emonTx v3 with a usb to serial programmer and click on Upload.
Continuing with the hardware installation:
- Place or mount your emontx near your meter cabinet, the emonTx V3 comes with wall mounts as can be seen in the example installation above.
- Plug in the CT sensor into the emonTx first before clipping it around the mains wire and before powering-up the emonTx. Clip the sensor around either the live or neutral wire of the circuit you wish to measure. (Don't clip around both as the magnetic fields will cancel).
- Plug in the AC-AC Voltage adapter this both power's the emonTx and is used for sampling the AC mains voltage. A red light should now appear near the AC-AC adapter input and start flashing once every 10 seconds. Thats the emonTx set up! The emonTx can also be powered by batteries or from DC power source. See the emonTx technical wiki for info on using alternate power sources and interoperating the red LED behaviour
- Plug the RFM12Pi hardware expansion module onto the Pi's GPIO pins taking care to align up pin 1, the RFM12Pi should be connected to the GPIO pins connector closest to the edge of the pi.
Preparing the raspberrypi SD Card
Download the official raspberrpi raspbian image and write to the SD card.
http://www.raspberrypi.org/downloads
Once uploaded to the SD card, insert the SD card into the raspberrypi and power the pi up.
Find the IP address of your raspberrypi on your network then connect and login to your pi with SSH, for windows users there's a nice tool called putty which you can use to do this. To connect via ssh on linux:
ssh pi@YOUR_PI_IP_ADDRESS
It will then prompt you for a username and password which are: username:pi, password: raspberry.
Now that your in the first step is to edit the inittab and boot cmdline config file to allow the python gateway which we will install next to use the serial port:
sudo nano /etc/inittab
At the bottom of the file comment out the line (by adding a ‘#’ at beginning)
# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
[Ctrl+X] then [y] then [Enter] to save and exit
Edit boot cmdline.txt
sudo nano /boot/cmdline.txt
replace the line:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
with:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Reboot the pi so that this will take effect:
sudo reboot
Next we will install git and python gateway dependencies
sudo apt-get update
sudo apt-get install git-core python-serial python-configobj
Download oem_gateway with git (Im temporarily using my github 'fork' here until the node interface code has been integrated in Jerome's master repository, see here for discussion https://github.com/Jerome-github/oem_gateway/pull/20
git clone https://github.com/TrystanLea/oem_gateway cd oem_gateway cp oemgateway_node.conf.dist oemgateway.conf
Open the oem_gateway configuration file
nano oemgateway.conf
Set your radio frequency and network group in the listener config (use short hand 4 for 433Mhz and 8 for 868Mhz).
Set your emoncms.org apikey in the apikey section in the buffer.
Next we make oem_gateway run as a deamon, steps from the oem_gateway readme.
Create group emoncms and make user pi part of it
sudo groupadd emoncms sudo usermod -a -G emoncms pi
Create a directory for the logfile and give ownership to user pi, group emoncms
sudo mkdir /var/log/oemgateway sudo chown pi:emoncms /var/log/oemgateway sudo chmod 750 /var/log/oemgateway
Make script run as daemon on startup
Copy the oemgateway init script:
sudo cp oemgateway.init.dist /etc/init.d/oemgateway sudo chmod 755 /etc/init.d/oemgateway sudo update-rc.d oemgateway defaults 99
The gateway can be started or stopped anytime with following commands:
sudo service oemgateway start sudo service oemgateway stop sudo service oemgateway restart
To stop running automatically on startup (sudo update-rc.d -f oemgateway remove)
That's it, with your emonTx V3 powered, inputs should start appearing under the node tab in your emoncms account in a few seconds.
Configure Raspbian to run in read-only mode for increased stability (optional but recommended)
Steps from: http://www.raspberrypi.org/forum/viewtopic.php?f=29&t=22596
a) sudo nano /etc/default/rcS, add line RAMTMP=yes
b) sudo nano /etc/fstab
tmpfs /tmp tmpfs nodev,nosuid,size=30M,mode=1777 0 0 tmpfs /var/log tmpfs nodev,nosuid,size=30M,mode=1777 0 0 proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,ro,noatime,errors=remount-ro 0 1 # /dev/mmcblk0p3 /home ext4 defaults,noatime
c) fix mtab:
sudo rm /etc/mtab sudo ln -s /proc/self/mounts /etc/mtab
Change mount mode:
sudo mount -o remount,ro /dev/mmcblk0p2 / sudo mount -o remount,rw /dev/mmcblk0p2 /
Setting up emoncms
Navigate to the Node tab.
Click on the name of the node that appeared, it should show a drop down menu. Select the node type: EmonTx V3 (Continuous sampling with Wh totals). This will turn the undefined node into a full populated node with a list of available variables.
Click on Config for:
Power CT1: Select Log to feed, enter a name for the feed such as "Power CT1" or House Power or whatever, select the PHPFiwa feed engine and select the 10s feed interval (this is the same rate at which the EmonTx is posting)
Wh CT1: Again select Log to feed, enter a name for the feed such as "Wh CT1" or House Wh, select the PHPFina feed engine and select the 10s feed interval.
If your using the other CT's repeat for each CT.
Click on My Electric.
Click on the middle of the my electric page to bring up the configuration interface.
Select under the power feed: Power CT1
and under the Wh feed Wh CT1.
click save
Thats it you should now see your home electricity dashboard.
Configuration After initial configuration After a week of logging
Open the page on your mobile phone and bookmark it. When you click on the bookmark it will automatically log you in and bring up your electricity dashboard.
Using the monitor
The appliance list tool is a useful exercise for answering questions such as how much electricity can be save by using low energy lighting such as LED's? How much electricity does turning off lighting when not in use save?
Login to emoncms.org and then navigate to Extras > Report > Appliance list
The Electricity audit and savings case study provides more background on the appliance list exercise
Dive in, learn more
OpenEnergyMonitor mission is both to develop a super open source energy monitoring system and to build a knowledge resource that can be used to learn about everything that goes into an energy monitor. You should be able to start with just plugging up the system and using it but then be able to dive in and learn more about say the circuit design or how the web software works if you want to.
Learn more about the EmonTx v3 on the main emonTx V3 documentation page and technical wiki
Learn more about the RaspberryPI BaseStation and the RFM12Pi Technical Wiki
Learn more about Emoncms
Contributors
- Robin Emley: development of the continuous sampling emontx v3 code
- Jerome Lafréchoux: development of the oem_gateway script
- Jean Claude Wippler of jeelabs: development of RFM12B Library and RFM12_Demo code.
- Martin Harizanov: adaptation of Jean Claude Wipplers RFM12_Demo example
- Glyn Hudson: design of EmonTx v3 unit.
- Robert Wall: Circuit design feedback and rigour behind building blocks documentation that makes up the above.
- Glyn Hudson and Martin Harizanov: design of RFM12Pi board.
- Glyn Hudson: production logistics of EmonTx v3 unit and RFM12Pi board.
- Trystan Lea: emoncms development, new node interface and mobile dashboard, wh calculation addition to emontx firmware and writing of this documentation


Tron is a new modern look of old good Bootstrap. Besides fully restyled default Bootstrap functionality, Tron includes lots of extra components to help you building modern responsive websites and applications.
| File Path | Description |
|---|---|
| main | Root folder |
| main/Tron PSD UI Kit | Folder includes all premium .psd files. For more details look at Photoshop Files section. |
| main/Tron Bootstrap UI Kit | This folder includes all HTML, CSS, Javascript, Fonts and Image files of the kit. |
| main/Tron Bootstrap UI Kit/less | Folder with source .less files |
| main/Tron Bootstrap UI Kit/css | Folder includes compiled from .less full and minified version of tron-ui.css as well as separate demo.css |
| main/Tron Bootstrap UI Kit/js | All source JavaScript files |
| main/Tron Bootstrap UI Kit/img | Folder includes all images and other graphic assets. |
| main/Tron Bootstrap UI Kit/fonts | This folder includes Flaticon Material Design Pack and Font Awsome generated Fonts. They are iconic fonts, that gives you customizable vector icons (more than 900 icons in total). For more information on how it works, please visit: Font Awsome Official Website and Flaticon Material Design Pack |
| main/Tron Bootstrap UI Kit/docs | Includes detailed Bootstrap like documentation with examples and code snippets. |
| main/Tron Bootstrap UI Kit/examples | Pre-built templates to use as starting point for your next project. |
| main/Tron Bootstrap UI Kit/color-2 main/Tron Bootstrap UI Kit/color-3 main/Tron Bootstrap UI Kit/color-4 main/Tron Bootstrap UI Kit/color-5 |
Folders includes predefined color schemes. |
| main/Tron Bootstrap UI Kit/outdatedbrowser | Plugin that detects old IE (<IE9) and inform useers that they have outdated browser and link to update it. |
Tron's CSS is built with Less. Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.
For more information visit LESS official website.
For compiling LESS file into CSS we used software called "Prepros". Visit it's website at http://alphapixels.com/prepros/. Basic version is completely free and available for Mac and Windows.
Tron already includes 5 predefined color schemes to choose from. But if you want to create your own colors it is very easy to do using Less.
Follow these easy steps:
Tron includes detailed Bootstrap like documentation with examples of usage and code snippets that can be asily copied and pasted.
You can find this documentation in your copy of Tron Kit main/Tron Bootstrap UI kit/docs. Launch index.html and use navigation bar to switch between sections. The same documentation available onlie http://the8guild.com/ui-kits/tron/docs/index.html
Tron Bootstrap UI Kit is based on premium PSD Kit. All Photoshop files you will find in the Tron PSD UI Kit folder.
There are 2 versions and separate files:
Device Placeholders.psd - Layered psd file with devices mockups;
Tron colors.psd - Layered psd file Tron predefined color schemes;
Version 1:
Version 2:
While making this UI Kit we used third party plugins, images, icons, fonts, etc... and want to thank their creators:
All the third-party plugins used in this template are free for personal and commercial use.


AUX
: auxiliary verb
This document is a placeholder for the language-specific documentation
for AUX
.
Treebank Statistics (UD_Galician)
There are 2 AUX
lemmas (0%), 39 AUX
types (0%) and 1214 AUX
tokens (1%).
Out of 16 observed tags, the rank of AUX
is: 15 in number of lemmas, 9 in number of types and 13 in number of tokens.
The 10 most frequent AUX
lemmas: ser, estar
The 10 most frequent AUX
types: é, son, ser, está, sexa, foi, será, están, sendo, era
The 10 most frequent ambiguous lemmas: ser (AUX 1041, VERB 249, NOUN 6), estar (AUX 173, VERB 74)
The 10 most frequent ambiguous types: é (AUX 445, VERB 44), son (AUX 169, VERB 20), ser (AUX 115, VERB 60), está (AUX 69, VERB 19), sexa (AUX 55, VERB 14), foi (AUX 46, VERB 23), será (AUX 42, VERB 16), están (AUX 41, VERB 18), sendo (AUX 35, VERB 5), era (AUX 25, NOUN 2)
- é
- son
- ser
- está
- sexa
- foi
- será
- están
- sendo
- era
Morphology
The form / lemma ratio of AUX
is 19.500000 (the average of all parts of speech is 1.508250).
The 1st highest number of forms (22) was observed with the lemma “ser”: era, eran, es, foi, for, foron, fose, fosen, fun, sendo, ser, seremos, seren, será, serán, sería, serían, sexa, sexan, somos, son, é.
The 2nd highest number of forms (17) was observed with the lemma “estar”: estaba, estaban, estamos, estando, estar, estará, estarán, estaría, estarían, estea, estean, estiveron, estivese, estivo, estou, está, están.
AUX
does not occur with any features.
Relations
AUX
nodes are attached to their parents using 1 different relations: gl-dep/cop (1214; 100% instances)
Parents of AUX
nodes belong to 10 different parts of speech: ADJ (433; 36% instances), NOUN (398; 33% instances), VERB (229; 19% instances), ADP (115; 9% instances), PRON (12; 1% instances), ADV (11; 1% instances), PROPN (7; 1% instances), NUM (4; 0% instances), SCONJ (3; 0% instances), DET (2; 0% instances)
1213 (100%) AUX
nodes are leaves.
0 (0%) AUX
nodes have one child.
1 (0%) AUX
nodes have two children.
The highest child degree of a AUX
node is 2.
Children of AUX
nodes are attached using 2 different relations: gl-dep/case (1; 50% instances), gl-dep/ccomp (1; 50% instances)
Children of AUX
nodes belong to 2 different parts of speech: ADP (1; 50% instances), VERB (1; 50% instances)
Treebank Statistics (UD_Galician-TreeGal)
There are 19 AUX
lemmas (1%), 89 AUX
types (2%) and 391 AUX
tokens (3%).
Out of 16 observed tags, the rank of AUX
is: 10 in number of lemmas, 7 in number of types and 11 in number of tokens.
The 10 most frequent AUX
lemmas: ser, estar, poder, ir, ter, deber, haber, parecer, vir, resultar
The 10 most frequent AUX
types: é, foi, son, está, ser, era, están, sería, pode, será
The 10 most frequent ambiguous lemmas: ser (AUX 227, VERB 5, NOUN 1), estar (AUX 48, VERB 3), poder (AUX 34, NOUN 10, VERB 3), ir (AUX 19, VERB 7), ter (VERB 55, AUX 19), deber (AUX 11, VERB 4), haber (VERB 44, AUX 9), parecer (AUX 4, VERB 3, NOUN 2), vir (AUX 4, VERB 3), resultar (VERB 4, AUX 3)
The 10 most frequent ambiguous types: está (AUX 21, VERB 2), ser (AUX 22, VERB 1), están (AUX 9, VERB 1), pode (AUX 7, VERB 1), será (AUX 4, VERB 1), ten (VERB 15, AUX 7), vai (AUX 7, VERB 3), sexa (AUX 6, VERB 1), deben (AUX 4, VERB 1), hai (VERB 32, AUX 2)
- está
- ser
- están
- pode
- será
- ten
- vai
- sexa
- deben
- hai
Morphology
The form / lemma ratio of AUX
is 4.684211 (the average of all parts of speech is 1.306739).
The 1st highest number of forms (19) was observed with the lemma “ser”: e, era, eran, foi, fora, foron, fose, sendo, ser, sermos, será, serán, sería, sexa, sexamos, sexan, somos, son, é.
The 2nd highest number of forms (16) was observed with the lemma “poder”: Podiamos, poda, pode, poden, poder, poderá, poderán, podería, podia, podía, poidamos, poidan, puidemos, puidese, puidesen, puido.
The 3rd highest number of forms (10) was observed with the lemma “estar”: estaba, estaban, estamos, estar, estea, estean, estivese, estivo, está, están.
AUX
occurs with 6 features: gl-feat/VerbForm (390; 100% instances), gl-feat/Number (359; 92% instances), gl-feat/Person (357; 91% instances), gl-feat/Mood (356; 91% instances), gl-feat/Tense (337; 86% instances), gl-feat/Gender (2; 1% instances)
AUX
occurs with 18 feature-value pairs: Gender=Masc
, Mood=Cnd,Ind
, Mood=Ind
, Mood=Sub
, Number=Plur
, Number=Sing
, Person=1
, Person=2
, Person=3
, Tense=Fut
, Tense=Imp
, Tense=Past
, Tense=Pqp
, Tense=Pres
, VerbForm=Fin
, VerbForm=Ger
, VerbForm=Inf
, VerbForm=Part
AUX
occurs with 26 feature combinations.
The most frequent feature combination is Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin
(160 tokens).
Examples: é, está, pode, ten, vai, hai, parece, adoita, resulta, vén
Relations
AUX
nodes are attached to their parents using 4 different relations: gl-dep/cop (252; 64% instances), gl-dep/aux (118; 30% instances), gl-dep/aux:pass (20; 5% instances), gl-dep/fixed (1; 0% instances)
Parents of AUX
nodes belong to 9 different parts of speech: VERB (149; 38% instances), NOUN (101; 26% instances), ADJ (80; 20% instances), PRON (41; 10% instances), ADV (12; 3% instances), ADP (3; 1% instances), PROPN (3; 1% instances), AUX (1; 0% instances), NUM (1; 0% instances)
365 (93%) AUX
nodes are leaves.
25 (6%) AUX
nodes have one child.
1 (0%) AUX
nodes have two children.
The highest child degree of a AUX
node is 2.
Children of AUX
nodes are attached using 3 different relations: gl-dep/advmod (20; 74% instances), gl-dep/punct (5; 19% instances), gl-dep/fixed (2; 7% instances)
Children of AUX
nodes belong to 4 different parts of speech: ADV (20; 74% instances), PUNCT (5; 19% instances), AUX (1; 4% instances), SCONJ (1; 4% instances)
AUX in other languages: [am] [ar] [bg] [bxr] [ca] [ckb] [cop] [cs] [cu] [da] [de] [el] [en] [es] [et] [eu] [fa] [fi] [fo] [fr] [ga] [gl] [got] [grc] [he] [hi] [hr] [hu] [id] [it] [ja] [kk] [kmr] [ko] [la] [lv] [mr] [nl] [no] [pl] [pt] [ro] [ru] [sa] [sk] [sla] [sl] [so] [sr] [sv] [swl] [ta] [tr] [ug] [uk] [u] [urj] [ur] [vi] [yue] [zh]


以上图示了正常的消息流。
正常流程：
| 步骤 | 描述 |
|---|---|
| 1 | 过程Listener 启动工作。 |
| 2 | Worker 通过定期向自己发送Do 消息来计划工作 |
| 3, 4, 5 | 接收到Do 时Worker 通知CounterService 更新计数器值，三次。Increment 消息被转发给Counter ，它会更新自己的计数器变量并将当前值发给Storage 。 |
| 6, 7 | Worker 向CounterService 请求计数器的当前值并将结果回送给Listener 。 |
以上图示了当发生数据库失败时的过程
失败流程：
| 步骤 | 描述 |
|---|---|
| 1 | Storage 抛出 StorageException 。 |
| 2 | CounterService 是Storage 的监管者，StorageException 被抛出时它将重启Storage 。 |
| 3, 4, 5, 6 | Storage 仍旧失败，又被重启. |
| 7 | 在5秒内三次失败和重启后Storage 被它的监管者，即CounterService 终止。 |
| 8 | CounterService 同时监视着Storage 并在Storage 被终止时收到Terminated 消息... |
| 9, 10, 11 | 告诉Counter 当前没有可用的Storage 。 |
| 12 | CounterService 计划一个Reconnect 消息发给自己。 |
| 13, 14 | 收到Reconnect 消息后它创建一个新的Storage ... |
| 15, 16 | 并通知Counter 使用新的Storage 。 |
import akka.actor._
import akka.actor.SupervisorStrategy._
import scala.concurrent.duration._
import akka.util.Timeout
import akka.event.LoggingReceive
import akka.pattern.{ ask, pipe }
import com.typesafe.config.ConfigFactory
/**
* Runs the sample
*/
object FaultHandlingDocSample extends App {
import Worker._
val config = ConfigFactory.parseString("""
akka.loglevel = "DEBUG"
akka.actor.debug {
receive = on
lifecycle = on
}
""")
val system = ActorSystem("FaultToleranceSample", config)
val worker = system.actorOf(Props[Worker], name = "worker")
val listener = system.actorOf(Props[Listener], name = "listener")
// start the work and listen on progress
// note that the listener is used as sender of the tell,
// i.e. it will receive replies from the worker
worker.tell(Start, sender = listener)
}
/**
* Listens on progress from the worker and shuts down the system when enough
* work has been done.
*/
class Listener extends Actor with ActorLogging {
import Worker._
// If we don't get any progress within 15 seconds then the service is unavailable
context.setReceiveTimeout(15 seconds)
def receive = {
case Progress(percent) =>
log.info("Current progress: {} %", percent)
if (percent >= 100.0) {
log.info("That's all, shutting down")
context.system.shutdown()
}
case ReceiveTimeout =>
// No progress within 15 seconds, ServiceUnavailable
log.error("Shutting down due to unavailable service")
context.system.shutdown()
}
}
object Worker {
case object Start
case object Do
case class Progress(percent: Double)
}
/**
* Worker performs some work when it receives the `Start` message.
* It will continuously notify the sender of the `Start` message
* of current ``Progress``. The `Worker` supervise the `CounterService`.
*/
class Worker extends Actor with ActorLogging {
import Worker._
import CounterService._
implicit val askTimeout = Timeout(5 seconds)
// Stop the CounterService child if it throws ServiceUnavailable
override val supervisorStrategy = OneForOneStrategy() {
case _: CounterService.ServiceUnavailable => Stop
}
// The sender of the initial Start message will continuously be notified
// about progress
var progressListener: Option[ActorRef] = None
val counterService = context.actorOf(Props[CounterService], name = "counter")
val totalCount = 51
import context.dispatcher // Use this Actors' Dispatcher as ExecutionContext
def receive = LoggingReceive {
case Start if progressListener.isEmpty =>
progressListener = Some(sender)
context.system.scheduler.schedule(Duration.Zero, 1 second, self, Do)
case Do =>
counterService ! Increment(1)
counterService ! Increment(1)
counterService ! Increment(1)
// Send current progress to the initial sender
counterService ? GetCurrentCount map {
case CurrentCount(_, count) => Progress(100.0 * count / totalCount)
} pipeTo progressListener.get
}
}
object CounterService {
case class Increment(n: Int)
case object GetCurrentCount
case class CurrentCount(key: String, count: Long)
class ServiceUnavailable(msg: String) extends RuntimeException(msg)
private case object Reconnect
}
/**
* Adds the value received in `Increment` message to a persistent
* counter. Replies with `CurrentCount` when it is asked for `CurrentCount`.
* `CounterService` supervise `Storage` and `Counter`.
*/
class CounterService extends Actor {
import CounterService._
import Counter._
import Storage._
// Restart the storage child when StorageException is thrown.
// After 3 restarts within 5 seconds it will be stopped.
override val supervisorStrategy = OneForOneStrategy(maxNrOfRetries = 3,
withinTimeRange = 5 seconds) {
case _: Storage.StorageException => Restart
}
val key = self.path.name
var storage: Option[ActorRef] = None
var counter: Option[ActorRef] = None
var backlog = IndexedSeq.empty[(ActorRef, Any)]
val MaxBacklog = 10000
import context.dispatcher // Use this Actors' Dispatcher as ExecutionContext
override def preStart() {
initStorage()
}
/**
* The child storage is restarted in case of failure, but after 3 restarts,
* and still failing it will be stopped. Better to back-off than continuously
* failing. When it has been stopped we will schedule a Reconnect after a delay.
* Watch the child so we receive Terminated message when it has been terminated.
*/
def initStorage() {
storage = Some(context.watch(context.actorOf(Props[Storage], name = "storage")))
// Tell the counter, if any, to use the new storage
counter foreach { _ ! UseStorage(storage) }
// We need the initial value to be able to operate
storage.get ! Get(key)
}
def receive = LoggingReceive {
case Entry(k, v) if k == key && counter == None =>
// Reply from Storage of the initial value, now we can create the Counter
val c = context.actorOf(Props(classOf[Counter], key, v))
counter = Some(c)
// Tell the counter to use current storage
c ! UseStorage(storage)
// and send the buffered backlog to the counter
for ((replyTo, msg) <- backlog) c.tell(msg, sender = replyTo)
backlog = IndexedSeq.empty
case msg @ Increment(n) => forwardOrPlaceInBacklog(msg)
case msg @ GetCurrentCount => forwardOrPlaceInBacklog(msg)
case Terminated(actorRef) if Some(actorRef) == storage =>
// After 3 restarts the storage child is stopped.
// We receive Terminated because we watch the child, see initStorage.
storage = None
// Tell the counter that there is no storage for the moment
counter foreach { _ ! UseStorage(None) }
// Try to re-establish storage after while
context.system.scheduler.scheduleOnce(10 seconds, self, Reconnect)
case Reconnect =>
// Re-establish storage after the scheduled delay
initStorage()
}
def forwardOrPlaceInBacklog(msg: Any) {
// We need the initial value from storage before we can start delegate to
// the counter. Before that we place the messages in a backlog, to be sent
// to the counter when it is initialized.
counter match {
case Some(c) => c forward msg
case None =>
if (backlog.size >= MaxBacklog)
throw new ServiceUnavailable(
"CounterService not available, lack of initial value")
backlog :+= (sender() -> msg)
}
}
}
object Counter {
case class UseStorage(storage: Option[ActorRef])
}
/**
* The in memory count variable that will send current
* value to the `Storage`, if there is any storage
* available at the moment.
*/
class Counter(key: String, initialValue: Long) extends Actor {
import Counter._
import CounterService._
import Storage._
var count = initialValue
var storage: Option[ActorRef] = None
def receive = LoggingReceive {
case UseStorage(s) =>
storage = s
storeCount()
case Increment(n) =>
count += n
storeCount()
case GetCurrentCount =>
sender() ! CurrentCount(key, count)
}
def storeCount() {
// Delegate dangerous work, to protect our valuable state.
// We can continue without storage.
storage foreach { _ ! Store(Entry(key, count)) }
}
}
object Storage {
case class Store(entry: Entry)
case class Get(key: String)
case class Entry(key: String, value: Long)
class StorageException(msg: String) extends RuntimeException(msg)
}
/**
* Saves key/value pairs to persistent storage when receiving `Store` message.
* Replies with current value when receiving `Get` message.
* Will throw StorageException if the underlying data store is out of order.
*/
class Storage extends Actor {
import Storage._
val db = DummyDB
def receive = LoggingReceive {
case Store(Entry(key, count)) => db.save(key, count)
case Get(key) => sender() ! Entry(key, db.load(key).getOrElse(0L))
}
}
object DummyDB {
import Storage.StorageException
private var db = Map[String, Long]()
@throws(classOf[StorageException])
def save(key: String, value: Long): Unit = synchronized {
if (11 <= value && value <= 14)
throw new StorageException("Simulated store failure " + value)
db += (key -> value)
}
@throws(classOf[StorageException])
def load(key: String): Option[Long] = synchronized {
db.get(key)
}
}


ngVisibleInView Sample
Scroll down to bottom of rows.
#
Value
{{row.key}}
{{row.value}}
This is last row which is target visibleInView directive.


Upcoming Events
Log In
Home
(current)
Follow Your Teams
(current)
About NYSL
(current)
Registration Of Players
(current)
Our Rules
(current)
Contact Us
Email address
Password
Submit
Sign Up
Email address
We'll never share your email with anyone else.
Password
U1
U2
U3
U4
U5
U6
Submit
August 4
NYSL Fundraiser
August 16
Season Kick-off: Meet the Teams
September 1
First Game of the Season (Check Game Schedule for details)


My first website
This tag holds text and is called a paragraph tag.
Html Learning Goals
- Page Structures
- Element Attributes
- Tag Types
- Linking in other resources.
CSS Styles
- What properties are
- How to use elements and element attributes to change styles.
- How CSS styles cascade
- How to include these styles
| TH 1 |
TH 2 |
TH 3 |
TH 4 |
| TD 1 |
TD 2 |
TD 3 |
TD 4 |
| TD 1 |
TD 2 |
TD 3 |
TD 4 |
| TD 1 |
TD 2 |
TD 3 |
TD 4 |


21 years old, Math and software engineering student at Universidad de los Andes.
Athletism, I'm part of the university league team and I run 400 and 800 meter races.
Started at age of 5, learned by my self and have been playing and practicing ever since
I'm a passsionate traveler, I've visited more than 100 cities in over 20 countries all over the world and there are still a lot of places I want to go!


Functions | |
|
AXIS2_EXTERN axiom_children_qname_iterator_t * | axiom_children_qname_iterator_create (const axutil_env_t *env, axiom_node_t *current_child, axutil_qname_t *given_qname) |
| AXIS2_EXTERN void | axiom_children_qname_iterator_free (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env) |
| AXIS2_EXTERN axis2_status_t | axiom_children_qname_iterator_remove (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env) |
| AXIS2_EXTERN axis2_bool_t | axiom_children_qname_iterator_has_next (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env) |
| AXIS2_EXTERN axiom_node_t * | axiom_children_qname_iterator_next (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env) |
| AXIS2_EXTERN void axiom_children_qname_iterator_free | ( | axiom_children_qname_iterator_t * | iterator, | |
| const axutil_env_t * | env | |||
| ) |
free om_children_qname_iterator struct
| iterator | a pointer to axiom children iterator struct | |
| env | environment, MUST NOT be NULL |
| AXIS2_EXTERN axis2_bool_t axiom_children_qname_iterator_has_next | ( | axiom_children_qname_iterator_t * | iterator, | |
| const axutil_env_t * | env | |||
| ) |
Returns true
if the iteration has more elements. (In other words, returns true
if next
would return an axiom_node_t struct rather than null with error code set in environment
| iterator | a pointer to axiom children iterator struct | |
| env | environment, MUST NOT be NULL |
| AXIS2_EXTERN axiom_node_t* axiom_children_qname_iterator_next | ( | axiom_children_qname_iterator_t * | iterator, | |
| const axutil_env_t * | env | |||
| ) |
Returns the next element in the iteration.
| iterator | a pointer to axiom children iterator struct | |
| env | environment, MUST NOT be NULL |
| AXIS2_EXTERN axis2_status_t axiom_children_qname_iterator_remove | ( | axiom_children_qname_iterator_t * | iterator, | |
| const axutil_env_t * | env | |||
| ) |
Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next
. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.
| iterator | a pointer to axiom children iterator struct | |
| env | environment, MUST NOT be NULL |


Contact
Delhi Head Office
105, Fisrt Floor,The Centrum Mall Sultanpur,
MG Road New Delhi - 110030
Indore Office
208, N M Tower Oppsite,Om ke Namkeen Race Road,
Madhya Pradesh - 452001
| Website | www.cmmevent.com |
| Helpline | +91 9971-496-313 |
|<EMAIL_ADDRESS>|


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
L.MOHAPATRA, J & B.K.PATEL, J.
W.P.(C) NO. 21375 OF 2011 (Dt.23.12.2011) DR. BARADA KANTA MISHRA ......... Petitioner.
.Vrs.
STATE OF ORISSA .........Opp.Party.
AIR (PREVENTION & CONTROL OF POLLUTION) ACT, 1981 (ACT NO. 74 OF 1981)
- S.5.
For Petitioner - M/s. Jagannath Patnaik, B.Mohanty, T.K.Patnaik, A. Patnaik, S.Patnaik, M.S.Rizvi, R.P.Roy & B.S.Rayguru.
For Opp.Party - Advocate General. L. MOHAPATRA, J. This writ application relates to appointment to the post of
Chairman, State Pollution Control Board. The petitioner was a faculty of Botany Department in Ravenshaw University and thereafter he served as Deputy Controller of Examinations, Council of Higher Secondary Education, Orissa on deputation. The petitioner also worked as Deputy Director in the Directorate of Higher Education and thereafter as Deputy Secretary to Government in the Department of Higher Education. He also worked as Principal, Rajdhani Junior College. The petitioner was also the Senior Scientist, Forest and Environment Department, Government of Orissa which is concerned with Environmental Management and Administration. After serving as Senior Scientist, the petitioner became the Member Secretary, State Pollution Control Board, Orissa and continued as such till he attained the age of superannuation. It is stated in the writ application that the petitioner is also the co-author of books published by the Orissa State Bureau of Text Book Preparation and Production. He also participated in a specialized training programme on assessment of hazardous Waste Dump, Sites and Preparation of Remediation of Plants in Germany and had also participated in a number of National Conferences and Seminars. Since January 2008 the post of Chairman, State Pollution Control Board was lying vacant. The then Chief Secretary proposed for appointment of the then Development Commissioner as the Chairman of State Pollution Control Board and at the same time an order was passed to constitute a Search Committee for choosing a suitable person for appointment to the post of Chairman, State Pollution Control Board on regular basis.
Section-5 of Air (Prevention and Control of Pollution) Act, 1981 provides for appointment of a Chairman for the State Pollution Control Board. It is provided that State Board constituted under the Act shall consist of a Chairman, being a person having special knowledge or practical experience in respect of matters relating to environmental protection, to be nominated by the State Government, provided that the Chairman may be either whole time or part time as the State Government may think fit.
2. The Hon'ble Supreme Court constituted an Expert Committee under the Chairmanship of Prof. M.G.K.Menon to examine and recommend measure for protecting the environment from the impacts of generation and trans-boundary movement of large volumes of hazards waste in the country in a Public Interest Litigation filed in the year 1995. The Committee while making recommendations on the relevant issues also suggested certain eligibility criteria required to be fulfilled for appointment to the post of Chairman, State Pollution Control Board. The said report of the Committee was accepted in principle by the Hon'ble Supreme Court of India vide order dated 31.8.2007. The Hon'ble Supreme Court also constituted a 'Supreme Court Monitoring Committee' to over see the compliance of those recommendations submitted by the Committee. Supreme Court Monitoring Committee laid down the qualifications for the candidate for appointment to the post of Chairman, State Pollution Control Board which are as follows:-
1) He should have an understanding of the complexity of the modern Science and Technology, Pollution Control matter and Environmental Management with a sense of vision and feeling for the future.
2) He should have an understanding and experience in dealing with legal matters.
3) He should be dynamic with administrative experience of leading a scientific group as evinced from his track record.
3. In view of the order passed by the Hon'ble Chief Minister to constitute a Search Committee for choosing a suitable person for appointment to the post of Chairman, State Pollution Control Board on regular basis, a Search Committee was constituted with the following as it's member.
1. Chief Secretary .... ... Chairman 2. Chairman, Central Pollution Control Board, Delhi .. .... Member 3. Development Commission-cum- Addl.Chief Secretary ...... Member 4. Dr.C.R.Mohapatra, Former Chairman, SPCB, Orissa ....... Member 5. Principal Secretary, Forest And Environment Department ...... Member Convener
4. The Committee as per the earlier practice decided to issue an advertisement calling for applications/nominations for appointment to the said post and such advertisement was published in English Newspaper and in daily Newspaper 'The Sambada' and in the departmental website. Applications/nominations were invited from persons who had worked or were working in the State Government/Central Government Departments/Public Sector Undertakings and Universities and all the eligible criteria had also been indicated in the said advertisement. In pursuance of the said advertisement, the petitioner submitted his application. In total 51 applications were received by the Search Committee and after short listing, 13 candidates were called for interaction including the petitioner. The petitioner was called upon to appear before the Search Committee for interaction on 23rd April 2011. On 26th April, 2011 the Search Committee selected and recommended three candidates in order of merit and name of the petitioner found place at serial no.1 in the panel of the selected candidates prepared by the Search Committee. After completion of entire selection process, a panel was prepared and the Principal Secretary, F & E Department on the basis of recommendations made by the Search Committee proposed the name of the petitioner, who was at Serial No.1 of the merit list, to the Hon'ble Chief Minister for appointment to the post of Chairman, State Pollution Control Board for a period of three years. In Annexure-1, the Hon'ble Chief Minister rejected the panel submitted by the Search Committee and recommended by the Principal Secretary with the following note.
"None of the recommended persons is found suitable and the panel is rejected.The Search Committee may recommend a fresh panel".
Challenging the said order passed by the Hon'ble Chief Minister, this writ application has been filed.
5. Shri Jaganath Patnaik, learned Senior Counsel appearing for the petitioner at the time of hearing drew attention of the Court to paragraph-5 of the writ application and submitted that the Search Committee constituted in terms of the observation made by the Hon'ble Supreme Court in the above mentioned case formulated a procedure for selection of a candidate for appointment to the post of Chairman, State Pollution Control Board. Numerical weightage in respect of all the important parameters/attributes were decided to be given at the time of selection. The total mark was kept at 10, out of which two had been assigned for Ph.D. in Science, M.Tech and ME, six marks for twenty years service including five years in environment management/pollution control and two marks for experience in handling legal matters as evinced from the type of work performed. According to Shri Pattnaik, learned Senior Counsel appearing for the petitioner, the Search Committee consisted of creative people having ample knowledge and experience in administration and environmental affairs. The Search Committee having such experience, had formulated a procedure for selection of the candidate keeping all parameters/attributes necessary for a candidate to hold the post of Chairman, State Pollution Control Board. The Search Committee having selected the petitioner as No.1 in the panel, there was no reason on the part of the Hon'ble Chief Minister to reject the said recommendation on the ground that none of the persons is found suitable. When the Search Committee found the petitioner most suitable for appointment to the said post and placed the petitioner at serial no.1 in the panel of three selected candidates the reason for which the Hon'ble Chief Minister found all the three selected candidates unsuitable is not spelt out in the impugned order. Reliance was placed by Shri Patnaik, learned Senior Counsel on a decision of the Hon'ble Supreme Court in the case of R.S.Mittal Vrs. Union of India reported in 1995 Suppl(2) Supreme Court Cases 230. With reference to the said decision, it was contended by the learned Senior Counsel that where there is a vacancy which can be offered to a selected candidate on the basis of his merit position, denial of appointment to him without a proper reason is unjustified.
Learned Advocate General appearing for the opposite party submitted that recommendation of the Search Committee is not binding on the Hon'ble Chief Minister and it is open for him not to accept the recommendation made by the Search Committee and direct for preparation of a fresh panel. In the impugned order, the Hon'ble Chief Minister has only done that and, therefore no fault can be found with the impugned order passed by the Hon'ble Chief Minister.
6. Undisputedly, by order of the Hon'ble Chief Minister and in terms of the direction of the Hon'ble Supreme Court, a Search Committee had been constituted for selection of a candidate to be appointed as Chairman of the State Pollution Control Board on regular basis. Undisputedly, also the Search Committee consisted of members, who were competent because of their past experience to select a candidate. It is also not disputed that 51 applications were received and 13 candidates were short listed for interaction. The petitioner was one of those thirteen candidates. The Search Committee interacted with all the thirteen candidates and came out with panel of three candidates in order of merit for the purpose of appointment to the post. The petitioner was placed at serial no.1 in the panel of the three selected candidates. The Principal Secretary, F & E Department also forwarded the recommendation of the Search Committee for appointment. From the impugned order passed by the Hon'ble Chief Minister, it is seen that none of the recommended persons was found suitable. No reason whatsoever has been assigned in the impugned order as to why any one of the three empanelled candidates was not found suitable when they had been selected by the Search Committee keeping in mind the requirements for appointment to the said post. We therefore called upon the learned Advocate General to produce the relevant records to find out as to whether any reason has been assigned in the file for rejecting the panel on account of unsuitability.
7. From the office note, we find that as per the Government order, Search Committee was constituted with the Chairmanship of the Chief Secretary, Government of Orissa. Dr.C.R. Mohapatra, the former Chairman of State Pollution Control Board and the Chairman, Central Pollution Control Board were requested to give their consent to be members of the Search Committee. From the office note dated 26.4.2010, it appears that after obtaining consent, the Search Committee was constituted. From the office note dated 4.4.2011, it appears that under the Chairmanship of Chief Secretary the Committee discussed the modalities for selection of a suitable person for the post of Chairman, State Pollution Control Board and the Committee also decided to apply two more criteria to further reduce the number of applicants to be called for interaction. Thereafter short listing was done and the short listed candidates were requested to appear for interaction with the Search Committee. From the office note dated 26.4.2011, it appears that Search Committee held three sittings and selected three candidates in order of merit for the post after interaction with thirteen candidates through a short listing process out of 51 applicants whose applications had been received in response to an open advertisement in the newspapers and on the department's website. The following are the three candidates, who had been selected by the Search Committee.
1. Dr.Barada Kanta Mishra (Petitioner)
2. Shri Suresh Chandra Mohanty.
3. Prof.(Dr.) Pramod Chandra Mishra.
The Principal Secretary in the said note stated that the petitioner, who is at serial no.1 of the Search Committee panel may, perhaps, be appointed as Chairman, Orissa State Pollution Control Board for a period of three years from the date of assuming office. The then Chief Secretary also agreed to the said proposal and the file was placed before the Hon'ble Chief Minister. The Hon'ble Chief Minister passed the order on 7.7.2011 as quoted above but the record does not disclose any reason on the basis of which, none of the three candidates selected by the Search Committee was not found suitable.
8. The decision relied upon by the learned Senior Counsel Shri Pattnaik appearing for the petitioner relates to appointment to the post of Judicial Member, Income Tax Appellate Tribunal. From the said reported judgment, it appears that for appointment to the above post a Selection Board was constituted headed by a sitting Judge and the Board prepared a panel of selected candidates and sent its recommendations to the Central Government for consideration. The Central Government did not make any appointment and issued fresh advertisement inviting applications for the said post. The action of the Central Government was challenged before the Tribunal and ultimately the matter came before the Hon'ble Supreme Court. In paragraph-10 of the judgment, the Hon'ble Supreme Court has observed as follows.
"The Tribunal dismissed the application by the impugned judgment on the following reasoning:
(a) The selection panel was merely a list of persons found suitable and does not clothe the applicants with any right of appointment. The recommendations of the Selection Board were directory and not mandatory and were not therefore enforceable by issue of a writ of mandamus by the Court.
(b) The letter of Ministry of Home Affairs dated 8.2.1982 which extends the life of panel till exhausted is not relevant in the present case. In the circumstances the life of the panel in this case cannot go beyond 18 months and as such expired in July 1989.
It is no doubt correct that a person on the select panel has no vested right to be appointed to the post for which he has been selected. He has a right to be considered for appointment. But at the same time, the appointing authority cannot ignore the select panel or decline to make the appointment on its whims. When a person has been selected by the Selection Board and there is a vacancy which can be offered to him, keeping in view his merit position, then, ordinarily, there is no justification to ignore him for appointment. There has to be a justifiable reason to decline to appoint a person who is on the select panel. In the present case, there has been a mere inaction on the part of the Government. No reason whatsoever, not to talk of a justifiable reason, was given as to why the appointments were not offered to the candidates expeditiously and in accordance with law. The appointment should have been offered to Mr. Murgad within a reasonable time of availability of the vacancy and thereafter to the next candidate. The Central Government's approach in this case was wholly unjustified".
9. In view of the above observation made by the Hon'ble Supreme Court in the said reported case, no reason having been assigned in the order in Annexure-1 as to why the candidates selected by the Search Committee were not found suitable for appointment, the said order is liable to be quashed.
10. We are conscious of the fact that recommendation of the Search Committee is not binding on the Hon'ble Chief Minister but at the same time when a panel is rejected on the ground that the selected candidates were not suitable for appointment to the post, such observation has to be on the basis of justifiable reasons. No reason whatsoever having been assigned in the said order in Annexure-1 while coming to a conclusion that none of the empanelled candidate is suitable for appointment, we find no other option except quashing the order in Annexure-1 and remit the matter back to the Hon'ble Chief Minister for reconsideration of the case in the light of the judgment of the Hon'ble Supreme Court quoted above. The writ application is disposed of accordingly.
Writ petition disposed of.


Loadings
Architectural structures must be designed to resist (mechanically or otherwise) different type of loadings with an appropriate level of safety.
We first recognized the need for a characterization of actions and resistances in terms of stochastic variables.
Next we recognized the need to associate different levels of safety to different limit states.
Eventually we devised an approximate method to achieve our aims, the method of partial factors.
The different type of loadings, as defined by the Eurocode and the current Italian building code, were described in the last part of the class.
Downloads
Material available for this class:


Dashboard
Add User
Room Management
Billing
Inventory Management
Attendence Management
Settings
Stats
Some Actions
Account
Rooms Available
My Bookings
Pending checkout
Revenue
No Of Customers:
Watt


Wikidot does not modify your Facebook profile nor post any information on your behalf without your acceptance.
It's simply a place to build wiki-based websites. Use it to publish content, share your documents, collaborate with friends or coworkers, create a place for your community!
Wikidot is…
How it works?
Sign-up
Create a Wiki
Invite Work Publish
Awesome features
Great community support
Wikidot has one of the best communities on the Internet. Need help? Want to share your site? It's there 24/7.
Working together
Work with friends and coworkers on the same documents, share data and files instantly.
Powerful and easy
Wikidot technology empowers you to create simple websites as well as huge and powerful portals.
Cloud solutions
Wikidot uses cloud computing and storage. It's reliable, scalable and can handle sites with millions of visitors per month too.
Inexpensive
Pro features are available from $4 per month. We work hard to make it the best price ratio on the market.
Professional tool
Wikidot meets the demands of most challenging professionals providing them with its power features
Wikidot does not modify your Facebook profile nor post any information on your behalf without your acceptance.


4 references to AddRef
System.Management.Automation (4)
engine\hostifaces\PSDataCollection.cs (1)
604
AddRef
();
engine\remoting\client\Job.cs (1)
4196
Results.
AddRef
();
engine\remoting\commands\ReceiveJob.cs (1)
510
_results.
AddRef
();
utils\ObjectStream.cs (1)
1594
storeToUse.
AddRef
();


Material takes cues from contemporary architecture, road signs, pavement marking tape, and athletic courts. Color should be unexpected and vibrant.
Primary and accent colors can be customized to illustrate or develop your brand colors.
Themes enable consistent app styling through surface shades, shadow depth, and ink opacity.