Package it.polimi.ingsw.view.CLIpackage
Class CLI
java.lang.Object
it.polimi.ingsw.observer.NetworkHandlerObservable
it.polimi.ingsw.view.CLIpackage.CLI
- All Implemented Interfaces:
View
,java.lang.Runnable
public class CLI extends NetworkHandlerObservable implements java.lang.Runnable, View
CLI class
-
Constructor Summary
Constructors Constructor Description CLI()
-
Method Summary
Modifier and Type Method Description int
askAQuantity(java.lang.String string)
Method used to ask a quantity to withdraw from a Resource spotResourceType
askAResource(java.lang.String toPrint)
Asks a type of resourcevoid
askCardIndex()
Asks the index of the development card that player wants to buyint
askExtraDepot(java.lang.String s)
Asks the index of an extra depotvoid
askHowToPayProduction()
Asks how player want to buy the resources needed to activate production slotsvoid
askInitialDiscard()
Asks the leader cards player wants to discard in the initial stage of the gamevoid
askInitialResource()
Asks the type of resource player wants to add in the initial stage of the gamevoid
askLogin()
Asks the user his nickname and gets the inputvoid
askOpponentNicknameAndShow()
Asks the user a nickname of an opponent and shows his personal boardvoid
askPlayersNumber()
Asks, if the user is the first user connected of a Lobby, the number of Players that are going to play (1 to 4 players)int
askWarehouseDepot(java.lang.String s)
Ask the index of the warehouse's depotboolean
booleanRequest(java.lang.String request)
Is a boolean requestvoid
cheatRequest()
Sends an endTurn messagevoid
displayBuffer()
void
displayLeaderCards()
void
displayNetworkError()
Warns the user that a network error has occurredvoid
displayNumberOfPlayers(int number)
Prints the number of playersvoid
displayPlayersNumChange(java.lang.String message, boolean join)
void
displayProductionResourcesPayment()
void
displayProductionZone()
void
displayResourcesToPayForCard()
void
displayStartTurn(StartTurnMessage m)
Displays the player whose turn isvoid
displayStringMessages(java.lang.String message)
This method is used to display stringsvoid
displayTakenNickname()
Warns that the chosen nickname is already taken and asks a different onevoid
displayWarehouse()
void
displayWinner(java.lang.String winnerMessage)
Prints the winner's nicknamevoid
displayWrongTurn()
Warns the user that it's not his/her turnvoid
endTurn()
Sends an endTurn messagevoid
gameStarted()
void
handleMarbleBuffer()
Handles the actions player has to perform with the resources in the buffer of resources received after a takeResourcesFromMarket actionvoid
helperPrints()
Prints all the command that player can insert to interact with serverjava.lang.String
printGreen(java.lang.String string)
Method used to print in greenvoid
quittingForProblem(java.lang.String message)
This method is called when Server sent a quit-Messagevoid
readInput()
Reads the input from the client.void
registerClient(ClientAcceptedMessage m)
Sets the owner of this CLI after a Server checkvoid
run()
Starts CLIvoid
showLeaderCards()
This method displays the owner leader cardsvoid
updateBuffer(MarbleBufferUpdateMessage m)
void
updateDevCardMarket(DevCardMarketUpdateMessage m)
void
updateDevCardResourcesToPay(CardPaymentResourceBufferUpdateMessage m)
void
updateFaithTrack(FaithTrackUpdateMessage m)
void
updateFirstPlayer(FirstPlayerMessage m)
void
updateLeaderCardsInHand(LeaderInHandUpdateMessage m)
void
updateLorenzoLight(LorenzoUpdateMessage m)
void
updateMarketLight(MarketUpdateMessage m)
void
updateNicknames(NicknamesUpdateMessage m)
This method sets up the LightModel players' nicknamevoid
updateNumOfResourcesToAdd(int num)
This method sets the number of resource which player must to addvoid
updateOpponentsLeaderCardsInHand(OpponentsLeaderCardsInHandUpdateMessage m)
void
updatePlaceNewCard(PlacementDevCardMessage m)
void
updatePlayersNumber(int num)
This method sets the number of playervoid
updateProductionResourcesToPay(ProductionResourceBufferUpdateMessage m)
void
updateProductionZone(ProductionZoneUpdateMessage m)
void
updateStrongboxLight(StrongboxUpdateMessage m)
void
updateWarehouseLight(WarehouseUpdateMessage m)
void
waitingOtherPlayers(java.lang.String message)
Prints a waiting messageMethods inherited from class it.polimi.ingsw.observer.NetworkHandlerObservable
addObserver, notifyConnection, notifyMessage
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
CLI
public CLI()
-
-
Method Details
-
run
public void run()Starts CLI- Specified by:
run
in interfacejava.lang.Runnable
-
registerClient
Sets the owner of this CLI after a Server check- Specified by:
registerClient
in interfaceView
- Parameters:
m
- is the message send from the Server
-
endTurn
public void endTurn()Sends an endTurn message -
cheatRequest
public void cheatRequest()Sends an endTurn message -
gameStarted
public void gameStarted()- Specified by:
gameStarted
in interfaceView
-
readInput
public void readInput()Reads the input from the client. It runs one thread in order to be able to also listen messages from the server -
askPlayersNumber
public void askPlayersNumber()Asks, if the user is the first user connected of a Lobby, the number of Players that are going to play (1 to 4 players)- Specified by:
askPlayersNumber
in interfaceView
-
askOpponentNicknameAndShow
public void askOpponentNicknameAndShow()Asks the user a nickname of an opponent and shows his personal board -
askCardIndex
public void askCardIndex()Asks the index of the development card that player wants to buy -
askAQuantity
public int askAQuantity(java.lang.String string)Method used to ask a quantity to withdraw from a Resource spot- Parameters:
string
- string of the resource spot name- Returns:
- the quantity asked
-
booleanRequest
public boolean booleanRequest(java.lang.String request)Is a boolean request- Parameters:
request
- is a string to print- Returns:
- true/false
-
askHowToPayProduction
public void askHowToPayProduction()Asks how player want to buy the resources needed to activate production slots -
askLogin
public void askLogin()Asks the user his nickname and gets the input -
handleMarbleBuffer
public void handleMarbleBuffer()Handles the actions player has to perform with the resources in the buffer of resources received after a takeResourcesFromMarket action -
askWarehouseDepot
public int askWarehouseDepot(java.lang.String s)Ask the index of the warehouse's depot- Returns:
- the index of depot given by the user
-
askExtraDepot
public int askExtraDepot(java.lang.String s)Asks the index of an extra depot- Returns:
- the index given by the user
-
askAResource
Asks a type of resource- Returns:
- the type of resource given by the user
-
askInitialDiscard
public void askInitialDiscard()Asks the leader cards player wants to discard in the initial stage of the game- Specified by:
askInitialDiscard
in interfaceView
-
askInitialResource
public void askInitialResource()Asks the type of resource player wants to add in the initial stage of the game- Specified by:
askInitialResource
in interfaceView
-
updateStrongboxLight
- Specified by:
updateStrongboxLight
in interfaceView
-
updateFaithTrack
- Specified by:
updateFaithTrack
in interfaceView
-
updateDevCardMarket
- Specified by:
updateDevCardMarket
in interfaceView
-
updateLeaderCardsInHand
- Specified by:
updateLeaderCardsInHand
in interfaceView
-
updateOpponentsLeaderCardsInHand
- Specified by:
updateOpponentsLeaderCardsInHand
in interfaceView
-
updateDevCardResourcesToPay
- Specified by:
updateDevCardResourcesToPay
in interfaceView
-
updateProductionResourcesToPay
- Specified by:
updateProductionResourcesToPay
in interfaceView
-
updateProductionZone
- Specified by:
updateProductionZone
in interfaceView
-
updateWarehouseLight
- Specified by:
updateWarehouseLight
in interfaceView
-
updateMarketLight
- Specified by:
updateMarketLight
in interfaceView
-
updateBuffer
- Specified by:
updateBuffer
in interfaceView
-
updateNicknames
This method sets up the LightModel players' nickname- Specified by:
updateNicknames
in interfaceView
- Parameters:
m
- is the message from Server
-
updatePlayersNumber
public void updatePlayersNumber(int num)This method sets the number of player- Specified by:
updatePlayersNumber
in interfaceView
- Parameters:
num
- is the number of game's players
-
updateFirstPlayer
- Specified by:
updateFirstPlayer
in interfaceView
-
updatePlaceNewCard
- Specified by:
updatePlaceNewCard
in interfaceView
-
updateNumOfResourcesToAdd
public void updateNumOfResourcesToAdd(int num)This method sets the number of resource which player must to add- Specified by:
updateNumOfResourcesToAdd
in interfaceView
- Parameters:
num
- is the number of resources
-
updateLorenzoLight
- Specified by:
updateLorenzoLight
in interfaceView
-
helperPrints
public void helperPrints()Prints all the command that player can insert to interact with server -
printGreen
public java.lang.String printGreen(java.lang.String string)Method used to print in green- Parameters:
string
- string to print- Returns:
- the input string in green
-
displayResourcesToPayForCard
public void displayResourcesToPayForCard()- Specified by:
displayResourcesToPayForCard
in interfaceView
-
displayProductionResourcesPayment
public void displayProductionResourcesPayment()- Specified by:
displayProductionResourcesPayment
in interfaceView
-
displayBuffer
public void displayBuffer()- Specified by:
displayBuffer
in interfaceView
-
displayLeaderCards
public void displayLeaderCards()- Specified by:
displayLeaderCards
in interfaceView
-
displayWarehouse
public void displayWarehouse()- Specified by:
displayWarehouse
in interfaceView
-
showLeaderCards
public void showLeaderCards()This method displays the owner leader cards -
displayNumberOfPlayers
public void displayNumberOfPlayers(int number)Prints the number of players- Parameters:
number
- number of players
-
displayTakenNickname
public void displayTakenNickname()Warns that the chosen nickname is already taken and asks a different one- Specified by:
displayTakenNickname
in interfaceView
-
quittingForProblem
public void quittingForProblem(java.lang.String message)This method is called when Server sent a quit-Message- Specified by:
quittingForProblem
in interfaceView
- Parameters:
message
- is a string message to print
-
displayProductionZone
public void displayProductionZone()- Specified by:
displayProductionZone
in interfaceView
-
displayWrongTurn
public void displayWrongTurn()Warns the user that it's not his/her turn- Specified by:
displayWrongTurn
in interfaceView
-
displayStringMessages
public void displayStringMessages(java.lang.String message)This method is used to display strings- Specified by:
displayStringMessages
in interfaceView
- Parameters:
message
- message from server
-
displayPlayersNumChange
public void displayPlayersNumChange(java.lang.String message, boolean join)- Specified by:
displayPlayersNumChange
in interfaceView
-
displayNetworkError
public void displayNetworkError()Warns the user that a network error has occurred- Specified by:
displayNetworkError
in interfaceView
-
waitingOtherPlayers
public void waitingOtherPlayers(java.lang.String message)Prints a waiting message- Specified by:
waitingOtherPlayers
in interfaceView
- Parameters:
message
- is a string message to print
-
displayWinner
public void displayWinner(java.lang.String winnerMessage)Prints the winner's nickname- Specified by:
displayWinner
in interfaceView
- Parameters:
winnerMessage
- is a string to print
-
displayStartTurn
Displays the player whose turn is- Specified by:
displayStartTurn
in interfaceView
- Parameters:
m
- message containing the name of the player whose turn is
-


