How to use the Feathers SimpleScrollBar
Component
The SimpleScrollBar
component selects a numeric value in a specific range by dragging a thumb along an invisible track. A simple scroll bar may be displayed in either a horizontal or a vertical direction. This component is designed to be used with components that support scrolling, like ScrollContainer
and List
.
The Basics
You can use the SimpleScrollBar
with a class like ScrollContainer
or List
by instantiating it in the horizontalScrollBarFactory
or the verticalScrollBarFactory
.
list.horizontalScrollBarFactory = function():IScrollBar
{
return new SimpleScrollBar();
}
The container will automatically handle setting properties like direction
, minimum
, maximum
, and step
, and it will automatically listen for Event.CHANGE
to know when the value
property changes.
Skinning a SimpleScrollBar
The SimpleScrollBar
has one part that may be skinned, its thumb. A SimpleScrollBar's track is invisible. That's where the "simple" part comes from. For full details about what skin and style properties are available, see the SimpleScrollBar
API reference.
Skinning the Thumb
This section only explains how to access the thumb sub-component. Please read How to use the Feathers Button
component for full details about the skinning properties that are available on Button
components.
With a Theme
If you're creating a theme, you can target the SimpleScrollBar.DEFAULT_CHILD_STYLE_NAME_THUMB
style name.
getStyleProviderForClass( Button )
.setFunctionForStyleName( SimpleScrollBar.DEFAULT_CHILD_STYLE_NAME_THUMB, setScrollBarThumbStyles );
The styling function might look like this:
private function setScrollBarThumbStyles( thumb:Button ):void
{
var skin:ImageSkin = new ImageSkin( texture );
skin.scale9Grid = new Rectangle( 2, 3, 1, 6 );
thumb.defaultSkin = skin;
}
You can override the default style name to use a different one in your theme, if you prefer:
scrollBar.customThumbStyleName = "custom-thumb";
You can set the function for the customThumbStyleName
like this:
getStyleProviderForClass( Button )
.setFunctionForStyleName( "custom-thumb", setScrollBarCustomThumbStyles );
Without a Theme
If you are not using a theme, you can use thumbFactory
to provide skins for the scroll bar's thumb:
scrollBar.thumbFactory = function():Button
{
var button:Button = new Button();
//skin the thumb here, if not using a theme
var skin:ImageSkin = new ImageSkin( texture );
skin.scale9Grid = new Rectangle( 2, 3, 1, 6 );
thumb.defaultSkin = skin;
return button;
}


This page is dedicated to resources we strongly recommend to anyone looking to grow and optimize their skill set.
by Richard F. Muhlebach, Alan A. Alexander
Description: This book provides a comprehensive review of the lease negotiation process, elucidating the unique perspectives of both the landlord and the tenant. As veteran real estate management professionals with over 70 years combined experience in the field, the authors share the key components that go into each party's role in the leasing process, from the initial stages through execution. Landlords, asset managers, brokers, and tenants alike will gain tips for handling the toughest of negotiations in order to achieve a win-win outcome.
by Dale Carnegie
Description: This grandfather of all people-skills books was first published in 1937. It was an overnight hit, eventually selling 15 million copies. How to Win Friends and Influence People is just as useful today as it was when it was first published, because Dale Carnegie had an understanding of human nature that will never be outdated.
by Steven Pressfield
Description: Drawing on his many years' experience as a writer, Pressfield (The Legend of Bagger Vance) presents his first nonfiction work, which aims to inspire other writers, artists, musicians, or anyone else attempting to channel his or her creative energies. While certainly of great value to frustrated writers struggling with writer's block, Pressfield's highly personal philosophy, soundly rooted in his own significant life challenges, has merit for anyone frustrated in fulfilling his or her life purpose.
by Roger Fisher
Description: Since its original publication nearly thirty years ago, Getting to Yes has helped millions of people learn a better way to negotiate. One of the primary business texts of the modern era, it is based on the work of the Harvard Negotiation Project, a group that deals with all levels of negotiation and conflict resolution. Getting to Yes offers a proven, step-by-step strategy for coming to mutually acceptable agreements in every sort of conflict.
by Miyamoto Musashi
Description: When the undefeated samurai Miyamoto Musashi retreated to a cave in 1643 and wrote The Book of Five Rings, a manifesto on swordsmanship, strategy, and winning for his students and generations of samurai to come, he created one of the most perceptive and incisive texts on strategic thinking ever to come from Asia. Musashi gives timeless advice on defeating an adversary, throwing an opponent off-guard, creating confusion, and other techniques for overpowering an assailant that will resonate with both martial artists and everyone else interested in skillfully dealing with conflict. For Musashi, the way of the martial arts was a mastery of the mind rather than simply technical prowess.
by Building Owners and Managers Association International
Description: The Building Owners and Management Association International sets the standard for measuring buildings. They are the best resource for understanding the methods of measurement for different property types.
by DocuSign
Description: DocuSign provides a means for obtaining digital signature that can help streamline your transaction processes.
by Curbed
Pick your city and stay up to date with local real estate news.
by GlobeSt
Stay current with national and regional commercial real estate news, resource directories, webinars, thought leadership and events.
BrokerTemplates is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.


Contains the basic reflection primitives as well as functions operating on those primitives. More...
Classes | |
| class | field_descriptor |
| Represents a reflected field. More... | |
| class | function_descriptor |
| Represents a reflected function. More... | |
| class | member_descriptor_base |
| The base type for member descriptors. More... | |
| class | type_descriptor |
| Represents a reflected type. More... | |
Functions | |
| template<typename T > | |
| constexpr bool | is_field (const T &) noexcept |
| template<typename T > | |
| constexpr bool | is_function (const T &) noexcept |
| template<typename T > | |
| constexpr bool | is_type (const T &) noexcept |
| template<typename A , typename T > | |
| constexpr bool | has_attribute (const T &) noexcept |
| template<typename A , typename T > | |
| constexpr const A & | get_attribute (const T &t) noexcept |
| template<template< typename... > typename A, typename T > | |
| constexpr const auto & | get_attribute (const T &t) noexcept |
| template<typename T > | |
| constexpr bool | is_property (const T &t) noexcept |
| template<typename T > | |
| constexpr attr::property | get_property (const T &t) noexcept |
| template<typename T > | |
| constexpr bool | is_readable (const T &) noexcept |
| template<typename T > | |
| constexpr bool | is_writable (const T &) noexcept |
| template<typename T > | |
| constexpr auto | has_bases (const T &t) noexcept |
| template<typename T > | |
| constexpr auto | get_bases (const T &t) noexcept |
| template<typename T > | |
| const char * | get_debug_name (const T &t) |
| template<typename T > | |
| const char * | get_display_name (const T &t) noexcept |
Contains the basic reflection primitives as well as functions operating on those primitives.
|
noexcept |
Returns the value of the attribute A on T.
|
noexcept |
Returns the value of the attribute A on T.
|
noexcept |
Returns a list of the type_descriptor<T>s of the base types of the target, as specified by the bases<A, B, ...> attribute.
| const char* refl::descriptor::get_debug_name | ( | const T & | t | ) |
Returns the debug name of T. (In the form of 'declaring_type::member_name').
|
noexcept |
Returns the display name of T. (Uses the friendly_name of the property attribute or falls back to the in-code name).
|
noexcept |
Gets the property attribute.
|
noexcept |
Checks whether T has an attribute of type A.
Checks whether T has an attribute of that is a template instance of A.
|
noexcept |
Checks if a type has a bases attribute.
|
noexcept |
Checks whether T is a field descriptor.
|
noexcept |
Checks whether T is a function descriptor.
|
noexcept |
Checks whether T is a member descriptor marked with the property attribute.
|
noexcept |
Checks if T is a readable property or a field.
|
noexcept |
Checks whether T is a type descriptor.
|
noexcept |
Checks if T is a writable property or a non-const field.


2014 was called the "Super Election" year in Sweden. All over Europe, far right-wing parties have increased in popularity and gained more votes from the people. In Sweden, the fastest growing political party is Sverigedemokraterna. There has also been a rise of interest in important political questions, especially the issue of immigration and refugees.
Social media plays a role in the public conversation of important political issues. People today are connecting by sharing and commenting on news articles online. Looking at the top 10 most shared Aftonbladet news articles referencing Sverigedemokraterna, 8 of those articles concerned the immigration and refugee issue.


--- title: evalSectionsEquispacedFFT sidebar: function_reference_sidebar permalink: SO3FunHarmonic.evalSectionsEquispacedFFT.html folder: function_reference toc: false ---
Evaluate an SO3FunHarmonic on ODFSections by using an equispaced grid along the other 2 Euler angles \[(\alpha_a,\beta_b,\gamma_c) = (\frac{2\pi a}{H_1},\frac{\pi b}{H_2-1},\gamma_c)\] where \(a=0,...,H_1-1\), \(b=0,...,H_2-1\) and \(c=0,...,S_{num}\).
Therefore we transform the SO(3) Fourier series to an usual Fourier series equivalent as in the function eval
. But we use an 2-variate equispaced FFT instead of the NFFT in second step.
| SO3F | SO3FunHarmonic |
| oS | @ODFSection (gamma) |
| nodes | orientation |
| f | values at this grid points |
| 'resolution' | shape constant along Euler angles. (default = 2.5°) |


Command Line Options
Synopsis:
zero [progname | corefile] [arg [arg]]
arg may be either a command line option for the debugger, or
an argument for the debugged program.
Arguments that follow the program name, and do not start with a dash,
are passed as command line arguments to the debugged program.
If you need to pass to the debuggee an argument that
contains spaces, then you need to put double quotes around it.
Arguments starting with a dash are passed to the debugger engine and to the
plug-ins. If you need to pass command line arguments starting with a dash to
the debugged program, prefix them with a standalone, double dash.
For example: zero foo -v --main passes -v and --main to the debugger engine,
while: zero foo -- -v --main passes -v and --main to the debugged program foo.
Debugger engine command line options:
--break-on-throw: stop target execution before throwing an exception
--cache-disable: do not cache debug information from one run to another.
--main: automatically position at main, and start debugging
from there, skipping the startup code. This is not the default, since
it does not apply to: programs that don't have a main function,
programs that have not been executed from under the debugger, and
post-mortem debugging.
This is equivalent to setting the ZERO_START_MAIN
environment variable to true.
--no-banner: do not display copyright and version info to console
when starting up the debugger
--no-hw-bp(no hardware breakpoints): disable usage of
hardware breakpoints, works around a bug in Virtual PC.
This is equivalent to setting the ZERO_HARDWARE_BREAKPOINTS
environment variable to zero (or false).
--no-trace-fork: do not trace into forked processes
--syscall-break: break into the debugger each and every time the debugge
is about to enter and leave a system call.
-v: development builds only: print verbose information to console.
--dwarf-nofh: disable frame handlers in the dwarf plugin; frame handlers
read stack unwinding info from the debuggee and work with the stack unwinder.
Frame handlers are enabled by default.
--ui-disable: do not activate the UI plugin even if
found in the plugin path
See also:User Interface Layout


