On this page, you will find the following information about the Veil Development Bounty Program.
- The bounty development process
- A list of currently open bounty task
- The Veil Developer team structure
1. Bounty Development Process
Development tasks available for bounty rewards are specially-tagged Issues in the Veil GitHub repository.
- Availability — Bounties are available only on issues tagged
Bounty: Open
- Application — If you are interested in working on a bounty issue, you should enter the Veil Development Discord, and request that the issue is reserved for you.
- Interaction — As you work on the task, you can post questions and feedback as notes on the issue. In addition, interactive discussion with the Veil development team is available through the dedicated Veil Development Discord
- Completion & payment — Once a task has been successfully completed, you will be paid the bounty in veil.
2. Currently Open Development Bounties
3. Veil Developer Team Structure
The follow list identifies the structure in place for Veil Developers. Those interested should reach out to us in the #community-bounty channel of the Veil Development Discord.
- No title — Any person is able to earn up to 2,000 Veil of bounty per month.
- Bounty Developer — Can earn up to 5,000 Veil per month. Minimum bounty earned per month should be kept above 4k in order to keep this status. Access to any
bounty-dev
level chats.
- Jr. Core Developer — Receives a fixed payment of 5,000 Veil per month. Minimum bounty issues completed should be about 4.4k worth of bounty to keep this status. Can participate in sprint planning meetings, and are able to reserve issues and features to work on. Access to any
Jr. Core
or bounty-dev
level chats.
- Core Developer — Receives a fixed payment of 10k veil per month, and is required to complete about 8k worth of bounty to keep this status. Can participate in sprint planning meetings, and are able to reserve any issues or features to work on. Core Developers vote on GitHub Issues, determining bounty values, and have access to all chats.


HTTP API
--------
### GET
| Route | Description |
|------------------------|-----------------------------------------------------------|
| "/" | root page. |
| "/game" | view active acquire games. |
| "/game/:id" | view the state of the acquire game with id. |
| "/game/:id/history" | view the history of states of the acquire game with id. |
### POST
| Route | Description |
|------------------------|-----------------------------------------------------------|
| "/game/create" | create a new acquire game. |
| "/game/:id/request" | send an acquire request to the acquire game with id. |
#### Acquire State JSON
The state JSON contains all the information about an Acquire game at a certain point in time.
* It contains 5 fields:
- turn: the turn in the game this state describes.
- [request](requests): the previous request which led to this state; the request made on (turn - 1).
- [response](requests): the response to the previous request.
- [sm](states): the state of the game on this turn.
- [objs](objects): the state of the objects in the game on this turn.
#### GET Game State (/game/:id)
Retrieves the state of the acquire game with id as a JSON.
* Query Params
- turn: the turn to request state for.
Examples:
Return the state of the acquire game (id = test_game) for the current turn (turn = 214).
GET /game/test_game
{
"turn": 214,
"request": { REQUEST_OBJECT_TURN_214 },
"response": { RESPONSE_OBJECT_TURN_214 },
"sm": { STATE_OBJECT_TURN_214 },
"objs" { OBJECTS_OBJECT_214 }
}
Return the state of the acquire game (id = test_game) for turn 100.
GET /game/test_game?turn=100
{
"turn": 100,
"request": { REQUEST_OBJECT_TURN_100 },
"response": { RESPONSE_OBJECT_TURN_100 },
"sm": { STATE_OBJECT_TURN_100 },
"objs" { OBJECTS_OBJECT_TURN_100 }
}
#### GET Game State History (/game/:id/history)
Retrieves the state history of the acquire game with id as a JSON
* Query Params
- startTurn: the start of the turn range to request state history for.
- endTurn: the end of the turn range to request state history for.
Examples:
Return the state history of the acquire game (id = test_game) for the entire game.
GET /game/test_game/history
[
{
"turn": 0,
"request": { REQUEST_OBJECT_TURN_0 },
"response": { RESPONSE_OBJECT_TURN_0 },
"sm": { STATE_OBJECT_TURN_0 },
"objs" { OBJECTS_OBJECT_0 }
},
...
{
"turn": 214,
"request": { REQUEST_OBJECT_TURN_214 },
"response": { RESPONSE_OBJECT_TURN_214 },
"sm": { STATE_OBJECT_TURN_214 },
"objs" { OBJECTS_OBJECT_214 }
}
]
Return the state history of the acquire game (id = test_game) from turn 100 to the rest of the game.
GET /game/test_game/history?startTurn=100
[
{
"turn": 100,
"request": { REQUEST_OBJECT_TURN_100 },
"response": { RESPONSE_OBJECT_TURN_100 },
"sm": { STATE_OBJECT_TURN_100 },
"objs" { OBJECTS_OBJECT_100 }
},
...
{
"turn": 214,
"request": { REQUEST_OBJECT_TURN_214 },
"response": { RESPONSE_OBJECT_TURN_214 },
"sm": { STATE_OBJECT_TURN_214 },
"objs" { OBJECTS_OBJECT_214 }
}
]
Return the state history of the acquire game (id = test_game) from the start (turn = 0) until turn 100.
GET /game/test_game/history?endTurn=100
[
{
"turn": 0,
"request": { REQUEST_OBJECT_TURN_0 },
"response": { RESPONSE_OBJECT_TURN_0 },
"sm": { STATE_OBJECT_TURN_0 },
"objs" { OBJECTS_OBJECT_0 }
},
...
{
"turn": 100,
"request": { REQUEST_OBJECT_TURN_100 },
"response": { RESPONSE_OBJECT_TURN_100 },
"sm": { STATE_OBJECT_TURN_100 },
"objs" { OBJECTS_OBJECT_100 }
}
]
Return the state history of the acquire game (id = test_game) from turn 50 to turn 100.
GET /game/test_game/history?startTurn=50&endTurn=100
[
{
"turn": 50,
"request": { REQUEST_OBJECT_TURN_50 },
"response": { RESPONSE_OBJECT_TURN_50 },
"sm": { STATE_OBJECT_TURN_50 },
"objs" { OBJECTS_OBJECT_50 }
},
...
{
"turn": 100,
"request": { REQUEST_OBJECT_TURN_100 },
"response": { RESPONSE_OBJECT_TURN_100 },
"sm": { STATE_OBJECT_TURN_100 },
"objs" { OBJECTS_OBJECT_100 }
}
]
#### POST Game Create (/game/create)
Create a new acquire game.
* Post Data
- players: list of player ids delimited by spaces.
- ai: list of player ids, to be played by ai, delimited by spaces.
Examples:
Create an acquire game with players odo, sal, and joree.
POST /game/create
DATA players="odo joree sal"
Create an acquire game with players odo and sal with an ai joree
POST /game/create
DATA players="odo sal"
ai="joree"
#### POST Game Request (/game/:id/request)
Submit an acquire request as a JSON to an acquire game with id.
* Post Data
- request JSON
Example:
Submit a draw tile request for player Odo to the acquire game (id = test_game).
POST /game/test_game/request
DATA {"type": "draw_tile","player": "odo"}