--- title: Sensational Lilacs date: 2009-05-06 00:00:00 -06:00 categories: - whats-blooming layout: post blog-banner: whats-blooming-now-spring.jpg post-date: May 5, 2009 post-time: 11:00 PM blog-image: wbn-default.jpg ---
Spring is really here now! The lilacs are in full bloom and they smell wonderful.
If you aren't familiar with Red Butte Garden, the majority of our lilacs are located near the bottom of the Floral Walk near the entrance to the new Rose Garden. There are also a few in the Children's Garden as well as the Fragrance Garden.
Here are a few cultivars I'd like to highlight.
Syringa vulgaris 'Krasavitsa Moskvy'
Syringa vulgaris 'Macrostachya'
Syringa vulgaris 'Montaigne'
Syringa vulgaris 'Nadezhda'
Syringa villosa 'James Macfarlane'


Much of Timber syntax is taken from Haskell, so the Haskell programmer glancing
through Timber code will feel at home. This page summarizes instead the most important
differences between Timber and Haskell.
- Timber has strict semantics, not lazy as Haskell. This has a major impact on the
programming styles of the two languages.
- Timber has Haskell-like type classes, but with slightly
different syntax for both type class and instance declarations. The reserved word starting a
type class declaration is typeclass.
The main reason for this change is that the word class
in Timber is used to denote the well-known concept from object-oriented programming.
Instances of such types are
named values of the type, tagged by instance. The following excerpt from
the Prelude illustrates the concept.
typeclass Eq a where
(==),(/=) :: a -> a -> Bool
instance eqUnit :: Eq ()
eqUnit = struct
_ == _ = True
_ /= _ = False
One cannot attach a deriving-clause to a data type definition. Instead, one can separately
request default instances of some type classes.
- In addition to data types, Timber has a dual notion of struct types. For both data and struct types there is a notion
of subtyping with inclusion polymorphism.
- Qualified types have another syntax in Timber. To illustrate, here is the definition of the function elem
from the Prelude:
elem :: a -> [a] -> Bool \\ Eq a
elem x [] = False
elem x (y : ys) = x == y || elem x ys
Note: A call to elem will evaluate both arguments
completely (because the language is strict), but will not traverse its second argument
further when an equality becomes True (because the disjunction "operator" || is non-strict
in its right operand).
- In Timber one can express monadic computations using do-notation, but this is reserved for a particular primitive
monad Cmd s of commands operating on a state s. It is possible to define the concept of a general
monad as in Haskell (it is in fact defined in the prelude), but the do-notation is not available for general monads.
- The Cmd monad provides powerful constructs for object-oriented programming, with objects encapsulating a local
state and methods manipulating this state. This is achieved while retaining the pure nature of the language; a computation with
side-effects is clearly indicated by a monadic type (and can hence not be used in a non-monadic context).
Further, methods execute concurrently, but with exclusive access to the state of the object; thus Timber is also a concurrent
language with some real-time constructs.
- The main program of a Timber program is not of type IO () (this type does not exist in Timber), but there must
be a designated root module with a root definition; the type of this depends on the target environment. In the present
distribution, only a rudimentary POSIX environment is provided.
- The type system of Timber implements many of the non-standard features that are implemented as extensions in GHC. See
more details on the page that discusses advanced features of the type system.


1) How much did you enjoy Uzi in your course?
2) Do you feel Uzi has contributed to your learning process?
3) Could you managed to complete the course without Uzi?
4) Would you recommended Uzi to a nother person?
1) Please rate my survey!!!


On a network, one can think of any given connection as a long wire,
stretched between two points. Lots of stuff can happen along the length of
that wire - routers, switches, network address translation, and so on, but
that is usually invisible to the application passing data across it.
Twisted strives to make the nature of the "wire" as transparent as
possible, with highly abstract interfaces for passing and receiving data,
such as ITransport
and IProtocol
.
However, the application can't be completely ignorant of the wire. In particular, it must do something to start the connection, and to do so, it must identify the end points of the wire. There are different names for the roles of each end point - "initiator" and "responder", "connector" and "listener", or "client" and "server" - but the common theme is that one side of the connection waits around for someone to connect to it, and the other side does the connecting.
In Twisted 10.1, several new interfaces were introduced to describe
each of these roles for stream-oriented connections: IServerStreamEndpoint
and IClientStreamEndpoint
.
The word "stream", in this case, refers to endpoints which treat a
connection as a continuous stream of bytes, rather than a sequence of
discrete datagrams: TCP is a "stream" protocol whereas UDP is a "datagram"
protocol.
In both Writing Servers and Writing Clients, we covered basic usage of
endpoints; you construct an appropriate type of server or client endpoint,
and then call listen
(for servers) or connect
(for clients).
In both of those tutorials, we constructed specific types of
endpoints directly. However, in most programs, you will want to allow the
user to specify where to listen or connect, in a way which will allow the
user to request different strategies, without having to adjust your
program. In order to allow this, you should use clientFromString
or serverFromString
.
Each type of endpoint is just an interface with a single method that
takes an argument. serverEndpoint.listen(factory)
will start
listening on that endpoint with your protocol factory, and
clientEndpoint.connect(factory)
will start a single connection
attempt. Each of these APIs returns a value, though, which can be important.
However, if you are not already, you should be very
familiar with Deferreds, as they are returned by
both connect
and listen
methods, to indicate when
the connection has connected or the listening port is up and running.
IServerStreamEndpoint.listen
returns a Deferred
that fires with an IListeningPort
.
Note that this deferred may errback. The most common cause of such an error
would be that another program is already using the requested port number,
but the exact cause may vary depending on what type of endpoint you are
listening on. If you receive such an error, it means that your application
is not actually listening, and will not receive any incoming connections.
It's important to somehow alert an administrator of your server, in this
case, especially if you only have one listening port!
Note also that once this has succeeded, it will continue listening
forever. If you need to stop listening for some reason, in
response to anything other than a full server shutdown (reactor.stop
and / or twistd
will usually handle that case for you), make
sure you keep a reference around to that listening port object so you can
call IListeningPort.stopListening
on it. Finally, keep in mind that stopListening
itself returns
a Deferred
, and the port may not have fully stopped listening
until that Deferred
has fired.
Most server applications will not need to worry about these details.
One example of a case where you would need to be concerned with all of
these events would be an implementation of a protocol like non-PASV
FTP, where new listening ports need to be bound for the lifetime of a
particular action, then disposed of.
IClientStreamEndpoint.connect
will connect your protocol factory to a new outgoing connection attempt. It
returns a Deferred
which fires with the IProtocol
returned from the factory's buildProtocol
method.
Connection attempts may fail, and so that Deferred
may also errback. If it does so,
you will have to try again; your protocol won't be constructed, and no further
attempts will be made.
Connection attempts may also take a long time, and your users may
become bored and wander off. If this happens, and your code decides, for
whatever reason, that you've been waiting for the connection too long, you
can call Deferred.cancel
on the Deferred
returned from connect
, and the
underlying machinery should give up on the connection. This should cause the
Deferred
to errback, usually with CancelledError
; although you should
consult the documentation for your particular endpoint type to see if it may do
something different.
Although some endpoint types may imply a built-in timeout, the interface does not guarantee one. If you don't have any way for the application to cancel a wayward connection attempt, the attempt may just keep waiting forever. For example, a very simple 30-second timeout could be implemented like this:
attempt = myEndpoint.connect(myFactory) reactor.callback(30, attempt.cancel)
Directly constructing an endpoint in your application is rarely the best option, because it ties your application to a particular type of transport. The strength of the endpoints API is in separating the construction of the endpoint (figuring out where to connect or listen) and its activation (actually connecting or listening).
If you are implementing a library that needs to listen for connections or make outgoing connections, when possible, you should write your code to accept client and server endpoints as parameters to functions or to your objects' constructors. That way, application code that calls your library can provide whatever endpoints are appropriate.
If you are writing an application and you need to construct
endpoints yourself, you can allow users to specify arbitrary endpoints
described by a string using the clientFromString
and serverFromString
APIs. Since these APIs just take a string, they provide flexibility: if
Twisted adds support for new types of endpoints (for example, IPv6
endpoints, or WebSocket endpoints), your application will automatically be
able to take advantage of them with no changes to its code.
For many use-cases, especially the common case of a twistd
plugin which runs a long-running server that just binds a simple port, you
might not want to use the endpoints APIs directly. Instead, you may want to
construct an IService
, using strports.service
, which will fit
neatly into the required structure of the twistd
plugin API . This doesn't give your application much control - the port
starts listening at startup and stops listening at shutdown - but it does
provide the same flexibility in terms of what type of server endpoint your
application will support.
It is, however, almost always preferable to use an endpoint rather
than calling a lower-level APIs like connectTCP
, listenTCP
,
etc, directly. By accepting an arbitrary endpoint rather than requiring a
specific reactor interface, you leave your application open to lots of
interesting transport-layer extensibility for the future.


WITNESS LIST
Health & Human Services
March 18, 2015 8:00 AM
FOR:
Blackburn, Renellquiana (Self), Austin, TX
Bryant, Rebecca (Self), Austin, TX
Harris, Ashley Policy Associate (also providing written testimony) (Texans Care for
Children), Austin, TX
AGAINST:
King, Read (Self), Denton, TX
ON:
Gonzalez, Gail Director of Placement Services (Department of Family and Protective
Services), Austin, TX
Registering, but not testifying:
FOR:
Barillas, Katherine Director of Child Welfare Policy (One Voice Texas), Houston, TX
Bryan, Chris VP of Information Technology and Public Policy (Clarity Child Guidance
Center), San Antonio, TX
Crockett, Sarah Public Policy Coordinator (Texas CASA), Austin, TX
Francis, Will Government Relations Director (National Association of Social Workers -
Texas), Austin, TX
Graziani, Cate (Mental Health America of Texas), Austin, TX
Johnson, Lee Deputy Director (Texas Council of Community Centers), Austin, TX
Kimberly, Knox VP of Government and Corporate Relations (Lutheran Social Services of
the South), Austin, TX
Kreager, John Policy Fellow (Texas Criminal Justice Coalition), Austin, TX
Ligon, Katharine Mental Health Analyst (Center for Public Policy Priorities), Austin, TX
McPeters, Pamela Director of Public Policy (TexProtects / Texas Association for the
Protection of Children), Austin, TX
Rutan, Reyna (Self; Youth Leadership Council), Austin, TX
Smith, Casey Policy Associate (United Ways of Texas), Austin, TX
Van Ramshorst, Ryan Physician (Texas Pediatric Society), San Antonio, TX
White, David Executive Director (Texas Psychological Association), Cedar Park, TX
Woomer, Eric Government Affairs Consultant (Federation of Texas Psychiatry), Austin,
TX
FOR:
Jackson, Richie CEO (Texas Restaurant Association), Austin, TX
ON:
Schaffer, Michael Director, Environmental Public Health (also providing written
testimony) (Harris County Public Health and Environmental Services), Pasadena, TX
Sparks, Christopher Public Sanitation and Retail Food Safety Manager (Department of
State Health Services), Austin, TX
WITNESS LIST
Health & Human Services
March 18, 2015 8:00 AM
Registering, but not testifying:
FOR:
Burgin, Matt (Texas Food and Fuel Association), Austin, TX
Hinkle, Ron (Texas Travel Industry Association), Austin, TX
Slone, Jeri CEO (Bluebonnet Homes Inc.), San Angelo, TX
Stone, Gerald Owner (El Mercado Restaurant - Austin), Austin, TX
Sullivan, Brian Associate General Counsel (Texas Hotel and Lodging Association), Austin,
TX
Volkening, Ronnie President (Texas Retailers Association), Austin, TX
AGAINST:
Franco, Brie Assistant City Attorney (City of El Paso), El Paso, TX
Mendez, Mark Assistant County Administrator (Tarrant County Commissioners Court),
Fort Worth, TX
Solis, Eddie (City of Arlington), Austin, TX
Providing written testimony:
AGAINST:
Igo, Shanna (Texas Municipal League), Austin, TX
Lanagan, Lindsay Intergovernmental Relations (City of Houston), Houston, TX
ON:
Mays, Dan Consultant (City of Laredo, Texas), Austin, TX
Smith, Jennifer Executive Director (Texas Association of City and County Health
Officials), Austin, TX
FOR:
Pickard, Todd PA (Texas Academy of PAs), Houston, TX
Registering, but not testifying:
FOR:
Finch, Dan Director of Legislative Affairs (Texas Medical Association), Austin, TX
FOR:
Bales, David Chairman (also providing written testimony) (Texans for Stem Cell
Research), Austin, TX
Paredes, Dorothy (KK125 Ovarian Cancer Research Foundation), Austin, TX
Sandefur, Christina Senior Attorney (Self; Goldwater Institute), Phoenix, AZ
Sloan, John (Self; Andrea Sloan; KK125 Ovarian Cancer Research), Tyler, TX
Sloan, Karen (Self; KK125 Ovarian Cancer Research Foundation), Tyler, TX
Wittenburg, Michelle President (Self; KK125 Ovarian Cancer Research Foundation),
Austin, TX
ON:
Robinson, Mari Executive Director (Texas Medical Board), Austin, TX
Registering, but not testifying:
FOR:
Blakemore, Allen (Self; KK125), Austin, TX
WITNESS LIST
Health & Human Services
March 18, 2015 8:00 AM
Bruno, Steve Lobbyist (KK125 Ovarian Cancer Research Foundation), Austin, TX
Hinkle, Ron (KK125 Foundation), Austin, TX
Hodge, Glenna (KK125 Ovarian Cancer Research Foundation), Burnet, TX
Hyten, Kelly (KK125 Ovarian Cancer Research Foundation), Austin, TX
Johnson, Paula (Self; TSHL), Austin, TX
Kuykengall, Deanna Consultant (Self), Austin, TX
Laine, Dale (KK125 Ovarian Cancer Research Foundation), Austin, TX
Lichenstein, Penny LVN; Mom (KK125 Ovarian Cancer Foundation), Austin, TX
Ratliff, Thomas (Texas Nurse Practitioners), Austin, TX
Short, Jim Lobbyist (Self; KK125), Fulshear, TX
Tomlinson, Maxcine Director of Governmental Relations (Texas New Mexico Hospice
Organization), Austin, TX
FOR:
Berndt, Trey Associate State Director (also providing written testimony) (AARP), Austin,
TX
Bosecker, Charlotte Executive Director (also providing written testimony) (MARC Inc.),
Midland, TX
Brooks, Lynne Workgroup Member (Region 8 Medicaid / CHIP Regional Advisory
Committee Workgroup), New Braunfels, TX
Cano-Negron, Sylvia Community Advocate (also providing written testimony) (Ability
Pediatric Therapy ; Regional Advisory Committee, Medicaid / CHIP Region 8 Workgroup),
San Antonio, TX
Carver, Carol VP, Patient Services (also providing written testimony) (Clarity Child
Guidance Center), San Antonio, TX
Slone, Jeri CEO (Bluebonnet Homes Inc.), San Angelo, TX
Tejada, Michelle Audiologist (Audiology/Hearing Aid Workgroup), Floresville, TX
Van Ramshorst, Ryan Physician (Pediatrician) (also providing written testimony) (Texas
Pediatric Society; Texas Medical Association; Texas Academy of Family Physicians), San
Antonio, TX
ON:
Dudensing, Jamie CEO (Texas Association of Health Plans), Austin, TX
Hammond, Bill CEO (Texas Association of Business), Austin, TX
Jessee, Gary Chief Director of Program Operations (Health and Human Services
Commission), Austin, TX
Registering, but not testifying:
FOR:
Avery, BJ Executive Director (Texas Optometric Association), Austin, TX
Cain, Randy Attorney (Value Options), Austin, TX
Dunkelberg, Anne Associate Director (Center for Public Policy Priorities), Austin, TX
Francis, Will Government Relations Director (National Association of Social Workers -
Texas), Austin, TX
Frizzell, Sandra Director of Policy Development (Providers Alliance for Community
Services of Texas), Austin, TX
WITNESS LIST
Health & Human Services
March 18, 2015 8:00 AM
Graziani, Cate (Mental Health America of Texas), Austin, TX
Hench, Marina Director of Public Policy (Texas Association for Home Care & Hospice),
Austin, TX
Hillert, Bobby Executive Director (Texas Orthopaedic Association), Austin, TX
Hodge, Glenna (Conservative Republicans of Texas), Burnet, TX
Johnson, Lee Deputy Director (Texas Council of Community Centers), Austin, TX
Kibbe, Scot Director of Government Relations (Texas Health Care Association), Austin,
TX
Reese, Jennifer (National Alliance on Mental Illness Austin), Austin, TX
Saxton, Josette Mental Health Policy Associate (Texans Care for Children), Austin, TX
Selinger, Kimmi (The ARC of Texas), Austin, TX
Smith, Carole Executive Director (Private Providers Association of Texas), Austin, TX
Sprinkle, GK Public Policy Consultant (Texas Ambulance Association), Austin, TX
Woomer, Eric Government Affairs Consultant (Federation of Texas Psychiatry), Austin,
TX
Providing written testimony:
FOR:
Carroll, Cate Director of Intellectual and Developmental Disability Services (Volunteers of
America Texas), Euless, TX
FOR:
Armstrong, Farah (also providing written testimony) (Self), Katy, TX
Baker, Carolyn (Self), Pearland, TX
De Los Santos, Cindy CMV Research Staff (also providing written testimony) (Baylor
College of Medicine; Texas Children's Hospital), Houston, TX
Demmler Harrison, Gail Professor of Pediatrics (also providing written testimony) (Self),
Bellaire, TX
Julien, Christy (Self; Son - Cooper Julien), Spring, TX
Meeden Bailey, Jenny CMV Mom (also providing written testimony) (Self), Blanco, TX
Stephens, Peyton Speech Pathologist, Mom (also providing written testimony) (Self),
Houston, TX
Williams, Jill CMV Research Staff / Clinic (also providing written testimony) (Baylor
College of Medicine; Texas Children's Hospital), Pearland, TX
ON:
Van Ramshorst, Ryan Physician (Pediatrician) (also providing written testimony) (Texas
Pediatric Society; Texas Medical Association; Texas Academy of Family Physicians), San
Antonio, TX
Registering, but not testifying:
FOR:
Blalock, Ann (Self), TX
Blalock, Douglas (Self), Katy, TX
Flores, Marily CMV Clinical Research Assistant (Baylor College of Medicine), Katy, TX
Mitchell Ghazi, Rebecca Vice President, Co-Founder (Maddie's Mission), Richmond, TX
Ply, Jeanne CMV Mom (Self), San Marcos, TX
WITNESS LIST
Health & Human Services
March 18, 2015 8:00 AM
Sabo, Jason (Children at Risk), Austin, TX


Toggle navigation
Gridlock
New Grid
Join Grid
×
Create Grid
New Grid Name
New Grid Size
Small
Medium
Large


acl acl2012 acl2012-183 acl2012-183-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Alessandro Moschitti
Abstract: unkown-abstract
Danilo Croce, Alessandro Moschitti, and Roberto Basili. 2011. Structured Lexical Similarity via Convolution Kernels on Dependency Trees. In Proc. of EMNLP. Alessandro Moschitti. 2004. A Study on Convolution Kernels for Shallow Semantic Parsing. In Proceedings of ACL. Alessandro Moschitti. 2008. Kernel Methods, Syntax and Semantics for Relational Text Categorization. In Proceedings of CIKM. Daniele Pighin and Alessandro Moschitti. 2009. Efficient Linearization of Tree Kernel Functions. In Proceedings of CoNLL. Aliaksei Severyn and Alessandro Moschitti. 2011. Fast Support Vector Machines for Structural Kernels. In ECML. John Shawe-Taylor and Nello Cristianini. 2004. Kernel Methods for Pattern Analysis. Cambridge Univ. Press. Jeju, Republic of Korea,T 8ut Jourliya 2l0 A1b2s.tr ?ac c2t0s1 o2f A ACssLo 2c0ia1t2io,n p faogre C 2o,mputational Linguistics


The singer appeared in on the November 13th broadcast of 'Radio Star' where he made trending headlines with his outpouring of love for the popular starlet.
He stated: “I really like skinship. I met with HyunA when my parents came to my house. We hold hands and hug in front of my parents."
When asked by MC Yoo Se Yoon if they kiss, Dawn admitted that he kissed HyunA's cheek in front of his parents' but that she didn't like it. He stated that there is "no end to their skinship".


Russia banned from 2020 Olympics, 2022 World Cup over doping scandal
by CNN NewsourceThe World Anti-Doping Agency (WADA) has unanimously agreed to ban Russia from major international sporting competitions -- notably the Olympics and the World Cup -- for four years over doping non-compliance.
WADA's compliance review committee (CRC) had suggested several sanctions because of the Russian Anti-Doping Agency's (RUSADA) failure to cooperate fully during probes into Russian sport.
WADA's executive committee decided to uphold the recommendations at a meeting in Lausanne, Switzerland on Monday.
RUSADA now has 21 days to accept the decision or send the matter to the Court of Arbitration for Sport (CAS).
If upheld, the decision means Russia will be unable to compete in next year's Olympic Games in Tokyo nor the 2022 FIFA World Cup in Qatar.
Why the ban?
WADA's punishment relates to inconsistencies in data retrieved by WADA in January 2019 from the Moscow lab at the center of the 2016 McLaren report, which uncovered a widespread and sophisticated state-sponsored sports doping network.
RUSADA was initially deemed non-compliant after the publication of the McLaren report in 2016.
Commissioned by WADA, the report found the Russian state conspired with athletes and sporting officials to undertake a doping program that was unprecedented in its scale and ambition.
The findings led to sanctions, including no Russian team being present at the 2018 Winter Olympic Games in Pyeongchang, with certain eligible athletes being forced to compete under a neutral flag.
The latest ban leaves the door open for Russian athletes, who can prove they are not tainted by the scandal, to compete as neutral athletes.


Mushrooms (P. cubensis) & Passion Flower
About a year ago my wife and I decided to try a Mushroom-MAOI combination of Psilocybe cubensis and Passionflower (Passiflora incarnata). Syrian Rue is traditionally used for this experiment, however, we selected Passionflower because it seams to be more natural and more readily available. Passionflower extracts are about 80 times weaker than Syrian Rue but seam to produce less nausea and fewer undesirable side effects.
Preparation
12oz of fresh dried Passionflower leaves were soaked in a small amount of cold water (just enough to saturate the leaves) and lemon juice for 2 days. The leaves were pressed and the liquid saved. Water and lemon juice were added and the mixture was brought to about 150F for 2 hours. The leaves were pressed again and the liquid saved. Finally the leaves were boiled for about 1.5 hours, the leaves were pressed, the liquid was saved and the leaves discarded. After cool, the liquids were combined with fresh ginger root was added to the mixture (to reduce nausea) to make 6-8 cups of brown, bitter liquid. This liquid was cooled for 4 hours, iced and served as iced tea with plenty of sugar.
The Experiment
We prepared for 72 hours prior by eating only MAOI compatible foods (MAOIs react dangerously with *many* foods and drugs)
6:00 pm - After fasting for 6 hours, we each consume half of the Passionflower extract.
6:15 pm - I experience some nausea, my wife feels fine. The nausea (probably due to the large amount of liquid consumed on an empty stomach) quickly dissipates.
6:45 pm - We each swallow 2 grams of potent dried P. cubensis in gelatin capsules. At this point we are beginning to notice the effects of the MAOIs; a warm comfortable feeling, some loss of coordination and a general feeling of euphoria similar to alcohol (about 4 beers).
7:15 pm - I feel a definite shift in consciousness, a familiar sensation that usually precedes a mushroom trip. We watch a movie (The Spy That Shagged Me) and wait. I feel dizzy as I walk to the bathroom. As I stand there, I feel as if something is about to happen. I feel nervous and anxious, much more so then before an average trip. I try to relax and suddenly notice that I see the toilet bowl 'in double' and *everything* seems to have a greenish hue. This is the first visual that I have seen on this trip and the world has suddenly turned sideways on me! I feel like I have been physically pushed to the side of myself, a curious feeling I have only had once before with high-dose LSD. A sense of *physical* disassociation as if I am standing next to myself.
 Then the visual effects seem to mellow. I begin to feel comfortable again. Waves of warmth and comfort came over me and the world seems odd but friendly. I return to find that the effect has hit my wife as quickly as it hit me. She is sitting on the floor watching the movie with amazement. I sat next to her and began to notice that I can not understand the movie. I have only minor visual distortions and feel very clear headed but I can not understand the movie *at all*. My wife says that she also feels more impaired than usual, although she feels significantly less impaired than I do. Although we consumed no alcohol or any other drugs, the inebriation deepens over the next 45 minutes. This state of confusion is alternately distracting, annoying and hilarious, but never unpleasant.
8:00 pm - The visuals are now quite good, not spectacular, but the TV seems to pulse with energy and it wiggles astonishingly when the channel is changed. At this point I can not understand how to use the TV remote. I begin to feel cold and I ask my wife if she wants to take a bath together. She agrees and I walk to the stairs. I discover that walking is *very* difficult. I stagger dramatically and look very drunk. When I get to the tub I pour a bath and use the bathroom. I have now pissed about 6 times since 6:00 pm!
8:15 pm - We light candles and sit in the bath. The candles light make great shadows on the walls to watch. The visuals are very prominent at this point and seem to primarily be strange distortions of actual objects. The distortions are very obvious and very extreme. At this level the distortion seemed +++, but I did not experience things I commonly experience at +++ such as flowing surfaces, color distortions, time distortion or actual hallucinations. The distortions seem to show only the world as it is, but geometrically distorted to be beautifully stretched and shaped. My wife says that she is experiencing considerably less noticeable effects. She comments that the visuals seem obvious, be seem to change less than she would expect. She rated her level to be ++.
8:45 pm - Out of the bath, I lay by the fireplace and listen to music. CEVs are extremely well formed and 3 dimensional, almost like vivid dreams. I see more than shapes, but fully formed Magrette-esc scenes, very surreal. Music seems to be the only thing with severe time distortion. If I listen to the music carefully I get caught in a music loop. We are listening to ambient music and the long continuous sounds seem to go on forever. Unlike an LSD time-warp experience I enjoy this and just float with my eyes closed never wanting the endless loop to end. We lay by the fire for what seems like hours.
9:15 pm - I want to take a bath again. I have begun to shiver and some nausea has returned. I sit in the tub and my wife sits next to me on the floor. I can now talk more sensibly and we chat about life, philosophy, death, etc. I describe the CEVs which are now more like a move playing when I close my eyes. We sit quitely and I close my eyes and try to focus on the visuals. I feel strong rushes of emotion. An overhelming sense of alone, a sense of spiritual loss for the world. I relax more and feel as if I might drift from my body. I see images of friends and family, as well as strange landscape. The effect reminds me of opium dreams. I think I was actually asleep for 10 or 15 minutes (strange I know).
10:00 pm - Still at a strong +++. I now feel very hot and sit outside to cool off. I seem to notice more color distortions and unusual moving patterns. The visuals seem more like a standard mushroom trip. Things with texture are very interesting and have kaleidoscopic color patterns.
10:45 pm - I sit with my wife by the fire, we watch the flames which look fantastic. I return from the bathroom (I have pissed another 5 or 6 times now) and we have sex by the fire. The sex is amazing, very sensual and tender.  About a + now. Feel euphoric, but very tired.
12:00 am - We go to bed. My wife sleeps instantly, I cannot. I remember something about Meletonin being a mild MAOI. I take some Meletonin and eat something. In about 45 minutes I sleep soundly and have fantastic dreams.
7:00 am - Our mood is great. I have a slight headache which I attributed to dehydration. I feel very clear headed even at breakfast with friends.
I believe that an MAOI-Psilocybe mushroom experience is a wholly different experience from Psilocybe mushrooms alone. The sense on inebriation is much greater and the effects are very strange and pronounced, but much less disturbing than a Psilocybe mushroom experience with twice the dose. The spiritual aspect seems very different as well, very impersonal. Almost as if I was experiencing it as a detached observer. No deep introspection or self-realization. The MAOI seems to make the overall experience more comfortable. The effect is definitely stronger than Psilocybe mushrooms alone and lasts slightly longer.
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.


BRBeaconMessage Class Reference
| Inherits from | NSObject |
|---|---|
| Conforms to | NSCopying |
| Declared in | BRBeaconMessage.h BRBeaconMessage.m |
Other Methods
Other Methods
– initializeWithTimestamp:andRssi:
- (void)initializeWithTimestamp:(NSDate *)_timestamp andRssi:(int)_rssi


Indian Institute of Technology Ropar, Nangal Road, Rupnagar, Punjab, INDIA 140001
+91-1881-242188 +91-1881-242253
Copyright © 2017, IIT Ropar
Designed by ISMP Web-Development Team


The Schedule page (Host > Advanced Settings Schedule) allows SuperUsers to run tasks against the DNN database at scheduled intervals. The Schedule optimizes the efficiency of a site by reducing the frequency of common tasks. The Schedule cannot be deployed to other site pages.
Important. The Schedule module must be enabled and configured.
The Schedule - DNN Platform
The Schedule - Evoq Content and Evoq Content Enterprise


On Wednesday, July 20, Ecotrust is hosting the Chicken & Egg Food Forum: Taking steps to scale sustainable meat.
I hope you'll join us.
Dear ,
On Wednesday, July 20, Ecotrust is hosting the Chicken & Egg Food Forum: Taking steps to scale sustainable meat. I hope you'll join us.
Joining us to discuss these issues will be our panelists, followed by a Q&A. Immediately afterward, we are hosting a social hour, where panelists and attendees can connect and take the conversation into deeper waters.
t h e d e t a i l s
chicken & egg food forum
5:30-8:30, wednesday, july 20
This event is the second in our Food Forums series, where Ecotrust is bringing together engaged food leaders from diverse sectors to dig into important food systems issues. We want to dig into the system changes we need to work toward a healthier food landscape that feeds all eaters, benefits the environment, and improves our economy.
I would love to have you join me.
Warmly,


|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.bitcoin.core.NetworkConnection
public class NetworkConnection
A NetworkConnection handles talking to a remote BitCoin peer at a low level. It understands how to read and write
messages off the network, but doesn't asynchronously communicate with the peer or handle the higher level details
of the protocol. After constructing a NetworkConnection, use a Peer
to hand off communication to a
background thread.
Construction is blocking whilst the protocol version is negotiated.
| Constructor Summary | |
|---|---|
NetworkConnection(java.net.InetAddress remoteIp,
NetworkParameters params,
int bestHeight,
int connectTimeout)
Connect to the given IP address using the port specified as part of the network parameters. |
| Method Summary | |
|---|---|
VersionMessage |
getVersionMessage()
Returns the version message received from the other end of the connection during the handshake. |
void |
ping()
Sends a "ping" message to the remote node. |
Message |
readMessage()
Reads a network message from the wire, blocking until the message is fully received. |
void |
shutdown()
Shuts down the network socket. |
java.lang.String |
toString()
|
void |
writeMessage(java.lang.String tag,
Message message)
Writes the given message out over the network using the protocol tag. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public NetworkConnection(java.net.InetAddress remoteIp, NetworkParameters params, int bestHeight, int connectTimeout) throws java.io.IOException, ProtocolException
remoteIp
- IP address to connect to. IPv6 is not currently supported by BitCoin.params
- Defines which network to connect to and details of the protocol.bestHeight
- How many blocks are in our best chainconnectTimeout
- Timeout in milliseconds when initially connecting to peer
java.io.IOException
- if there is a network related failure.
ProtocolException
- if the version negotiation failed.| Method Detail |
|---|
public void ping() throws java.io.IOException
java.io.IOException
public void shutdown() throws java.io.IOException
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object
public Message readMessage() throws java.io.IOException, ProtocolException
ProtocolException
- if the message is badly formatted, failed checksum or there was a TCP failure.
java.io.IOException
public void writeMessage(java.lang.String tag, Message message) throws java.io.IOException
java.io.IOException
public VersionMessage getVersionMessage()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


| | |
- diff_notification_done(...)
- diff_notification_done(sock, tctx) -> None
If the received event was NOTIF_COMMIT_DIFF it is important that we call
this function when we are done reading the transaction diffs over MAAPI.
The transaction is hanging until this function gets called. This function
also releases memory associated to the transaction in the library.
Keyword arguments:
sock -- a previously connected notification socket
tctx -- a transaction context
- notifications_connect(...)
- notifications_connect(sock, mask, ip, port, path) -> None
This function creates a notification socket.
Keyword arguments:
sock -- a Python socket instance
mask -- a bitmask of one or several notification type values
ip -- the ip address if socket is AF_INET (optional)
port -- the port if socket is AF_INET (optional)
path -- a filename if socket is AF_UNIX (optional).
- notifications_connect2(...)
- notifications_connect2(sock, mask, data, ip, port, path) -> None
This variant of notifications_connect is required if we wish to subscribe
to NOTIF_HEARTBEAT, NOTIF_HEALTH_CHECK, or NOTIF_STREAM_EVENT events.
Keyword arguments:
sock -- a Python socket instance
mask -- a bitmask of one or several notification type values
data -- a _events.NotificationsData instance
ip -- the ip address if socket is AF_INET (optional)
port -- the port if socket is AF_INET (optional)
path -- a filename if socket is AF_UNIX (optional)
- read_notification(...)
- read_notification(sock) -> dict
The application is responsible for polling the notification socket. Once
data is available to be read on the socket the application must call
read_notification() to read the data from the socket. On success a
dictionary containing notification information will be returned (see below).
Keyword arguments:
sock -- a previously connected notification socket
On success the returned dict will contain information corresponding to the
c struct confd_notification. The notification type is accessible through
the 'type' key. The remaining information will be different depending on
which type of notification this is (described below).
Keys for type NOTIF_AUDIT (struct confd_audit_notification):
logno
user
msg
usid
Keys for type NOTIF_DAEMON, NOTIF_NETCONF, NOTIF_DEVEL or
NOTIF_TAKEOVER_SYSLOG (struct confd_syslog_notification):
prio
logno
msg
Keys for type NOTIF_COMMIT_SIMPLE (struct confd_commit_notification):
database
diff_available
flags
uinfo
Keys for type NOTIF_COMMIT_DIFF (struct confd_commit_diff_notification):
database
flags
uinfo
tctx
Keys for type NOTIF_USER_SESSION (struct confd_user_sess_notification):
type
uinfo
database
Keys for type NOTIF_HA_INFO (struct confd_ha_notification):
type (1)
nomaster - if (1) is HA_INFO_NOMASTER
slave_died - if (1) is HA_INFO_SLAVE_DIED (see below)
slave_arrived - if (1) is HA_INFO_SLAVE_ARRIVED (see below)
cb_initialized_by_copy - if (1) is HA_INFO_SLAVA_INITIALIZED
beslave_result - if (1) is HA_INFO_BESLAVE_RESULT
If slave_died or slave_arrived is present they will in turn contain a
dictinary with the following keys:
nodeid
af (1)
ip4 - if (1) is AF_INET
ip6 - if (1) is AF_INET6
str - if (1) if AF_UNSPEC
Keys for type NOTIF_SUBAGENT_INFO (struct confd_subagent_notification):
type
name
Keys for type NOTIF_COMMIT_FAILED (struct confd_commit_failed_notification):
provider (1)
dbname
port - if (1) is DP_NETCONF
af (2) - if (1) is DP_NETCONF
ip4 - if (2) is AF_INET
ip6 - if (2) is AF_INET6
daemon_name - if (1) is DP_EXTERNAL
Keys for type NOTIF_SNMPA (struct confd_snmpa_notification):
pdu_type (1)
request_id
error_status
error_index
port
af (2)
ip4 - if (3) is AF_INET
ip6 - if (3) is AF_INET6
vb (optional)
generic_trap - if (1) is SNMPA_PDU_V1TRAP
specific_trap - if (1) is SNMPA_PDU_V1TRAP
time_stamp - if (1) is SNMPA_PDU_V1TRAP
enterprise - if (1) is SNMPA_PDU_V1TRAP (optional)
Keys for type NOTIF_FORWARD_INFO (struct confd_forward_notification):
type
target
uinfo
Keys for type NOTIF_CONFIRMED_COMMIT
(struct confd_confirmed_commit_notification):
type
timeout
uinfo
Keys for type NOTIF_UPGRADE_EVENT (struct confd_upgrade_notification):
event
Keys for type NOTIF_COMMIT_PROGRESS (struct confd_progress_notification):
database
usid
thandle
msg
Keys for type NOTIF_STREAM_EVENT (struct confd_stream_notification):
type (1)
error - if (1) is STREAM_REPLAY_FAILED
event_time - if (1) is STREAM_NOTIFICATION_EVENT
values - if (1) is STREAM_NOTIFICATION_EVENT
Keys for type NOTIF_CQ_PROGRESS (struct ncs_cq_progress_notification):
type
timestamp
cq_tag
cq_id
completed_devices (optional)
transient_devices (optional)
failed_devices (optional)
failed_reasons - if failed_devices is present
- sync_audit_notification(...)
- sync_audit_notification(sock, usid) -> None
If the received event was NOTIF_AUDIT, and we are subscribing to
notifications with the flag NOTIF_AUDIT_SYNC, this function must be called
when we are done processing the notification. The user session is hanging
until this function gets called.
Keyword arguments:
sock -- a previously connected notification socket
usid -- the user session id
- sync_ha_notification(...)
- sync_ha_notification(sock) -> None
If the received event was NOTIF_HA_INFO, and we are subscribing to
notifications with the flag NOTIF_HA_INFO_SYNC, this function must be
called when we are done processing the notification. All HA processing is
blocked until this function gets called.
Keyword arguments:
sock -- a previously connected notification socket
|


|
|
Use Today not updating in My Electric App |
2 |
46 weeks 2 days ago by chaines |
46 weeks 1 day ago by chaines |
|
|
User permissions / Guest user |
1 |
1 year 6 weeks ago by Beire |
1 year 6 weeks ago by TrystanLea |
|
|
user quota |
2 |
2 years 23 hours ago by xgon |
2 years 18 hours ago by JD |
|
|
User registration and IIS |
2 |
4 years 43 weeks ago by Guest |
4 years 43 weeks ago by Guest |
|
|
User submissions to code |
1 |
1 year 26 weeks ago by ChrisC |
1 year 26 weeks ago by Paul Reed |
|
|
Using a feed for meter read verification |
1 |
2 years 48 weeks ago by Schism |
2 years 48 weeks ago by ukmoose |
|
|
Using curl to send a lot of data to the API |
2 |
4 years 26 weeks ago by Guest |
4 years 26 weeks ago by Guest |
|
|
Using emonhub "scales" as a quick and dirty calibration? |
1 |
50 weeks 3 days ago by Peter Galbavy |
50 weeks 3 days ago by Robert Wall |
|
|
Using Emonhub with the emoncms PacketGen module |
1 |
2 years 26 weeks ago by tgmaxx |
2 years 26 weeks ago by pb66 |
|
|
Using EmonLib.h library |
4 |
1 year 6 days ago by FutureEngineer |
1 year 5 days ago by Robert Wall |
|
|
Using Emonpi features in v8.5 |
3 |
1 year 39 weeks ago by Paul Reed |
1 year 39 weeks ago by TrystanLea |
|
|
Using emonPi/RFM69Pi emonbase ready-to-go SD card image as emonbase (emonhub) only |
3 |
1 year 23 weeks ago by EmilianoM |
1 year 23 weeks ago by pb66 |
|
|
Using Non-Audrino Hardware with Emoncms |
4 |
3 years 5 weeks ago by Guest |
3 years 5 weeks ago by Guest |
|
|
Using Pre-Built SD card image with Raspberry Pi 2 |
5 |
2 years 2 weeks ago by glyn.hudson |
2 years 4 days ago by glyn.hudson |
|
|
Using reporter to Emoncms.org with emoncms on linux hosting |
2 |
1 year 1 week ago by Roeland54 |
1 year 1 week ago by Roeland54 |
|
|
using RFM2PI to send packets from another program. |
11 |
3 years 22 weeks ago by xz81 |
2 years 46 weeks ago by manicmoddin |
|
|
Using SCADA and commercial energy meters |
3 |
4 years 43 weeks ago by Guest |
1 year 17 weeks ago by sweatherholt |
|
|
V6: Warning: Unknown: open_basedir restriction in effect. File(/home/trystan/error.log) is not within the allowed path(s) |
0 |
3 years 22 weeks ago by fversteegen |
n/a |
|
|
v8.0 - kwh_to_kwhd not working |
2 |
2 years 48 weeks ago by gloorung |
2 years 48 weeks ago by gloorung |
|
|
V8.0 incorrect number of decimal places |
8 |
2 years 48 weeks ago by Paul Reed |
2 years 47 weeks ago by TrystanLea |
|
|
v8.0 input processes not working - RESOLVED |
6 |
2 years 49 weeks ago by Paul Reed |
2 years 48 weeks ago by Hertog |
|
|
V8.0 Multigraph line colours |
7 |
2 years 48 weeks ago by Paul Reed |
2 years 47 weeks ago by TrystanLea |
|
|
V8.0.2 - bug in multigraph.php prevents display of tooltips |
1 |
2 years 47 weeks ago by JBecker |
2 years 47 weeks ago by TrystanLea |
|
|
v8.3.5 git installation guide [Sorted] |
5 |
2 years 28 weeks ago by Paul Reed |
2 years 28 weeks ago by Paul Reed |
|
|
v8.5.1 XT - No inputs displayed [SORTED] |
12 |
1 year 37 weeks ago by Paul Reed |
1 year 37 weeks ago by Paul Reed |
|
|
V8.6 - 9.x (extended) Development |
40 |
1 year 33 weeks ago by chaveiro |
1 year 28 weeks ago by firefox7518 |
|
|
v8.6 - MySQL Memory Storage Engine |
2 |
1 year 30 weeks ago by Paul Reed |
1 year 30 weeks ago by Paul Reed |
|
|
v9 - Edit Daily visualization errors |
1 |
1 year 12 weeks ago by Paul Reed |
1 year 12 weeks ago by Beire |
|
|
v9 on Hosted Server |
1 |
1 year 22 weeks ago by unique24 |
1 year 22 weeks ago by unique24 |
|
|
V9.0 RC2 bar graph x-axis date labels off-by-one ? |
4 |
1 year 15 weeks ago by Peter Galbavy |
1 year 14 weeks ago by Paul Reed |
|
|
V9.0 RC2 Daylight saving time bug |
40 |
1 year 17 weeks ago by joyrider3774 |
1 year 14 weeks ago by joyrider3774 |
|
|
v9.1 update kwh/d |
6 |
1 year 12 weeks ago by Beire |
1 year 12 weeks ago by Beire |
|
|
V9.2: Datatype Daily and Histogram are not working |
7 |
1 year 10 weeks ago by emon24 |
1 year 10 weeks ago by emon24 |
|
|
v9.3 - 2016.01.18 Collapsing input/feed tables |
13 |
1 year 4 weeks ago by Paul Reed |
1 year 3 weeks ago by Paul Reed |
|
|
value.json |
2 |
3 years 15 weeks ago by Tomis |
3 years 15 weeks ago by Tomis |
|
|
VB.Net source code For forwarding data from EmonTx to Emoncms running on a Windows PC |
0 |
2 years 40 weeks ago by MPooley |
n/a |
|
|
Vcal calculation |
3 |
1 year 51 weeks ago by SinyaWeo |
1 year 51 weeks ago by Robert Wall |
|
|
Vcc calibration of EMON |
1 |
5 years 23 weeks ago by Guest |
5 years 22 weeks ago by TrystanLea |
|
|
Verify RFM69Pi |
11 |
1 year 46 weeks ago by haden |
1 year 44 weeks ago by haden |
|
|
Victron Energy protocol integration with emonhub |
2 |
1 year 2 days ago by atilev |
50 weeks 4 days ago by atilev |
|
|
View reachable Boards via RF? |
0 |
4 years 4 weeks ago by Guest |
n/a |
|
|
view-action id request |
0 |
1 year 39 weeks ago by wifixcort |
n/a |
|
|
Viewing public dashboard on emoncms.org |
3 |
3 years 39 weeks ago by engeeaitch |
1 year 43 weeks ago by bruce_miranda |
|
|
Virtual Feed - Post-processing data on the fly |
23 |
1 year 32 weeks ago by chaveiro |
48 weeks 4 days ago by RDCH106 |
|
|
Virtual Feed Behaving Oddly |
3 |
1 year 11 weeks ago by Esk Energy |
1 year 11 weeks ago by Esk Energy |
|
|
Virtual feed calculations. |
4 |
1 year 14 weeks ago by CidiRome |
1 year 14 weeks ago by CidiRome |
|
|
Virtual Feeds treat 0 as missing |
0 |
51 weeks 3 days ago by Esk Energy |
n/a |
|
|
vis/multigraph display problem |
2 |
4 years 32 weeks ago by Guest |
4 years 31 weeks ago by TrystanLea |
|
|
Visualisation of longtime Winddirectiondata |
4 |
1 year 11 weeks ago by kaulquappe |
1 year 11 weeks ago by kaulquappe |
|
|
Visualising heating input / temperature |
3 |
3 years 1 week ago by Schism |
3 years 3 days ago by Schism |


1.9. Leaving Emacs
To quit Emacs,
type C-x C-c or close it like you
would any other application. If you have made changes to a buffer,
Emacs asks you if you want to save them. If you type y, Emacs writes the file, then exits. If you
type n, Emacs asks you to confirm
that you want to abandon the changes you made by typing yes or no in
full. If you type no, your normal
Emacs session continues just as if you never attempted to exit. If
you type yes, you exit Emacs and the
changes you made during this session do not become permanent. Leaving
without saving changes can be useful if you make changes you
didn't intend to make.
By the way, Emacs is picky about whether you type y or yes.
Sometimes it wants one, sometimes the other. If it asks for a
y, you can sometimes get away with
typing yes but not vice versa. If it
beeps and displays, Please answer yes or no, you
didn't enter the whole word and it wants you to.
|


How It Was Made: Golden Features & The Presets - RAKA
The Presets take us into the studio and by the train tracks to show us how their new EP with Golden Features was made.
by Ryan MiddletonIn an Australian dance fan fever dream, Golden Features and The Presets came together to create a new EP RAKA. The EP finds a nice middle ground in the dark basslines, eclectic drums and melodies sprinkled into the project. With the EP still simmering a week later, we had producers take us into the studio to show us how it was made. The Presets stepped up and now are showing off the 12 pieces of gear that were used – in exquisite detail. Get your copy of the EP here and listen along now as you read about what went into the project.
1. Modular:
We started most of the sessions for the EP with this Modular. It’s such a fun way to get into a zone. Because there is so much playfulness to it you can find yourself with endless randomness and surprises. We’d get the modular stuff going and tweak and squelch until it sunk into a pattern or groove we liked, or we would record long takes just riffing on this (or the Korg MS20). The rule was “record drunk/ edit sober” - which meant - go crazy while jamming and let anything happen, then later painstakingly go through the jams to find the bits that really cook (we didn’t literally get drunk whilst recording :) You might find one bar of goodness out of a half hour take, but it’s always worth it.
2. Korg MS-20:
This MS20 has possibly been the most important synth in the The Presets world. It has featured prominently on every album we have made. From Are You the One and My People, through to Downtown Shutdown and Beethoven - it is an incredibly versatile instrument. The bass-line from “Raka” was taken from loose jams on this instrument. It is great for growly basslines and big fuzzy blasts.
3. SH101:
Almost all the bass parts on the EP were either made with this classic or at least supplemented by it in someway. Julian has had one of these for as long as we have been working together and it’s an absolute go to for almost anything techno related.
4. Dewanatron Swarmatron:
This machine looks and sounds bonkers. It’s basically an 8-oscillator drone generator that is capable of creating the most tense and dramatic detuned note clusters. It helped with the squealing drops on RAKA. It’s made by a couple of brothers; one is an electronic wiz and the other a furniture designer.
5. Prophet:
Prophet synths always bring the dreamy 1980’s goodness to tracks. The arpeggio sequences you hear in RAKA are made with a Prophet.
6. SP1200:
We have to use this on almost every project at least once, even if it’s just for the chunky de tuned and filtered hat sound on “The End.” An absolute staple.
7. FX Rack - Eventide H3000 & Lexicon PCM96 :
The Eventide H3000 was relatively new to us during the making of RAKA, but we were able to get it on a couple of things regardless. If we are ever at a studio with one of these we have to use it. It is hands down the best FX processor of all time.
The Lexicon PCM96 is also great for reverbs and strange FX. We will generally print stem fx through. Add any of these guys in the rack for extra width, depth and mojo.
8. Field Recordings:
A lot of the background or foley layers in the songs are real sounds. There is a crackle sound in the background of “Paradise,” which is from a campfire. We all had a bunch of field recordings from Sydney trains which were useful for the “ramping up” or “slow down” sounds (a lot more interesting than the run of the mill sample library “build and whoosh” sounds you hear on a lot of EDM tracks). You can hear some train recordings in the background of RAKA.
9. Solina:
Love this one so much. It has so much historical clout to it. We used it for a suspended string part in the last chorus of “Paradise,” which just added to the elation and gave the track that final little payoff.
10. Tape Echo:
We have always used one of these to process vocals. It’s great to trash the input and distort the signal. Works great on a lot of things and the chorus + echo combined is very smooth and dreamy as well.
11. MFC42:
This was used specifically on the “roaring synth” in “Raka.” It gives it that extra snarl in the final build up. We probably could have done it with a plug-in but it was way more fun to do it this way and that’s the most important thing when making music.
12. Machinedrum:
This guy has been in storage for a long time but we pulled it out cause we were looking for something else for “The End.” I randomly fell on a set of sounds that were not exactly drum kit sounds but more like ethereal bells. It’s responsible for those eerie kind of X-Files sounds that fill out the gaps between lyrical phrases.


Movies:{{movies_watched}}
TV Shows: {{tvshows_watched }}
Episodes: {{episodes_watched }}
Graph Bar Placeholder!
Other Graphs Placeholder
Another Grapher Placeholder


{% extends "main.html" %} {% block title %}{{ _("Validate your email address") }}{% endblock %} {% block content %} {{ super() }} {% import '_form_macros.html' as macros %}
{{_("Congratulations %(name)s, your account has been created!", name=user.name)}}
{{_("Before you can log in, your email address: %(mail)s needs to be validated. Please check your inbox and click on the link to proceed.", mail=user.mail)}}
{{_("If you can't find the email in a couple minutes, check your spam folder. If it's not there, you can ask for another validation email by clicking on the button below.")}}


This app is designed to help corneal ulcer patients to track their recovery progress. The app works by analyzing patients’ symptom area through a picture. Our back-end server computes the abnormal area showing in iris by highlighting and returning the actual value. Patients can compare before and after highlighted pictures. The returned value will be plotted to a graph for tracking recovery progress. The whole project also includes a web platform that allows doctors to track patients’ recovery progress.
iOS Swift Mathematica
Devpost Page Read MoreThis app helps users calculate final price after discount, and tax. In addition, users can choose different currency. If a user ever enters abnormal figures, such as negative discount, the app will warn.
iOS Swift
Read MoreThis calendar application allows users to create and manage events. Users can choose different tag color to differentiate the importance of different events. Users can also share events with other users. Each user gets a management panel, which lists all their events chronologically. They can edit and delete whichever events they want.
JavaScript JQuery AJax
Read MoreThis chatroom application allows users to chat with each other in real time, thanks to Node.js' non-blocking I/O model that enables asynchronous operations. Users can either chat in public lobby room, or create their own public or private chatrooms. Private chatroom owners can ben and kick any user.
 Users can choose different colors, set different canvas color, stroke width, and alpha value (the transparency of strokes). In addition, if a user ever makes a mistake, he/she can press the undo button, or simply erase the screen.
iOS Swift
Read MoreThis App allows users to search movies, add and remove movies to and from their favorite movies list. The list is persistent, closing the app will not remove data. All the movie information are obtained by making API calls to OMDb database.
iOS Swift
Read MoreThis App allows users to easily create and manage voice memos. The calendar included in the app visually helps users retrieve their memos by date. In addition, users can edit the pitch and rate of their recorded memos.
iOS Swift
Read MoreIn this project, I wrote a simple file sharing site that supports uploading, viewing, and deleting files associated with various users. Users can see a list of all files associated with their username after the log in.
Test Username: test Test Password: 1234
Web dev PHP
See the demo here
In this project, I implemented a server for a distributed hash table. The DHT stores (key, value) pairs, where the keys and values are strings. Clients add pairs to the DHT using put operations and retrieve them using get operations. The DHT uses a circular organization, and it hashes (key,value) pairs into different servers. DHT helps solves the memory capacity limit and traffic overload problem for servers.
Java Network
In this project, I wrote a simple news website that imitates Raddit. Users can register for accounts and then log in to the website. Registered users can post, edit, delete stories and comments. Unregistered users can only view stories and comments posted by others. I specifically wrote the back-end, which includes the creation of database and related simple API. My parterner did the front-end using Bootstrap.
Test Username: test Test Password: 1234
Web dev PHP MySQL BootStrap
See the demo here
This project is from Stanford's open online course Developing iOS 8 Apps with Swift. In this project, I made a simple calculator app. I learned basic Swift (Swift has changed a lot since I did the project, the code on my repo has to be updated to the latest Swift syntax to be compiled) and MVC concept.
Swift iOS MOOC
View Project on RepoIn this Udacity tutorial, I built a simple resume page using basic HTML, CSS, and JavaScript.
Web dev Udacity
See the demo here
Hi, This is JY Lock. I am currently pursuing a Master's degree in Computer Science. I like ios-development and web-development, still have a lot to learn. Hopefully I can get better.


This section is about basic use and is a suitable quick howto for newcomers.
The very first step with iocage is to fetch a RELEASE. By default iocage will attempt to fetch the host’s current RELEASE from the freebsd.org servers. Once the RELEASE bits are downloaded, the most recent patches are applied too.
Simply run:
iocage fetch
If a specific RELEASE is required run:
iocage fetch release=9.3-RELEASE
In case a specific download mirror is required simply run:
iocage fetch ftphost=ftp.hostname.org
There are three supported basic jail types: full, clone and base jail. In addition to these three there are two more which are discussed later (empty and templates). Depending on requirements the create subcommand can be tweaked to create any of the three types. By default iocage will create a fully independent jail of the current host’s RELEASE and set the TAG property to todays date.
Creating a jail is real simple, just run:
iocage create
This will create a fully independent jail.
To create a lightweight jail (clone) run:
iocage create -c
To create a base jail:
iocage create -b
To create a jail and set its IP address and tag property run:
iocage create -c tag=myjail ip4_addr="em0|<IP_ADDRESS>/24"
For more information please read iocage(8).
To list all jails run:
iocage list
To see all downloaded RELEASEs run:
iocage list -r
To see available templates run:
iocage list -t
To start or stop any jail on the system both the UUID or TAG can be used interchangeably. To simplify UUID handling iocage accepts a partial UUID too with any subcommand.
To start a jail tagged www01 simply run:
iocage start www01
To start a jail with a full UUID run:
iocage start 26e8e027-f00c-11e4-8f7f-3c970e80eb61
Or to start the jail only with a partial UUID enter the first few characters only:
iocage start 26e8
To restart a jail run:
iocage restart www01
Note: Short UUIDs are supported with all operations and subcommands within iocage.
Any property can be reconfigured with the set subcommand.
Starting with version 1.6.0 system wide defaults can be set. These defaults will be re-applied for all newly created jails. To create a system wide default override for a property simply specify the default keyword instead of a jail UUID or TAG.


"x" "1" "DE VEER,I, MORISKE,HJ AND RUEDEN,H, PHOTOCHEMICAL DECOMPOSITION OFORGANIC COMPOUNDS IN WATER AFTER UV-IRRADIATION: INVESTIGATION OF POSITIVEMUTAGENIC EFFECTS, TOXICOL. LETT. 72(1-3):113-119, 1994"


A year 4 student stranded in Nanyang Technological University, Singapore.
Resume
Mechanical Engineering
Examination Cheatsheets for Sale
For NTU MA series modules
Amateur Composer/Producer
FL Studio v. 11 & 12
Resume
Cheatsheets for Sale!
Shh... a not-so-legal deal.
A listing of available cheatsheets/revision notes for NTU's MA series modules (Mechanical Engineering) can be found here. Certain listings (such as MA2002, MA3001, MA3004 and MA3006) have received positive feedbacks from students.


Our Locations
All locations are open from Monday - Saturday from 6 am - 8pm.
- Seattle
- Tokyo
- Dubai
- Paris
- Lima
Get a free Salmon Shirt and a cookie cutter when you buy from 20 dinars or more :
A photo from one of our Costumers :
Get a free Salmon Shirt and a cookie cutter when you buy from 20 dinars or more :
A photo from one of our Costumers :


|
Interfaces
NestableTransaction Transaction |
|
Classes
NestableTransaction.Created Transaction.Created TransactionFactory |
|
Exceptions
CannotAbortException CannotCommitException CannotJoinException CannotNestException TimeoutExpiredException TransactionException UnknownTransactionException |


The Visual Language
Displaying binary data
The SHA family of hashes works mostly with 32 bit numbers. This is how we will represent a 32 bit number in these examples.
This is a representation of '0xffffffff' or 'all bits are set':
You might notice that there are 8 little boxes. We've grouped bits into sets of 4, a common strategy (otherwise known as hexadecimal or just 'hex' if you're in a hurry) for dealing with lots binary data.
And this is how we'll represent '0xaaaaaaaa', otherwise known as 'all even bits are set'.
And here are 64 bits, one with each hex value (0x0123456789abcdef).
Okay, this all sounds pretty good, but SHA-2 hashes are pretty big, and for some versions the internal data is twice that big. This is a SHA-256 hash:
We're not really trying to invent a new graphical representation of hashes here. At any rate, if I put two of these next to each other you'd be hard pressed to tell them apart. This also isn't bar codes for cryptographers. Instead, we're trying to visualize the hashing lifecycle. For our purposes, instead of using these colored bars to represent a hash, we're going to use them to represent the difference between two hashes.
In other words, green colored bar means the bit changed.


Time Manage
Since the start of the entertainment APP to start time, calculate your entertainment time.
Since the start of the entertainment APP to start time, calculate your entertainment time.
Time to monitor the game, once the time exceeds the set time, you will jump out of the first interface to avoid indulging in games.
Users can according to their own arrangements, set up voice prompts to achieve personalized service. At the same time, set the default program, easy to use.
NOTE; If you close this page, the alarm function will be terminated.
Email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>
You can give us feedback or suggestions, and we aspire to do better .


{% extends "base.html" %} {% load snippet %} {% block navbar %} {% endblock navbar %} {% block header %}
Plugserv is an ad server for your own projects. It lets you share traffic between your own sites.
Here's a live example using my account:
{% snippet request True False %}
This snippet rotates daily through ads like:
{% snippet request False False %}Here's some more details:


Roland JV-80 / JV-880
Single Patch Editor
This patch editor ought to work properly with both the JV-80 and the JV-880. However it has only been tested with the JV-880. Please let me know of any discrepancies you discover.
Communicating with Edisyn
When you set up MIDI in the patch editor, you can specify the MIDI channel and the Synth ID. Set your synthesizer's Patch Receive channel ("Rx channel") to the same as Edisyn's channel (perhaps Channel 1), and its "Unit number" to the same as Edisyn's Synth ID (perhaps 17). Set Program Change, Bank Select, and Exclusive to ON. Finally, make sure the Patch/Performance button is set to PATCH, and the Edit button is OFF (these two are important, else your JV won't respond properly).
| By
| Sean Luke
|
| Date
| April 2019
|


Google partners with ‘The Game Awards’ for voting through Search
by Ryan KovatchYesterday, annual fan voting for The Game Awards — a popular celebration of video game creatives and Esports personalities — opened. Google has partnered with the event to bring voting functionality to Google Search.
Searching on Google for “The Game Awards Vote” brings up a digital ballot card that allows you to cast votes in each category. You may vote every 24 hours, and can only cast one vote per category at a time. Once cast, votes are final.
Categories for The Game Awards that you have voted in will show a grey circle with the number of votes you’ve casted. If you have selected a nominee, but have yet to cast your vote, the circle will show in blue. The ballot is restricted to personal Google accounts, and G Suite accounts will be prompted to switch in order to vote. Trying to evade voting restrictions is mostly futile, as votes are tied to your Google Account, and you cannot use work or school accounts as alternatives. Going Incognito does not work either.
Choosing a category will take you to its list of nominees, and from there you can easily preview each game by tapping the thumbnail. This will play the trailer for the game on YouTube in full. Oddly, there is no way to get more info on human nominees, such as those selected for Best Esports Player.
Today’s integration is similar to NBA All-Star Voting, which was exclusive to Assistant and Search last year. Voting for The Game Awards ends on December 11th at 6 PM PST, so get your votes in while you can. You can watch a livestream of the event on December 12th.
More on Google Search:
- Google Search now lets you practice pronunciations, adds visuals to definitions
- Google Search tests ‘Clear’ text button on desktop web
- Google Search weather card gets Material Theme, detailed forecast in mobile web
FTC: We use income earning auto affiliate links. More.


{% extends "think/simple-base.html" %} {% block content %} {% include "../openiduser/login.html" %}
Not registered? Or don't know what OpenID is? Go to the Register tab.


| DOSE: |
30 mg |
oral |
2C-I |
(powder / crystals) |
Setting: Close Friend's Apartment
Set: I was in a good mindset. Thinking about what was to come.
To start out, my experiences with Psychedelics was very limited at this point. I had done Acid once, DOC twice, and Peyote once. We had decided to do 20 milligrams but G had forgotten the ratio that he measured out for this certain substance. We later learned that it was 30 milligrams we had ingested.
Soon after we had taken the drug my sister showed up still drunk from a bar. She asked what we were doing and we informed her. She asked if she could join and we told her that we didn't think it was a good idea. But if she still wanted to when we decided to do it again that she was more that welcome to join us. So she dropped it and we packed a bowl. By that time I was starting to see some patterns on the wall. I was coming up a little faster than I had anticipated.
For the next little while it continued to come on faster and faster. I looked over at my buddy G and asked how he was doing and he told me he was doing good. I was fine with the intensity level I was at and I kept telling myself that it wasn't going to get any stronger. I was wrong. My sister kept bugging us to have some also so we finally gave in and gave her what we thought was 15 but turned out to be around 20. We threw on some Pink Floyd and just let the time pass.
I told G that I needed some air so I walked outside. He came out with me and asked me if I was ok and I told him I think so. He also asked something to the effect of why did we give your sister drugs. I told him it was probably a bad decision but that was nothing we could do about it because it had already been done. We walked back inside and I was greeted by my sister asking what she could do to get the drugs out of her system as she was not having a pleasurable experience. I told her she would just have to ride it out. It would be over in about 8 hours.
The next think I remember is sitting on his floor playing with a slinky just chillin. I looked up at geoff and had the realization that there is a force that no one can control called gravity. Then I dropped the slinky on accident and exclaimed 'Gravity sucks'. My sister was sitting on the bed when she said for the first time that it had been 7 minutes since she looked at the clock last. She said this for no apparent reason and I just let it go in one ear and out the other. Then sure enough seven minutes later she said it again. This time I looked at the clock and it was 3:30 in the morning. About 3 hours after we had dosed. This was the last time I can remember comprehending time that night.
The next thing I remember I was staring at his computer and the whole wall around the computer started to swirl around to the point where I couldn't tell what was wall and what was tv and dresser and so on and so forth. I stared at that for a little bit then blinked my eyes and it was back to normal. All the sudden when I blinked my eyes my sister had said it had been seven minutes again. I looked up and the clock and didn't know what the numbers up there meant. At this point I started to freak out a little. I stood up and walked outside again. When I came back in she had reminded us it had been seven minutes again.
At this point I thought time was in a loop. I kept saying I need to do something I have never done before, and asking to talk about stuff we hadn't talked about already. This went on for about 2 hours. I had to watch the clock and make sure the numbers didn't repeat themselves.  G who at this point I think was realizing that we had taken more than we thought we had was saying that the sunset was going to blow our minds and kept asking if we were ready for the most glorios sunrise we had ever seen.
For the rest of the night I just kept telling myself that when the sun rose it would all be over.
All in all it was the scariest night of my life. But I made it through and I would do it again if given the chance.
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.


In programming, we often want to take something and extend it.
For instance, we have a user
object with its properties and methods, and want to make admin
and guest
as slightly modified variants of it. We’d like to reuse what we have in user
, not copy/reimplement its methods, just build a new object on top of it.
Prototypal inheritance is a language feature that helps in that.
In JavaScript, objects have a special hidden property [[Prototype]]
(as named in the specification), that is either null
or references another object. That object is called “a prototype”:
When we read a property from object
, and it’s missing, JavaScript automatically takes it from the prototype. In programming, such thing is called “prototypal inheritance”. And soon we’ll study many examples of such inheritance, as well as cooler language features built upon it.
The property [[Prototype]]
is internal and hidden, but there are many ways to set it.
One of them is to use the special name __proto__
, like this:
```js run let animal = { eats: true }; let rabbit = { jumps: true };
! rabbit.__proto__ = animal; // sets rabbit.[[Prototype]] = animal /! ```
Now if we read a property from rabbit
, and it’s missing, JavaScript will automatically take it from animal
.
For instance:
let animal = {
eats: true
};
let rabbit = {
jumps: true
};
*!*
rabbit.__proto__ = animal; // (*)
*/!*
// we can find both properties in rabbit now:
*!*
alert( rabbit.eats ); // true (**)
*/!*
alert( rabbit.jumps ); // true
Here the line (*)
sets animal
to be a prototype of rabbit
.
Then, when alert
tries to read property rabbit.eats
(**)
, it’s not in rabbit
, so JavaScript follows the [[Prototype]]
reference and finds it in animal
(look from the bottom up):
Here we can say that “animal
is the prototype of rabbit
” or “rabbit
prototypically inherits from animal
”.
So if animal
has a lot of useful properties and methods, then they become automatically available in rabbit
. Such properties are called “inherited”.
If we have a method in animal
, it can be called on rabbit
:
```js run let animal = { eats: true, ! walk() { alert(“Animal walk”); } /! };
let rabbit = { jumps: true, proto: animal };
// walk is taken from the prototype ! rabbit.walk(); // Animal walk /! ```
The method is automatically taken from the prototype, like this:
The prototype chain can be longer:
```js run let animal = { eats: true, walk() { alert(“Animal walk”); } };
let rabbit = { jumps: true, ! proto: animal /! };
let longEar = { earLength: 10, ! proto: rabbit /! };
// walk is taken from the prototype chain longEar.walk(); // Animal walk alert(longEar.jumps); // true (from rabbit) ```
Now if we read something from longEar
, and it’s missing, JavaScript will look for it in rabbit
, and then in animal
.
There are only two limitations:
__proto__
in a circle.__proto__
can be either an object or null
. Other types are ignored.Also it may be obvious, but still: there can be only one [[Prototype]]
. An object may not inherit from two others.
``smart header="
protois a historical getter/setter for
[[Prototype]]`" It’s a common mistake of novice developers not to know the difference between these two.
Please note that __proto__
is not the same as the internal [[Prototype]]
property. It’s a getter/setter for [[Prototype]]
. Later we’ll see situations where it matters, for now let’s just keep it in mind, as we build our understanding of JavaScript language.
The __proto__
property is a bit outdated. It exists for historical reasons, modern JavaScript suggests that we should use Object.getPrototypeOf/Object.setPrototypeOf
functions instead that get/set the prototype. We’ll also cover these functions later.
By the specification, __proto__
must only be supported by browsers. In fact though, all environments including server-side support __proto__
, so we’re quite safe using it.
As the __proto__
notation is a bit more intuitively obvious, we use it in the examples.
## Writing doesn't use prototype
The prototype is only used for reading properties.
Write/delete operations work directly with the object.
In the example below, we assign its own `walk` method to `rabbit`:
```js run
let animal = {
eats: true,
walk() {
/* this method won't be used by rabbit */
}
};
let rabbit = {
__proto__: animal
};
*!*
rabbit.walk = function() {
alert("Rabbit! Bounce-bounce!");
};
*/!*
rabbit.walk(); // Rabbit! Bounce-bounce!
From now on, rabbit.walk()
call finds the method immediately in the object and executes it, without using the prototype:
Accessor properties are an exception, as assignment is handled by a setter function. So writing to such a property is actually the same as calling a function.
For that reason admin.fullName
works correctly in the code below:
```js run let user = { name: “John”, surname: “Smith”,
set fullName(value) { [this.name, this.surname] = value.split(" "); },
get fullName() { return ${this.name} ${this.surname}
; }, };
let admin = { proto: user, isAdmin: true, };
alert(admin.fullName); // John Smith (*)
// setter triggers! admin.fullName = “Alice Cooper”; // (**)
alert(admin.fullName); // Alice Cooper, state of admin modified alert(user.fullName); // John Smith, state of user protected ```
Here in the line (*)
the property admin.fullName
has a getter in the prototype user
, so it is called. And in the line (**)
the property has a setter in the prototype, so it is called.
An interesting question may arise in the example above: what’s the value of this
inside set fullName(value)
? Where are the properties this.name
and this.surname
written: into user
or admin
?
The answer is simple: this
is not affected by prototypes at all.
No matter where the method is found: in an object or its prototype. In a method call, this
is always the object before the dot.
So, the setter call admin.fullName=
uses admin
as this
, not user
.
That is actually a super-important thing, because we may have a big object with many methods, and have objects that inherit from it. And when the inheriting objects run the inherited methods, they will modify only their own states, not the state of the big object.
For instance, here animal
represents a “method storage”, and rabbit
makes use of it.
The call rabbit.sleep()
sets this.isSleeping
on the rabbit
object:
``js run // animal has methods let animal = { walk() { if (!this.isSleeping) { alert(
I walk`); } }, sleep() { this.isSleeping = true; }, };
let rabbit = { name: “White Rabbit”, proto: animal, };
// modifies rabbit.isSleeping rabbit.sleep();
alert(rabbit.isSleeping); // true alert(animal.isSleeping); // undefined (no such property in the prototype) ```
The resulting picture:
If we had other objects, like bird
, snake
, etc., inheriting from animal
, they would also gain access to methods of animal
. But this
in each method call would be the corresponding object, evaluated at the call-time (before dot), not animal
. So when we write data into this
, it is stored into these objects.
As a result, methods are shared, but the object state is not.
The for..in
loop iterates over inherited properties too.
For instance:
```js run let animal = { eats: true };
let rabbit = { jumps: true, proto: animal };
! // Object.keys only returns own keys alert(Object.keys(rabbit)); // jumps /!
! // for..in loops over both own and inherited keys for(let prop in rabbit) alert(prop); // jumps, then eats /! ```
If that’s not what we want, and we’d like to exclude inherited properties, there’s a built-in method obj.hasOwnProperty(key): it returns true
if obj
has its own (not inherited) property named key
.
So we can filter out inherited properties (or do something else with them):
```js run let animal = { eats: true, };
let rabbit = { jumps: true, proto: animal, };
for (let prop in rabbit) { let isOwn = rabbit.hasOwnProperty(prop);
if (isOwn) { alert(Our: ${prop}
); // Our: jumps } else { alert(Inherited: ${prop}
); // Inherited: eats } } ```
Here we have the following inheritance chain: rabbit
inherits from animal
, that inherits from Object.prototype
(because animal
is a literal object {...}
, so it’s by default), and then null
above it:
Note, there’s one funny thing. Where is the method rabbit.hasOwnProperty
coming from? We did not define it. Looking at the chain we can see that the method is provided by Object.prototype.hasOwnProperty
. In other words, it’s inherited.
…But why does hasOwnProperty
not appear in the for..in
loop like eats
and jumps
do, if for..in
lists inherited properties?
The answer is simple: it’s not enumerable. Just like all other properties of Object.prototype
, it has enumerable:false
flag. And for..in
only lists enumerable properties. That’s why it and the rest of the Object.prototype
properties are not listed.
``smart header="Almost all other key/value-getting methods ignore inherited properties" Almost all other key/value-getting methods, such as
Object.keys,
Object.values` and so on ignore inherited properties.
They only operate on the object itself. Properties from the prototype are not taken into account. ```
[[Prototype]]
property that’s either another object or null
.obj.__proto__
to access it (a historical getter/setter, there are other ways, to be covered soon).[[Prototype]]
is called a “prototype”.obj
or call a method, and it doesn’t exist, then JavaScript tries to find it in the prototype.obj.method()
, and the method
is taken from the prototype, this
still references obj
. So methods always work with the current object even if they are inherited.for..in
loop iterates over both its own and its inherited properties. All other key/value-getting methods only operate on the object itself.