WHAT HAVE I DONE TO DESERVE THIS? (1984) A film review by Edwin Jahiel Copyright 1996 Edwin Jahiel
FAMILY PLOT
WHAT HAVE I DONE TO DESERVE THIS? (Que He Hecho Yo Para Merecer Esto?)(Spain,1984*) Written and directed by Pedro Almodovar. Cinematography, Angel Luis Fernandez. Art direction, Pin Morales, Roman Arango. Editing, Jose Solcedo. Music, Bernardo Bonezzi. Cast: Carmen Maura, Angel de Andres-Lopez, Veronica Forque, Gonzalo Suarez, Chus Lampreave, Juan Martinez, Miguel Angel Herranz, Amparo Soler Leal, Luis Hostalot. A Tesauro and Kaktus coproduction, released by Cinevista. In Spanish with subtitles. 100 minutes. No rating.
Pedro Almodovar, who has been emerging in the 1980s as the naughty boy of Spanish cinema, may baffle you with WHAT HAVE I DONE..., but he will also amuse you and instruct you. The film's mixed-genre is something that unsettles habitues of commercial spectacles. Although our desire to classify what we see makes us wonder where exactly this movie fits (from scene to scene--and within scenes --it swings from farce to drama and from comedy to tragedy), the unorthodox effects build up into a coherent absurdist whole, somewhat like a play by Eugene Ionesco.
Gloria is a woman in her thirties. She would be attractive were she not so harried. She lives in a cramped apartment within a monstrous low-cost housing development. Co-existing around her is a gallery of individuals, each of whom is outrageous in a different way, each of whom is worked into the plots and subplots of the movie.
There's Antonio, the chauvinist pig taxi-driver husband who is hung up on German songs by Zarah Leander (the darling of the Nazi era) ; who has a talent for imitating handwriting; who once forged some letters of Hitler to a mistress, when he (Antonio) was a chauffeur in Germany and sleeping with his lady employer.
There's the older son who deals drugs and the younger son who goes to bed with his classmate's father. There's Antonio's stingy old mother (played with filmic effrontery by a young woman in opaque glasses) who's hung up on sweets and mineral water ("with lots of bubbles") and sells part of her stock to her son, as needed.
Across the hall is sexy Cristal, Gloria's only friend and a whore.  The child has telekinetic powers.
If movies had a face, this one would have a deadpan expression. In a series of off-the-wall crises, the film proceeds imperturbably, treating the most outlandish or immoral events in casual fashion. Ill-husbanded Gloria, long on household slavery and short on household money, also works as a cleaning woman. She pops uppers to steady her nerves. As the picture opens, she has a sexual encounter of the LAST TANGO IN PARIS school. Later, one of her husband's fares who also happens to be one of Cristal's clients, hires her for himself and his brother.  He hatches a plot involving Antonio and another Nazi forgery.
 Grandma adopts a lizard and baptizes him "Money," the most important thing in life.
That's only part of the criss-crossings where each individual gets by hook, crook , or arbitrariness, involved with several others, but is hardly involved in any concern for others. It takes a while for us to sort things out in those concentric circles, to realize that the shifting center of the movie is Gloria, to see that the main point is a feminist one about the still-unliberated woman in Spain. Women may have come a long way since Franco died, but they still have a much longer way to go.
Almodovar, performer, cartoonist, writer and filmmaker, conducts his movie like a series of mad yet cool improvisations. WHAT HAVE I DONE.... may remind you in some ways of underground features, of the work of American director Paul Bartel, of gonzo journalism, of the dark humor of Bunuel and other Spaniards, but it is essentially an original work.
The French New Wave--by now old but staging a welcome comeback via contemporary imitators in Britain and elsewhere--may also come to mind, with for example, Almodovar's asides on top of asides. Some of those are obviously relevant. Others are indirectly relevant, like the very funny parodies of neo-Hispanic TV commercials which comment on the ludicrousness of the media and the way they stultify the public. Others yet (like a man who makes car noises) look like inventions that were too good to pass up--so why not throw them in?
As you watch this film, you may go through different stages, including one where you think that there's overkill, but keep going and the purposes of Almodovar's exaggerations fall into place.  I will not reveal all the ins and outs of the plot, but when a hambone and police investigators get involved, not only does this in with the opening sequence in a "kendo" (martial arts) academy, but also with a once-famous black humor story by Roald Dahl, first printed in the New Yorker magazine many years ago.*
In keeping with its subject(s), the film has provocative tastelessness at times, and always a voluntarily garish look, from the amateurish opening credits in strong, primary colors, to its defiant use of unsophisticated lighting set-ups. The closing shots of the building complex may or may not be a reference to Godard's denunciation of soulless low-cost housing and living in his film ONE OR TWO THINGS I KNOW ABOUT HER. But anyone who knows European public housing will see the validity of those simple, emblematic images.
In speech and deed, there's much bawdiness, with parodistic sex scenes and Rabelaisian glee at bodily functions and references to them. The subtitles try much too hard to render the Spanish slang into English slang, with unintentionally funny results and misspellings: you get sonny for Sony, smak for smack, nitwuit, or cryptic things like " my j'ug."
WHAT I HAVE DONE is not a "finished" product by ordinary standards. I say this as a compliment to its convention-defying nature , to its maverick power, the method in its madness, and the consistently ironical view of a world which is askew.
It is certainly one of the most interesting films shown in the US in 1988. ------------------------------------------------------- Review written in 1988.
* 1996 addenda: (1) Many sources in US film guides give it erroneously a 1985 release date. (2) The Roald Dahl story and/or its main trick found their way into TV programs of the Alfred Hitchcock Presents type, as well as in features.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