public class ServerReceiver extends java.lang.Thread implements MessageSender
com.iha.emulator.communication.server.ssl
| Type | Property and Description |
|---|---|
javafx.beans.property.BooleanProperty |
conn
Gets connection status property, can be bound
|
| Modifier and Type | Field and Description |
|---|---|
private AdapterController |
adapterController
controller of adapter using this connection
|
private static java.lang.String |
ALIAS_CA_CERT
default certificate alias
|
private static java.lang.String |
CA_CERT_PATH
path to certificate authority file
|
private javafx.beans.property.BooleanProperty |
conn
connected property, can be bound
|
private static long |
DEFAULT_SLEEP_TIME
default thread sleep time
|
private boolean |
enabled
field indicating, if thread should communicate with server or wait
|
private java.lang.String |
hostName
domain name for certificate domain verification
|
private boolean |
initialized
field indicating, if connection was initialized
|
private static org.apache.logging.log4j.Logger |
logger
Log4j2 logger field
|
private static java.lang.String |
SERVER_CN_CERTIFICATE
debug certificate common name
|
private ServerController |
serverController
controller of server model for this connection
|
private javax.net.ssl.SSLSocket |
socket
SSL socket instance used for communication
|
private static int |
SOCKET_TIMEOUT
default socket timeout - used for debugging
|
private java.io.BufferedReader |
socketReader
formatted socket input reader
|
private java.io.PrintWriter |
socketWriter
formatted socket output writer
|
private javax.net.ssl.SSLContext |
sslContext
SSL Context instance used for communication
|
private boolean |
terminate
thread termination indicator
|
| Constructor and Description |
|---|
ServerReceiver(AdapterController adapterController)
Creates new ServerReceiver with given adapter controller, for which is connection initialized, and
calls
createSSLCertificate() to create SSL certificate and initiate SSL context |
| Modifier and Type | Method and Description |
|---|---|
void |
connect()
Creates secure connection with server over SSL, checks if socket is valid and assigns socket's input/output stream
to formatted reader/writer.
|
javafx.beans.property.BooleanProperty |
connProperty()
Gets connection status property, can be bound
|
private void |
createSSLCertificate()
Creates new certificate from certificate authority (loaded from file
CA_CERT_PATH ),
creates KeyStore , TrustManager , initializes SSLContext
and assigns it to sslContext for later use. |
void |
disable()
Disables thread.
|
void |
disconnect()
Closes socket's input/output stream and socket itself.
|
void |
enable()
Enable listening for messages.
|
private void |
figureOutHostName()
Gets domain name from
Server.getIp() and assigns it to field hostName |
boolean |
getConn()
Gets connection status
|
Protocol |
getMessageProtocolVersion(org.dom4j.Document inDocument)
Creates and returns instance of
Protocol from protocol version
number from message. |
void |
initialize()
Sets initialization indicator and enables thread
|
boolean |
isInitialized()
Gets connection initialization indicator
|
void |
listenForMessages()
Listening and processing of messages sent by server.
|
void |
pauseReceiver()
Puts thread to sleep for
DEFAULT_SLEEP_TIME |
private void |
processMessage(org.dom4j.Document inDocument)
Processes message from server as Dom4j XML document.
|
void |
reconnect()
Creates new register message and adds it to the top of assigned adapter's message queue.
|
void |
run()
If connection is enabled (after successful adapter registering), starts to listen to server messages.
|
java.lang.String |
sendMessage(org.dom4j.Document message,
ResponseTracker responseTracker,
OutMessage.Type type)
Sends register message after establishing stable connection.
|
void |
setConn(boolean conn)
Sets connection status
|
void |
setInitialized(boolean initialized)
Sets connection initialization indicator
|
void |
terminate()
Terminate thread
|
private java.lang.String |
trimEndOfLine(java.lang.String response)
Removes EOL character from start of string.
|
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
public javafx.beans.property.BooleanProperty connProperty
private static final org.apache.logging.log4j.Logger logger
private static final long DEFAULT_SLEEP_TIME
private static final int SOCKET_TIMEOUT
private static final java.lang.String CA_CERT_PATH
private static final java.lang.String ALIAS_CA_CERT
private static final java.lang.String SERVER_CN_CERTIFICATE
private boolean terminate
private boolean enabled
private boolean initialized
private AdapterController adapterController
private ServerController serverController
private javafx.beans.property.BooleanProperty conn
private javax.net.ssl.SSLSocket socket
private javax.net.ssl.SSLContext sslContext
private java.lang.String hostName
private java.io.PrintWriter socketWriter
private java.io.BufferedReader socketReader
public ServerReceiver(AdapterController adapterController)
createSSLCertificate()
to create SSL certificate and initiate SSL contextadapterController
- adapter controller using stable connectionprivate void figureOutHostName() throws java.net.UnknownHostException
Server.getIp()
and assigns it to field hostName
java.net.UnknownHostException
- if cannot retrieve domain name for server model IP propertyprivate void createSSLCertificate()
CA_CERT_PATH
),
creates KeyStore
, TrustManager
, initializes SSLContext
and assigns it to sslContext
for later use.public void connect() throws java.io.IOException
java.io.IOException
- SSLSocket
I/O errorpublic void run()
run
in interface java.lang.Runnable
run
in class java.lang.Thread
public void listenForMessages() throws java.io.IOException, WrongResponseException, org.dom4j.DocumentException
java.io.IOException
- connection not established or SSLSocket
read I/O errorWrongResponseException
- if connection was closed, but none or not full message was receivedorg.dom4j.DocumentException
- if received message could not be parsed as XMLprivate java.lang.String trimEndOfLine(java.lang.String response)
Removes EOL character from start of string.
Notes:
Used on messages from server.
response
- string, that should be modifiedprivate void processMessage(org.dom4j.Document inDocument) throws java.lang.IllegalArgumentException, java.lang.NullPointerException
Protocol
instance for parsing.inDocument
- message from server as Dom4j XML documentjava.lang.IllegalArgumentException
- if message cannot be parsed by Protocol
instance.
(details in exception message).java.lang.NullPointerException
- if trying to parse XML element that should be in message, but is not.public Protocol getMessageProtocolVersion(org.dom4j.Document inDocument) throws java.lang.IllegalArgumentException
Protocol
from protocol version
number from message.inDocument
- message from server as Dom4j XML documentProtocol
implementationjava.lang.IllegalArgumentException
- if protocol version from message is not implementedpublic java.lang.String sendMessage(org.dom4j.Document message, ResponseTracker responseTracker, OutMessage.Type type) throws java.io.IOException, WrongResponseException
Sends register message after establishing stable connection. This message must be sent after each successful
connection. Connection must be previously established, otherwise thread will be put to sleep for DEFAULT_SLEEP_TIME
and afterwards will try to reconnect.
sendMessage
in interface MessageSender
message
- Dom4j XML document with register message for serverresponseTracker
- instance of class tracking server response timetype
- message typejava.io.IOException
- SSLSocket
I/O error or connection is not establishedWrongResponseException
- if socket reached end of stream while reading or socket is not valid (details in exception message)public void reconnect()
Scheduler
will pick up this message and try to send it.public void disconnect() throws java.io.IOException
java.io.IOException
- closing I/O errorpublic void enable()
public void initialize()
public void disable()
public void pauseReceiver() throws java.lang.InterruptedException
DEFAULT_SLEEP_TIME
java.lang.InterruptedException
- if thread was interrupted during sleeppublic void terminate()
public boolean getConn()
public javafx.beans.property.BooleanProperty connProperty()
public void setConn(boolean conn)
conn
- connection statuspublic boolean isInitialized()
public void setInitialized(boolean initialized)
initialized
- connection initialization indicator


Solar Evolution
I wrote Solar Evolution in the Summer of 2019 as a quick side project to see what would happen if I left a couple hundred stars in a physics engine.
To start off, I wrote a simple physics engine that would calculate the gravitational force between all of the stars in the system. I never optimized this, so to calculate the force exerted on one star, the engine had to look through all of the other stars in the system, leading to slow down. Regardless, the FPS ended up being acceptable. I then set it up so that it would randomly spawn stars throughout the system, and continue to spawn stars if the star count ever fell below a certain limit. I also set it so that if two stars collided with each other, the larger star would absorb the smaller star.
Now that I had that out of the way, I could sit back and start observing. Near the beginning of the simulation, not much would happen. The tiny stars would all fly around orbiting off of each other at ludicrous speeds. Sometimes hitting each other, but mostly not. After a minute or two, some slightly larger stars would emerge and would quickly grow as a result of their increased gravitational influence.
However, as the minutes went on, the tiny stars would stay and the slightly bigger stars would disappear as they merged into larger stars. As the larger stars competed for dominance, the energy of the system became erratic: the large gravitational forces became too much for the tiny stars, who would zip about the simulation like crazy.
Eventually, as the simulation draws to a close after several hours of running, only one mega star remained, often trapped in the corner by the incoming energy of all of the tiny stars, which, after being spawned, would zip over to the mega star in a matter of seconds, only fueling the mega star's power. It was at this point that I decided to end the test, as I knew nothing else would happen.
That's basically how all of my tests went, it would always end in a mega star being king. Maybe if I had an infinite simulation area, the stars would exhibit different behavior, but then it'd be hard to zoom around and see what's going on and I would probably run into problems with the magnitudes of the numbers as tiny stars are flung into the infinite void. At some point I might revisit this project, but probably not. It was fun while it lasted though!
Source code: https://github.com/Saldor010/solarEvolution


HURLYBURLY
Reviewed by Harvey Karten, Ph.D. Fine Line Features Director: Anthony Drazan Writer: David Rabe Cast: Sean Penn, Kevin Spacey, Chazz Palminteri, Garry Shandling, Meg Ryan, Robin Wright Penn, Anna Paquin
Reviewing a recent Hollywood blockbuster, New Republic critic Stanley Kauffmann advised that "we all have a bomb ticking inside us." This is not a surprising revelation. Think of all the books, plays and movies that would otherwise never have seen the light of day. David Rabe is one writer who has made a career from this wisdom. The Iowa-born playwright believes that this interior bomb is the ultimate truth; that wars are merely the external expression of a rage that demands release. His best work, "Streamers," is a sharply written, highly focussed and firmly paced tale of three soldiers in a Virginia army barracks--an intellectual, a gay man, and a black--whose life in the quarters takes a dramatic turn when one of them goes ballistic. "Hurlyburly," Rabe's 1984 play which enjoyed an opening in New York's Promenade Theater in 1984 with a dynamite cast, is not as fortuitious an achievement. By contrast with "Streamers," "Hurlyburly" is flowery and overwritten, an end-of-the-world play about Hollywood sharks whose internal rage seeks release in their attitudes and conduct toward women. Though director Anthony Drazen tries mightily to open it up in its current screen version, its celluloid remake is a mistake; a stagy, unfocused set of monologues which happen to be spoken to others in the room. Fueled by cocaine, the men in the story and the largely masochistic women who associate with them run through their experience in a drug-induced haze. The audience can't be blamed for feeling that they are themselves enveloped by smog, by a surfeit of prose which never lifts off to become lyrical.
Perhaps the truest words articulated in the movie are by the youngest member of the group, Donna (Anna Paquin), who sums up the theme toward the conclusion of the two- hour drama by exclaiming, "It's great when people know what each other is talking about." The ever-present chatter--the "blah blah blah" as one of the characters periodically calls it-- is not especially revealing, though the writer may be making the barb that the conversation of men in general runs in much the same way. During the initial half, the men vent their spleen about women--bitches, whores, ghouls--while during the final half, they are petulant, vulnerable, and seek redemption at the hands of the very gender they have so regularly belittled.
The principal character, Eddie (Sean Penn), is a casting director who is ensconced in a Hollywood Hills villa with a dramatic, hillside view.  Shortly thereafter the company is to include a teen-age drifter, Donna (Anna Paquin), whom Artie has found living in an elevator; Darlene (Robin Wright Penn), who has been dating both Eddie and Mickey; and a sweet stripper, Bonnie (Meg Ryan) whose night out with Phil sets off a disastrous chain of events.
To punctuate the notion that these human beings are leading lives of lives, deception, superficiality and meaningless sensation-seeking, director Drazan cuts frequently to news items on TV, which flashes a barrage of seemingly unconnected stories--the newscasters taking little time to penetrate the surface to catch the truth behind the reports. The male buddies in "Hurlyburly" lead lives of similar prevarication, dismissing their depravities as merely aspects of their personalities. Drazan does a decent job of capturing the anesthetized lives of these men, on several occasions highlighting the diatribes of the psychotic Phil who, like one person in David Rabe's "Streamers" is about to explode. When that occurs, the men break down in remorse and gain new insights into their hurlyburly existence, intuitions that allow them to make changes that could turn their lives around.
While this is Sean Penn's movie, allowing that actor to run the gamut form self-satisfied, hollow casting director nose deep in the cocaine culture to go below the surface (literally) and save his soul, the performance to watch is Kevin Spacey's. This actor, remarkable in every role he is cast, gives a fully realized performance as a self-protective cynic. We don't wonder why he hangs out with the fellows he does: though he is the least mannered of the group, he gains his own macho accreditation by standing above the fray, settled in judgment over his less stable peers. Fitted with an outrageously cool white rug, Spacey's Mickey is the movie's fully ripened, comic performance. Meg Ryan is reliable as the too-trusting stripper, eager to hook up with any decent- looking man thrust upon her, while Chazz Palminteri plays to type as a hoodlum whose wife--seen only once in the story-- must be the only smart one in town for having divorced him and left his circle.
While this movie version has an all-star cast, none except Spacey is up to the dynamic group that appeared fourteen years ago at a little-known off-Broadway theater; stars like Harvey Keitel, Christopher Walken, Jerry Stiller, Cynthia Nixon, Judith Ivey, William Hurt and Sigourney Weaver. With a marquee like that and a director like Mike Nichols, "Hurlyburly" was the year's play to catch. As a film, however, it comes across as static--though not nearly as inert as last year's "The Designated Mourner" which ironically featured Mike Nichols in the starring role. Long on theatrics that belong on the live stage, this filmed version appears sluggish, a buddy movie spotlighting a good-ol'-boys network whose wires are desperately crossed.
Not Yet Rated. Running Time: 122 minutes. (C) 1998 Harvey Karten
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


Order DetailsPrint Receipt
Beats by Dre Pro On-Ear Headphones
$299.99
Black, Medium
Quantity: 1
Beats by Dre Pro On-Ear Headphones
$299.99
Black, Medium
Quantity: 1
Beats by Dre Pro On-Ear Headphones
$299.99
Black, Medium
Quantity: 1
-
SubTotal$399.99
-
Gift Card and Discount:- $19.99
-
Employee Discount:- $29.99
-
Shipping:$16.95 FREE!
-
NY State Tax$29.27
-
NY Local Tax$7.92
-
Total$399.99


Welcome to
ummarizer
Log In
Username
Password
Unable to log in. Incorrect username or password.
Log in
First time? Create an account


The Project - Countdown Timer
Choose an event to make a countdown timer for.
Rules...
- Your timer must countdown in real time.
- You can decorate your website however you like. Make it look pretty 🌈
Bonus points for...
- Extra pages... like an about page for your event, a contact form to ask about the event...
- Nice fonts or other nice looking goodies.
- Cool design and layout.


This is only for admin!
Start Event, will launch the game
Reset Event, will reset time & price to initial values
Create event will add a new event to event list
WARNINGDelete event will remove the event wanted to event list


Computer Science Department user administration tools
Computer Science is currently using a set of administrative tools based on IPA. IPA is an open-source package maintained by Redhat and others. It has the following major characteristics:- It's largely compatible with Microsoft Active Directory. It can use accounts maintained in Active Directory. Or if IPA is the primary system (as it is for Computer Science), Windows systems can get account data from it.
- It stores data about users, including (encrypted) passwords, in an LDAP system. In particular, IPA uses the 389 Directory Server. This is the latest incarnation of the original LDAP code from University of Michigan. (Openldap, Netscape DS, Sun DS, and Oracle DS are based on the same code.) The big advantage of 389 is that it supports large-scale multimaster implementations. All authenticated access to LDAP uses Kerberos (through GSSAPI).
- Authentication is handled by Kerberos. All operations that need authentication require the user to have a Kerberos ticket. The IPA Kerberos server stores its data in LDAP.
- Access to home directories uses NFS in a mode where access is authenticated by Kerberos. Unlike most Unix systems, the privileged user (root) does not have any special rights to access home directories. Root can still access all files located on the local system. (We also have one system that does not use Kerberized NFS. That allows staff to be able to get to user files in order to help the user. That system is also used to create home directories for users.)
- Two-factor authentication is supported by a free phone app (FreeOTP) and Yubikey. Because FreeOTP is standards-based, it can be used for other purposes such as two-factor authentication for Google services.
- Login and other PAM functions use sssd.
We moved to this system for several reasons:
- Our old system had security problems for machines in publically-accessible areas.
- We wanted to be able to allow computers where faculty and grad students have privileged accrss to be able to access our shared home directories. With Kerberos, only users who actually use the systems are at risk. With the old system, anyone having privileged access could see all files.
- The technology we were using (NIS), was no longer current, and would not support Windows or Macs very well.
- The old system did not integrate two-factor authentication. We supported Google authenticator, but because it wasn't integrated with the system, there were ways to bypass it. (IPA integrates two-factor authentication into the Kerberos server with a pre-authentication plugin.)
The new system should be largely invisible to users, except for the need to create a separate password for it. However this is a fairly aggressive implementaton of new technologies, and failures are possible.
In order to maintain access to your files, you need an active Kerberos ticket. This will be issued automatically by sssd when you login. If you ssh between systems, the ticket will be passed automatically to the new system. Our tickets last a day (by default). There's a background process (renewd) that automatically renews the ticket as long as you're logged in. It will also remove your ticket when you logout. (We do not recommend using kdestroy in .logout or .bash_logout, because that will cause trouble if you're still logged in with a second session.)
The major risk is that we will have overlooked something, and your ticket will expire. You can check for this using the "klist" command. It will list your current Kerberos ticket. Please report any cases where you don't get a ticket on login, or it expires while you're still logged in. You can create a ticket manually using the "kinit" command. (If you're using two-factor authentication, you'll need to use "skinit" instead.) Note that tickets created by kinit are not renewed or destroyed automatically.
Note that we've had to "wrap" ssh with our own code. For that reasons, paths are set so that you get /usr/local/bin/ssh, not /usr/bin/ssh. If you use the wrong ssh, you will probably get a warning message tell you that your ticket is likely to expire. See below for details.
Cron
Cron jobs are a special problem. Since you're not logging in, sssd won't be called to generate a Kerberos ticket. To deal with this, we've created a special system to authorize cron jobs. You must use the command "kgetcred -r" on any system where you're going to use cron. It authorizes cron (actually root) to create a ticket on your behalf. This slightly lowers your security, since anyone who can compromie the security of the system can get a ticket on your behalf. To limit exposure, the tickets created for cron can't be forwarded to other systems by ssh.
You may wonder why we require you to register with kgetcred. One goal of the new system is to make sure that root can't access your files unless you've authorized it. Root can create a cron job for anyone. If cron jobs could access files without authorization, then root could get to your files just be creating a cron job to do it. So we need you to verify that root is allowed to start cron jobs for you on that system.
If you are using a one-time password, kgetcred doesn't work. Allowing root to issue a ticket on your behalf would obviously subvert the intention of using two-factor authentication. In this case you have two choices:
- Use Google authenticator. It is checked at login, but not by cron jobs. This is slightly less secure than the builtin Kerberos support for two-factor authentication.
- Write your cron job to use only files stored on the computer itself. Our systems generally have substantial local file systems which you can use for this.
- Ask us for a second user ID that won't use two-factor authentication.
Using Kerberos at Home
Currently we don't allow connections to the Kerberos system from outside computer science. However you can still use it at home through a proxy at services.cs.rutgers.edu.
To use a proxy, on your home machine the realms section of /etc/krb5.conf should look like this:
[realms] CS.RUTGERS.EDU = { kdc = https://services.cs.rutgers.edu/KdcProxy kpasswd_server = https://services.cs.rutgers.edu/KdcProxy pkinit_anchors = FILE:/etc/ipa/ca.crt http_anchors = FILE:/etc/ipa/ca.crt }/etc/ipa/ca.crt should be copied from any of the ilab systems. The file can be located anywhere, as long as you adjust the name appropriately in the configuration. Note that with the proxy, noaddresses must be true in the libdefaults section. (Or the noaddresses specification can be omitted, since true is the default.)
The proxy doesn't appear to work on the MacOs implementation of Kerberos. Neither does two-factor authentication. We suggest installing the kerberos5 package from Macports.
This proxy server should be compatible with the MS-KKDCP KDC Proxy used by Microsoft. However we haven't tried it. If you want to use Kerberos on Windows at home I recommend installing MIT Kerberos for Windows.
Ssh
Ssh has a problem resulting from how the Kerberos libraries work. Ssh forwards your Kerberos ticket to the new system. However the lifetime of the new ticket can be short.
Suppose you login at 10am. You'll get a ticket that's valid until 10am the next day. Now at 9:30 the next day you ssh to another system. The way ticket forwarding works, the new ticket has the same end time as the original one, but it starts now. That means that the ticket on the new system will start at 9:30 and end at 10am, i.e. it will have a lifetime of only 30 min. Of course if you ssh at 9:50 you could get a ticket with 10 min lifetime.
To fix this, we insert a special library into ssh using LD_PRELOAD. It will cause the ticket to be renewed on the source end before running ssh. So if you ssh at 9:30 you'll start with a newly renewed ticket going from 9:30 to 9:30 the next day.
Other solutions have been proposed for this problem. But the others we know of all fail in some situations, particularly cases where you leave a job running in the background and logout.


class: center, middle, inverse, title-slide #
Session 2:
Application of Monte Carlo simulation and Markov Chain Monte Carlo in PBPK modeling ##
### .font125[Nan-Hung Hsieh, PhD] Postdoc @ Texas A&M Superfund Decision Science Core ### Slides:
http://bit.ly/srp1912b
### 12/09/2019 --- # Content ## 1 Uncertainty and Variability ## 2 Monte Carlo simulation - Prediction ## 3 Markov Chain Monte Carlo - Calibration ## 4 Hands-on Exercise --- class:middle, center .font300[ # Uncertainty and Variability ] --- # Deterministic vs Probabilistic ## Traditional - Deterministic .font200[ **Choose the "specific" value (or the most conservative scenario) in the risk assessment** .right[.bolder[Is it good enough?]] ] --- # Deterministic vs Probabilistic .pull-left[ ## Traditional - Deterministic .font200[ Choose the "specific" value (or the most conservative scenario) in the risk assessment ] ] .pull-right[ ## Modern - Probabilistic .font200[ Combine "all" information and characterize the **uncertainty** ] ] --- background-image: url(https://i.ibb.co/JB7s1bK/Screenshot-from-2019-09-24-11-49-47.png) background-size: 700px background-position: 50% 80% # Modeling in Risk Assessment .footnote[https://www.epa.gov/risk/about-risk-assessment#whatisrisk] --- background-image: url(https://i.ibb.co/SmNTtv2/WHO.png) background-size: 260px background-position: 80% 90% # Uncertainty vs. Variability .font150[ > **Uncertainty** relates to "lack of knowledge"" that, in theory, could be reduced by better data, whereas **variability** relates to an existing aspect of the real world that is outside our control. > [*World Health Organization (2017)*](https://www.who.int/ipcs/methods/harmonization/areas/hazard_assessment/en/) ] ??? There is a clear definition to differentiate the uncertainty and variability in WHO document. --- background-image: url() background-size: 200px background-position: 80% 80% # Variability in Risk Assessment - Reduce chances using a strain that is a "poor" model of humans - Obtaining information about "potential range" to inform risk assessment .center[ ![:scale 60%](https://i.ibb.co/ykYp8BY/variability.png) ] .font75[ Chiu WA and Rusyn I, 2018. Advancing chemical risk assessment decision-making with population variability data: challenges and opportunities. https://doi.org/10.1007/s00335-017-9731-6 ] --- ### Variability & Uncertainty .center[ ![:scale 70%](https://i.ibb.co/Kq4nStY/Screen-Shot-2019-05-08-at-7-25-22-AM.png) ] .footnote[ https://cran.r-project.org/web/packages/mc2d/index.html ] --- class: middle, center --- Application --- # If you have *known* "parameters" # ------------------------------------> #  Parameters / Model / Data # <------------------------------------ # If you have *known* "data" --- Calibration --- --- class:middle, center .font300[ # Monte Carlo Simulation ] --- # Monte Carlo Simulation .font125[ - A method of estimating the value of unknown quantity using the principle of inferential statistics - Inferential statistics - **Population**: Universal information - **Sample**: a proper subset of population - .bolder[Repeatedly Random Sampling] ] .pull-left[ .pull-left[ Stanislaw Ulam ] .pull-right[ John von Neumann ] ] .pull-right[  ENIAC (Electronic Numerical Integrator and Computer) ] --- # Uncertainty in Risk Analysis .font150[ The objective of a **probabilistic risk analysis** is the quantification of risk from made man-made and natural activities ([Vesely and Rasmuson, 1984](https://onlinelibrary.wiley.com/doi/10.1111/j.1539-6924.1984.tb00950.x)). ] **Two major types of uncertainty need to be differentiated:** ### (1) Uncertainty due to physical variability ### (2) Uncertainty due to lack of knowledge in .font125[ - Modeling uncertainty - Parameter uncertainty - Completeness uncertainty ] --- # Modeling uncertainty ### Deterministic Simulation - Define exposure unit & calculate point estimate ### 1-D Monte Carlo Simulation: Uncertainty - Identify probability distributions to simulate probabilistic outputs ### 2-D Monte Carlo Simulation: Uncertainty & Variability - Bayesian statistics to characterize population uncertainty and variability --- background-image: url(http://sci.tea-nifty.com/photos/uncategorized/2012/07/28/elephant.gif) background-size: 240px background-position: 50% 90% # Uncertainty in parameter - **The parameter** is an element of a system that determine the model output. - **Parameter uncertainty** comes from the model parameters that are inputs to the mathematical model but whose exact values are unknown and cannot be controlled in physical experiments. $$y = f(x_i) $$

 .pull-left[ > With four parameters I can fit an elephant, and with five I can make him wiggle his trunk. > > -John von Neumann ] .pull-right[ ] .footnote[Mayer J, Khairy K, Howard J. Drawing an elephant with four complex parameters. Am. J. Phys. 78, 648 (2010) https://doi.org/10.1119/1.3254017] --- # Uncertainty in PBPK model parameter
 .pull-left[ **Physiological parameters** Cardiac output Blood flow rate Tissue volume ] .pull-right[ **Absorption** Absorption fraction, absorption rate, ... **Distribution** Partition coefficient, distribution fraction, ... **Metabolism** Michaelis–Menten kinetics, ... **Elimination** First order elimination rate, ... ] --- # Simulation in GNU MCSim ## Monte Carlo simulations - Perform repeated (stochastic) simulations across a randomly sampled region of the model parameter space. **Used to:** Check possible simulation (under given parameter distributions) results before model calibration
 ## SetPoints simulation - Solves the model for a series of specified parameter sets. You can create these parameter sets yourself or use the output of a previous Monte Carlo or MCMC simulation. **Used to:** Posterior predictive check, Local/global sensitivity analysis --- class:middle, center .font300[ # Markov Chain Monte Carlo ] ---

 ## Currently, the Bayesian Markov chain Monte Carlo (MCMC) algorithm is an effective way to do population PBPK model calibration. ## It is a powerful tool, Because... .font150[ >It gives us the opportunity to understand and quantify the .font120["uncertainty"] and .font120["variability"] from individuals to .font150[population] through **data** and **model**. ] --- # Frequentist vs. Bayesian .pull-left[ ![](https://i.ibb.co/YPRVnd1/Screenshot-from-2019-12-03-13-50-13.png) ] .pull-right[ ![](https://i.ibb.co/tPtbLmD/Screenshot-from-2019-12-03-13-49-53.png) ] .footnote[ https://link.springer.com/article/10.3758/s13423-016-1221-4 ] --- # Bayes' rule .font200[ $$ p(\theta|y) = \frac{p(\theta) p(y|\theta) }{p(y)}$$ ] `\(y\)`: **Observed data** `\(\theta\)`: **Observed or unobserved parameter**
 `\(p(\theta)\)`: *Prior distribution* of model parameter `\(p(y|\theta)\)`: *Likelihood* of the experiment data given by a parameter vector `\(p(\theta|y)\)`: *Posterior distribution* `\(p(y)\)`: *Likelihood* of data --- # Frequentist vs. Bayesian ![](https://i.ibb.co/920t4Nt/Screenshot-from-2019-12-03-13-51-43.png) .footnote[ https://link.springer.com/article/10.3758/s13423-016-1221-4 ] --- class: middle # Through Markov Chain Monte Carlo ... .font200[ ## The product of output is not ~~best-fit~~, but "prior" and "posterior". ] --- # Probabilistic Modeling .center[ ![:scale 72%](https://ars.els-cdn.com/content/image/1-s2.0-S1740675717300373-gr1_lrg.jpg) ] .footnote[https://doi.org/10.1016/j.ddmod.2017.08.001] --- # Markov Chain Monte Carlo .font120[ - **Metropolis-Hastings sampling algorithm** ] The algorithm was named for Nicholas Metropolis (physicist) and Wilfred Keith Hastings (statistician). The algorithm proceeds as follows. **Initialize** 1. Pick an initial parameter sets `\(\theta_{t=0} = \{\theta_1, \theta_2, ... \theta_n\}\)` **Iterate** 1. *Generate*: randomly generate a candidate parameter state `\(\theta^\prime\)` for the next sample by picking from the conditional distribution `\(J(\theta^\prime|\theta_t)\)` 2. *Compute*: compute the acceptance probability `\(A\left(\theta^{\prime}, \theta_{t}\right)=\min \left(1, \frac{P\left(\theta^{\prime}\right)}{P\left(\theta_{t}\right)} \frac{J\left(\theta_{t} | \theta^{\prime}\right)}{J\left(\theta^{\prime} | \theta_{t}\right)}\right)\)` 2. *Accept or Reject*: 1. generate a uniform random number `\(u \in[0,1]\)` 2. if `\(u \leq A\left(x^{\prime}, x_{t}\right)\)` accept the new state and set `\(\theta_{t+1}=\theta^{\prime}\)`, otherwise reject the new state, and copy the old state forward `\(\theta_{t+1}=\theta_{t}\)` ??? Markov chain Monte Carlo is a general method based on drawing values of theta from approximate distributions and then correcting those draws to better approximate target posterior p(theta|y). --- class:hide-logo .center[ ![:scale 90%](https://i.ibb.co/9hbLTb8/Screenshot-from-2019-12-04-06-21-26.png) ] .footnote[https://chi-feng.github.io/mcmc-demo/app.html?algorithm=RandomWalkMH&target=standard] --- background-image: url(https://i.ibb.co/Gx6xKrq/mcmc-diagram.png) background-size: 600px background-position: 50% 90% # Simulation in GNU MCSim ### Markov-chain Monte Carlo (MCMC) simulation - Performs a series of simulations along a Markov chain in the model parameter space. - They can be used to obtain the Bayesian **posterior** distribution of the model parameters, given a statistical model, **prior** parameter distributions and data for which a **likelihood function** can be computed. **Used to** Model calibration .footnote[ [Source](http://sbml.org/images/1/17/StatMeeting_F_Bois.pdf) ] --- # Calibration & evaluation ### Prepare model and input files - Need at least 4 chains in simulation ### Check convergence & graph the output result - **Parameter**, **log-likelihood of data** - Trace plot, density plot, correlation matrix, auto-correlation, running mean, ... - Gelman–Rubin convergence diagnostics ### Evaluate the model fit - Global evaluation - Individual evaluation --- ## Example - Linear model .pull-left[ .code75[ ```r ## linear.model.R #### Outputs = {y} # Model Parameters A = 0; # B = 1; CalcOutputs { y = A + B * t); } End. ``` ] ] .pull-right[ .code75[ ```r ## linear_mcmc.in.R #### MCMC ("MCMC.default.out","", # name of output "", # name of data file 2000,0, # iterations, print predictions flag, 1,2000, # printing frequency, iters to print 10101010); # random seed (default ) Level { Distrib(A, Normal, 0, 2); # prior of intercept Distrib(B, Normal, 1, 2); # prior of slope Likelihood(y, Normal, Prediction(y), 0.05); Simulation { PrintStep (y, 0, 10, 1); Data (y, 0.01, 0.15, 2.32, 4.33, 4.61, 6.68, 7.89, 7.13, 7.27, 9.4, 10.0); } } End. ``` ] ] --- ## Example - MCMC simulation .pull-left[ .code75[ ```r model <- "models/linear.model" input <- "inputs/linear.mcmc.in" set.seed(1111) out <- mcsim(model, input) ``` ```r head(out) ``` ``` ## iter A.1. B.1. LnPrior LnData LnPosterior ## 1 0 5.17187 -0.421849 -6.820405 -591.1577 -597.9781 ## 2 1 5.17187 -0.421849 -6.820405 -591.1577 -597.9781 ## 3 2 5.43465 -0.421849 -7.168811 -565.2515 -572.4203 ## 4 3 8.62813 -0.421849 -12.782460 -493.2532 -506.0356 ## 5 4 7.97506 -0.421849 -11.427070 -471.4773 -482.9044 ## 6 5 7.51347 -0.421849 -10.533410 -467.4057 -477.9391 ``` ```r tail(out, 4) ``` ``` ## iter A.1. B.1. LnPrior LnData LnPosterior ## 1998 1997 0.706138 0.957902 -3.286722 -19.06480 -22.35153 ## 1999 1998 0.706138 0.957902 -3.286722 -19.06480 -22.35153 ## 2000 1999 0.706138 0.974017 -3.286585 -19.13584 -22.42242 ## 2001 2000 0.462481 0.974017 -3.250992 -18.92306 -22.17405 ``` ] ] .pull-right[ .code75[ ```r plot(out$A.1., type = "l", xlab = "Iteration", ylab = "") lines(out$B.1., col = 2) legend("topright", legend = c("Intercept", "Slope"), col = c(1,2), lty = 1) ``` ![](191209_srp2_files/figure-html/unnamed-chunk-3-1.svg) ] ] --- ## Example - Posterior check .pull-left[ .code75[ ```r plot(out$A.1., out$B.1., type = "b", xlab = "Intercept", ylab = "Slope") ``` ![](191209_srp2_files/figure-html/unnamed-chunk-4-1.svg) ] ] .pull-right[ .code75[ ```r str <- ceiling(nrow(out)/2) + 1 end <- nrow(out) j <- c(str:end) plot(out$A.1.[j], out$B.1.[j], type = "b", xlab = "Intercept", ylab = "Slope") ``` ![](191209_srp2_files/figure-html/unnamed-chunk-5-1.svg) ] ] --- ## Example - Posterior Predictive Checks .pull-left[ .code50[ ```r out$A.1.[j] %>% density() %>% plot(main = "Intercept") plot.rng <- seq(par("usr")[1], par("usr")[2], length.out = 1000) prior.dens <- do.call("dnorm", c(list(x=plot.rng), c(0,2))) lines(plot.rng, prior.dens, lty="dashed") ``` ![](191209_srp2_files/figure-html/unnamed-chunk-6-1.svg) ] ] .pull-right[ .code50[ ```r out$B.1.[j] %>% density() %>% plot(main = "Slope") plot.rng <- seq(par("usr")[1], par("usr")[2], length.out = 1000) prior.dens <- do.call("dnorm", c(list(x=plot.rng), c(1,2))) lines(plot.rng, prior.dens, lty="dashed") ``` ![](191209_srp2_files/figure-html/unnamed-chunk-7-1.svg) ] ] --- ## Example - Evaluation of prediction .pull-left[ .code75[ ```r # Observed x <- seq(0,10,1) y <- c(0.0, 0.15, 2.32, 4.33, 4.61, 6.68, 7.89, 7.13, 7.27, 9.4, 10.0) # Expected dim.x <- ncol(out) for(i in 1:11){ out[,ncol(out)+1] <- out$A.1. + out$B.1.*x[i] } # Plot plot(x, y, pch ="") for(i in 1901:2000){ lines(x, out[i,c((dim.x+1):ncol(out))],col="grey") } points(x, y) ``` ] ] .pull-right[ ![](191209_srp2_files/figure-html/unnamed-chunk-8-1.svg) ] --- ## Example - Evaluation of prediction .pull-left[ .code75[ ```r # Use prediction from the last iteration i <- 2000 Expected <- out[i, c((dim.x+1):ncol(out))] %>% as.numeric() Observed <- c(0.01, 0.15, 2.32, 4.33, 4.61, 6.68, 7.89, 7.13, 7.27, 9.4, 10.0) # Plot plot(Expected, Observed/Expected, pch='x') abline(1,0) ``` ] ] .pull-right[ ![](191209_srp2_files/figure-html/unnamed-chunk-9-1.svg) ] --- # General Bayesian-PBPK Workflow ### 1 Model constructing or translating ### 2 Verify modeling result - **Compare with published result** - **Mass balance** ### 3 Uncertainty (and sensitivity) analysis ### 4 Model calibration and validation - **Markov chain Monte Carlo** - Diagnostics (Goodness-of-fit, convergence) --- # Summary .font150[ - In the real-word study, we need to consider the **uncertainty** (from different sources) and **variability** (inter or intra-individual data) to include all possible scenarios. - If we have parameter, we can apply **Monte Carlo technique** to qunatify the uncertainty and variability. - If we have data, we can calibrate the "unknown" parameter (prior) to "known" parameter (posterior) in our model through **Bayesian statistics**. ] --- class:middle, center .font300[ # Hands on Exercise ] --- # Hands on Exercise Task 1. **Uncertainty analysis on PK model** (`code`: https://rpubs.com/Nanhung/SRP19_6) - Before model calibration, we need to learn how to conduct Monte Carlo simulation to set the proper parameter distribution Task 2. **Model calibration** (`code`: https://rpubs.com/Nanhung/SRP19_7) - After the uncertainty analysis, we can calibrate the model parameters by Markov chain Monte Carlo technique Task 3. **Monte Carlo Simulation for PBPK model** (`code`: https://rpubs.com/Nanhung/SRP19_8) - Learn how parameter effect on model variable in PBPK model Task 4. **PBPK model in MCSim** (`code`: https://rpubs.com/Nanhung/SRP19_9) - Sometimes, the simulation process in R is very computational expensive. We need to solve it. --- # Hands on Exercise ## Task 1: **Uncertainty analysis on PK model** .font150[ - In the previous exercise, we find that the predcited result can not used to describe the real cases. - Therefore, we need to conduct the uncertainty analysis to figure out how to reset the model parameter. ] --- # Hands on Exercise ## Task 2: **Model calibration** .font150[ - After the uncertainty analysis, we can calibrate the model parameters by Markov chain Monte Carlo technique - Use the parameter distributions that we test in uncertainty analysis and conduct MCMC simulation to do model calibration. ] --- background-image: url(https://i.ibb.co/yn7tD14/Screenshot-from-2019-12-04-15-32-34.png) background-size: 350px background-position: 99% 80% # Hands on Exercise ## Task 3: **Monte Carlo Simulation for PBPK model** - Reproduce the published Monte Carlo analysis result in Bois and Brochot (2016)* - Testing parameter include body mass (`BDM`), pulmonary flow (`Flow_pul`), partition coefficient of arterial blood (`PC_art`) and metabolism rate (`Kmetwp`) - Construct the relationship between body mass and quantity in fat .footnote[ [*] Bois F.Y., Brochot C. (2016) [Modeling Pharmacokinetics](https://link.springer.com/protocol/10.1007%2F978-1-4939-3609-0_3). In: Benfenati E. (eds) In Silico Methods for Predicting Drug Toxicity. Methods in Molecular Biology, vol 1425. Humana Press, New York, NY ] --- # Hands on Exercise ## Task 4: **Monte Carlo Simulation for PBPK model (MCSim)** - The Monte Carlo Simulation take a little bit longer with `ode` function in **deSolve** package. - Therefore we want to improve the computational speed. Now, rewrite the R model code to **MCSim** and conduct Monte Carlo Simulation with the same parameter setting. - The goal of this exercise is to compare the computational time and output (MCSim vs. R). ```r Distrib (BDM, Normal, 73, 7.3); Distrib (Flow_pul, Normal, 5, 0.5); Distrib (PC_art, Normal, 2, 0.2); Distrib (Kmetwp, Normal, 0.25, 0.025); ```


---
layout: post
title: yeah suspend on my acer a150x works great i
date: '2009-03-07T19:56:19+01:00'
tags:
- photomadebyme
tumblr_url: http://blog.alezzandro.com/post/84410337/yeah-suspend-on-my-acer-a150x-works-great-i
---
Yeah!
“Suspend” on my acer a150x works great!
I need only to setup a swap partition of 1gb and set it on my kernel config.
OS: ubuntu 8.10 Kernel: <IP_ADDRESS>
cu!


How To Work With APIs !
Button
Country Info
CALLING CODE
CALLING N
CAPITAL WEATHER REPORT
Wait To Be Filled
GooGle API


What Microsoft Is This The Altair Basic Of?
February 2015
One of the most valuable exercises you can try if you want to understand startups is to look at the most successful companies and explain why they were not as lame as they seemed when they first launched. Because they practically all seemed lame at first. Not just small, lame. Not just the first step up a big mountain. More like the first step into a swamp.
A Basic interpreter for the Altair? How could that ever grow into a giant company? People sleeping on airbeds in strangers' apartments? A web site for college students to stalk one another? A wimpy little single-board computer for hobbyists that used a TV as a monitor? A new search engine, when there were already about 10, and they were all trying to de-emphasize search? These ideas didn't just seem small. They seemed wrong. They were the kind of ideas you could not merely ignore, but ridicule.
Often the founders themselves didn't know why their ideas were promising. They were attracted to these ideas by instinct, because they were living in the future and they sensed that something was missing. But they could not have put into words exactly how their ugly ducklings were going to grow into big, beautiful swans.
Most people's first impulse when they hear about a lame-sounding new startup idea is to make fun of it. Even a lot of people who should know better.
When I encounter a startup with a lame-sounding idea, I ask "What Microsoft is this the Altair Basic of?" Now it's a puzzle, and the burden is on me to solve it. Sometimes I can't think of an answer, especially when the idea is a made-up one. But it's remarkable how often there does turn out to be an answer. Often it's one the founders themselves hadn't seen yet.
Intriguingly, there are sometimes multiple answers. I talked to a startup a few days ago that could grow into 3 distinct Microsofts. They'd probably vary in size by orders of magnitude. But you can never predict how big a Microsoft is going to be, so in cases like that I encourage founders to follow whichever path is most immediately exciting to them. Their instincts got them this far. Why stop now?


:: com :: sun :: star :: drawing ::
|
| deprecated |
service RotationDescriptor |
|
|
- Usage Restrictions
- deprecated
- Description
- This abstract service specifies the general characteristics of an optional
rotation and shearing for a Shape.
This service is depricated, instead please use the
Transformation
property of the service Shape.
- Developers Guide
- Drawings - Rotating and Shearing
|
| Properties' Summary |
long
RotateAngle |
[ DEPRECATED ]
This is the angle for rotation of this Shape.
The shape is rotated counter-clockwise around the center
of the bounding box.
This property contains an error, the rotation angle is mathematically
inverted when You take into account that the Y-Axis of the coordinate
system is pointing down. Please use the Transformation
property of the service Shape instead.
|
long
ShearAngle |
[ DEPRECATED ]
[ OPTIONAL ]
This is the amount of shearing for this Shape.
The shape is sheared counter-clockwise around the center
of the bounding box
|
| Properties' Details |
RotateAngle
long RotateAngle;
- Usage Restrictions
- deprecated
- Description
- This is the angle for rotation of this Shape.
The shape is rotated counter-clockwise around the center
of the bounding box.
This property contains an error, the rotation angle is mathematically
inverted when You take into account that the Y-Axis of the coordinate
system is pointing down. Please use the
Transformation
property of the service Shape instead.
|
|
ShearAngle
long ShearAngle;
- Usage Restrictions
- deprecated
- optional
- Description
- This is the amount of shearing for this Shape.
The shape is sheared counter-clockwise around the center
of the bounding box
|
|
Top of Page
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Davis Cup: Great Britain one win away from quarter-finals
by Press AssociationKyle Edmund more than justified his Davis Cup place with a superb performance to beat Mikhail Kukushkin 6-3 6-3.
Edmund was called up to replace Andy Murray on Thursday, with the latter admitting he was not in peak physical condition following a three-set battle less than 24 hours earlier.
Kukushkin is ranked two places higher than Edmund, who has had a poor season and only clinched his spot in the Davis Cup team at the last minute by virtue of a decent run at the Paris Masters.
But here he struck his big groundstrokes with authority, pounced on any short balls and hung tough under pressure, saving all the break points he faced.
Edmund's victory was met with delight by the sizeable contingent of travelling fans and silenced the enthusiastic Kazakh band, which made such an impression at April's Fed Cup tie between the two countries in London.
The Yorkshireman said: "Today I just wanted to go on court and really give it my all. It was such a buzz to thrive off this crowd. Davis Cup, playing for your country - it doesn't get any better."
Victory for Evans over Alexander Bublik in the second rubber will send Britain through to a quarter-final against Germany on Friday evening.
Edmund added: "The job's half done so we really need to push it home now."


Whitening
What is your skin concern?
What Is Your Skin Type
We recommend...
1 point
2 point2
3
First
Previous
Last
Next


you have something important to dobut instead of getting it doneyou procrastinate by checkingthe latest news about Angular


Security Control Services
UniFI
Control network access and wireless devices with the UniFI controller.
Radarr
Browse the movie database, find movies and search for new content!
Lidarr
Browse the music database, find albums and search for new artists!
Sonarr
Browse the TV database, add shows and search for new episodes!
Bazarr
Configure subtitle downloads for Radarr and Sonarr libraries.
Plex
Media Server! Movies, TV Shows, Music, Photos and Live TV!
Tautulli
Usage graphs for Plex Media Server! Activity Insights.
Deluge
Manage downloaded torrents and add new files to download.
NZBGet
Manage newsgroup and newsbin (binary) downloads.
Jackett
Manage RSS feeds and tracker searches used by Sonarr and Radarr.
SecuritySpy
Remote Control of SecuritySpy. Video Monitoring Access.
Grafana
Vizualize all the home automation data available.
Indigo
Toggle Menus: Remote access and control of Indigo Home Automation.
Control Pages
Remote access and control of Indigo from most popular browsers using customizable graphical Web pages.
Devices
Remote access and control of Indigo's Devices.
Actions
Remote execution of Indigo's Action Groups.
Variables
Remote access and editing of Indigo's Variables.
Basic Pages
Remote access and control of Indigo from any browser using a simple list view of all Devices and Action Groups.
Mini Pages
Special version of the Basic Pages formatted for portable devices.
mini window
opens in a new browser window with no toolbar visible


Here are some links! To the Epicodus homepage, language homepages, and some helpful articles.
"Most modern programming languages have more similarities than differences, and Epicodus graduates often find themselves working in different languages than they studied in school. Back-end programmers often switch languages as they change jobs, or even as they build different types of software at the same job. So don't stress too much about making the right choice! That said, each language has found a bit of a niche, and depending on your interests, you might be attracted to one over another."
Deciding which coding language to learn at Epicodus is difficult! This page is designed to help. Take the quiz below to see which track might be a good fit for you, and follow the links on the left for lots more information.Happy coding!
This CSS course building on the fundamentals from our Introduction to Programming Course. Students who learn CSS will be able to style web pages using complex, responsive layouts, while gaining exposure to the latest CSS tools, tricks, and features used every day by front-end developers and designers.
After establishing solid programming fundamentals in CSS and JavaScript, this course introduces students to the vast world of Design. Web design is a process of conceptualizing, planning, and building a collection of electronic files that determine the layout, colors, text styles, structure, graphics, images, and use of interactive features that deliver pages to your site visitors.
Ruby is a general purpose programming language created in the 1990s by Yukihiro “Matz” Matsumoto. It’s also one of the best languages to start with when you’re first learning to code. If you’re currently working within the software industry or startup community, chances are you’ve heard of Ruby on Rails (often shortened to just Rails). Rails is a software framework for creating web applications.
The TIOBE Programming Community Index lists Ruby as the 13th most popular programming language as of the time of writing this article. Although popularity is a good thing, what’s better is demand Currently, Ruby is experiencing incredible growth in demand. Ruby has an excellent community and extensive amount of learning resources.
Java was designed to allow developers to get their job done with the minimum of fuss, whilst still enabling developers to pick up someone else’s (or even their own) code at a later date and understand what it’s supposed to do. With over twenty years and thousands of man-years of development, Java is a rock-solid platform.
It is also consistantly at the top of the list for in-demand skills in the job market and for salary.
The best GUI frameworks for Windows applications are Winforms and WPF together with .NET Framework. The best programming language to work with the .NET Framework and it's APIs is C#. C# is an elegant, simple, type-safe, object-oriented language that allows enterprise programmers to build a breadth of applications.
This general-purpose language was originally designed by Microsoft to be used for developing apps on the Microsoft platform, and C# developers love the language for being pleasant to use and well-designed. If you want to build apps for the Microsoft platform, you should naturally learn C#. C# is often the recommended language to use when making games through the Unity Game engine.
80% of the top 10 million websites use PHP. PHP is particularly popular for freelance work, since many small businesses or non-technical people would want to use WordPress, Wix, or other popular content management systems to set up their websites or shopping carts. PHP was designed for the web, and it does the job well. Facebook has made serious investments into PHP.
 There is a lot of demand, and with demand comes money.


Pittsburgh, Pennsylvania
Pittsburgh is the second-largest city in the US Commonwealth of Pennsylvania and the county seat of Allegheny County. Regionally, it anchors the largest urban area of Appalachia and the Ohio River Valley, and nationally, it is the 22nd-largest urban area in the United States. The population of the city in 2010 was 305,704 while that of the seven-county metropolitan area stood at 2,356,285. Downtown Pittsburgh retains substantial economic influence, ranking at 25th in the nation for jobs within the urban core and 6th in job density.
The characteristic shape of Pittsburgh's central business district is a triangular tract carved by the confluence of the Allegheny and Monongahela rivers, which form the Ohio River. The city features 151 high-rise buildings, 446 bridges, two inclined railways, and a pre-revolutionary fortification. Pittsburgh is known colloquially as "The City of Bridges" and "The Steel City" for its many bridges and former steel manufacturing base.
The warmest month of the year in Pittsburgh is July, with a 24-hour average of 72.6°F. Conditions are often humid, and combined with the 90°F (occurring on an average of 8.4 days per annum), a considerable heat index arises.
Text Source: Wikipedia
Photos Credit: Natalie MacLees


Maxxton template Reveal
Created by Maxxton /<EMAIL_ADDRESS>Created by Maxxton /<EMAIL_ADDRESS>Complete the Maxxton slides with section class="main-slide" to have the big front image "images/mainbg.jpg"( styling will be applied in white) and when having no class it will be a subpage with the left side ribbon ("images/subbg.jpg") styling will be applied in black
| Item | Value | Quantity |
|---|---|---|
| Apples | $1 | 7 |
| Lemonade | $2 | 18 |
| Bread | $3 | 2 |
Set data-state="something"
on a slide and "something"
will be added as a class to the document element when the slide is open.


{% extends "screen.html" %} {% load static %} {% block inside_screen %}
title: {{ details.title }}
rating: {{ details.rating }}
released: {{ details.released }}
actors: {{ details.actors }}
director: {{ details.director }}
synopsis: {{ details.synopsis }}


Second in a Day: 5.4-Magnitude Earthquake Strikes off the Coast of Mexico's Chiapas - USGS
Earlier in the day, a 6.3 magnitude earthquake struck off the coast of Mexico's southern state of Chiapas.
A 5.4 magnitude earthquake struck 119 kilometres south-west of the municipality of Suchiate, the US Geological Survey (USGS) reported.
According to the USGS, the quake occurred at a depth of 10 kilometres.
The tremor occurred at 11:30:56 (UTC).
There are no immediate reports of any casualties or damage caused by an earthquake .


| 004:127 Khan | : |
They ask your legal instruction concerning women, say: Allah instructs you about them, and about what is recited unto you in the Book concerning the orphan girls whom you give not the prescribed portions (as regards Mahr and inheritance) and yet whom you desire to marry, and (concerning) the children who are weak and oppressed, and that you stand firm for justice to orphans. And whatever good you do, Allah is Ever All-Aware of it. |
| 004:127 Maulana | : |
And they ask thee a decision about women. Say: Allah makes known to you His decision concerning widowed women, whom you give not what is appointed for them, while you are not inclined to marry them, nor to the weak among children, and that you should deal justly with orphans. And whatever good you do, Allah is surely ever Knower of it. |
| 004:127 Pickthal | : |
They consult thee concerning women. Say: Allah giveth you decree concerning them, and the Scripture which hath been recited unto you (giveth decree), concerning female orphans and those unto whom ye give not that which is ordained for them though ye desire to marry them, and (concerning) the weak among children, and that ye should deal justly with orphans. Whatever good ye do, lo! Allah is ever Aware of it. |
| 004:127 Rashad | : |
They consult you concerning women: say, "GOD enlightens you regarding them, as recited for you in the scripture. You shall restore the rights of orphaned girls whom you cheat out of their due dowries when you wish to marry them: you shall not take advantage of them. The rights of orphaned boys must also be protected as well. You shall treat the orphans equitably.  |
| 004:127 Sarwar | : |
(Muhammad), they ask you concerning women. Tell them, "God will instruct you about them, besides that which can be read in the Book, about widows with children, whom you wanted to marry without giving them their due rights and He will instruct you about the rights of the weak and oppressed children. God commands you to maintain justice with the orphans. God knows all about whatever good you do. |
| 004:127 Shakir | : |
And they ask you a decision about women. Say: Allah makes known to you His decision concerning them, and that which is recited to you in the Book concerning female orphans whom you do not give what is appointed for them while you desire to marry them, and concerning the weak among children, and that you should deal towards orphans with equity; and whatever good you do, Allah surely knows it. |
| 004:127 Sherali | : |
And they seek of thee the decision of the law concerning marriage with more women than one. Say, ALLAH gives you His decision concerning them. And that which is recited to you elsewhere in your Book concerns the orphan girls whom you give not what is prescribed for them and whom you desire to marry, and also concerns the weak among children. And HE enjoins you to deal equitably with the orphans. And whatever good you do, surely ALLAH knows it well. |
| 004:127 Yusufali | : |
They ask thy instruction concerning the women say: Allah doth instruct you about them: And (remember) what hath been rehearsed unto you in the Book, concerning the orphans of women to whom ye give not the portions prescribed, and yet whom ye desire to marry, as also concerning the children who are weak and oppressed: that ye stand firm for justice to orphans. There is not a good deed which ye do, but Allah is well-acquainted therewith. |
Concepts/Themes Covered: الإنسان والعلاقات الاجتماعية > النساء > المرأة Man and The Social Relations>Women>The Woman الإنسان والعلاقات الاجتماعية > اليتامى > إكرامهم Man and The Social Relations>The Orphans>Honouring Them تنظيم العلاقات المالية > الميراث Organizing Financial Relationships>Inheritance
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


--- author: Steve Gill categories: app date: '2012-06-25 19:03:53' permalink: /2012/06/25/phonegap-1-9rc1-released/ slug: phonegap-1-9rc1-released status: publish title: PhoneGap 1.9rc1 Released type: post format: html tags: - Release ---
We have just released the first release candidate (RC) for PhoneGap 1.9.0! This version of PhoneGap is composed mainly of bug fixes and the addition of Cordova webview for Android.
Cordova webview (Cleaver on iOS) allows integration of phonegap, as a view fragment, into a bigger native application.
For those of you wanting to be a step ahead, download and run 1.9.0rc1 on your machines. If you find any bugs with this version, help out the community and project by reporting them on our issue tracker. Rest assured, we only tag a release candidate if we are happy with where the code is.
We'll continue to provide our latest release, PhoneGap 1.8.1, as the main download in our top nav and stay tuned for the official 1.9.0 release in the coming days!
Looking for older versions of PhoneGap? Download PhoneGap 1.8.0 and earlier from Github.


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 6
A tasty and filling soup that takes just 20 minutes from start to finish. Make and freeze in portions to take to work.
Heat the oil in a large saucepan. Add the bacon, onion and red pepper. Cook on a low heat for 5 minutes, or until the vegetables have started to soften.
Boil a kettle and use this to make your stock – or if using fresh stock, bring it to the boil in a separate saucepan while the vegetables are cooking.
Add the sweet potato, garlic and lentils to the bacon and vegetables. Stir for a minute, then pour over the just-boiled stock and add the herbs.
Season with salt and pepper. Return to the boil – this should be more or less instant – then turn down to a medium heat, cover, and cook for between 15-20 minutes, or until the red lentils are tender.
Remove the herbs. Blend using a hand-blender if preferred – or you can leave the soup as is. Serve.


Chapter 5.1 Standard RNN Decoder¶
There are various solutions for translating the graph based data to sequential outputs, such as RNN based and transformer based decoding.
However, in this section, we focus on the RNN based decoding mechanism.
Similar to most sequence-to-sequence decoder, the graph based StdRNNDecoder
adopts the attention mechanism to learn
the soft alignment between the input graphs and the sequential outputs.
Specifically, we give a simple example on how StdRNNDecoder
is initialized as follows,
from graph4nlp.pytorch.datasets.jobs import JobsDataset
from graph4nlp.pytorch.modules.graph_construction.dependency_graph_construction import DependencyBasedGraphConstruction
from graph4nlp.pytorch.modules.config import get_basic_args
from graph4nlp.pytorch.models.graph2seq import Graph2Seq
from graph4nlp.pytorch.modules.utils.config_utils import update_values, get_yaml_config
# define your vocab_model
dec_word_emb = WordEmbedding(vocab_model.out_word_vocab.embeddings.shape[0],
vocab_model.out_word_vocab.embeddings.shape[1],
pretrained_word_emb=vocab_model.out_word_vocab.embeddings,
fix_emb=fix_word_emb).word_emb_layer
attention_type = "uniform"
seq_decoder = StdRNNDecoder(rnn_type="lstm", max_decoder_step=50,
attention_type=attention_type, fuse_strategy="average",
use_coverage=False, use_copy=False,
input_size=1024, hidden_size=1024, rnn_emb_input_size=1024,
graph_pooling_strategy="max",
word_emb=dec_word_emb, vocab=vocab_model.out_word_vocab)
# g is the output of encoder, tgt is the ground truth sequence
predicted = seq_decoder(batch_graph=batch_graph, tgt_seq=tgt_seq)
Some advanced mechanisms¶
Copy and coverage¶
To further enhance the performance, we also implement the copy
and coverage
mechanism.
For copy
mechanism, it helps model to copy words directly from the source sequence, and computed as,
\(p(w) = p_{gen} p_{softmax}(w) + (1 - p_{gen}) p_{copy}(w)\). We refer to the implement of pointer-network. Technically, for a certain mini-batch graphdata, we extend the original vocabulary to a full-vocabulary containing all words (including out-of-vocabulary (oov) words) in the mini-batch:
# First pick out all out-of-vocabulary (oov) words in the mini-batch graphdata.
token_matrix = batch_graph.node_features["token_id"].squeeze(1)
unk_index = (token_matrix == oov_dict.UNK).nonzero(as_tuple=False).squeeze(1).detach().cpu().numpy()
unk_token = [batch_graph.node_attributes[index]["token"] for index in unk_index]
# Second build the oov vocabulary.
oov_dict = copy.deepcopy(vocab.in_word_vocab)
oov_dict._add_words(unk_token)
token_matrix_oov = token_matrix.clone()
for idx in unk_index:
unk_token = batch_graph.node_attributes[idx]["token"]
oov_dict._add_words(unk_token)
token_matrix_oov[idx] = oov_dict.getIndex(unk_token)
batch_graph.node_features["token_id_oov"] = token_matrix_oov
Users can refer to the API prepare_ext_vocab
.
After that, the decoder learns the conditional probability of an output sequence with elements that are discrete tokens corresponding to positions in an input sequence. Code snippets as follows help with how it works.
if self.use_copy:
pgen_collect = [dec_emb, hidden, attn_ptr]
# the probability of copying a word from the source
prob_ptr = torch.sigmoid(self.ptr(torch.cat(pgen_collect, -1)))
# the probability of generating a word over the standard softmax on vocabulary model.
prob_gen = 1 - prob_ptr
gen_output = torch.softmax(decoder_output, dim=-1)
ret = prob_gen * gen_output
need_pad_length = oov_dict.get_vocab_size() - self.vocab.get_vocab_size()
output = torch.cat((ret, ret.new_zeros((batch_size, need_pad_length))), dim=1)
# attention scores
ptr_output = dec_attn_scores
output.scatter_add_(1, src_seq, prob_ptr * ptr_output)
decoder_output = output
else:
decoder_output = torch.softmax(decoder_output, dim=-1)
The returned decoder_output
is a distribution over the extend dictionary oov_dict
if copy
is adopted. Users can set use_copy
to True
to use this feature. And the oov vocabulary must be passed when utilizing it.
As for the coverage
mechanism, we refer to the paper: Modeling Coverage for Neural Machine Translation. Compared to the original attention that ignore the past alignment history information, we maintain a coverage vector to keep trace of that. As a result, it usually prevents the generated words and focuses on more about un-predicted words.
Users can easily use this feature by setting use_coverage
to True
. Note that an additional coverage loss should be included when conducting backward propagating:
_, enc_attn_weights, coverage_vectors = Graph2Seq(graph, tgt)
target_length = len(enc_attn_weights)
loss = 0
for i in range(target_length):
if coverage_vectors[i] is not None:
coverage_loss = torch.sum(
torch.min(coverage_vectors[i], enc_attn_weights[i])) / coverage_vectors[-1].shape[0] * self.cover_loss
loss += coverage_loss
coverage_loss = loss / target_length
Users can use the CoverageLoss
or Graph2SeqLoss
(including both CoverageLoss
and NLLLoss
) to conduct this process.
Separate attention¶
And different from most sequence-to-sequence decoder, our StdRNNDecoder
designs both separate attention
and uniform attention
for sequential encoder’s outputs \(\mathbf{S}\) and graph encoder’s outputs \(\mathcal{G}(\mathcal{V}, \mathcal{E})\), respectively:
Uniform attention: It means the decoder only attends on the graph encoder’s output \(\mathcal{G}(\mathcal{V}, \mathcal{E})\). Note that we only support attending on node features and leaving the edges for future. Technically, it regard the nodes as tokens and apply attention on them to calculate the output vector. Users can set
attention_type
touniform
to use this feature.Separate attention: There are two kinds of separate attention in this implement: a) attends on sequential encoder’s outputs and graph encoder’s outputs separately, b) attends on the graph’s nodes separately.
2.1 Case a): The decoder first attends on \(\mathbf{S}\) and \(\mathcal{G}(\mathcal{V}, \mathcal{E})\) separately. Then it fuse the obtained attention results into one single vector to generate next token. Users can set
attention_type
tosep_diff_encoder_type
to use this feature.2.2 Case b): This feature is designed for heterogeneous graphs. Firstly, the decoder will group the nodes by their node types. Secondly, the decoder will attends on each group separately to obtain the vector representations. Finally, it will fuses the obtained vectors into one single vector. Users can set
attention_type
tosep_diff_node_type
to use this feature. Specifically,node_type_num
should be the amount of node types.


Great Expectations
by Charles Dickens
Chapter 13
Additional Information
- Year Published: 1861
- Language: English
- Country of Origin: England
- Source: Dickens, Charles. (1861). Great Expectations. London; Chapman and Hall.
-
Readability:
- Flesch–Kincaid Level: 8.2
- Word Count: 3,133
- Genre: Realism
- Keywords: remaining in the past, social class distinction, unrequited love
- ✎ Cite This
Downloads
It was a trial to my feelings, on the next day but one, to see Joe arraying himself in his Sunday clothes to accompany me to Miss Havisham’s. However, as he thought his court-suit necessary to the occasion, it was not for me tell him that he looked far better in his working dress; the rather, because I knew he made himself so dreadfully uncomfortable, entirely on my account, and that it was for me he pulled up his shirt-collar so very high behind, that it made the hair on the crown of his head stand up like a tuft of feathers.
At breakfast time my sister declared her intention of going to town with us, and being left at Uncle Pumblechook’s and called for “when we had done with our fine ladies”—a way of putting the case, from which Joe appeared inclined to augur the worst. The forge was shut up for the day, and Joe inscribed in chalk upon the door (as it was his custom to do on the very rare occasions when he was not at work) the monosyllable HOUT, accompanied by a sketch of an arrow supposed to be flying in the direction he had taken.
We walked to town, my sister leading the way in a very large beaver bonnet, and carrying a basket like the Great Seal of England in plaited straw, a pair of pattens, a spare shawl, and an umbrella, though it was a fine bright day. I am not quite clear whether these articles were carried penitentially or ostentatiously; but, I rather think they were displayed as articles of property—much as Cleopatra or any other sovereign lady on the Rampage might exhibit her wealth in a pageant or procession.
When we came to Pumblechook’s, my sister bounced in and left us. As it was almost noon, Joe and I held straight on to Miss Havisham’s house. Estella opened the gate as usual, and, the moment she appeared, Joe took his hat off and stood weighing it by the brim in both his hands: as if he had some urgent reason in his mind for being particular to half a quarter of an ounce.
Estella took no notice of either of us, but led us the way that I knew so well. I followed next to her, and Joe came last. When I looked back at Joe in the long passage, he was still weighing his hat with the greatest care, and was coming after us in long strides on the tips of his toes.
Estella told me we were both to go in, so I took Joe by the coat-cuff and conducted him into Miss Havisham’s presence. She was seated at her dressing-table, and looked round at us immediately.
“Oh!” said she to Joe. “You are the husband of the sister of this boy?”
I could hardly have imagined dear old Joe looking so unlike himself or so like some extraordinary bird; standing, as he did, speechless, with his tuft of feathers ruffled, and his mouth open, as if he wanted a worm.
“You are the husband,” repeated Miss Havisham, “of the sister of this boy?”
It was very aggravating; but, throughout the interview Joe persisted in addressing Me instead of Miss Havisham.
“Which I meantersay, Pip,” Joe now observed in a manner that was at once expressive of forcible argumentation, strict confidence, and great politeness, “as I hup and married your sister, and I were at the time what you might call (if you was anyways inclined) a single man.”
“Well!” said Miss Havisham. “And you have reared the boy, with the intention of taking him for your apprentice; is that so, Mr. Gargery?”
“You know, Pip,” replied Joe, “as you and me were ever friends, and it were looked for’ard to betwixt us, as being calc’lated to lead to larks. Not but what, Pip, if you had ever made objections to the business—such as its being open to black and sut, or such-like—not but what they would have been attended to, don’t you see?”
“Has the boy,” said Miss Havisham, “ever made any objection? Does he like the trade?”
“Which it is well beknown to yourself, Pip,” returned Joe, strengthening his former mixture of argumentation, confidence, and politeness, “that it were the wish of your own hart.” (I saw the idea suddenly break upon him that he would adapt his epitaph to the occasion, before he went on to say) “And there weren’t no objection on your part, and Pip it were the great wish of your heart!”
It was quite in vain for me to endeavour to make him sensible that he ought to speak to Miss Havisham. The more I made faces and gestures to him to do it, the more confidential, argumentative, and polite, he persisted in being to Me.
“Have you brought his indentures with you?” asked Miss Havisham.
 With which he took them out, and gave them, not to Miss Havisham, but to me. I am afraid I was ashamed of the dear good fellow—I know I was ashamed of him—when I saw that Estella stood at the back of Miss Havisham’s chair, and that her eyes laughed mischievously. I took the indentures out of his hand and gave them to Miss Havisham.
“You expected,” said Miss Havisham, as she looked them over, “no premium with the boy?”
“Joe!” I remonstrated; for he made no reply at all. “Why don’t you answer—”
“Pip,” returned Joe, cutting me short as if he were hurt, “which I meantersay that were not a question requiring a answer betwixt yourself and me, and which you know the answer to be full well No. You know it to be No, Pip, and wherefore should I say it?”
Miss Havisham glanced at him as if she understood what he really was, better than I had thought possible, seeing what he was there; and took up a little bag from the table beside her.
“Pip has earned a premium here,” she said, “and here it is. There are five-and-twenty guineas in this bag. Give it to your master, Pip.”
As if he were absolutely out of his mind with the wonder awakened in him by her strange figure and the strange room, Joe, even at this pass, persisted in addressing me.
“This is wery liberal on your part, Pip,” said Joe, “and it is as such received and grateful welcome, though never looked for, far nor near nor nowheres. And now, old chap,” said Joe, conveying to me a sensation, first of burning and then of freezing, for I felt as if that familiar expression were applied to Miss Havisham; “and now, old chap, may we do our duty! May you and me do our duty, both on us by one and another, and by them which your liberal present—have—conweyed—to be—for the satisfaction of mind—of—them as never—” here Joe showed that he felt he had fallen into frightful difficulties, until he triumphantly rescued himself with the words, “and from myself far be it!” These words had such a round and convincing sound for him that he said them twice.
“Good-bye, Pip!” said Miss Havisham. “Let them out, Estella.”
“Am I to come again, Miss Havisham?” I asked.
“No. Gargery is your master now. Gargery! One word!”
Thus calling him back as I went out of the door, I heard her say to Joe, in a distinct emphatic voice, “The boy has been a good boy here, and that is his reward. Of course, as an honest man, you will expect no other and no more.”
How Joe got out of the room, I have never been able to determine; but, I know that when he did get out he was steadily proceeding up-stairs instead of coming down, and was deaf to all remonstrances until I went after him and laid hold of him. In another minute we were outside the gate, and it was locked, and Estella was gone.
When we stood in the daylight alone again, Joe backed up against a wall, and said to me, “Astonishing!” And there he remained so long, saying “Astonishing” at intervals, so often, that I began to think his senses were never coming back. At length he prolonged his remark into “Pip, I do assure you this is as-TONishing!” and so, by degrees, became conversational and able to walk away.
I have reason to think that Joe’s intellects were brightened by the encounter they had passed through, and that on our way to Pumblechook’s he invented a subtle and deep design. My reason is to be found in what took place in Mr. Pumblechook’s parlour: where, on our presenting ourselves, my sister sat in conference with that detested seedsman.
“Well?” cried my sister, addressing us both at once. “And what’s happened to you? I wonder you condescend to come back to such poor society as this, I am sure I do!”
“Miss Havisham,” said Joe, with a fixed look at me, like an effort of remembrance, “made it wery partick’ler that we should give her—were it compliments or respects, Pip?”
“Compliments,” I said.
“Which that were my own belief,” answered Joe—”her compliments to Mrs. J. Gargery—”
“Much good they’ll do me!” observed my sister; but rather gratified too.
“And wishing,” pursued Joe, with another fixed look at me, like another effort of remembrance, “that the state of Miss Havisham’s elth were sitch as would have—allowed, were it, Pip?”
“Of her having the pleasure,” I added.
“Of ladies’ company,” said Joe. And drew a long breath.
“Well!” cried my sister, with a mollified glance at Mr. Pumblechook. “She might have had the politeness to send that message at first, but it’s better late than never. And what did she give young Rantipole here?”
“She giv’ him,” said Joe, “nothing.”
Mrs. Joe was going to break out, but Joe went on.
“What she giv’,” said Joe, “she giv’ to his friends. ‘And by his friends,’ were her explanation, ‘I mean into the hands of his sister Mrs. J. Gargery.’ Them were her words; ‘Mrs. J. Gargery.’ She mayn’t have know’d,” added Joe, with an appearance of reflection, “whether it were Joe, or Jorge.”
My sister looked at Pumblechook: who smoothed the elbows of his wooden armchair, and nodded at her and at the fire, as if he had known all about it beforehand.
“And how much have you got?” asked my sister, laughing. Positively, laughing!
“What would present company say to ten pound?” demanded Joe.
“They’d say,” returned my sister, curtly, “pretty well. Not too much, but pretty well.”
“It’s more than that, then,” said Joe.
That fearful Impostor, Pumblechook, immediately nodded, and said, as he rubbed the arms of his chair: “It’s more than that, Mum.”
“Why, you don’t mean to say—” began my sister.
“Yes I do, Mum,” said Pumblechook; “but wait a bit. Go on, Joseph. Good in you! Go on!”
“What would present company say,” proceeded Joe, “to twenty pound?”
“Handsome would be the word,” returned my sister.
“Well, then,” said Joe, “It’s more than twenty pound.”
That abject hypocrite, Pumblechook, nodded again, and said, with a patronizing laugh, “It’s more than that, Mum. Good again! Follow her up, Joseph!”
“Then to make an end of it,” said Joe, delightedly handing the bag to my sister; “it’s five-and-twenty pound.”
“It’s five-and-twenty pound, Mum,” echoed that basest of swindlers, Pumblechook, rising to shake hands with her; “and it’s no more than your merits (as I said when my opinion was asked), and I wish you joy of the money!”
If the villain had stopped here, his case would have been sufficiently awful, but he blackened his guilt by proceeding to take me into custody, with a right of patronage that left all his former criminality far behind.
“Now you see, Joseph and wife,” said Pumblechook, as he took me by the arm above the elbow, “I am one of them that always go right through with what they’ve begun. This boy must be bound, out of hand. That’s my way. Bound out of hand.”
“Goodness knows, Uncle Pumblechook,” said my sister (grasping the money), “we’re deeply beholden to you.”
“Never mind me, Mum, returned that diabolical corn-chandler. “A pleasure’s a pleasure, all the world over. But this boy, you know; we must have him bound. I said I’d see to it—to tell you the truth.”
The Justices were sitting in the Town Hall near at hand, and we at once went over to have me bound apprentice to Joe in the Magisterial presence. I say, we went over, but I was pushed over by Pumblechook, exactly as if I had that moment picked a pocket or fired a rick; indeed, it was the general impression in Court that I had been taken red-handed, for, as Pumblechook shoved me before him through the crowd, I heard some people say, “What’s he done?” and others, “He’s a young ‘un, too, but looks bad, don’t he? One person of mild and benevolent aspect even gave me a tract ornamented with a woodcut of a malevolent young man fitted up with a perfect sausage-shop of fetters, and entitled, TO BE READ IN MY CELL.
The Hall was a queer place, I thought, with higher pews in it than a church—and with people hanging over the pews looking on—and with mighty Justices (one with a powdered head) leaning back in chairs, with folded arms, or taking snuff, or going to sleep, or writing, or reading the newspapers—and with some shining black portraits on the walls, which my unartistic eye regarded as a composition of hardbake and sticking-plaister. Here, in a corner, my indentures were duly signed and attested, and I was “bound;” Mr. Pumblechook holding me all the while as if we had looked in on our way to the scaffold, to have those little preliminaries disposed of.
When we had come out again, and had got rid of the boys who had been put into great spirits by the expectation of seeing me publicly tortured, and who were much disappointed to find that my friends were merely rallying round me, we went back to Pumblechook’s. And there my sister became so excited by the twenty-five guineas, that nothing would serve her but we must have a dinner out of that windfall, at the Blue Boar, and that Pumblechook must go over in his chaise-cart, and bring the Hubbles and Mr. Wopsle.
It was agreed to be done; and a most melancholy day I passed. For, it inscrutably appeared to stand to reason, in the minds of the whole company, that I was an excrescence on the entertainment. And to make it worse, they all asked me from time to time—in short, whenever they had nothing else to do—why I didn’t enjoy myself. And what could I possibly do then, but say I was enjoying myself—when I wasn’t?
However, they were grown up and had their own way, and they made the most of it. That swindling Pumblechook, exalted into the beneficent contriver of the whole occasion, actually took the top of the table; and, when he addressed them on the subject of my being bound, and had fiendishly congratulated them on my being liable to imprisonment if I played at cards, drank strong liquors, kept late hours or bad company, or indulged in other vagaries which the form of my indentures appeared to contemplate as next to inevitable, he placed me standing on a chair beside him, to illustrate his remarks.
My only other remembrances of the great festival are, That they wouldn’t let me go to sleep, but whenever they saw me dropping off, woke me up and told me to enjoy myself. That, rather late in the evening Mr. Wopsle gave us Collins’s ode, and threw his bloodstain’d sword in thunder down, with such effect, that a waiter came in and said, “The Commercials underneath sent up their compliments, and it wasn’t the Tumblers’ Arms.” That, they were all in excellent spirits on the road home, and sang O Lady Fair! Mr. Wopsle taking the bass, and asserting with a tremendously strong voice (in reply to the inquisitive bore who leads that piece of music in a most impertinent manner, by wanting to know all about everybody’s private affairs) that he was the man with his white locks flowing, and that he was upon the whole the weakest pilgrim going.
Finally, I remember that when I got into my little bedroom I was truly wretched, and had a strong conviction on me that I should never like Joe’s trade. I had liked it once, but once was not now.


Before Change
)
self._exit_flag = True
return
del self._run_threads[job.run_id]
if self._count and self._count == count:
logger.debug("Exiting main loop because max count reached.")
self._exit_flag = True
return
After Change
waiting = False
count += 1
run_id = job.run_id
if self._run_status[run_id] == RunStatus.STOPPED:
continue
logger.debug("Spawning new thread for run {}.".format(run_id))
thread = threading.Thread(target=self._run_job, args=(job,))
self._run_threads[run_id] = thread
thread.start()