This section will describe how we can consume messages and user Supervisor to control these consumers.
Included in the Framework Bundle is a Symfony Command that is for consuming message from a queue:
/vendor/smartbox/integration-framework-bundle/Command/ConsumeCommand.php
An example of this command being used would be as follows:
php app/console smartesb:consumer:start queue://api/normal/skeleton/v0/asyncping --killAfter=200
or the follow for our dev environment
php app/dev_console smartesb:consumer:start queue://api/normal/skeleton/v0/asyncping --killAfter=200
The queue queue://api/normal/skeleton/v0/asyncping
is where the Command will try to consume from.
The option --killAfter=200
tells the command to stop running after it has processed 200 messages.
The queue mnetioned above will be mapped to the route api://execute/skeleton/v0/asyncping
that is the “from” part of the flow defined in app/config/flows/AsyncPing.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext trace="false" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="api://execute/skeleton/v0/asyncping"/>
<to uri="rest://remote_system_api/sendPingMessage" />
</route>
</camelContext>
</beans>
The mapping of queue://api/normal/skeleton/v0/asyncping
to api://execute/skeleton/v0/asyncping
happens in another flow definition: app/config/flows/apiAsync.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext trace="false" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="queue://api/{priority}/{apiService}/{apiVersion}/{apiMethod}" customId="true" id="read_api_queue">
<description/>
</from>
<to uri="api://execute/{apiService}/{apiVersion}/{apiMethod}" customId="true" id="execute_api_method_async">
<description>Main API endpoint</description>
</to>
<!-- Note that we are not handling callbacks here in the skeleton bundle. -->
<stop customId="true" id="null_callback_end"/>
</route>
</camelContext>
</beans>
When a message is consumed, the consume Command will look at its Itinerary and decide what it should do with the message. Here are the contents of a ping message that was sent to RabbitMq:
{
"_type": "Smartbox\\Integration\\FrameworkBundle\\Components\\Queues\\QueueMessage",
"body": {
"_type": "Smartbox\\Integration\\FrameworkBundle\\Core\\Messages\\Message",
"body": {
"_type": "SmartboxSkeletonBundle\\Entity\\PingMessage",
"message": "Ping",
"timestamp": "1541492371"
},
"context": {
"values": {
"_type": "Smartbox\\CoreBundle\\Type\\SerializableArray",
"array": {
"api_mode": {
"_type": "Smartbox\\CoreBundle\\Type\\StringType",
"value": "real"
},
"from": {
"_type": "Smartbox\\CoreBundle\\Type\\StringType",
"value": "api://entry/skeleton/v0/asyncping"
},
"priority": {
"_type": "Smartbox\\CoreBundle\\Type\\StringType",
"value": "normal"
},
"transaction_id": {
"_type": "Smartbox\\CoreBundle\\Type\\StringType",
"value": "5be14e93ba7bb2.45350727"
},
"version": {
"_type": "Smartbox\\CoreBundle\\Type\\StringType",
"value": "0"
}
}
}
},
"headers": {
"api_mode": "real",
"async": "true",
"from": "api://entry/skeleton/v0/asyncping"
}
},
"context": {
"values": {
"_type": "Smartbox\\CoreBundle\\Type\\SerializableArray",
"array": {}
}
},
"headers": {
"destination": "dev/api_async/normal/skeleton/v0/asyncping",
"expiration": "86400000",
"expires": "1541578771000",
"from": "queue://api/normal/skeleton/v0/asyncping",
"priority": "4",
"ttl": "86400"
}
}
Note that the “destination” matches the queue that we have sent this to in RabbitMq:
Also worth noting is the body that is sent, it is a serialized representation of our Entity SmartboxSkeletonBundle\\Entity\\PingMessage
.
In practice we advise that you use the “killAfter” option so that consumers will exit after processing a certain amount of message. In conjunction with this we also recommend that you have process control system like Supervisord to rerun the consumer.
To install supervisor on Ubuntu use the following:
sudo apt-get install supervisor
To create a consumer that will be controlled by supervisord, we can add a .conf file to the supervisor configurations directory. For example:
which would contain contents as follows:
```bash
[program:consumer_db_queue]
process_name = %(program_name)s_%(process_num)02d
autostart = true
autorestart = true
numprocs=10
directory=/var/www/skeleton/
command = php app/console smartesb:consumer:start queue://api/normal/skeleton/v0/asyncping --killAfter=200
stdout_logfile = /home/mel/stdout.log
stderr_logfile = /home/mel/stderr.log
startretries = 10
user = mel
Note that the value numprocs=10
means that supervisor will attempt to always run 10 instances/processes of the program.


T
- the type of elements in the sequenceU
- the optional type of input to the sequence (Void
if not needed)X
- the type of exception that may be thrown during sequence generation@FunctionalInterface public interface Sequence<T,U,X extends Throwable>
Generator
. This is very similar to the
Iterator
interface, but it allows for propagation of exceptions that the generator may
throw.Generator
| Modifier and Type | Method and Description |
|---|---|
default Iterator<T> |
asIterator()
Returns a view of this sequence as an
Iterator . |
default T |
next()
Returns the next element in the sequence.
|
T |
next(U u)
Supplies a value to the generator and then returns the next element in the sequence.
|
T next(U u) throws X extends Throwable
u
- an optional input used to compute the next value in the sequenceX
- if the generator fails and throws an exceptionSequenceFinishedException
- if the generator completes successfully, indicating that
there are no more elements in the sequenceX extends Throwable
default T next() throws X extends Throwable
sequence.next(null);
X
- if the generator fails and throws an exceptionSequenceFinishedException
- if the generator completes successfully, indicating that
there are no more elements in the sequenceX extends Throwable
next(Object)
default Iterator<T> asIterator()
Iterator
. This may transfer control to the
generator thread during calls to hasNext()
to determine if there is another item by
letting the generator actually produce it. As such, both next()
and hasNext()
methods may throw an (unchecked) exception if the generator fails.
All calls to next(Object)
pass null
as the value to send to the generator.
Iterator


There was some recent discussion on Hacker News about the 2004 article on “Language Oriented Programming” by Sergey Dmitriev. With my growing interest in programming languages, this article, and the pending release of JetBrain’s Meta Programming System, I have been thinking a lot about the future of programming.
As Sergey points out, MPS is not the first entry into this paradigm of software development. Intentional Programming was being demonstrated by Microsoft Research as early as 2000. Wikipedia lists several implementations of the language-oriented programming concept. (OK, that is enough links for now!) Sadly, none of these systems have been met with wide spread success. Despite my unlimited respect for the JetBrains team and love of their products — especially Resharper — I expect MPS to fail to achieve critical mass. I don’t think many programmers would disagree. It’s just too much, too fast.
Software development needs to evolve, not start anew. If you change too much at once, the common developer simply won’t accept it. Language designers are still re-inventing Lisp piece by piece in an effort to make sense of all the different concepts for Mort. In order to improve adoption of language-oriented programming concepts, the critical path must be identified and the programming community must be lead down that path one step at a time.
I believe that the first stepping stone is the box editor.
Both MPS and Intentional Programming provide a visual tree of boxes editor and store the abstract syntax tree in a sort of source code database. Both of these concepts are critical to power of language-oriented programming, but changing the storage of source code is simply too radical of a change. Well, actually, source code is routinely stored in databases for IDE features, but the authoritative storage always remains text files. All of a programmers most trusted tools operate at the string level and it is simply impractical to throw everything out at once.
This is why I propose the creation of a new editor which uses an abstract syntax tree box editing model, but preserves the source as text. This editor would have to play nice with other developers who are using traditional text editors. It should be possible for a single developer to try the editor for a day or two without another collaborator even noticing. There are clear benefits to a box editor even in the absence of language-oriented features. For example, navigation of source code by parent, child, or sibling relationships instead of by word or by line. Advanced renders can be used to layout math expressions or to show a referenced image file in a comment.
Editors are a religion, start a new one. If some box editor becomes popular enough, other tools would spring up around them. To help the process, the editor should have well exposed extension and composition mechanisms. For example, it should be trivially easy to add new renderers for various nodes. It should be equally trivial to utilize the abstract syntax tree system to create stand alone code analysis tools.
If box editors garner enough of a following, then the language-oriented programming advocates can seek the next stepping stone.
Imported Comments
Shawn Presser
“I believe that the first stepping stone is the box editor.”
I went through this phase too. You’ll eventually realize that visual editors are simply less efficient than text editors for programming purposes. The boxes convey less meaning than symbols in a text editor. The boxes and connections are also symbols, but they take up far more screen space than text, so you see much less code simultaneously, which makes the box editor less efficient. Also, there aren’t usually restrictions on the layout of the boxes, so it’s very hard to follow the “flow” of code in a visual editor. In a text editor, the flow of code within a function is at least mostly linear (left to right, top down).
Brandon Bloom
I’m not talking about “boxes and connections” I’m talking about representing the actual code blocks. Take a look at this tutorial: http://www.jetbrains.com/mps/docs/tutorial.html
warjan
I think you are right saying it is too much. Especially application developer might find MPS to be too much for achieving common programming task, but for library/frameworks and DSL creators it is IMHO very valuable proposal. It could be also good for providing DSL for clients to cusotmize products.
Brandon Bloom
“good for providing DSL for clients to cusotmize products”
Maybe if your clients are hardcore engineers, but in general asking clients to write code is a tough value proposition.
However, let’s assume your clients are hardcore engineers. Not only does MPS ask them to learn a DSL, but it is also asking them to learn a new editor.
One step at a time.


token.h
GitHub: base/token.h base/token.cc
Top-level Functions
namespace base { token_t next_token() noexcept; }
next_token()
STABLE. Returns a token_t
value. This value is
guaranteed to be distinct from the null token, and to be distinct from
all existing and future tokens issued within this process. This function
is thread-safe.
NOTE: the order in which the tokens are issued is NOT a part of the stable API!
Example:
base::token_t token1 = base::next_token(); base::token_t token2 = base::next_token(); CHECK_EQ(token1, token1); // tokens are comparable CHECK_NE(token1, token2); // tokens are distinct from each other CHECK_NE(token1, base::token_t()); // default is distinct from any other CHECK_NE(token2, base::token_t()); auto hash = std::hash<base::token_t>()(token1); // tokens are hashable
token_t
namespace base { class token_t { public: constexpr token_t() noexcept; constexpr token_t(const token_t&) noexcept; constexpr token_t(token_t&&) noexcept; constexpr explicit token_t(uint64_t value) noexcept; token_t& operator=(const token_t&) noexcept; token_t& operator=(token_t&&) noexcept; constexpr explicit operator uint64_t() const noexcept; }; constexpr bool operator==(token_t a, token_t b) noexcept; constexpr bool operator!=(token_t a, token_t b) noexcept; constexpr bool operator<(token_t a, token_t b) noexcept; constexpr bool operator<=(token_t a, token_t b) noexcept; constexpr bool operator>(token_t a, token_t b) noexcept; constexpr bool operator>=(token_t a, token_t b) noexcept; } namespace std { template <> struct hash<base::token_t> { std::size_t operator()(base::token_t t) const noexcept; } }
STABLE. token_t
is a value type, meant to be passed
around as an opaque token. While it is backed by an integer — a
uint64_t
to be precise — the actual value of that integer
is arbitrary, and the token's reason for existence is the uniqueness of
its value.
While the principal operation on a token_t
is to compare
it to another token for equality, the class provides the full suite of
comparison operators as well as a hash function, to facilitate its use
as a map key.
token_t::token_t()
Constructs a token_t
.
-
The default constructor creates the null token. The null token is
never returned by
next_token()
, so it may be safely used as a sentinel value. - The copy constructor has the usual behavior. The copied token will compare equal to the source token.
- The move constructor has the same effect as the copy constructor.
-
The explicit 1-arg
uint64_t
constructor creates a token from a raw integer, and should be used sparingly, if at all. If the argument is zero, a null token is constructed. The only safe way to select a non-zero integer is to obtain it from a token returned bynext_token()
, by way ofoperator uint64_t()
. Performing such an action has the same effect as calling the copy constructor.
token_t::operator=()
Assigns a token_t
. The copy and move assignment
operators work analogously to the copy and move constructors.
token_t::operator uint64_t()
Returns the raw integer backing this token. The only safe operations
to perform with this value are (a) to compare it to zero, or (b) to
construct a token from its value, using
the explicit 1-arg uint64_t
constructor.
The latter has the same effect as the copy constructor.
token_t::operator==()
token_t::operator!=()
token_t::operator<()
token_t::operator<=()
token_t::operator>()
token_t::operator>=()
Compares two token_t
values.
NOTE: The tokens have an arbitrary, but stable, total order. Whether
token_t(n) < token_t(n+1)
is not part of the API!
std::hash<token_t>()()
Hashes a token_t
value.
NOTE: The hash values are guaranteed to be stable within a process, but are NOT guaranteed to be stable across program invocations.


|
Call Status, video call
|
|
Call |
|
In 1 | Out 1 |
| Connected: |
connected |
| Number: |
-Out- |<EMAIL_ADDRESS>|
| Call Rate: |
768.0 kbps |
| Video Mode: |
H263 | H264 |
| Duo Video: |
None | None |
| Audio Mode: |
G722 | G722 |
| Data Ch. Protocol: |
None | None |
| Data Channel: |
Off | Off |
| Audio Rate: |
64.0 | 64.0 |
| Video Rate: |
90.2 | 2.5 |
| Duo Video Rate: |
0.0 | 0.0 |
| Data Rate: |
0.0 | 0.0 |
| Video Resolution: |
cif | qcif |
| Encryption: |
Off | Off |
| Check Code: |
0000000000000000 |
| Microphone: | Off |
| Video Source: | main cam, NTSC |
|
| BRI Channel Status |
| BRI 1: | idle |
| | idle |
| BRI 2: | idle |
| | idle |
| BRI 3: | idle |
| | idle |
| LAN Status |
|
In 1 | Out 1 |
| Audio Packet Loss: |
0.0 | 0.0 |
| Video Packet Loss: |
0.0 | 0.0 |
| Data Packet Loss: |
0.0 | 0.0 |
| Audio Jitter: |
0 | 0 |
| Video Jitter: |
0 | 0 |
|


The Linux kernel now provides ALSA support by default. However, applications need to interface to that capability. The following six sections of the book deal with the separate components of ALSA: the libraries, the plugins, the utilities, the tools, the firmware and the OSS compatibility libraries.
Last updated on 2020-03-09 10:02:12 -0500


What is Hack The Stack?
Hack the Stack is an event focused on learning about common security vulnerabilities and how they are exploited. The competition will range from web based hacks, to protocol attacks, and memory leaks. Teams can be up to 4 and will be given points for challenges completed. Winners will receive prizes!
What can I do there?
The challenges will be set up so hints will be available as time progresses or if everyone gets stuck. We will also go over the exploits and how to perform them at the end. Even if you aren't sure you'll be able to do something, you will come out learning something!
How do I get started?
RSVP with the link above, and we'll consider you part of the competition! If something changes please be sure to email us and let us know at
<EMAIL_ADDRESS>What do I bring, and where?
 The event takes place in Forney G124. On your laptop, you'll also need to some type of SSH client.


TrackIt provides a simple service to manage projects in connection with Malmö University. These can be both bachelor's and master's theses, as well as course related projects. External customers can create and upload project proposals. These are then reviewed, categorized, and approved by teachers. Students can form teams and apply to approved proposals they are interested in working on. A teacher can then assign a team to a proposal, at which point it becomes an active project.
TrackIt also provides a simple communication channel where students, teachers and external customers can discuss anything related to their projects and proposals.
TrackIt makes it easier for all concerned to join or start a project in any way, or to just get inspiration and ideas for your studies. And in the end, you can inspire others with your ideas by publishing your finished project.


|
Path Planner ACME Robotics
|
Actions class is used to generate movement for the robot in the action space which is in 8 directions. More...
#include <Actions.h>
Public Member Functions | |
| Position | moveUp (const Position ¤tPos) |
| Gives the position which is above the current position. More... | |
| Position | moveDown (const Position ¤tPos) |
| Gives the position which is below the current position. More... | |
| Position | moveLeft (const Position ¤tPos) |
| Gives the position which is to the left of the current position. More... | |
| Position | moveRight (const Position ¤tPos) |
| Gives the position which is to the right of the current position. More... | |
| Position | moveUpRight (const Position ¤tPos) |
| Gives the position which is to the top-right of the current position. More... | |
| Position | moveUpLeft (const Position ¤tPos) |
| Gives the position which is to the top-left of the current position. More... | |
| Position | moveDownRight (const Position ¤tPos) |
| Gives the position which is to the down-left of the current position. More... | |
| Position | moveDownLeft (const Position ¤tPos) |
| Gives the position which is to the bottom right of the current position. More... | |
Actions class is used to generate movement for the robot in the action space which is in 8 directions.


Toggle navigation
Home
About
Location
Contact<EMAIL_ADDRESS>Raadhika Creations
Offer : 10% Discount on all Kurties
Code:R1,S-3XL
Prize:- 750+S/-
Code:R2,S-3XL
Prize:- 800+S/-
Code:R3,S-3XL
Prize:- 650+S/-
Code:R4,S-4XL
Prize:- 800+S/-
Code:R4,S-4XL
Prize:- 1375+S/-
Code:R7,S-3XL
Prize:- 1600/-
Code:R6,S-3XL
Prize:- 1600+S/-
Code:R8,S-3XL
Prize:- 1500+S/-
Contact Us
New T - 4,
Bindapur Matiyala Road ,
Uttam Nagar, New Delhi - 110059
Phone number:-
9718508999
E-mail:-
raadhikacreations@hotmail.com


at hh:mm- Execute the commands and email the result using a local mailing program such as Sendmail:
at hh:mm -m- Execute a script at the given time:
at hh:mm -f path/to/file- Display a system notification at 11pm on February 18th:
echo "notify-send 'Wake up!'" | at 11pm Feb 18


#include <sh.h>
|
| | SH () |
| |
| void | config (string base_, string quote_, string argExchange, int argColors, int argPort, int argNaked) |
| |
| void | pressme (mHotkey ch, function< void()> *fn) |
| |
| void | quit () |
| |
| int | error (string k, string s, bool reboot=false) |
| |
| void | waitForUser () |
| |
| string | stamp () |
| |
| void | logWar (string k, string s) |
| |
| void | logErr (string k, string s, string m=" Errrror: ") |
| |
| void | logDB (string k) |
| |
| void | logUI () |
| |
| void | logUIsess (int k, string s) |
| |
| void | logVer (string k, int c) |
| |
| void | log (mTrade k, string e) |
| |
| void | log (string k, string s, string v) |
| |
| void | log (string k, string s) |
| |
| void | log (string k, int c=COLOR_WHITE, bool b=false) |
| |
| void | log (const map< mRandId, mOrder > &orders, bool working) |
| |
| void | log (const mPosition &pos) |
| |
| void | log (double fv) |
| |
| void | refresh () |
| |
Definition at line 13 of file sh.h.
Definition at line 40 of file sh.h.
| static string changelog |
( |
| ) |
|
|
inlinestatic |
Definition at line 82 of file sh.h.
| void config |
( |
string |
base_, |
|
|
string |
quote_, |
|
|
string |
argExchange, |
|
|
int |
argColors, |
|
|
int |
argPort, |
|
|
int |
argNaked |
|
) |
| |
|
inline |
Definition at line 50 of file sh.h.
| int error |
( |
string |
k, |
|
|
string |
s, |
|
|
bool |
reboot = false |
|
) |
| |
|
inline |
Definition at line 95 of file sh.h.
| void log |
( |
mTrade |
k, |
|
|
string |
e |
|
) |
| |
|
inline |
Definition at line 238 of file sh.h.
| void log |
( |
string |
k, |
|
|
string |
s, |
|
|
string |
v |
|
) |
| |
|
inline |
Definition at line 261 of file sh.h.
| void log |
( |
string |
k, |
|
|
string |
s |
|
) |
| |
|
inline |
Definition at line 282 of file sh.h.
| void log |
( |
string |
k, |
|
|
int |
c = COLOR_WHITE , |
|
|
bool |
b = false |
|
) |
| |
|
inline |
Definition at line 297 of file sh.h.
Definition at line 310 of file sh.h.
Definition at line 319 of file sh.h.
Definition at line 329 of file sh.h.
Definition at line 161 of file sh.h.
| void logErr |
( |
string |
k, |
|
|
string |
s, |
|
|
string |
m = " Errrror: " |
|
) |
| |
|
inline |
Definition at line 140 of file sh.h.
Definition at line 181 of file sh.h.
| void logUIsess |
( |
int |
k, |
|
|
string |
s |
|
) |
| |
|
inline |
Definition at line 208 of file sh.h.
| void logVer |
( |
string |
k, |
|
|
int |
c |
|
) |
| |
|
inline |
Definition at line 235 of file sh.h.
| void logWar |
( |
string |
k, |
|
|
string |
s |
|
) |
| |
|
inline |
Definition at line 137 of file sh.h.
| void pressme |
( |
mHotkey |
ch, |
|
|
function< void()> * |
fn |
|
) |
| |
|
inline |
Definition at line 85 of file sh.h.
Definition at line 89 of file sh.h.
Definition at line 334 of file sh.h.
Definition at line 112 of file sh.h.
Definition at line 101 of file sh.h.
Definition at line 36 of file sh.h.
Definition at line 37 of file sh.h.
Definition at line 35 of file sh.h.
The documentation for this class was generated from the following file:


AndrewBreksa\Unicorn\Controller\RestfulControllerInterface
Interface RestfulControllerInterface
- Author: Andrew Breksa
Synopsis
interface RestfulControllerInterface
{
- // methods
- public void getAllowedMethods()
- public string getRoute()
- public string|null getEntityIdRegex()
- public ResponseInterface get()
- public ResponseInterface patch()
- public ResponseInterface delete()
- public ResponseInterface put()
- public ResponseInterface head()
- public mixed options()
- public void bootstrap()
- public ResponseInterface|null|false execute()
- public void getRoutes()
Methods
public
- bootstrap() — Auto-wire each method to it's corresponding route
- delete() — Runs on a DELETE request
- execute() — Internal method to run the method associated with the HTTP verb
- get() — Runs on a GET request
- getAllowedMethods() — Get the allowed methods for collections and entity
- getEntityIdRegex() — Get the regex applied to the route matching for the entity route, defaults to [0-9]+
- getRoute() — Get the base route to work with
- getRoutes() — Returns as array of all the routes this controller supports in the form of an associative array of 'type', 'method' & 'route' pairs
- head() — Runs on a HEAD request
- options() — Runs on an OPTION request
- patch() — Runs on a PATCH request
- put() — Runs on a PUT request


You need to create a profile to favourite a bar or leave a tip
I already have an account
Forgot your password?
Sign up with Facebook
Create an account now
REGISTER
Close


Model
Extends:
This class encapsulates a basic Object and dispatches events when they are changed
Constructor Summary
| Public Constructor | ||
| public |
constructor(dataModel: object) Create a Model which can observe and be observed by supplying a raw data object and encapsulating it |
Member Summary
| Public Members | ||
| public get |
this get is experimental. This may be deprecated in the future to preserve the object's namespace
return the underlying _dataModel in its current state |
|
| public get |
this get was deprecated. Use `dataModel` instead
return the underlying _dataModel in its current state |
| Private Members | ||
| private |
the raw data object which is encapsulated by the event emitter |
Method Summary
| Public Methods | ||
| public |
this method is experimental. This may be deprecated in the future to preserve the object's namespace
assign multiple values to the dataModel, and dispatch an event. |
Inherited Summary
| From class EventEmitter | ||
| public |
Listeners for each event type |
|
| public |
addEventListener(type: string, callback: function) Add an event listener |
|
| public |
dispatchEvent(event: object): boolean Dispatch an event. |
|
| public |
hasListener(type: string, callback: function): boolean Check whether the instance has a specific listener for the provided event type |
|
| public |
listensFor(type: string): boolean Check whether the instance has listeners for the provided event type |
|
| public |
removeEventListener(type: string, callback: function) Remove an even listner |
Public Constructors
public constructor(dataModel: object) source
Create a Model which can observe and be observed by supplying a raw data object and encapsulating it
Override:
EventEmitter#constructorParams:
| Name | Type | Attribute | Description |
| dataModel | object | The raw data object to be encapsulated by the instance |
Public Members
public get dataModel: object source
return the underlying _dataModel in its current state
public get model: object source
return the underlying _dataModel in its current state


LinkedIn
Flickr
Instagram
Twitter
Facebook
US, Local, Regional, & Tropical Weather
Today's National Forecast
Mixed Surface Analysis
Pacific Infrared Satellite Loop
Atlantic Infrared Satellite Loop
Storm Prediction Center Overview
Florida Radar Loop
Today's Predominant Weather
Watches & Warnings
24hr Precipitation Forecast
Tropical Weather & Hurricanes
African Dust Forecast
Current Pollen Count


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.collections4.map; | |
| 18 | ||
| 19 | import org.apache.commons.collections4.IterableMap; | |
| 20 | import org.apache.commons.collections4.MapIterator; | |
| 21 | ||
| 22 | /** | |
| 23 | * Provide a basic {@link IterableMap} implementation. | |
| 24 | * | |
| 25 | * @since 4.0 | |
| 26 | * @version $Id: AbstractIterableMap.java 1469004 2013-04-17 17:37:03Z tn $ | |
| 27 | */ | |
| 28 | public abstract class AbstractIterableMap<K, V> implements IterableMap<K, V> { | |
| 29 | ||
| 30 | /** | |
| 31 | * {@inheritDoc} | |
| 32 | */ | |
| 33 | public MapIterator<K, V> mapIterator() { | |
| 34 |
1
1. mapIterator : mutated return of Object value for org/apache/commons/collections4/map/AbstractIterableMap::mapIterator to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new EntrySetToMapIteratorAdapter<K, V>(entrySet()); |
| 35 | } | |
| 36 | } | |
Mutations | ||
| 34 |
1.1 |


| DOSE: |
0.03 g |
insufflated |
Heroin |
(powder / crystals) |
This experience really happened out of nowhere. My friend was having a party at his house and he asked me if I could get some coke to liven up the place. I went over to my dealer's place where we smoked some weed and I had a few beers. I was then offered heroin instead of the usual cocaine. I had wanted to try heroin, so I couldn't see a better moment than this. I bought a $30, bag which is .05g. Anyway, I cut a thin line about an inch long, and I snorted. I decided to go back to the party. As I was leaving (5 min. after taking the line), I started feeling my eyes closing and I felt sleepy and happy inside.
When I got back to the party I had trouble walking and all I wanted to do was sit down and relax.  I didn't feel tired, I just felt comfortable sitting there, even though the party was raging. When I finally tried to walk, right away I felt like throwing up. I went into the bathroom and laid down on the floor. At that moment I felt so at peace and relaxed, like the bathroom floor was the nicest place in the house and I had it all to myself (45 min. after taking the line).
After an hour, I went into a dream state where I would be talking to someone and I would open my eyes and there would be no one there. Friends would come in and talk to me but I had trouble recognizing them and I could not carry on a conversation. After 2 hours of lying on the bathroom floor, I felt I had the strength to get up and go see what my friends were doing, but I soon discovered that walking around made feel very sick. I finally fell asleep at 4am. The high lasted four hours or more.
If you're going to try heroin, I suggest a quiet place where you can lie down and listen to music. That's what I wanted, but I got a bathroom floor instead.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Select cells in the samples table to filter the list below.
For more information read the documentation.


{% extends "base.html" %} {% block content%}
You don't have the permission to access the requested resource.


Title:
Visible:
Introduction:
Please use Markdown syntax to write an introduction for this assignment.
Start date:
Due date:
Allow late submissions:
Select percentage of points students can earn back with late submissions:
Allow students to view the answer after the due date has passed:
Timer:
Here you can specify the time a student has to complete this assignment. Once a students begins this assignment, they cannot pause the timer.
Enable help requests for exercises in this assignment:
{% if assignment_basics["exists"] %} Done {% end %}
{% else %} This course has not been created yet. {% end %}


| CONTENTS |
Summary BoxSorting a file under Unix is easy, right? Of course it is, if all you want to do is sort a list of single words, or sort lines starting with the first character in the line. But if you want to do more than that, there's a lot more to the sort command than typing sort filename:
But learning the mechanics of sort isn't the end of the story. Like most of the other things you'll find in the Unix toolbox, sort is even more powerful when it's used with other programs. For example, you can:
TOR |
Unless you tell it otherwise, sort divides each line into fields at whitespace (blanks or tabs), and sorts the lines by field, from left to right.
That is, it sorts on the basis of field 0 (leftmost), but when the leftmost fields are the same, it sorts on the basis of field 1, and so on. This is hard to put into words, but it's really just common sense. Suppose your office inventory manager created a file like this:
supplies pencils 148 furniture chairs 40 kitchen knives 22 kitchen forks 20 supplies pens 236 furniture couches 10 furniture tables 7 supplies paper 29
You'd want all the supplies sorted into categories, and within each category, you'd want them sorted alphabetically:
% sort supplies furniture chairs 40 furniture couches 10 furniture tables 7 kitchen forks 20 kitchen knives 22 supplies paper 29 supplies pencils 148 supplies pens 236
Of course, you don't always want to sort from left to right. The command-line option +n tells sort to start sorting on field n; -n tells sort to stop sorting on field n. Remember (again) that sort counts fields from left to right, starting with 0.[1] Here's an example. We want to sort a list of telephone numbers of authors, presidents, and blues singers:
Robert M Johnson 344-0909 Lyndon B Johnson 933-1423 Samuel H Johnson 754-2542 Michael K Loukides 112-2535 Jerry O Peek 267-2345 Timothy F O'Reilly 443-2434
According to standard "telephone book rules," we want these names sorted by last name, first name, and middle initial. We don't want the phone number to play a part in the sorting. So we want to start sorting on field 2, stop sorting on field 3, continue sorting on field 0, sort on field 1, and (just to make sure) stop sorting on field 2 (the last name). We can code this as follows:
% sort +2 -3 +0 -2 phonelist Lyndon B Johnson 933-1423 Robert M Johnson 344-0909 Samuel H Johnson 754-2542 Michael K Loukides 112-2535 Timothy F O'Reilly 443-2434 Jerry O Peek 267-2345
A few notes:
We need the -3 option to prevent sort from sorting on the telephone number after sorting on the last name. Without -3, the "Robert Johnson" entry would appear before "Lyndon Johnson" because it has a lower phone number.
We don't need to state +1 explicitly. Unless you give an explicit "stop" field, +1 is implied after +0.
If two names are completely identical, we probably don't care what happens next. However, just to be sure that something unexpected doesn't take place, we end the option list with -2, which says, "After sorting on the middle initial, don't do any further sorting."
There are a couple of variations that are worth mentioning. You may never need them unless you're really serious about sorting data files, but it's good to keep them in the back of your mind. First, you can add any "collation" operations (discard blanks, numeric sort, etc.) to the end of a field specifier to describe how you want that field sorted. Using our previous example, let's say that if two names are identical, you want them sorted in numeric phone number order. The following command does the trick:
% sort +2 -3 +0 -2 +3n phonelist
The +3n option says "do a numeric sort on the fourth field." If you're worried about initial blanks (perhaps some of the phone numbers have area codes), use +3nb.
Second, you can specify individual columns within any field for sorting, using the notation +n.c, where n is a field number, and c is a character position within the field. Likewise, the notation -n.c says "stop sorting at the character before character c." If you're counting characters, be sure to use the -b (ignore whitespace) option otherwise, it will be very difficult to figure out what character you're counting.
ML
Section 22.2 explained how sort separates a line of input into two or more fields using whitespace (spaces or tabs) as field delimiters. The -t option lets you change the field delimiter to some other character.
For example, if you wanted to sort the login names on your system by the login shell they use, you could issue a command like this:
/etc..wd Section 1.7
% sort -t: +6 /etc/passwd root:SndEKOs9H7YLm:0:1:Operator:/:/bin/bash sys:*:2:2::/:/bin/bash jim:LjKwcUt8l6kZK:2391:1004:Jim O'Callahan:/u/jim:/bin/bash ... bart:2DPD8rCOKBbUu:2665:1004:Bart Buus:/u/bart:/bin/tcsh tap:xY7oeuJ8WxyGO:2943:1004:Tap Bronman:/u/tap:/bin/tcsh
The option -t: tells sort to use a colon as a field separator so, in this example, field 0 is the login name, field 1 is the encoded password, field 2 is the user ID number, field 3 is the group ID number, and so on. By this numbering, the login shell is in the sixth field.
Remember that sort numbers fields starting with zero this will save you lots of grief. Two consecutive colons indicate a "null" field that still must be counted.
ML and TOR
One would hope that a simple task like sorting would be relatively unambiguous. Unfortunately, it isn't. The behavior of sort can be very puzzling. I'll try to straighten out some of the confusion at the same time, I'll be leaving myself open to abuse by the real sort experts. I hope you appreciate this! Seriously, though: if you know of any other wrinkles to the story, please let us know and we'll add them in the next edition.
The trouble with sort is figuring out where one field ends and another begins. It's simplest if you can specify an explicit field delimiter (Section 22.3). This makes it easy to tell where fields end and begin. But by default, sort uses whitespace characters (tabs and spaces) to separate fields, and the rules for interpreting whitespace field delimiters are unfortunately complicated. As I see them, they are:
The first whitespace character you encounter is a "field delimiter"; it marks the end of the old field and the beginning of the next field.
Any whitespace character following a field delimiter is part of the new field. That is, if you have two or more whitespace characters in a row, the first one is used as a field delimiter and isn't sorted. The remainder are sorted, as part of the next field.
Every field has at least one nonwhitespace character, unless you're at the end of the line. (That is, null fields only occur when you've reached the end of a line.)
All whitespace is not equal. Sorting is done according to the ASCII collating sequence. Therefore, TABs are sorted before spaces.
Here is a silly but instructive example that demonstrates most of the hard cases. We'll sort the file sortme, which is:
apple Fruit shipment 20 beta beta test sites 5 Something or other
All is not as it seems -- cat -t -v (Section 12.5, Section 12.4) shows that the file really looks like this:
^Iapple^IFruit shipment 20^Ibeta^Ibeta test sites 5^I^ISomething or other
^I indicates a tab character. Before showing you what sort does with this file, let's break it into fields, being very careful to apply the rules above. In the table, we use quotes to show exactly where each field begins and ends:
|
Field 0 |
Field 1 |
Field 2 |
Field 3 |
|
|---|---|---|---|---|
|
Line 1 |
"^Iapple" |
"Fruit" |
"shipment" |
null (no more data) |
|
Line 2 |
"20" |
"beta" |
"beta" |
"test" |
|
Line 3 |
" 5" |
"^Isomething" |
"or" |
"other" |
OK, now let's try some sort commands; I've added annotations on the right, showing what character the "sort" was based on. First, we'll sort on field zero that is, the first field in each line:
% sort sortme ...sort on field zero apple Fruit shipments field 0, first character: TAB 5 Something or other field 0, first character: SPACE 20 beta beta test sites field 0, first character: 2
As I noted earlier, a TAB precedes a space in the collating sequence. Everything is as expected. Now let's try another, this time sorting on field 1 (the second field):
+% sort +1 sortme ...sort on field 1 5 Something or other field 1, first character: TAB apple Fruit shipments field 1, first character: F 20 beta beta test sites field 1, first character: b
Again, the initial TAB causes "something or other" to appear first. "Fruit shipments" preceded "beta" because in the ASCII table, uppercase letters precede lowercase letters. Now, let's sort on the next field:
+% sort +2 sortme ...sort on field 2 20 beta beta test sites field 2, first character: b 5 Something or other field 2, first character: o apple Fruit shipments field 2, first character: s
No surprises here. And finally, sort on field 3 (the "fourth" field):
+% sort +3 sortme ...sort on field 3 apple Fruit shipments field 3, NULL 5 Something or other field 3, first character: o 20 beta beta test sites field 3, first character: t
The only surprise here is that the NULL field gets sorted first. That's really no surprise, though: NULL has the ASCII value zero, so we should expect it to come first.
OK, this was a silly example. But it was a difficult one; a casual understanding of what sort "ought to do" won't explain any of these cases, which leads to another point. If someone tells you to sort some terrible mess of a data file, you could be heading for a nightmare. But often, you're not just sorting; you're also designing the data file you want to sort. If you get to design the format for the input data, a little bit of care will save you lots of headaches. If you have a choice, never allow TABs in the file. And be careful of leading spaces; a word with an extra space before it will be sorted before other words. Therefore, use an explicit delimiter between fields (like a colon), or use the -b option (and an explicit sort field), which tells sort to ignore initial whitespace.
ML
sort performs two fundamentally different kinds of sorting operations: alphabetic sorts and numeric sorts. An alphabetic sort is performed according to the traditional "dictionary order," using the ASCII collating sequence. Uppercase letters come before lowercase letters (unless you specify the -f option, which "folds" uppercase and lowercase together), with numerals and punctuation interspersed. The -l (lowercase L) option sorts by the current locale instead of the default US/ASCII order.
This is all fairly trivial and common sense. However, it's worth belaboring the difference, because it's a frequent source of bugs in shell scripts. Say you sort the numbers 1 through 12. A numeric sort gives you these numbers "in order," just like you'd expect. An alphabetic sort gives you:
1 11 12 2 ...
Of course, this is how you'd sort the numbers if you applied dictionary rules to the list. Numeric sorts can handle decimal numbers (for example, numbers like<PHONE_NUMBER>8); they can't handle floating-point numbers (for example, 1.2344565778E+02). The GNU sort does provide the -g flag for sorting numbers in scientific notation. Unfortunately, it is significantly slower than plain old decimal sorting.
What happens if you include alphabetic characters in a numeric sort? Although the results are predictable, I would prefer to say that they're "undefined." Including alphabetic characters in a numeric sort is a mistake, and there's no guarantee that different versions of sort will handle them the same way. As far as I know, there is no provision for sorting hexadecimal numbers.
One final note: your version of numeric sort may treat initial blanks as significant, sorting numbers with additional spaces before them ahead of numbers without the additional spaces.  There is a workaround: use the -b (ignore leading blanks) and always specify a sort field.[2] That is, sort -nb +0 will do what you expect; sort -n won't.
ML
Here is a grab bag of useful, if not exactly interesting, sort features. The utility will actually do quite a bit, if you let it.
sort -u sorts the file and eliminates duplicate lines. It's more powerful than uniq (Section 21.20) because:
It sorts the file for you; uniq assumes that the file is already sorted and won't do you any good if it isn't.
It is much more flexible. sort -u considers lines "unique" if the sort fields (Section 22.2) you've selected match. So the lines don't even have to be (strictly speaking) unique; differences outside of the sort fields are ignored.
In return, there are a few things that uniq does that sort won't do such as print only those lines that aren't repeated, or count the number of times each line is repeated. But on the whole, I find sort -u more useful.
Here's one idea for using sort -u. When I was writing a manual, I often needed to make tables of error messages. The easiest way to do this was to grep the source code for printf statements, write some Emacs (Section 19.1) macros to eliminate junk that I didn't care about, use sort -u to put the messages in order and get rid of duplicates, and write some more Emacs macros to format the error messages into a table. All I had to do then was write the descriptions.
One important option (that I've mentioned a number of times) is -b; this tells sort to ignore extra whitespace at the beginning of each field. This is absolutely essential; otherwise, your sorts will have rather strange results. In my opinion, -b should be the default. But they didn't ask me.
Another thing to remember about -b: it works only if you explicitly specify which fields you want to sort. By itself, sort -b is the same as sort: whitespace characters are counted. I call this a bug, don't you?
If you don't care about the difference between uppercase and lowercase letters, invoke sort with the -f (case-fold) option. This folds lowercase letters into uppercase. In other words, it treats all letters as uppercase.
The -d option tells sort to ignore all characters except for letters, digits, and whitespace. In particular, sort -d ignores punctuation.
The -M option tells sort to treat the first three nonblank characters of a field as a three-letter month abbreviation and to sort accordingly. That is, JAN comes before FEB, which comes before MAR. This option isn't available on all versions of Unix.
The -r option tells sort to "reverse" the order of the sort; i.e., Z comes before A, 9 comes before 1, and so on. You'll find that this option is really useful. For example, imagine you have a program running in the background that records the number of free blocks in the filesystem at midnight each night.
The script below finds the smallest and largest number of free blocks in your log file:
head Section 12.12
#!/bin/sh echo "Minimum free blocks" sort -t: +1nb logfile | head -1 echo "Maximum free blocks" sort -t: +1nbr logfile | head -1
It's not profound, but it's an example of what you can do.
ML
A nice little script to sort lines from shortest to longest can be handy when you're writing and want to find your big words:
deroff Section 16.9, uniq Section 21.20
% deroff -w report | uniq -d | lensort a an ... deoxyribonucleic
Once I used it to sort a list of pathnames:
find Section 9.1
% find adir -type f -print | lensort adir/.x adir/.temp ... adir/subdir/part1/somefile adir/subdir/part1/a_test_case
The script uses awk (Section 20.10) to print each line's length, followed by the original line. Next, sort sorts the lengths numerically (Section 22.5). Then sed (Section 34.1) strips off the lengths and the spaces and prints the lines:
Go to http://examples.oreilly.com/upt3 for more information on: lensort
#! /bin/sh awk 'BEGIN { FS=RS } { print length, $0 }' $* | # Sort the lines numerically sort +0n -1 | # Remove the length and the space and print each line sed 's/^[0-9][0-9]* //'
(Some awks require a semicolon after the first curly bracket that is, { FS=RS };.)
Of course, you can also tackle this problem with Perl:
$ perl -lne '$l{$_}=length;END{for(sort{$l{$a}<=>$l{$b}}keys %l){print}}' \ filename
This one-line wonder has the side effect of eliminating duplicate lines. If this seems a bit terse, that's because it's meant to be "write-only," that is, it is a bit of shell magic that you'd use to accomplish a short-term task. If you foresee needing this same procedure in the future, it's better to capture the magic in script. Scripts also tend to be easier to understand, debug, and expand. The following script does the same thing as the one-liner but a bit more clearly:
#!/usr/bin/perl my %lines; while(my $curr_line = <STDIN>){ chomp $curr_line; $lines{$curr_line} = length $curr_line; } for my $line (sort{ $lines{$a} <=> $lines{$b} } keys %lines){ print $line, "\n"; }
This script reads in a line from standard input, removes the newline character and creates an associative array that maps whole line to its length in characters. After processing the whole file, the keys of the associative array is sorted in ascending numerical order by each key's value. It is then a simple matter to print the key, which is the line itself. More Perl tricks can be found in Chapter 11.
JP and JJ
It's hard to sort any old list of peoples' names because some people have one-word first and last names like Joe Smith, but other people have multi-part names like Mary Jo Appleton. This program sorts on the last word in each name. That won't take care of the way that names are used everywhere in the world, but it might give you some ideas.
Go to http://examples.oreilly.com/upt3 for more information on: namesort
The script reads from files or its standard input; it writes to standard output.
#! /bin/sh # Print last field (last name), a TAB, then whole name: awk '{print $NF "\t" $0}' $* | # sort (by last name: the temporary first field) sort | # strip off first field and print the names: cut -f2-
If you want more control over the sorting or you're interested in pulling apart names in general, there's a Perl module you might want to look at called Lingua::EN::NameParse. Below is a Perl script that also sorts a list of names by surname.
#!/usr/bin/perl use Lingua::EN::NameParse; my $Name_Obj = Lingua::EN::NameParse->new(auto_clean => 1); my @names = <STDIN>; for my $line (sort by_lastname @names){ chomp($line); print $line, "\n"; } sub by_lastname { my @names; for my $name ($a, $b) { chomp($name); if( my $err = $Name_Obj->parse($name) ){ warn "WARN: Unparsable name ($name): $err"; } my %tmp = $Name_Obj->components; push @names, \%tmp; } return lc $names[0]->{surname_1} cmp lc $names[1]->{surname_1}; }
The script starts by bringing in the Lingua::EN::NameParse library. Then, all lines from standard input are read in and stored in an array. Perl's sort function is particularly flexible in that it can use a user-defined subroutine to determine the desired collating sequence. Here, the subroutine by_lastname receives the next two items of the list to be sorted in the "magical" global variables $a and $b. These names are then parsed by the global Lingua::EN::NameParse object, and the name components are stored in the array @names. It's then a simple matter to alphabetically compare the lowercased surnames and return that value to sort. Although this script may be a little bit more Perl than you wanted to know, the problem of sorting by last names is complex. Fortunately, the Lingua::EN::NameParse module available on CPAN was available to do the heavy lifting for us. In fact, one of most the compelling reasons to learn Perl is the large collection of free library modules stored on the Comprehensive Perl Archive Network (CPAN), which is mirrored throughout the world. For more about CPAN, see Section 41.11.
JP and JJ
[1] I harp on this because I always get confused and have to look it up in the manual page.
[2] Stupid misfeature number 2: -b doesn't work unless you specify a sort field explicitly, with a +n option.
| CONTENTS |


Had she not died ten years ago, yesterday would have been the 105th birthday of Louise Brooks.
At least I think it's an owl. Outa_Spaceman, to whom I am once again indebted for alerting me to the snap, thinks it is either an owl or a hawk of some kind.


Manufacturer :{{manufacturer}}
Cores : {{cores}}
Physical Cores : {{physicalCores}}
Cpu details on how much of it is utilized


Home
Departments
Computer Engineering
Mechanical Engineering
Electronic Engineering
Academics
Academic Holiday
Academic Records
Examination Schedule
Student Life
Result
Student Affairs
College Affairs
Health & Wellness
Infrastructure
Library
Hostal
Canteen
Events
Placement
Fee Structure
F.E.
S.E.
T.E.
B.E.
Course wise Result Declaration


foodAlertsAPI package¶
foodAlertsAPI.Alert¶
-
class
foodAlertsAPI.Alert.
Alert
(dict)¶ Bases:
object
Alert is the base class representing the details of an FSA Food Alert. Optional attributes have value None if unspecified. This applies to all classes.
-
_id
¶ url to alert in the FSA page, same as the alertURL attribute
- Type
string
-
_title
¶ - Type
string
-
_shortTitle
¶ “None” if the API does not provide this value
- Type
string
-
_description
¶ - Type
string
-
_created
¶ represents date in ISO format
- Type
string
-
_modified
¶ represents datetime in ISO format
- Type
string
-
_notation
¶ unique identifier for alert used in the foodAlertsAPI.foodAlertsAPI getAlert() function
- Type
string
-
_country
¶ a foodAlertsAPI.Country object. None if unspecified by the API indicating that the alert may apply to any country in the UK
- Type
object
-
_status
¶ the alert status, usually “Published”, but in rare cases may be “Withdrawn”
- Type
string
-
_type
¶ an array of strings (URLs, one corresponding to the Alert object in the API, and another to the type of alert corresponding to the Alert object (one of “AA” - allergen, “FAFA” - food action, or “PRIN” - product recall))
- Type
string[]
-
_actionTaken
¶ description of the action taken, or in the case of FAFAs actions to be taken by enforcement authority
- Type
string, optional
-
_consumerAdvice
¶ text giving the advice to consumers
- Type
string, optional
-
_SMSText
¶ short description to be used in SMS notifications
- Type
string, optional
-
_twitterText
¶ short description to be used in Twitter notifications
- Type
string, optional
-
_alertURL
¶ URL for the alert on the FSA web site
- Type
dict, optional
-
_shortURL
¶ - Type
dict, optional
array of foodAlertsAPI.RelatedMedia objects
- Type
object[], optional
-
_problem
¶ array of foodAlertsAPI.Problem objects
- Type
object[], optional
-
_productDetails
¶ array of foodAlertsAPI.ProductDetails objects
- Type
object[], optional
-
_reportingBusiness
¶ a foodAlertsAPI.Business object
- Type
object[], optional
-
_otherBusiness
¶ an array of foodAlertsAPI.Business objects
- Type
object[], optional
-
_previousAlert
¶ URL to previous alert. This exists if the Alert is an update to a previous one
- Type
string, optional
-
SMStext
()¶ - Returns
short description to be used in SMS notifications
- Return type
SMSText (string, optional)
-
actionTaken
()¶ - Returns
description of the action taken, or in the case of FAFAs actions to be taken by enforcement authority
- Return type
actionTaken (string, optional)
-
alertURL
()¶ - Returns
URL for the alert on the FSA web site
- Return type
alertURL (string, optional)
-
allergenLabels
()¶ Get the list of allergens in this Alert
- Returns
list of allergens as strings
- Return type
allergens (string[])
-
consumerAdvice
()¶ - Returns
text giving the advice to consumers
- Return type
consumerAdvice (string, optional)
-
country
()¶ - Returns
a foodAlertsAPI.Country object. None if unspecified by the API indicating that the alert may apply to any country in the UK
- Return type
country (object, optional)
-
countryLabel
()¶ - Returns
the country that the alerts applies to in string format. None if unspecified
- Return type
country.label (string, optional)
-
created
()¶ - Returns
represents date in ISO format
- Return type
created (string)
-
description
()¶ - Returns
alert description. None if the API does not provide this value
- Return type
description (string, optional)
-
id
()¶ - Returns
url to alert in the FSA page, same as the alertURL attribute.
- Return type
id (string)
-
modified
()¶ - Returns
represents datetime in ISO format
- Return type
modified (string)
-
notation
()¶ - Returns
unique identifier for alert used in the foodAlertsAPI.foodAlertsAPI getAlert() function
- Return type
notation (string)
-
otherBusiness
()¶ - Returns
an array of foodAlertsAPI.Business objects
- Return type
otherBusiness (object[], optional)
-
pathogenRiskLabels
()¶ Get the list of pathogen risks in this Alert
- Returns
list of pathogen risks as strings
- Return type
pathogenRisks (string[])
-
previousAlert
()¶ - Returns
a foodAlertsAPI.Alert object
- Return type
previousAlert (object, optional)
-
problem
()¶ - Returns
array of foodAlertsAPI.Problem objects
- Return type
problem (object[], optional)
-
productDetails
()¶ - Returns
array of foodAlertsAPI.ProductDetails objects
- Return type
productDetails (object[], optional)
- Returns
array of foodAlertsAPI.RelatedMedia objects
- Return type
relatedMedia (object[], optional)
-
reportingBusiness
()¶ - Returns
common name for the reporting business
- Return type
reportingBusiness (string, optional)
-
shortTitle
()¶ - Returns
compact version of title. None if the API does not provide this value
- Return type
shortTitle (string, optional)
-
shortURL
()¶ - Returns
short URL to alert used in SMS and twitter texts
- Return type
shortURL (string, optional)
-
status
()¶ - Returns
the alert status in string format
- Return type
status (string)
-
title
()¶ - Returns
alert title
- Return type
title (string)
-
twitterText
()¶ - Returns
short description to be used in Twitter notifications
- Return type
twitterText (string, optional)
-
type
()¶ - Returns
one of “AA”, “FAFA”, or “PRIN”
- Return type
type (string)
-
foodAlertsAPI.Allergen¶
-
class
foodAlertsAPI.Allergen.
Allergen
(dict)¶ Bases:
object
Array of allergens drawn from the controlled list of allergens. For an Allergen Alert there will also be at least one allergen present on the problem statement.
-
_label
¶ name for the allergen
- Type
string
-
_notation
¶ a unique identifier for the allergen
- Type
string
-
_riskStatement
¶ text describing the risk from the allergen
- Type
string
-
label
()¶ - Returns
the allergen name
- Return type
label (string)
-
notation
()¶ - Returns
unique identifier for the allergen
- Return type
notation (string, optional)
-
riskStatement
()¶ - Returns
text describing the risk from the allergen
- Return type
riskStatement (string)
-
foodAlertsAPI.BatchDescription¶
-
class
foodAlertsAPI.BatchDescription.
BatchDescription
(dict)¶ Bases:
object
-
_bestBeforeDescription
¶ “best before” date range for the batch
- Type
string, optional
-
_bestBeforeDate
¶ “best before” date (or dates) for the batch
- Type
string, optional
-
_useByDescription
¶ “use by” date range for the batch
- Type
string, optional
-
_useByDate
¶ “use by” date (or dates) for the batch
- Type
string, optional
-
_batchCode
¶ batch number or code for the batch
- Type
string, optional
-
_lotNumber
¶ lot number for the batch
- Type
string, optional
-
_batchTextDescription
¶ other textual description for the batch
- Type
string, optional
-
batchCode
()¶ - Returns
batch number or code for the batch
- Return type
batchCode (string, optional)
-
batchTextDescription
()¶ - Returns
other textual description for the batch
- Return type
batchTextDescription (string, optional)
-
bestBeforeDate
()¶ - Returns
“best before” date (or dates) for the batch
- Return type
bestBeforeDate (string, optional)
-
bestBeforeDescription
()¶ - Returns
“best before” date range for the batch
- Return type
bestBeforeDescription (string, optional)
-
lotNumber
()¶ - Returns
lot number for the batch
- Return type
lotNumber (string, optional)
-
useByDate
()¶ - Returns
“use by” date (or dates) for the batch
- Return type
useByDate (string, optional)
-
useByDescription
()¶ - Returns
“use by” date range for the batch
- Return type
useByDescription (string, optional)
-
foodAlertsAPI.Business¶
-
class
foodAlertsAPI.Business.
Business
(dict)¶ Bases:
object
-
_commonName
¶ name by which the organisation is commonly known
- Type
string
-
_identifier
¶ unique identifier for the organisation
- Type
string, optional
-
_legalName
¶ legal (registered) name of the organisation
- Type
string, optional
-
commonName
()¶ - Returns
name by which the organisation is commonly known
- Return type
commonName (string)
-
identifier
()¶ - Returns
unique identifier for the organisation
- Return type
identifier (string, optional)
-
legalName
()¶ - Returns
legal (registered) name of the organisation
- Return type
legalName (string, optional)
-
foodAlertsAPI.Country¶
foodAlertsAPI.HazardCategory¶
-
class
foodAlertsAPI.HazardCategory.
HazardCategory
¶ Bases:
object
Classifies the problem as into one of the hazard categories. This information is useful for analysis and retrieval but does not directly affect the default textual presentation of the alert. Support for this field is under discussion.
-
_label
¶ name for the hazard category
- Type
string
-
_notation
¶ unique identifier for the hazard category
- Type
string
-
-
foodAlertsAPI.HazardCategory.
label
(self)¶ - Returns
name for the hazard category
- Return type
label (string)
-
foodAlertsAPI.HazardCategory.
notation
(self)¶ - Returns
unique identifier for the hazard category
- Return type
notation (string)
foodAlertsAPI.PathogenRisk¶
-
class
foodAlertsAPI.PathogenRisk.
PathogenRisk
(dict)¶ Bases:
object
Classifies the problem as being due to actual or possible contamination with a pathogen.
-
_label
¶ name for the pathogen risk
- Type
string
-
_notation
¶ unique identifier for the pathogen risk
- Type
string
-
_pathogen
¶ URL to page of the pathogen involved
- Type
string
-
_riskStatement
¶ text describing the risk from this pathogen, or possible pathogen
- Type
string
-
label
()¶ - Returns
name for the pathogen risk
- Return type
label (string)
-
notation
()¶ - Returns
unique identifier for the pathogen risk
- Return type
notation (string)
-
pathogen
()¶ - Returns
indicates the actual pathogen involved. The PathogenRisk may represent actual or possible contamination with this pathogen
- Return type
pathogen (object)
-
riskStatement
()¶ - Returns
text describing the risk from this pathogen, or possible pathogen
- Return type
riskStatement (string)
-
foodAlertsAPI.Problem¶
-
class
foodAlertsAPI.Problem.
Problem
(dict)¶ Bases:
object
-
_riskStatement
¶ text describing the problem in terms of the risk to consumers
- Type
string
-
_allergen
¶ a list of foodAlertsAPI.Allergen objects
- Type
object[]
-
_hazardCategory
¶ a foodAlertsAPI.HazardCategory object. Classifies the problem as into one of the hazard categories. Support for this field is under discussion.
- Type
object, optional
-
_pathogenRisk
¶ classifies the problem as being due to actual or possible contamination with a pathogen.
- Type
object, optional
-
_reason
¶ a foodAlertsAPI.Reason object
- Type
object, optional
-
allergen
()¶ - Returns
a list of foodAlertsAPI.Allergen objects
- Return type
allergen (object[])
-
allergenLabels
()¶ - Returns
list of allergens in string format
- Return type
allergenLabels (string[], optional)
-
hazardCategory
()¶ - Returns
- a foodAlertsAPI.HazardCategory object. Classifies the problem as into one of the hazard categories.
Support for this field is under discussion.
- Return type
hazardCategory (object, optional)
-
hazardCategoryLabel
()¶ - Returns
hazard category in string format
- Return type
hazardCategoryLabel (string, optional)
-
hazardCategoryNotation
()¶ - Returns
unique identifier for hazard category in string format
- Return type
hazardCategoryNotation (string, optional)
-
pathogenRisk
()¶ - Returns
classifies the problem as being due to actual or possible contamination with a pathogen.
- Return type
pathogenRisk (object, optional)
-
pathogenRiskLabels
()¶ - Returns
pathogen risks in string format
- Return type
pathogenRiskLabels (string[], optional)
-
reason
()¶ - Returns
a foodAlertsAPI.Reason object
- Return type
reason (object, optional)
-
riskStatement
()¶ - Returns
text describing the problem in terms of the risk to consumers
- Return type
riskStatement (string)
-
foodAlertsAPI.ProductCategory¶
-
class
foodAlertsAPI.ProductCategory.
ProductCategory
(dict)¶ Bases:
object
foodAlertsAPI.ProductDetails¶
-
class
foodAlertsAPI.ProductDetails.
ProductDetails
(dict)¶ Bases:
object
-
_productName
¶ name of the affected product
- Type
string
-
_productCode
¶ identifying code for the affected product
- Type
string, optional
-
_packSizeDescription
¶ description of the package size affected - may be weight, volume or other description
- Type
string, optional
-
_allergen
¶ list of urls to the allergens present in the product
- Type
string[], optional
-
_batchDescription
¶ an array of foodAlertsAPI.BatchDescription objects
- Type
object[]
-
_productCategory
¶ a foodAlertsAPI.ProductCategory object. Identifies the category of the affected product. This information is used to support search and analysis and does not need to be separately included in the alert presentation.
- Type
object, optional
-
allergen
()¶ - Returns
list of urls to the allergens present in the product
- Return type
allergen (string[])
-
batchDescription
()¶ - Returns
an array of foodAlertsAPI.BatchDescription objects
- Return type
batchDescription (object[])
-
packSizeDescription
()¶ - Returns
description of the package size affected - may be weight, volume or other description
- Return type
packSizeDescription (string, optional)
-
productCategory
()¶ - Returns
- a foodAlertsAPI.ProductCategory object. Identifies the category of the affected product.
This information is used to support search and analysis and does not need to be separately included in the alert presentation.
- Return type
productCategory (object, optional)
-
productCode
()¶ - Returns
identifying code for the affected product
- Return type
productCode (string, optional)
-
productName
()¶ - Returns
name of the affected product
- Return type
productName (string)
-
foodAlertsAPI.Reason¶
-
class
foodAlertsAPI.Reason.
Reason
¶ Bases:
object
Classifies the reason for the problem as being one of a standard set of reasons. This information is useful for analysis and retrieval but does not directly affect the default textual presentation of the alert. Support for this field is under discussion.
-
_label
¶ name for the reason
- Type
string
-
_notation
¶ unique identifier for the reason
- Type
string
-
label
()¶ - Returns
name for the reason
- Return type
label (string)
-
notation
()¶ - Returns
unique identifier for the reason
- Return type
notation (string)
-
foodAlertsAPI.RelatedMedia¶
-
class
foodAlertsAPI.RelatedMedia.
RelatedMedia
(dict)¶ Bases:
object
-
_id
¶ URL for the related media
- Type
string
-
_title
¶ title for the related media
- Type
string, optional
-
id
()¶ - Returns
URL for the related media
- Return type
id (string)
-
title
()¶ - Returns
title for the related media
- Return type
title (string, optional)
-
foodAlertsAPI.Status¶
-
class
foodAlertsAPI.Status.
Status
(dict)¶ Bases:
object
-
_id
¶ URL for the status
- Type
string
-
_label
¶ name of the status of the Alert, normally this will be ‘Published’ but in rare cases may be changed to ‘Withdrawn’
- Type
string
-
id
()¶ - Returns
URL for the status
- Return type
id (string)
-
label
()¶ - Returns
name of the status of the Alert, normally this will be ‘Published’ but in rare cases may be changed to ‘Withdrawn’
- Return type
label (string, optional)
-
foodAlertsAPI.foodAlertsAPI¶
-
class
foodAlertsAPI.foodAlertsAPI.
foodAlertsAPI
¶ Bases:
object
-
getAlert
(ID)¶ Get a specific alert based on its notation, e.g. (FSA-AA-01-2018)
- Parameters
ID (string) – the alert ID
- Returns
A foodAlertsAPI.Alert object
- Raises
ValueError – occurs when an invalid value for the notation is provided
-
getAlerts
(quantifier=None, detailed=False, limit=None, offset=None, sortBy=None, filters={})¶ Gets alerts from the FSA Food Alerts API
- Parameters
quantifier – the quantifier can be an int n, in which case the function returns the last n alerts. The quantifier can also be a date string in ISO format, in which case the function returns the alerts published since the given date
detailed (bool, optional) – determines whether the Alert objects returned will contain all properties. When this is set to false, only the summary properties are included. Defaults to False if unspecified
limit (int, optional) – specifies the maximum number of Alert objects that can be returned
offset (int, optional) – return the list of items starting with the nth item, together with limit this enables paging through a long set of results
sortBy (string, optional) – reorder the list of results in ascending order of the given property (or property chain). To sort in descending order use sortBy=-prop. More than one sort can be included in which case they will be applied in order
filters (dict, optional) – filters based on alert object properties, e.g. {“type”:”AA”}
- Returns
A list of foodAlertsAPI.Alert objects
- Raises
ValueError – occurs when an invalid value for the quantifier or optional arguments is provided
-
searchAlerts
(query, detailed=False, limit=None, offset=None, sortBy=None, filters={})¶ Search for query in alerts from the FSA Food Alerts API
- Parameters
query (string) – the search query
detailed (bool, optional) – determines whether the Alert objects returned will contain all properties. When this is set to false, only the summary properties are included. Defaults to False if unspecified
limit (int, optional) – specifies the maximum number of Alert objects that can be returned
offset (int, optional) – return the list of items starting with the nth item, together with limit this enables paging through a long set of results
sortBy (string, optional) – reorder the list of results in ascending order of the given property (or property chain). To sort in descending order use sortBy=-prop. More than one sort can be included in which case they will be applied in order
filters (dict, optional) – filters based on alert object properties, e.g. {“type”:”AA”}
- Returns
A list of foodAlertsAPI.Alert objects
- Raises
ValueError – occurs when an invalid value for the query or optional arguments is provided
-


BACK
Menu Title
PLAY GAME
INVENTORY
INVITE FRIENDS
ALL-STARS
Don't panic, choose a nickname.
Wins
Losses
Streak
Fouls
customize
Start game
Sign-out
Sign-in with facebook
Sign-in with google
how to play
Share
Follow
Coming soon!
Item Storage
POOL CUES
AVATARS
DECALS
GOALIES
MISC
Item Name
OBTAINED
OBTAINED DATE
VALUE
ITEM VALUE
USAGE
ITEM USAGE
Equip
10.000.000
ALL STARS LEADERBOARD
PLACE
NAME
HIGH SCORE
RATING
PLAYTIME
1st
first nickname
10.000.000
5 stars
122 hours
2nd
first nickname
8.000.000
5 stars
122 hours
3rd
first nickname
8.000.000
5 stars
122 hours
4th
first nickname
7.000.000
5 stars
122 hours
5th
first nickname
6.000.000
5 stars
122 hours
6th
first nickname
5.000.000
5 stars
122 hours
7th
first nickname
4.000.000
5 stars
122 hours
8th
first nickname
3.000.000
5 stars
122 hours
9th
first nickname
2.000.000
5 stars
122 hours
10th
first nickname
1.000.000
5 stars
122 hours
112th
sandru andrei
80.000
VII
14 hours
SEARCHING FOR OPPONENT
0:00
SANDRU test
0:00
SANDRU test
Round complete
player name
Guest
Win
Wins
Losses
Streak
Fouls
player name
Guest
Win
Wins
Losses
Streak
Fouls
playa disconnected
main menu
rematch
new opponent
your opponent wants revenge:
YES
NO
OPPONENT FOUND
RACKING DEEZ BALLS
OPPONENT NAME
Noobie
Win
10
LOST
5


Tech revolutions by Steve Jobs
-
Igniting the personal computer revolution.
-
Introducing the mouse and graphical user interface.
-
Bringing portable music players to the masses.
-
Revolutionizing the sale of music.
-
Shepherding the age of computer animation.
-
Opening Apple stores.
-
Making personal computers stylish.
-
Launching the smartphone revolution.
-
Changing how software applications are distributed.
-
Kicking off the tablet trend.
Movies On Steve Jobs
Read the Official Biography On Steve Jobs
To Buy the official biography of Steve Jobs Click Here
To know more about him Click here


@(info: String)(shortURL: String)(longURL: String)(request: Request[play.api.mvc.MultipartFormData[play.api.libs.Files.TemporaryFile]]) @main("Upload Complete") {
@Html(info)
location: @shortURL
full location: @longURL
Image take 1:
Image take 2:
originating from request: @(request)


THREDDS Catalogs are logical directories of on-line data resources, encoded as XML documents, which provide a place for annotations and other metadata about the data resources to reside. This is how THREDDS-enabled data consumers find out what data is available from data providers.
THREDDS Catalogs were originally designed for clients to use to access remote data. They have been extended to allow the TDS to use them for its own configuration. In this mode they are called TDS Configuration Cataloggs, or server-side Catalogs. They contain information needed only on the server, which is removed when the TDS sends the catalog to the client, called the client-side or client-view catalog.
For client-side catalogs, see:
The Java NetCDF library has a complete package (thredds.catalog) to parse client-side catalogs. A newer package (thredds.client.catalog) is scheduled for release in version 4.6.
The TDS dynamically generates THREDDS catalogs based on the TDS configuration catalogs. For server-side catalogs, see: